Class Dex2Asm

  • Direct Known Subclasses:
    ExDex2Asm

    public class Dex2Asm
    extends java.lang.Object
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      protected static class  Dex2Asm.Clz  
      static class  Dex2Asm.ClzCtx  
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected static int ACC_INTERFACE_ABSTRACT  
      protected static com.googlecode.dex2jar.ir.ts.AggTransformer T_AGG  
      protected static com.googlecode.dex2jar.ir.ts.CleanLabel T_CLEAN_LABEL  
      protected static com.googlecode.dex2jar.ir.ts.DeadCodeTransformer T_DEAD_CODE  
      protected static com.googlecode.dex2jar.ir.ts.EndRemover T_END_REMOVE  
      protected static com.googlecode.dex2jar.ir.ts.array.FillArrayTransformer T_FILL_ARRAY  
      protected static com.googlecode.dex2jar.ir.ts.Ir2JRegAssignTransformer T_IR_2_J_REG_ASSIGN  
      protected static com.googlecode.dex2jar.ir.ts.MultiArrayTransformer T_MULTI_ARRAY  
      protected static com.googlecode.dex2jar.ir.ts.NewTransformer T_NEW  
      protected static com.googlecode.dex2jar.ir.ts.NpeTransformer T_NPE  
      protected static com.googlecode.dex2jar.ir.ts.RemoveConstantFromSSA T_REMOVE_CONST  
      protected static com.googlecode.dex2jar.ir.ts.RemoveLocalFromSSA T_REMOVE_LOCAL  
      protected static com.googlecode.dex2jar.ir.ts.ExceptionHandlerTrim T_TRIM_EX  
      protected static com.googlecode.dex2jar.ir.ts.TypeTransformer T_TYPE  
      protected static com.googlecode.dex2jar.ir.ts.UnSSATransformer T_UNSSA  
      protected static com.googlecode.dex2jar.ir.ts.VoidInvokeTransformer T_VOID_INVOKE  
      protected static com.googlecode.dex2jar.ir.ts.ZeroTransformer T_ZERO  
    • Constructor Summary

      Constructors 
      Constructor Description
      Dex2Asm()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static void accept​(com.googlecode.d2j.node.DexAnnotationNode ann, org.objectweb.asm.ClassVisitor v)  
      static void accept​(com.googlecode.d2j.node.DexAnnotationNode ann, org.objectweb.asm.FieldVisitor v)  
      static void accept​(com.googlecode.d2j.node.DexAnnotationNode ann, org.objectweb.asm.MethodVisitor v)  
      static void accept​(java.util.List<com.googlecode.d2j.node.DexAnnotationNode.Item> items, org.objectweb.asm.AnnotationVisitor av)  
      static void accept​(java.util.List<com.googlecode.d2j.node.DexAnnotationNode> anns, org.objectweb.asm.ClassVisitor cv)  
      static void accept​(java.util.List<com.googlecode.d2j.node.DexAnnotationNode> anns, org.objectweb.asm.FieldVisitor fv)  
      static void accept​(java.util.List<com.googlecode.d2j.node.DexAnnotationNode> anns, org.objectweb.asm.MethodVisitor mv)  
      static void acceptParameter​(com.googlecode.d2j.node.DexAnnotationNode ann, int index, org.objectweb.asm.MethodVisitor v)  
      protected static java.util.Map<java.lang.String,​Dex2Asm.Clz> collectClzInfo​(com.googlecode.d2j.node.DexFileNode fileNode)  
      void convertClass​(int dexVersion, com.googlecode.d2j.node.DexClassNode classNode, ClassVisitorFactory cvf)  
      void convertClass​(int dexVersion, com.googlecode.d2j.node.DexClassNode classNode, ClassVisitorFactory cvf, java.util.Map<java.lang.String,​Dex2Asm.Clz> classes)  
      void convertClass​(com.googlecode.d2j.node.DexClassNode classNode, ClassVisitorFactory cvf)  
      void convertClass​(com.googlecode.d2j.node.DexClassNode classNode, ClassVisitorFactory cvf, com.googlecode.d2j.node.DexFileNode fileNode)  
      void convertClass​(com.googlecode.d2j.node.DexClassNode classNode, ClassVisitorFactory cvf, java.util.Map<java.lang.String,​Dex2Asm.Clz> classes)  
      void convertClass​(com.googlecode.d2j.node.DexFileNode dfn, com.googlecode.d2j.node.DexClassNode classNode, ClassVisitorFactory cvf, java.util.Map<java.lang.String,​Dex2Asm.Clz> classes)  
      void convertCode​(com.googlecode.d2j.node.DexMethodNode methodNode, org.objectweb.asm.MethodVisitor mv, Dex2Asm.ClzCtx clzCtx)  
      static java.lang.Object convertConstantValue​(java.lang.Object ele)  
      static java.lang.Object[] convertConstantValues​(java.lang.Object[] v)  
      void convertDex​(com.googlecode.d2j.node.DexFileNode fileNode, ClassVisitorFactory cvf)  
      void convertField​(com.googlecode.d2j.node.DexClassNode classNode, com.googlecode.d2j.node.DexFieldNode fieldNode, org.objectweb.asm.ClassVisitor cv)  
      static org.objectweb.asm.Handle convertHandler​(com.googlecode.d2j.MethodHandle ele)  
      void convertMethod​(com.googlecode.d2j.node.DexClassNode classNode, com.googlecode.d2j.node.DexMethodNode methodNode, org.objectweb.asm.ClassVisitor cv, Dex2Asm.ClzCtx clzCtx)  
      com.googlecode.dex2jar.ir.IrMethod dex2ir​(com.googlecode.d2j.node.DexMethodNode methodNode)  
      protected static java.lang.Object findAnnotationAttribute​(com.googlecode.d2j.node.DexAnnotationNode ann, java.lang.String name)  
      protected java.io.InputStream getHexClassAsStream()  
      void ir2j​(com.googlecode.dex2jar.ir.IrMethod irMethod, org.objectweb.asm.MethodVisitor mv, Dex2Asm.ClzCtx clzCtx)  
      void optimize​(com.googlecode.dex2jar.ir.IrMethod irMethod)  
      protected static java.lang.String toInternalName​(com.googlecode.d2j.DexType type)  
      protected static java.lang.String toInternalName​(java.lang.String desc)  
      • Methods inherited from class java.lang.Object

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

      • ACC_INTERFACE_ABSTRACT

        protected static final int ACC_INTERFACE_ABSTRACT
        See Also:
        Constant Field Values
      • T_CLEAN_LABEL

        protected static final com.googlecode.dex2jar.ir.ts.CleanLabel T_CLEAN_LABEL
      • T_END_REMOVE

        protected static final com.googlecode.dex2jar.ir.ts.EndRemover T_END_REMOVE
      • T_IR_2_J_REG_ASSIGN

        protected static final com.googlecode.dex2jar.ir.ts.Ir2JRegAssignTransformer T_IR_2_J_REG_ASSIGN
      • T_NEW

        protected static final com.googlecode.dex2jar.ir.ts.NewTransformer T_NEW
      • T_REMOVE_CONST

        protected static final com.googlecode.dex2jar.ir.ts.RemoveConstantFromSSA T_REMOVE_CONST
      • T_REMOVE_LOCAL

        protected static final com.googlecode.dex2jar.ir.ts.RemoveLocalFromSSA T_REMOVE_LOCAL
      • T_TRIM_EX

        protected static final com.googlecode.dex2jar.ir.ts.ExceptionHandlerTrim T_TRIM_EX
      • T_TYPE

        protected static final com.googlecode.dex2jar.ir.ts.TypeTransformer T_TYPE
      • T_DEAD_CODE

        protected static final com.googlecode.dex2jar.ir.ts.DeadCodeTransformer T_DEAD_CODE
      • T_FILL_ARRAY

        protected static final com.googlecode.dex2jar.ir.ts.array.FillArrayTransformer T_FILL_ARRAY
      • T_AGG

        protected static final com.googlecode.dex2jar.ir.ts.AggTransformer T_AGG
      • T_UNSSA

        protected static final com.googlecode.dex2jar.ir.ts.UnSSATransformer T_UNSSA
      • T_ZERO

        protected static final com.googlecode.dex2jar.ir.ts.ZeroTransformer T_ZERO
      • T_VOID_INVOKE

        protected static final com.googlecode.dex2jar.ir.ts.VoidInvokeTransformer T_VOID_INVOKE
      • T_NPE

        protected static final com.googlecode.dex2jar.ir.ts.NpeTransformer T_NPE
      • T_MULTI_ARRAY

        protected static final com.googlecode.dex2jar.ir.ts.MultiArrayTransformer T_MULTI_ARRAY
    • Constructor Detail

      • Dex2Asm

        public Dex2Asm()
    • Method Detail

      • toInternalName

        protected static java.lang.String toInternalName​(com.googlecode.d2j.DexType type)
      • toInternalName

        protected static java.lang.String toInternalName​(java.lang.String desc)
      • accept

        public static void accept​(com.googlecode.d2j.node.DexAnnotationNode ann,
                                  org.objectweb.asm.ClassVisitor v)
      • accept

        public static void accept​(java.util.List<com.googlecode.d2j.node.DexAnnotationNode> anns,
                                  org.objectweb.asm.ClassVisitor cv)
      • accept

        public static void accept​(java.util.List<com.googlecode.d2j.node.DexAnnotationNode> anns,
                                  org.objectweb.asm.FieldVisitor fv)
      • accept

        public static void accept​(java.util.List<com.googlecode.d2j.node.DexAnnotationNode> anns,
                                  org.objectweb.asm.MethodVisitor mv)
      • accept

        public static void accept​(com.googlecode.d2j.node.DexAnnotationNode ann,
                                  org.objectweb.asm.MethodVisitor v)
      • acceptParameter

        public static void acceptParameter​(com.googlecode.d2j.node.DexAnnotationNode ann,
                                           int index,
                                           org.objectweb.asm.MethodVisitor v)
      • accept

        public static void accept​(com.googlecode.d2j.node.DexAnnotationNode ann,
                                  org.objectweb.asm.FieldVisitor v)
      • accept

        public static void accept​(java.util.List<com.googlecode.d2j.node.DexAnnotationNode.Item> items,
                                  org.objectweb.asm.AnnotationVisitor av)
      • collectClzInfo

        protected static java.util.Map<java.lang.String,​Dex2Asm.Clz> collectClzInfo​(com.googlecode.d2j.node.DexFileNode fileNode)
      • convertClass

        public void convertClass​(com.googlecode.d2j.node.DexClassNode classNode,
                                 ClassVisitorFactory cvf,
                                 com.googlecode.d2j.node.DexFileNode fileNode)
      • convertClass

        public void convertClass​(com.googlecode.d2j.node.DexClassNode classNode,
                                 ClassVisitorFactory cvf)
      • convertClass

        public void convertClass​(int dexVersion,
                                 com.googlecode.d2j.node.DexClassNode classNode,
                                 ClassVisitorFactory cvf)
      • convertClass

        public void convertClass​(com.googlecode.d2j.node.DexClassNode classNode,
                                 ClassVisitorFactory cvf,
                                 java.util.Map<java.lang.String,​Dex2Asm.Clz> classes)
      • convertClass

        public void convertClass​(com.googlecode.d2j.node.DexFileNode dfn,
                                 com.googlecode.d2j.node.DexClassNode classNode,
                                 ClassVisitorFactory cvf,
                                 java.util.Map<java.lang.String,​Dex2Asm.Clz> classes)
      • convertClass

        public void convertClass​(int dexVersion,
                                 com.googlecode.d2j.node.DexClassNode classNode,
                                 ClassVisitorFactory cvf,
                                 java.util.Map<java.lang.String,​Dex2Asm.Clz> classes)
      • getHexClassAsStream

        protected java.io.InputStream getHexClassAsStream()
      • convertCode

        public void convertCode​(com.googlecode.d2j.node.DexMethodNode methodNode,
                                org.objectweb.asm.MethodVisitor mv,
                                Dex2Asm.ClzCtx clzCtx)
      • convertDex

        public void convertDex​(com.googlecode.d2j.node.DexFileNode fileNode,
                               ClassVisitorFactory cvf)
      • convertField

        public void convertField​(com.googlecode.d2j.node.DexClassNode classNode,
                                 com.googlecode.d2j.node.DexFieldNode fieldNode,
                                 org.objectweb.asm.ClassVisitor cv)
      • convertConstantValues

        public static java.lang.Object[] convertConstantValues​(java.lang.Object[] v)
      • convertConstantValue

        public static java.lang.Object convertConstantValue​(java.lang.Object ele)
      • convertHandler

        public static org.objectweb.asm.Handle convertHandler​(com.googlecode.d2j.MethodHandle ele)
      • convertMethod

        public void convertMethod​(com.googlecode.d2j.node.DexClassNode classNode,
                                  com.googlecode.d2j.node.DexMethodNode methodNode,
                                  org.objectweb.asm.ClassVisitor cv,
                                  Dex2Asm.ClzCtx clzCtx)
      • dex2ir

        public com.googlecode.dex2jar.ir.IrMethod dex2ir​(com.googlecode.d2j.node.DexMethodNode methodNode)
      • findAnnotationAttribute

        protected static java.lang.Object findAnnotationAttribute​(com.googlecode.d2j.node.DexAnnotationNode ann,
                                                                  java.lang.String name)
      • ir2j

        public void ir2j​(com.googlecode.dex2jar.ir.IrMethod irMethod,
                         org.objectweb.asm.MethodVisitor mv,
                         Dex2Asm.ClzCtx clzCtx)
      • optimize

        public void optimize​(com.googlecode.dex2jar.ir.IrMethod irMethod)