Package org.objectweb.asm.tree

Examples of org.objectweb.asm.tree.ClassNode.visitMethod()


    }
   
    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


    }
   
    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);
View Full Code Here

            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

      for (MethodWriter mw : writers.get(name))
      {
        MethodNode mv = findMethod(mw.method, cnode);
        if (mv == null)
          mv = (MethodNode) cnode.visitMethod(mw.access, mw.method.s_name, mw.method.s_desc, null, mw.exceptions);

        mv.access = mw.access;
        mv.instructions.clear();
        mw.write(mv);
      }
View Full Code Here

            if (m2.name.equals(m.name) && m2.desc.equals(m.desc)) {
              i.remove();
            }
          }
        }
        MethodVisitor mv = cn.visitMethod(getAccess(m), m.name, m.desc, m.signature, m.exceptions.toArray(new String[0]));
        mv.visitCode();
        mv.visitVarInsn(ALOAD, 0);
        mv.visitFieldInsn(GETFIELD, "skyboy/core/world/WorldProxy", "proxiedWorld", "Lnet/minecraft/world/World;");
        Type[] types = Type.getArgumentTypes(m.desc);
        for (int i = 0, w = 1, e = types.length; i < e; i++) {
View Full Code Here

            if (m2.name.equals(m.name) && m2.desc.equals(m.desc)) {
              i.remove();
            }
          }
        }
        MethodVisitor mv = cn.visitMethod(getAccess(m), m.name, m.desc, m.signature, m.exceptions.toArray(new String[0]));
        mv.visitCode();
        mv.visitVarInsn(ALOAD, 0);
        mv.visitFieldInsn(GETFIELD, "skyboy/core/world/WorldServerProxy", "proxiedWorld", "Lnet/minecraft/world/WorldServer;");
        Type[] types = Type.getArgumentTypes(m.desc);
        for (int i = 0, w = 1, e = types.length; i < e; i++) {
View Full Code Here

            if (m2.name.equals(m.name) && m2.desc.equals(m.desc)) {
              i.remove();
            }
          }
        }
        MethodVisitor mv = cn.visitMethod(getAccess(m), m.name, m.desc, m.signature, m.exceptions.toArray(new String[0]));
        mv.visitCode();
        mv.visitVarInsn(ALOAD, 0);
        mv.visitFieldInsn(GETFIELD, "skyboy/core/world/WorldServerProxy", "proxiedWorld", "Lnet/minecraft/world/WorldServer;");
        Type[] types = Type.getArgumentTypes(m.desc);
        for (int i = 0, w = 1, e = types.length; i < e; i++) {
View Full Code Here

        m.access |= Opcodes.ACC_PUBLIC;
      }
    }
   
    {
      MethodVisitor mv = node.visitMethod(Opcodes.ACC_PUBLIC, "triggerInternalUpdateScheduled", "()V", null, null);
      mv.visitCode();
      Label l0 = new Label();
      mv.visitLabel(l0);
      mv.visitLineNumber(604, l0);
      mv.visitVarInsn(Opcodes.ALOAD, 0);
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.