Package org.apache.bcel.generic

Examples of org.apache.bcel.generic.ASTORE


         String method_name, String class_name,
         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",
              START_ELEMENT_SIG);
View Full Code Here


        } else if (type == Type.FLOAT) {
           return new FSTORE(index);
        } else if (type == Type.DOUBLE) {
           return new DSTORE(index);
        } else {
           return new ASTORE(index);
        }
    }
View Full Code Here

    public Instruction LOAD(int slot) {
  return new ALOAD(slot);
    }
 
    public Instruction STORE(int slot) {
  return new ASTORE(slot);
    }
View Full Code Here

 
  _iloadCurrent  = new ILOAD(CURRENT_NODE_INDEX);
  _istoreCurrent = new ISTORE(CURRENT_NODE_INDEX);
  _iloadContext  = new ILOAD(CONTEXT_NODE_INDEX);
  _istoreContext  = new ILOAD(CONTEXT_NODE_INDEX);
  _astoreIterator = new ASTORE(ITERATOR_INDEX);
  _aloadIterator  = new ALOAD(ITERATOR_INDEX);
    }
View Full Code Here

      // Store new Handler into a local variable
      final LocalVariableGen handler =
    methodGen.addLocalVariable("rt_to_string_handler",
             Util.getJCRefType(STRING_VALUE_HANDLER_SIG),
             null, null);
      handler.setStart(il.append(new ASTORE(handler.getIndex())));

      // Call the method that implements this result tree
      index = cpg.addMethodref(className, _methodName,
             "("+DOM_INTF_SIG+TRANSLET_OUTPUT_SIG+")V");
      il.append(new INVOKEVIRTUAL(index));
View Full Code Here

      // Store new DOM into a local variable
      newDom = methodGen.addLocalVariable("rt_to_reference_dom",
            Util.getJCRefType(DOM_INTF_SIG),
            null, null);
      il.append(new CHECKCAST(cpg.addClass(DOM_INTF_SIG)));
      newDom.setStart(il.append(new ASTORE(newDom.getIndex())));

      // Overwrite old handler with DOM handler
      index = cpg.addInterfaceMethodref(DOM_INTF,
         "getOutputDomBuilder",
         "()" + TRANSLET_OUTPUT_SIG);

      il.append(new INVOKEINTERFACE(index,1));
      //index = cpg.addMethodref(DOM_IMPL,
    //         "getOutputDomBuilder",
    //         "()" + TRANSLET_OUTPUT_SIG);
      //il.append(new INVOKEVIRTUAL(index));
      il.append(DUP);
      il.append(DUP);

      // Store DOM handler in a local in order to call endDocument()
      domBuilder =
    methodGen.addLocalVariable("rt_to_reference_handler",
             Util.getJCRefType(TRANSLET_OUTPUT_SIG),
             null, null);
      domBuilder.setStart(il.append(new ASTORE(domBuilder.getIndex())));

      // Call startDocument on the new handler
      index = cpg.addInterfaceMethodref(TRANSLET_OUTPUT_INTERFACE,
                "startDocument", "()V");
      il.append(new INVOKEINTERFACE(index, 1));
View Full Code Here

    public Instruction LOAD(int slot) {
  return new ALOAD(slot);
    }
 
    public Instruction STORE(int slot) {
  return new ASTORE(slot);
    }
View Full Code Here

        classGen.getClassName(),
        new InstructionList(),
        classGen.getConstantPool());
 
  _aloadDom       = new ALOAD(DOM_INDEX);
  _astoreDom      = new ASTORE(DOM_INDEX);
  _astoreIterator = new ASTORE(ITERATOR_INDEX);
  _aloadIterator  = new ALOAD(ITERATOR_INDEX);
  _astoreHandler  = new ASTORE(HANDLER_INDEX);
  _aloadHandler   = new ALOAD(HANDLER_INDEX);
    }
View Full Code Here

      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 iteratorTemp
                        = methodGen.addLocalVariable("filter_expr_tmp1",
                                         Util.getJCRefType(NODE_ITERATOR_SIG),
                                         null, null);
                iteratorTemp.setStart(
                        il.append(new ASTORE(iteratorTemp.getIndex())));

                predicate.translate(classGen, methodGen);
                LocalVariableGen predicateValueTemp
                        = methodGen.addLocalVariable("filter_expr_tmp2",
                                         Util.getJCRefType("I"),
                                         null, null);
                predicateValueTemp.setStart(
                        il.append(new ISTORE(predicateValueTemp.getIndex())));

                il.append(new NEW(cpg.addClass(NTH_ITERATOR_CLASS)));
                il.append(DUP);
                iteratorTemp.setEnd(
                        il.append(new ALOAD(iteratorTemp.getIndex())));
                predicateValueTemp.setEnd(
                        il.append(new ILOAD(predicateValueTemp.getIndex())));
                il.append(new INVOKESPECIAL(nthIteratorIdx));
            } else {
                // Translate predicates from right to left
                final int initCNLI =
                                 cpg.addMethodref(CURRENT_NODE_LIST_ITERATOR,
                                                 "<init>",
                                                 "("+NODE_ITERATOR_SIG+"Z"+
                                                 CURRENT_NODE_LIST_FILTER_SIG +
                                                 NODE_SIG+TRANSLET_SIG+")V");

                // Backwards branches are prohibited if an uninitialized object
                // is on the stack by section 4.9.4 of the JVM Specification,
                // 2nd Ed.  We don't know whether this code might contain
                // backwards branches, so we mustn't create the new object
                // until after we've created the suspect arguments to its
                // constructor.  Instead we calculate the values of the
                // arguments to the constructor first, store them in temporary
                // variables, create the object and reload the arguments from
                // the temporaries to avoid the problem.


                LocalVariableGen nodeIteratorTemp =
                    methodGen.addLocalVariable("filter_expr_tmp1",
                                           Util.getJCRefType(NODE_ITERATOR_SIG),
                                           null, null);
                nodeIteratorTemp.setStart(
                        il.append(new ASTORE(nodeIteratorTemp.getIndex())));

                predicate.translate(classGen, methodGen);
                LocalVariableGen filterTemp =
                    methodGen.addLocalVariable("filter_expr_tmp2",
                              Util.getJCRefType(CURRENT_NODE_LIST_FILTER_SIG),
                              null, null);
                filterTemp.setStart(
                        il.append(new ASTORE(filterTemp.getIndex())));

                // Create a CurrentNodeListIterator
                il.append(new NEW(cpg.addClass(CURRENT_NODE_LIST_ITERATOR)));
                il.append(DUP);
           
View Full Code Here

TOP

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

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.