Class Dex2IrAdapter

java.lang.Object
com.googlecode.d2j.visitors.DexCodeVisitor
com.googlecode.d2j.dex.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
     

    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, V24, V9
  • Constructor Summary

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

    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, Object value)
     
    void
     
    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, Object array)
     
    void
    visitFilledNewArrayStmt(com.googlecode.d2j.reader.Op opc, int[] args, 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, String[] types)
     
    void
    visitTypeStmt(com.googlecode.d2j.reader.Op op, int a, int b, 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 Details

    • irMethod

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

    • Dex2IrAdapter

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

    • 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, String type)
      Overrides:
      visitTypeStmt in class com.googlecode.d2j.visitors.DexCodeVisitor
    • visitFillArrayDataStmt

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

      public void visitConstStmt(com.googlecode.d2j.reader.Op op, int toReg, 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, 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, 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)