Package com.sun.org.apache.bcel.internal.generic

Examples of com.sun.org.apache.bcel.internal.generic.CHECKCAST


  if (_nthPositionFilter || _nthDescendant) {
      _exp.translate(classGen, methodGen);
  }
  else if (isNodeValueTest() && (getParent() instanceof Step)) {
      _value.translate(classGen, methodGen);
      il.append(new CHECKCAST(cpg.addClass(STRING_CLASS)));
      il.append(new PUSH(cpg, ((EqualityExpr)_exp).getOp()));
  }
  else {
      translateFilter(classGen, methodGen);
  }
View Full Code Here


     */
    public void translateUnBox(ClassGenerator classGen,
             MethodGenerator methodGen) {
  final ConstantPoolGen cpg = classGen.getConstantPool();
  final InstructionList il = methodGen.getInstructionList();
  il.append(new CHECKCAST(cpg.addClass(RUNTIME_NODE_CLASS)));
  il.append(new GETFIELD(cpg.addFieldref(RUNTIME_NODE_CLASS,
                 NODE_FIELD,
                 NODE_FIELD_SIG)));
    }
View Full Code Here

      // Call addParameter() from this class
      il.append(new INVOKEVIRTUAL(cpg.addMethodref(TRANSLET_CLASS,
               ADD_PARAMETER,
               ADD_PARAMETER_SIG)));
      if (className != EMPTYSTRING) {
    il.append(new CHECKCAST(cpg.addClass(className)));
      }

      _type.translateUnBox(classGen, methodGen);

      if (_refs.isEmpty()) { // nobody uses the value
    il.append(_type.POP());
    _local = null;
      }
      else {    // normal case
    _local = methodGen.addLocalVariable2(name,
                 _type.toJCType(),
                 il.getEnd());
    // Cache the result of addParameter() in a local variable
    il.append(_type.STORE(_local.getIndex()));
      }
  }
  else {
      if (classGen.containsField(name) == null) {
    classGen.addField(new Field(ACC_PUBLIC, cpg.addUtf8(name),
              cpg.addUtf8(signature),
              null, cpg.getConstantPool()));
    il.append(classGen.loadTranslet());
    il.append(DUP);
    il.append(new PUSH(cpg, name));
    translateValue(classGen, methodGen);
    il.append(new PUSH(cpg, true));

    // Call addParameter() from this class
    il.append(new INVOKEVIRTUAL(cpg.addMethodref(TRANSLET_CLASS,
                 ADD_PARAMETER,
                 ADD_PARAMETER_SIG)));

    _type.translateUnBox(classGen, methodGen);

    // Cache the result of addParameter() in a field
    if (className != EMPTYSTRING) {
        il.append(new CHECKCAST(cpg.addClass(className)));
    }
    il.append(new PUTFIELD(cpg.addFieldref(classGen.getClassName(),
                   name, signature)));
      }
  }
View Full Code Here

     */
    public void translateUnBox(ClassGenerator classGen,
             MethodGenerator methodGen) {
  final ConstantPoolGen cpg = classGen.getConstantPool();
  final InstructionList il = methodGen.getInstructionList();
  il.append(new CHECKCAST(cpg.addClass(DOUBLE_CLASS)));
  il.append(new INVOKEVIRTUAL(cpg.addMethodref(DOUBLE_CLASS,
                 DOUBLE_VALUE,
                 DOUBLE_VALUE_SIG)));
    }
View Full Code Here

     */
    public void translateUnBox(ClassGenerator classGen,
             MethodGenerator methodGen) {
  final ConstantPoolGen cpg = classGen.getConstantPool();
  final InstructionList il = methodGen.getInstructionList();
  il.append(new CHECKCAST(cpg.addClass(BOOLEAN_CLASS)));
  il.append(new INVOKEVIRTUAL(cpg.addMethodref(BOOLEAN_CLASS,
                 BOOLEAN_VALUE,
                 BOOLEAN_VALUE_SIG)));
    }
View Full Code Here

      final int current = methodGen.getLocalIndex("current");
     
      // Push required parameters
      il.append(classGen.loadTranslet());
      if (classGen.isExternal()) {
    il.append(new CHECKCAST(cpg.addClass(className)));
      }
      il.append(DUP);
      il.append(new GETFIELD(cpg.addFieldref(className, "_dom",
               DOM_INTF_SIG)));
View Full Code Here

      final int current = methodGen.getLocalIndex("current");

      // Push required parameters
      il.append(classGen.loadTranslet());
      if (classGen.isExternal()) {
    il.append(new CHECKCAST(cpg.addClass(className)));
      }
      il.append(methodGen.loadDOM());

      // Create new instance of DOM class (with RTF_INITIAL_SIZE nodes)
      il.append(methodGen.loadDOM());
      int index = cpg.addInterfaceMethodref(DOM_INTF,
         "getResultTreeFrag",
         "(IZ)" + DOM_INTF_SIG);
      il.append(new PUSH(cpg, RTF_INITIAL_SIZE));
      il.append(new PUSH(cpg, false));
      il.append(new INVOKEINTERFACE(index,3));
      il.append(DUP);
     
      // 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)));
      il.append(new ASTORE(newDom.getIndex()));

      // Overwrite old handler with DOM handler
      index = cpg.addInterfaceMethodref(DOM_INTF,
         "getOutputDomBuilder",
View Full Code Here

     */
    public void translateUnBox(ClassGenerator classGen,
             MethodGenerator methodGen) {
  final ConstantPoolGen cpg = classGen.getConstantPool();
  final InstructionList il = methodGen.getInstructionList();
  il.append(new CHECKCAST(cpg.addClass(INTEGER_CLASS)));
  final int index = cpg.addMethodref(INTEGER_CLASS,
             INT_VALUE,
             INT_VALUE_SIG);
  il.append(new INVOKEVIRTUAL(index));
    }
View Full Code Here

        }
        else {
            final String className = classGen.getClassName();
            il.append(classGen.loadTranslet());
            if (classGen.isExternal()) {
                il.append(new CHECKCAST(cpg.addClass(className)));
            }
            il.append(new GETFIELD(cpg.addFieldref(className,name,signature)));
        }

        if (_variable.getType() instanceof NodeSetType) {
View Full Code Here

          null, null);
  field = cpg.addFieldref(NODE_COUNTER, "_translet",
        "Lcom/sun/org/apache/xalan/internal/xsltc/Translet;");
  il.append(ALOAD_0); // 'this' pointer on stack
  il.append(new GETFIELD(field));
  il.append(new CHECKCAST(cpg.addClass(TRANSLET_CLASS)));
  il.append(new ASTORE(local.getIndex()));
  nodeCounterGen.setTransletIndex(local.getIndex());

  // Get NodeCounter._document and store locally
  local = matchGen.addLocalVariable("document",
View Full Code Here

TOP

Related Classes of com.sun.org.apache.bcel.internal.generic.CHECKCAST

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.