Package org.apache.bcel.classfile

Examples of org.apache.bcel.classfile.LocalVariable


            // Append the local variables table.
            if (printLocalVariables) {
                LocalVariableTable vt = m.getLocalVariableTable();
                if (vt != null) {
                    LocalVariable vars[] = vt.getLocalVariableTable();
                    if (vars.length > 0) {
                        String indentStr3 = indentString(indent * 3);
                        result.append(indentString(
                                indent * 2, "LocalVariableTable:"));
                        result.append(n);
                        result.append(indentStr3);
                        result.append("Start\tLength\tSlot\tName\tSignature");
                        result.append(n);
                        for (int j = 0; j < vars.length; j++) {
                            LocalVariable lv = vars[j];
                            result.append(indentStr3);
                            result.append(lv.getStartPC());
                            result.append("\t\t");
                            result.append(lv.getLength());
                            result.append("\t");
                            result.append(lv.getIndex());
                            result.append("\t");
                            result.append(lv.getName());
                            result.append("\t");
                            result.append(lv.getSignature());
                            result.append("\t");
                            result.append(n);
                        }
                    }
                }
View Full Code Here


                        }
                    } else if (a instanceof LocalVariableTable) {
                        LocalVariable[] lv = ((LocalVariableTable) a).getLocalVariableTable();
                        removeLocalVariables();
                        for (int k = 0; k < lv.length; k++) {
                            LocalVariable l = lv[k];
                            InstructionHandle start = il.findHandle(l.getStartPC());
                            InstructionHandle end = il.findHandle(l.getStartPC() + l.getLength());
                            // Repair malformed handles
                            if (null == start) {
                                start = il.getStart();
                            }
                            if (null == end) {
                                end = il.getEnd();
                            }
                            addLocalVariable(l.getName(), Type.getType(l.getSignature()), l
                                    .getIndex(), start, end);
                        }
                    } else if (a instanceof LocalVariableTypeTable) {
                        LocalVariable[] lv = ((LocalVariableTypeTable) a).getLocalVariableTypeTable();
                        removeLocalVariables();
                        for (int k = 0; k < lv.length; k++) {
                            LocalVariable l = lv[k];
                            InstructionHandle start = il.findHandle(l.getStartPC());
                            InstructionHandle end = il.findHandle(l.getStartPC() + l.getLength());
                            // Repair malformed handles
                            if (null == start) {
                                start = il.getStart();
                            }
                            if (null == end) {
                                end = il.getEnd();
                            }
                            addLocalVariable(l.getName(), Type.getType(l.getSignature()), l
                                    .getIndex(), start, end);
                        }
                    } else {
                        addCodeAttribute(a);
                    }
View Full Code Here

    }
    if (lvt == null) {
    } else {
      int nLocalVars = lvt.getTableLength();
      for (int i = 0; i < nLocalVars; i++) {
        LocalVariable lv = lvt.getLocalVariable(i, pc);
        if (lv != null) {
          if (lv.getIndex() == varIndex) {
            break;
          }
        }
      }
    }
View Full Code Here

  {
    if (method.getLocalVariableTable() != null)
    {

      LocalVariable[] table= method.getLocalVariableTable().getLocalVariableTable();
      LocalVariable lvar= null;
      for (int i= 0; i < table.length; i++)
      {
        lvar= table[i];
        if (lvar.getIndex() == slot && lvar.getStartPC() <= pc && pc <= lvar.getStartPC() + lvar.getLength())
        {
          String name2= lvar.getName();
          if (name2.equals("in"))
            name2= "in_";
          if (isSuperpositionDetected(table, lvar))
            throw new UnhandledCompilerProblemException();
View Full Code Here

        if (end.getNext() == null) {
            length += end.getInstruction().getLength();
        }
        int name_index = cp.addUtf8(name);
        int signature_index = cp.addUtf8(type.getSignature());
        return new LocalVariable(start_pc, length, name_index, signature_index, index, cp
                .getConstantPool());
    }
View Full Code Here

TOP

Related Classes of org.apache.bcel.classfile.LocalVariable

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.