Package org.objectweb.asm.tree

Examples of org.objectweb.asm.tree.ClassNode


  }

  @SuppressWarnings("unchecked")
  private MethodNode getMethod(byte[] classbytes, String methodName) {
    ClassReader super_cr = new ClassReader(classbytes);
    ClassNode cn = new ClassNode();
    super_cr.accept(cn, 0);
    List<MethodNode> methods = cn.methods;
    if (methods != null) {
      for (MethodNode mn : methods) {
        if (mn.name.equals(methodName)) {
View Full Code Here


  }

  @SuppressWarnings("unchecked")
  private FieldNode getField(byte[] classbytes, String fieldName) {
    ClassReader super_cr = new ClassReader(classbytes);
    ClassNode cn = new ClassNode();
    super_cr.accept(cn, 0);
    List<FieldNode> fields = cn.fields;
    if (fields != null) {
      for (FieldNode fn : fields) {
        if (fn.name.equals(fieldName)) {
View Full Code Here

    }
    return null;
  }

  protected ClassNode getClassNode(byte[] classdata) {
    ClassNode cn = new ClassNode();
    ClassReader cr = new ClassReader(classdata);
    cr.accept(cn, 0)
    return cn;
  }
View Full Code Here

  protected List<MethodNode> getMethods(byte[] classdata) {
    return getClassNode(classdata).methods;
  }
 
  protected int countMethods(byte[] classdata) {
    ClassNode cn = getClassNode(classdata);
    return cn.methods==null?0:cn.methods.size();
 
View Full Code Here

    reloadableType.loadNewVersion(versionstamp, reloadableType.bytesInitial);
  }

  @SuppressWarnings("unchecked")
  protected void checkLocalVariables(byte[] bytes, String methodNameAndDescriptor, String... expected) {
    ClassNode cn = new ClassNode();
    ClassReader cr = new ClassReader(bytes);
    cr.accept(cn, 0);

    boolean checked = false;
    List<MethodNode> methods = cn.methods;
View Full Code Here

    }
  }

  @SuppressWarnings("unchecked")
  protected void checkAnnotations(byte[] bytes, String methodNameAndDescriptor, String... expected) {
    ClassNode cn = new ClassNode();
    ClassReader cr = new ClassReader(bytes);
    cr.accept(cn, 0);
    if (expected == null) {
      expected = new String[0];
    }
View Full Code Here

* @since 0.5.0
*/
public class TypeDiffComputer implements Opcodes {

  public static TypeDelta computeDifferences(byte[] oldbytes, byte[] newbytes) {
    ClassNode oldClassNode = new ClassNode();
    new ClassReader(oldbytes).accept(oldClassNode, 0);
    ClassNode newClassNode = new ClassNode();
    new ClassReader(newbytes).accept(newClassNode, 0);
    TypeDelta delta = computeDelta(oldClassNode, newClassNode);
    return delta;
  }
View Full Code Here

     * @param pw
     *            write where results going to be printed
     */
    public static void verify(final ClassReader cr, final ClassLoader loader,
            final boolean dump, final PrintWriter pw) {
        ClassNode cn = new ClassNode();
        cr.accept(new CheckClassAdapter(cn, false), ClassReader.SKIP_DEBUG);

        Type syperType = cn.superName == null ? null : Type
                .getObjectType(cn.superName);
        List<MethodNode> methods = cn.methods;
View Full Code Here

        System.out.println("[DenPipesCore]: " + "Injected hook(s) into BuildCraft class " + string + "!");
    }
   
    public byte[] injectHook(byte[] bytes, String clazz) {
        try {
            ClassNode cnode = createClassNode(bytes);
            MethodVisitor mv = cnode.visitMethod(ACC_PUBLIC, "getPowerHandler", "()Lbuildcraft/api/power/PowerHandler;", null, null);
            mv.visitCode();
            mv.visitVarInsn(ALOAD, 0);
            mv.visitFieldInsn(GETFIELD, clazz.replace(".", "/"), "powerHandler", "Lbuildcraft/api/power/PowerHandler;");
            mv.visitInsn(ARETURN);
            mv.visitMaxs(1, 0);
View Full Code Here

        return bytes;
    }
   
    public byte[] injectHook2(byte[] bytes, String clazz) {
        try {
            ClassNode cnode = createClassNode(bytes);
            MethodVisitor mv = cnode.visitMethod(ACC_PUBLIC, "getPowerHandler", "()Lbuildcraft/api/power/PowerHandler;", null, null);
            mv.visitCode();
            mv.visitVarInsn(ALOAD, 0);
            mv.visitFieldInsn(GETFIELD, clazz.replace(".", "/"), "powerHandler", "Lbuildcraft/api/power/PowerHandler;");
            mv.visitInsn(ARETURN);
            mv.visitMaxs(1, 0);
            mv = cnode.visitMethod(ACC_PUBLIC, "getPowerSources", "()[Z", null, null);
            mv.visitCode();
            mv.visitVarInsn(ALOAD, 0);
            mv.visitFieldInsn(GETFIELD, clazz.replace(".", "/"), "powerSources", "[Z");
            mv.visitInsn(ARETURN);
            mv.visitMaxs(1, 0);
View Full Code Here

TOP

Related Classes of org.objectweb.asm.tree.ClassNode

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.