Class Dex2IrAdapter

  • All Implemented Interfaces:
    com.googlecode.d2j.DexConstants, org.objectweb.asm.Opcodes

    public class Dex2IrAdapter
    extends com.googlecode.d2j.visitors.DexCodeVisitor
    implements org.objectweb.asm.Opcodes, com.googlecode.d2j.DexConstants
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected com.googlecode.dex2jar.ir.IrMethod irMethod  
      • Fields inherited from class com.googlecode.d2j.visitors.DexCodeVisitor

        visitor
      • Fields inherited from interface com.googlecode.d2j.DexConstants

        ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_CONSTRUCTOR, ACC_DECLARED_SYNCHRONIZED, ACC_DEX_HIDDEN_BIT, ACC_DEX_HIDDEN_BIT_NATIVE, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_VARARGS, ACC_VISIBILITY_FLAGS, ACC_VOLATILE, ANNOTATION_DEFAULT_TYPE, ANNOTATION_ENCLOSING_CLASS_TYPE, ANNOTATION_ENCLOSING_METHOD_TYPE, ANNOTATION_INNER_CLASS_TYPE, ANNOTATION_MEMBER_CLASSES_TYPE, ANNOTATION_SIGNATURE_TYPE, ANNOTATION_THROWS_TYPE, DEX_035, DEX_036, DEX_037, DEX_038, DEX_039, DEX_040
      • Fields inherited from interface org.objectweb.asm.Opcodes

        AALOAD, AASTORE, ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_DEPRECATED, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_MANDATED, ACC_MODULE, ACC_NATIVE, ACC_OPEN, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_RECORD, ACC_STATIC, ACC_STATIC_PHASE, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_TRANSITIVE, ACC_VARARGS, ACC_VOLATILE, ACONST_NULL, ALOAD, ANEWARRAY, ARETURN, ARRAYLENGTH, ASM10_EXPERIMENTAL, ASM4, ASM5, ASM6, ASM7, ASM8, ASM9, ASTORE, ATHROW, BALOAD, BASTORE, BIPUSH, CALOAD, CASTORE, CHECKCAST, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DLOAD, DMUL, DNEG, DOUBLE, DREM, DRETURN, DSTORE, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F_APPEND, F_CHOP, F_FULL, F_NEW, F_SAME, F_SAME1, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, FLOAT, FMUL, FNEG, FREM, FRETURN, FSTORE, FSUB, GETFIELD, GETSTATIC, GOTO, H_GETFIELD, H_GETSTATIC, H_INVOKEINTERFACE, H_INVOKESPECIAL, H_INVOKESTATIC, H_INVOKEVIRTUAL, H_NEWINVOKESPECIAL, H_PUTFIELD, H_PUTSTATIC, I2B, I2C, I2D, I2F, I2L, I2S, IADD, IALOAD, IAND, IASTORE, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, ICONST_5, ICONST_M1, IDIV, IF_ACMPEQ, IF_ACMPNE, IF_ICMPEQ, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ICMPLT, IF_ICMPNE, IFEQ, IFGE, IFGT, IFLE, IFLT, IFNE, IFNONNULL, IFNULL, IINC, ILOAD, IMUL, INEG, INSTANCEOF, INTEGER, INVOKEDYNAMIC, INVOKEINTERFACE, INVOKESPECIAL, INVOKESTATIC, INVOKEVIRTUAL, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE, ISUB, IUSHR, IXOR, JSR, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDC, LDIV, LLOAD, LMUL, LNEG, LONG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, NULL, POP, POP2, PUTFIELD, PUTSTATIC, RET, RETURN, SALOAD, SASTORE, SIPUSH, SOURCE_DEPRECATED, SOURCE_MASK, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, TOP, UNINITIALIZED_THIS, V_PREVIEW, V1_1, V1_2, V1_3, V1_4, V1_5, V1_6, V1_7, V1_8, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V9
    • Constructor Summary

      Constructors 
      Constructor Description
      Dex2IrAdapter​(boolean isStatic, com.googlecode.d2j.Method method)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      com.googlecode.dex2jar.ir.IrMethod convert​(com.googlecode.d2j.node.DexCodeNode codeNode)  
      void visitConstStmt​(com.googlecode.d2j.reader.Op op, int toReg, java.lang.Object value)  
      void visitEnd()  
      void visitFieldStmt​(com.googlecode.d2j.reader.Op op, int a, int b, com.googlecode.d2j.Field field)  
      void visitFillArrayDataStmt​(com.googlecode.d2j.reader.Op op, int ra, java.lang.Object array)  
      void visitFilledNewArrayStmt​(com.googlecode.d2j.reader.Op opc, int[] args, java.lang.String type)  
      void visitJumpStmt​(com.googlecode.d2j.reader.Op op, int a, int b, com.googlecode.d2j.DexLabel label)  
      void visitLabel​(com.googlecode.d2j.DexLabel label)  
      void visitMethodStmt​(com.googlecode.d2j.reader.Op op, int[] args, com.googlecode.d2j.Method method)  
      void visitPackedSwitchStmt​(com.googlecode.d2j.reader.Op op, int aA, int firstCase, com.googlecode.d2j.DexLabel[] labels)  
      void visitRegister​(int total)  
      void visitSparseSwitchStmt​(com.googlecode.d2j.reader.Op op, int aA, int[] cases, com.googlecode.d2j.DexLabel[] labels)  
      void visitStmt0R​(com.googlecode.d2j.reader.Op op)  
      void visitStmt1R​(com.googlecode.d2j.reader.Op op, int reg)  
      void visitStmt2R​(com.googlecode.d2j.reader.Op op, int a, int b)  
      void visitStmt2R1N​(com.googlecode.d2j.reader.Op op, int a, int b, int content)  
      void visitStmt3R​(com.googlecode.d2j.reader.Op op, int a, int b, int c)  
      void visitTryCatch​(com.googlecode.d2j.DexLabel start, com.googlecode.d2j.DexLabel end, com.googlecode.d2j.DexLabel[] handlers, java.lang.String[] types)  
      void visitTypeStmt​(com.googlecode.d2j.reader.Op op, int a, int b, java.lang.String type)  
      • Methods inherited from class com.googlecode.d2j.visitors.DexCodeVisitor

        visitDebug, visitMethodStmt, visitMethodStmt
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • irMethod

        protected com.googlecode.dex2jar.ir.IrMethod irMethod
    • Constructor Detail

      • Dex2IrAdapter

        public Dex2IrAdapter​(boolean isStatic,
                             com.googlecode.d2j.Method method)
    • Method Detail

      • visitRegister

        public void visitRegister​(int total)
        Overrides:
        visitRegister in class com.googlecode.d2j.visitors.DexCodeVisitor
      • visitStmt2R1N

        public void visitStmt2R1N​(com.googlecode.d2j.reader.Op op,
                                  int a,
                                  int b,
                                  int content)
        Overrides:
        visitStmt2R1N in class com.googlecode.d2j.visitors.DexCodeVisitor
      • visitStmt3R

        public void visitStmt3R​(com.googlecode.d2j.reader.Op op,
                                int a,
                                int b,
                                int c)
        Overrides:
        visitStmt3R in class com.googlecode.d2j.visitors.DexCodeVisitor
      • visitTypeStmt

        public void visitTypeStmt​(com.googlecode.d2j.reader.Op op,
                                  int a,
                                  int b,
                                  java.lang.String type)
        Overrides:
        visitTypeStmt in class com.googlecode.d2j.visitors.DexCodeVisitor
      • visitFillArrayDataStmt

        public void visitFillArrayDataStmt​(com.googlecode.d2j.reader.Op op,
                                           int ra,
                                           java.lang.Object array)
        Overrides:
        visitFillArrayDataStmt in class com.googlecode.d2j.visitors.DexCodeVisitor
      • visitConstStmt

        public void visitConstStmt​(com.googlecode.d2j.reader.Op op,
                                   int toReg,
                                   java.lang.Object value)
        Overrides:
        visitConstStmt in class com.googlecode.d2j.visitors.DexCodeVisitor
      • visitEnd

        public void visitEnd()
        Overrides:
        visitEnd in class com.googlecode.d2j.visitors.DexCodeVisitor
      • visitFieldStmt

        public void visitFieldStmt​(com.googlecode.d2j.reader.Op op,
                                   int a,
                                   int b,
                                   com.googlecode.d2j.Field field)
        Overrides:
        visitFieldStmt in class com.googlecode.d2j.visitors.DexCodeVisitor
      • visitFilledNewArrayStmt

        public void visitFilledNewArrayStmt​(com.googlecode.d2j.reader.Op opc,
                                            int[] args,
                                            java.lang.String type)
        Overrides:
        visitFilledNewArrayStmt in class com.googlecode.d2j.visitors.DexCodeVisitor
      • visitJumpStmt

        public void visitJumpStmt​(com.googlecode.d2j.reader.Op op,
                                  int a,
                                  int b,
                                  com.googlecode.d2j.DexLabel label)
        Overrides:
        visitJumpStmt in class com.googlecode.d2j.visitors.DexCodeVisitor
      • visitLabel

        public void visitLabel​(com.googlecode.d2j.DexLabel label)
        Overrides:
        visitLabel in class com.googlecode.d2j.visitors.DexCodeVisitor
      • visitSparseSwitchStmt

        public void visitSparseSwitchStmt​(com.googlecode.d2j.reader.Op op,
                                          int aA,
                                          int[] cases,
                                          com.googlecode.d2j.DexLabel[] labels)
        Overrides:
        visitSparseSwitchStmt in class com.googlecode.d2j.visitors.DexCodeVisitor
      • visitMethodStmt

        public void visitMethodStmt​(com.googlecode.d2j.reader.Op op,
                                    int[] args,
                                    com.googlecode.d2j.Method method)
        Overrides:
        visitMethodStmt in class com.googlecode.d2j.visitors.DexCodeVisitor
      • visitStmt1R

        public void visitStmt1R​(com.googlecode.d2j.reader.Op op,
                                int reg)
        Overrides:
        visitStmt1R in class com.googlecode.d2j.visitors.DexCodeVisitor
      • visitStmt2R

        public void visitStmt2R​(com.googlecode.d2j.reader.Op op,
                                int a,
                                int b)
        Overrides:
        visitStmt2R in class com.googlecode.d2j.visitors.DexCodeVisitor
      • visitStmt0R

        public void visitStmt0R​(com.googlecode.d2j.reader.Op op)
        Overrides:
        visitStmt0R in class com.googlecode.d2j.visitors.DexCodeVisitor
      • visitPackedSwitchStmt

        public void visitPackedSwitchStmt​(com.googlecode.d2j.reader.Op op,
                                          int aA,
                                          int firstCase,
                                          com.googlecode.d2j.DexLabel[] labels)
        Overrides:
        visitPackedSwitchStmt in class com.googlecode.d2j.visitors.DexCodeVisitor
      • visitTryCatch

        public void visitTryCatch​(com.googlecode.d2j.DexLabel start,
                                  com.googlecode.d2j.DexLabel end,
                                  com.googlecode.d2j.DexLabel[] handlers,
                                  java.lang.String[] types)
        Overrides:
        visitTryCatch in class com.googlecode.d2j.visitors.DexCodeVisitor
      • convert

        public com.googlecode.dex2jar.ir.IrMethod convert​(com.googlecode.d2j.node.DexCodeNode codeNode)