Package org.apache.bcel.generic

Examples of org.apache.bcel.generic.ALOAD


    /**
     * Set index where the reference to the DOM is stored.
     */
    public void setDomIndex(int domIndex) {
  _aloadDom = new ALOAD(domIndex);
    }
View Full Code Here


  super(access_flags, return_type, arg_types, arg_names, method_name,
        class_name, il, cp);
 
  _iloadCurrent = new ILOAD(CURRENT_INDEX);
  _istoreCurrent = new ISTORE(CURRENT_INDEX);
  _aloadDom = new ALOAD(DOM_INDEX);
  _iloadLast = new ILOAD(LAST_INDEX);

  LocalVariableGen iterator =
      addLocalVariable("iterator",
           Util.getJCRefType(Constants.NODE_ITERATOR_SIG),
           null, null);
  ITERATOR_INDEX = iterator.getIndex();
  _aloadIterator = new ALOAD(ITERATOR_INDEX);
  _astoreIterator = new ASTORE(ITERATOR_INDEX);
  il.append(new ACONST_NULL());
  il.append(storeIterator());
    }
View Full Code Here

  LocalVariableGen keyIterator = translateCall(classGen, methodGen);

  il.append(new NEW(cpg.addClass(DUP_FILTERED_ITERATOR)))
  il.append(DUP);
        il.append(new ALOAD(keyIterator.getIndex()));
  il.append(new INVOKESPECIAL(dupInit));
    }
View Full Code Here

      // the key() function's second argument....
      final BranchHandle nextNode = il.append(new GOTO(null));
      final InstructionHandle loop = il.append(NOP);

      // Push returnIndex on stack to prepare for call to merge()
      il.append(new ALOAD(returnIndex.getIndex()));
     
      // Lookup index using the string value from the current node
      il.append(new ALOAD(searchIndex.getIndex()));
      il.append(DUP);
      il.append(methodGen.loadDOM());
      il.append(methodGen.loadCurrentNode());
      il.append(new INVOKEINTERFACE(getNodeValue, 2));
      if (_name == null) {
View Full Code Here

        il.append(new ASTORE(stepIteratorTemp.getIndex()));

  il.append(new NEW(cpg.addClass(MATCHING_ITERATOR)));
  il.append(DUP);
  il.append(new ILOAD(match.getIndex()));
        il.append(new ALOAD(stepIteratorTemp.getIndex()));
  il.append(new INVOKESPECIAL(index));

  // Get the parent of the matching node
  il.append(methodGen.loadDOM());
  il.append(new ILOAD(match.getIndex()));
View Full Code Here

  _step.translate(classGen, methodGen);
  il.append(new ASTORE(iter.getIndex()));

  // If in the main class update the field too
  if (!classGen.isExternal()) {
      il.append(new ALOAD(iter.getIndex()));
      il.append(new PUTFIELD(iteratorIndex));
      ifBlock.setTarget(il.append(NOP));
  }

  // Get the parent of the node on the stack
  il.append(methodGen.loadDOM());
  il.append(new ILOAD(node.getIndex()));
  int index = cpg.addInterfaceMethodref(DOM_INTF,
                GET_PARENT, GET_PARENT_SIG);
  il.append(new INVOKEINTERFACE(index, 2));

  // Initialize the iterator with the parent
  il.append(new ALOAD(iter.getIndex()));
  il.append(SWAP);
  il.append(methodGen.setStartNode());

  /*
   * Inline loop:
   *
   * int node2;
   * while ((node2 = iter.next()) != NodeIterator.END
   *      && node2 < node);
   * return node2 == node;
   */
  BranchHandle skipNext;
  InstructionHandle begin, next;
  node2 = methodGen.addLocalVariable("step_pattern_tmp3",
             Util.getJCRefType(NODE_SIG),
             il.getEnd(), null);

  skipNext = il.append(new GOTO(null));
  next = il.append(new ALOAD(iter.getIndex()));
  begin = il.append(methodGen.nextNode());
  il.append(DUP);
  il.append(new ISTORE(node2.getIndex()));
  _falseList.add(il.append(new IFLT(null)))// NodeIterator.END

View Full Code Here

                    il.getEnd());
                   
            // store the name into a variable first so _name.translate only needs to be called once 
            _name.translate(classGen, methodGen);
            il.append(new ASTORE(nameValue.getIndex()));
            il.append(new ALOAD(nameValue.getIndex()));
           
            // call checkQName if the name is an AVT
            final int check = cpg.addMethodref(BASIS_LIBRARY_CLASS, "checkQName",
                            "("
                            +STRING_SIG
                            +")V");                
            il.append(new INVOKESTATIC(check));
           
            // Push handler for call to endElement()
            il.append(methodGen.loadHandler());        
           
            // load name value again   
            il.append(new ALOAD(nameValue.getIndex()))
                   
      if (_namespace != null) {
    _namespace.translate(classGen, methodGen);
      }
      else {
View Full Code Here

         InstructionList il, ConstantPoolGen cpg) {
  super(access_flags, return_type, arg_types, arg_names, method_name,
        class_name, il, cpg);
 
  _astoreHandler  = new ASTORE(HANDLER_INDEX);
  _aloadHandler   = new ALOAD(HANDLER_INDEX);
  _astoreIterator = new ASTORE(ITERATOR_INDEX);
  _aloadIterator  = new ALOAD(ITERATOR_INDEX);
  _aloadDom       = new ALOAD(DOM_INDEX);
  _astoreDom      = new ASTORE(DOM_INDEX);
 
  final int startElement =
      cpg.addInterfaceMethodref(TRANSLET_OUTPUT_INTERFACE,
              "startElement",
View Full Code Here

         int accessFlags, String[] interfaces,
         Stylesheet stylesheet) {
  super(className, superClassName, fileName,
        accessFlags, interfaces, stylesheet);
 
  _aloadTranslet = new ALOAD(TRANSLET_INDEX);
    }
View Full Code Here

        Stylesheet stylesheet) {
  super(class_name, super_class_name, file_name,
        access_flags, interfaces);
  _stylesheet = stylesheet;
  _parser = stylesheet.getParser();
  _aloadTranslet = new ALOAD(TRANSLET_INDEX);
 
  if (stylesheet.isMultiDocument()) {
      _domClass = "org.apache.xalan.xsltc.dom.MultiDOM";
      _domClassSig = "Lorg/apache/xalan/xsltc/dom/MultiDOM;";
  }
View Full Code Here

TOP

Related Classes of org.apache.bcel.generic.ALOAD

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.