Class Dex2Asm

java.lang.Object
com.googlecode.d2j.dex.Dex2Asm
Direct Known Subclasses:
ExDex2Asm

public class Dex2Asm extends Object
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    protected static class 
     
    static class 
     
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected static final int
     
    protected static final com.googlecode.dex2jar.ir.ts.AggTransformer
     
    protected static final com.googlecode.dex2jar.ir.ts.CleanLabel
     
    protected static final com.googlecode.dex2jar.ir.ts.DeadCodeTransformer
     
    protected static final com.googlecode.dex2jar.ir.ts.EndRemover
     
    protected static final com.googlecode.dex2jar.ir.ts.array.FillArrayTransformer
     
    protected static final com.googlecode.dex2jar.ir.ts.Ir2JRegAssignTransformer
     
    protected static final com.googlecode.dex2jar.ir.ts.MultiArrayTransformer
     
    protected static final com.googlecode.dex2jar.ir.ts.NewTransformer
     
    protected static final com.googlecode.dex2jar.ir.ts.NpeTransformer
     
    protected static final com.googlecode.dex2jar.ir.ts.RemoveConstantFromSSA
     
    protected static final com.googlecode.dex2jar.ir.ts.RemoveLocalFromSSA
     
    protected static final com.googlecode.dex2jar.ir.ts.ExceptionHandlerTrim
     
    protected static final com.googlecode.dex2jar.ir.ts.TypeTransformer
     
    protected static final com.googlecode.dex2jar.ir.ts.UnSSATransformer
     
    protected static final com.googlecode.dex2jar.ir.ts.VoidInvokeTransformer
     
    protected static final com.googlecode.dex2jar.ir.ts.ZeroTransformer
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    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(List<com.googlecode.d2j.node.DexAnnotationNode.Item> items, org.objectweb.asm.AnnotationVisitor av)
     
    static void
    accept(List<com.googlecode.d2j.node.DexAnnotationNode> anns, org.objectweb.asm.ClassVisitor cv)
     
    static void
    accept(List<com.googlecode.d2j.node.DexAnnotationNode> anns, org.objectweb.asm.FieldVisitor fv)
     
    static void
    accept(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 Map<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, Map<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, Map<String,Dex2Asm.Clz> classes)
     
    void
    convertClass(com.googlecode.d2j.node.DexFileNode dfn, com.googlecode.d2j.node.DexClassNode classNode, ClassVisitorFactory cvf, Map<String,Dex2Asm.Clz> classes)
     
    void
    convertCode(com.googlecode.d2j.node.DexMethodNode methodNode, org.objectweb.asm.MethodVisitor mv, Dex2Asm.ClzCtx clzCtx)
     
    static Object
     
    static Object[]
     
    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 Object
    findAnnotationAttribute(com.googlecode.d2j.node.DexAnnotationNode ann, String name)
     
    protected InputStream
     
    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 String
    toInternalName(com.googlecode.d2j.DexType type)
     
    protected static String
     

    Methods inherited from class java.lang.Object

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

    • ACC_INTERFACE_ABSTRACT

      protected static final int ACC_INTERFACE_ABSTRACT
      See Also:
    • 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 Details

    • Dex2Asm

      public Dex2Asm()
  • Method Details

    • toInternalName

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

      protected static String toInternalName(String desc)
    • accept

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

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

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

      public static void accept(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(List<com.googlecode.d2j.node.DexAnnotationNode.Item> items, org.objectweb.asm.AnnotationVisitor av)
    • collectClzInfo

      protected static Map<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, Map<String,Dex2Asm.Clz> classes)
    • convertClass

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

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

      protected 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 Object[] convertConstantValues(Object[] v)
    • convertConstantValue

      public static Object convertConstantValue(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 Object findAnnotationAttribute(com.googlecode.d2j.node.DexAnnotationNode ann, 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)