Examples of LocalVariable


Examples of org.apache.bcel.classfile.LocalVariable

                LocalVariableTable vtab =
                    ((Method)m_item).getLocalVariableTable();
                String[] names = new String[m_argTypes.length];
                int fill = 0;
                while (fill < names.length) {
                    LocalVariable var = vtab.getLocalVariable(offset);
                    offset++;
                    String type = m_argTypes[fill];
                    if ("long".equals(type) || "double".equals(type)) {
                        offset++;
                    }
                    names[fill++] = var.getName();
                }
                m_parmNames = names;
            }
            return m_parmNames[index];
        } else {
View Full Code Here

Examples of org.apache.bcel.classfile.LocalVariable

                        }
                    } 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 {
                        addCodeAttribute(a);
                    }
View Full Code Here

Examples of org.apache.bcel.classfile.LocalVariable

        if (length > 0) {
            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

Examples of org.apache.bcel.classfile.LocalVariable

            break;

        case SEEN_ALOAD:
            try {
                if (seen == INSTANCEOF) {
                    LocalVariable lv = LVTHelper.getLocalVariableAtPC(varTable, register, getPC());
                    if (lv != null) {
                        String objSignature = lv.getSignature();
                        if (objSignature.charAt(0) == 'L') {
                            objSignature = objSignature.substring(1, objSignature.length() - 1).replace('/', '.');
                            String clsSignature = getDottedClassConstantOperand();

                            if (clsSignature.charAt(0) != '[') {
View Full Code Here

Examples of org.apache.bcel.classfile.LocalVariable

    private void pushByLocalObjectLoad(DismantleBytecode dbc, int register) {
        Method m = dbc.getMethod();
        LocalVariableTable lvt = m.getLocalVariableTable();
        if (lvt != null) {
            LocalVariable lv = LVTHelper.getLocalVariableAtPC(lvt, register, dbc.getPC());
            if (lv != null) {
                String signature = lv.getSignature();
                pushByLocalLoad(signature, register);
                return;
            }
        }
        pushByLocalLoad("Ljava/lang/Object;", register);
View Full Code Here

Examples of org.apache.bcel.classfile.LocalVariable

    public static LocalVariableAnnotation getLocalVariableAnnotation(Method method, int local, int position1, int position2) {

        LocalVariableTable localVariableTable = method.getLocalVariableTable();
        String localName = "?";
        if (localVariableTable != null) {
            LocalVariable lv1 = localVariableTable.getLocalVariable(local, position1);
            if (lv1 == null) {
                lv1 = localVariableTable.getLocalVariable(local, position2);
                position1 = position2;
            }
            if (lv1 != null) {
                localName = lv1.getName();
            } else {
                for (LocalVariable lv : localVariableTable.getLocalVariableTable()) {
                    if (lv.getIndex() == local) {
                        if (!localName.equals("?") && !localName.equals(lv.getName())) {
                            // not a single consistent name
View Full Code Here

Examples of org.apache.bcel.classfile.LocalVariable

        int index = getMethod().isStatic() ? 0 : 1;
        int parameterNumber = 0;
        for (Iterator<String> i = p.parameterSignatureIterator(); i.hasNext();) {
            String s = i.next();
            LocalVariable localVariable = t.getLocalVariable(index, 0);
            if (localVariable != null) {
                String name = localVariable.getName();
                if (s.equals("J") && (name.toLowerCase().indexOf("instant") >= 0 || name.startsWith("date"))) {

                    // System.out.println(getFullyQualifiedMethodName() + " " + s + " " + index + " " + name);
                    property.setParamWithProperty(parameterNumber, true);
                }
View Full Code Here

Examples of org.apache.tapestry5.plastic.LocalVariable

        LVInfo info = new LVInfo(width, localIndex, loadOpcode, storeOpcode, end);

        localIndex += width;

        LocalVariable var = new LocalVariableImpl(type);

        locals.put(var, info);

        visitor.visitLocalVariable(nextVarName(), nameCache.toDesc(type), null, start, end, info.offset);
View Full Code Here

Examples of org.apache.tapestry5.plastic.LocalVariable

    public InstructionBuilder startVariable(String type, final LocalVariableCallback callback)
    {
        check();

        final LocalVariable var = state.startVariable(type);

        new InstructionBuilderCallback()
        {
            public void doBuild(InstructionBuilder builder)
            {
View Full Code Here

Examples of org.aspectj.apache.bcel.classfile.LocalVariable

            // Lets have a go at creating Tags directly
            if (useTags) {
              LocalVariable[] lv = ((LocalVariableTable) a).getLocalVariableTable();

              for (int k = 0; k < lv.length; k++) {
                LocalVariable l = lv[k];
                Type t = Type.getType(l.getSignature());
                LocalVariableTag lvt = new LocalVariableTag(t, l.getSignature(), l.getName(), l.getIndex(), l
                    .getStartPC());
                InstructionHandle start = il.findHandle(l.getStartPC(), arrayOfInstructions, true);
                byte b = t.getType();
                if (b != Constants.T_ADDRESS) {
                  int increment = t.getSize();
                  if (l.getIndex() + increment > maxLocals) {
                    maxLocals = l.getIndex() + increment;
                  }
                }
                int end = l.getStartPC() + l.getLength();
                do {
                  start.addTargeter(lvt);
                  start = start.getNext();
                } while (start != null && start.getPosition() < end);
              }
            } else {

              LocalVariable[] lv = ((LocalVariableTable) a).getLocalVariableTable();

              removeLocalVariables();

              for (int k = 0; k < lv.length; k++) {
                LocalVariable l = lv[k];
                InstructionHandle start = il.findHandle(l.getStartPC(), arrayOfInstructions);
                InstructionHandle end = il.findHandle(l.getStartPC() + l.getLength(), arrayOfInstructions);
                // AMC, this actually gives us the first instruction AFTER the range,
                // so move back one... (findHandle can't cope with mid-instruction indices)
                if (end != null) {
                  end = end.getPrev();
                }
                // 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
TOP
Copyright © 2018 www.massapi.com. 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.