Package org.objectweb.asm.tree

Examples of org.objectweb.asm.tree.MethodNode.accept()


        final String[] exceptions = (String[]) source.exceptions.toArray(ArrayUtils.EMPTY_STRING_ARRAY);

        // non-public fields accessed
        final Set<FieldAccess> fieldAccesses = new LinkedHashSet<FieldAccess>();

        source.accept(new MethodVisitor(Opcodes.ASM4) {
            @Override
            public void visitFieldInsn(final int opcode, final String owner, final String name, final String desc) {
                final FieldAccess fieldAccess = fieldAccess(Type.getObjectType(owner), name);

                super.visitFieldInsn(opcode, owner, name, desc);
View Full Code Here


        // private can only be called by other privileged methods, so no need to mark as privileged
        if (!Modifier.isPrivate(source.access)) {
            withAccessibleAdvice.visitAnnotation(Type.getType(Privileged.class).getDescriptor(), false).visitEnd();
        }

        withAccessibleAdvice.accept(this.cv);

        return result;
    }

    private FieldAccess fieldAccess(final Type owner, final String name) {
View Full Code Here

      ClassVisitor cv = classAdapter.getParent();
      List<Long> lineNumbers = handle.getLineNumbers();
      if (lineNumbers != null) {
        cv = new LineNumberingClassAdapter(cv, lineNumbers);
      }
      methodNode.accept(new ContractFixingClassAdapter(cv));
      handle.setInjected(true);
    }

    return methodNode;
  }
View Full Code Here

      mn.instructions.resetLabels();
      // mn.accept(new RemappingMethodAdapter(mn.access, mn.desc, mv, new
      // SimpleRemapper("org.apache.drill.exec.compile.ExampleTemplate", "Bunky")));
      ClassSet top = set;
      while(top.parent != null) top = top.parent;
      mn.accept(new RemappingMethodAdapter(mn.access, mn.desc, mv, new SimpleRemapper(top.precompiled.slash, top.generated.slash)));
    }
    super.visitEnd();
  }

  @Override
View Full Code Here

        boolean changed = false;
        Iterator<MethodNode> it = cnode.methods.iterator();
        while(it.hasNext()) {
            MethodNode mnode = it.next();
            ReferenceDetector r = new ReferenceDetector();
            mnode.accept(new RemappingMethodAdapter(mnode.access, mnode.desc, new MethodVisitor(Opcodes.ASM4) {}, r));
            if(r.found) {
                it.remove();
                changed = true;
            }
        }
View Full Code Here

        @Override
        public void visitEnd() {
            super.visitEnd();
            MethodNode mnode = (MethodNode)mv;
            mnode.instructions = InsnComparator.getImportantList(mnode.instructions);
            mnode.accept(delegate);
        }
    }

    public ImportantInsnVisitor(ClassVisitor cv) {
        super(Opcodes.ASM4, cv);
View Full Code Here

      // SimpleRemapper("org.apache.drill.exec.compile.ExampleTemplate", "Bunky")));
      ClassSet top = set;
      while (top.parent != null) {
        top = top.parent;
      }
      mn.accept(new RemappingMethodAdapter(mn.access, mn.desc, mv, new SimpleRemapper(top.precompiled.slash, top.generated.slash)));

    }
    super.visitEnd();
  }
View Full Code Here

                        }
                        methods.add(mn);
                    } else {
                        MethodVisitor _mv = makeOutMV(mn);
                        _mv = new JSRInlinerAdapter(_mv, access, name, desc, signature, exceptions);
                        mn.accept(new MethodVisitor(ASMAPI, _mv) {
                            @Override
                            public void visitEnd() {
                                // don't call visitEnd on MV
                            }
                        }); // write method as-is
View Full Code Here

                        if (susp)
                            methods.add(mn);
                        else {
                            MethodVisitor _mv = makeOutMV(mn);
                            _mv = new JSRInlinerAdapter(_mv, access, name, desc, signature, exceptions);
                            mn.accept(new MethodVisitor(Opcodes.ASM4, _mv) {
                                @Override
                                public void visitEnd() {
                                    // don't call visitEnd on MV
                                }
                            }); // write method as-is
View Full Code Here

                    if (susp != SuspendableType.NON_SUSPENDABLE)
                        methods.add(mn);
                    else {
                        MethodVisitor _mv = makeOutMV(mn);
                        _mv = new JSRInlinerAdapter(_mv, access, name, desc, signature, exceptions);
                        mn.accept(new MethodVisitor(Opcodes.ASM4, _mv) {
                            @Override
                            public void visitEnd() {
                                // don't call visitEnd on MV
                            }
                        }); // write method as-is
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.