public class Dex2Asm
extends java.lang.Object
| 限定符和类型 | 类和说明 |
|---|---|
protected static class |
Dex2Asm.Clz |
| 限定符和类型 | 字段和说明 |
|---|---|
protected static int |
ACC_INTERFACE_ABSTRACT |
protected static AggTransformer |
T_agg |
protected static CleanLabel |
T_cleanLabel |
protected static DeadCodeTransformer |
T_deadCode |
protected static EndRemover |
T_endRemove |
protected static FillArrayTransformer |
T_fillArray |
protected static Ir2JRegAssignTransformer |
T_ir2jRegAssign |
protected static MultiArrayTransformer |
T_multiArray |
protected static NewTransformer |
T_new |
protected static NpeTransformer |
T_npe |
protected static RemoveConstantFromSSA |
T_removeConst |
protected static RemoveLocalFromSSA |
T_removeLocal |
protected static ExceptionHandlerTrim |
T_trimEx |
protected static TypeTransformer |
T_type |
protected static UnSSATransformer |
T_unssa |
protected static VoidInvokeTransformer |
T_voidInvoke |
protected static ZeroTransformer |
T_zero |
| 构造器和说明 |
|---|
Dex2Asm() |
| 限定符和类型 | 方法和说明 |
|---|---|
static void |
accept(DexAnnotationNode ann,
org.objectweb.asm.ClassVisitor v) |
static void |
accept(DexAnnotationNode ann,
org.objectweb.asm.FieldVisitor v) |
static void |
accept(DexAnnotationNode ann,
org.objectweb.asm.MethodVisitor v) |
static void |
accept(java.util.List<DexAnnotationNode.Item> items,
org.objectweb.asm.AnnotationVisitor av) |
static void |
accept(java.util.List<DexAnnotationNode> anns,
org.objectweb.asm.ClassVisitor cv) |
static void |
accept(java.util.List<DexAnnotationNode> anns,
org.objectweb.asm.FieldVisitor fv) |
static void |
accept(java.util.List<DexAnnotationNode> anns,
org.objectweb.asm.MethodVisitor mv) |
static void |
acceptParameter(DexAnnotationNode ann,
int index,
org.objectweb.asm.MethodVisitor v) |
protected static java.util.Map<java.lang.String,Dex2Asm.Clz> |
collectClzInfo(DexFileNode fileNode) |
void |
convertClass(DexClassNode classNode,
ClassVisitorFactory cvf) |
void |
convertClass(DexClassNode classNode,
ClassVisitorFactory cvf,
DexFileNode fileNode) |
void |
convertClass(DexClassNode classNode,
ClassVisitorFactory cvf,
java.util.Map<java.lang.String,Dex2Asm.Clz> classes) |
void |
convertClass(DexFileNode dfn,
DexClassNode classNode,
ClassVisitorFactory cvf,
java.util.Map<java.lang.String,Dex2Asm.Clz> classes) |
void |
convertClass(int dexVersion,
DexClassNode classNode,
ClassVisitorFactory cvf) |
void |
convertClass(int dexVersion,
DexClassNode classNode,
ClassVisitorFactory cvf,
java.util.Map<java.lang.String,Dex2Asm.Clz> classes) |
void |
convertCode(DexMethodNode methodNode,
org.objectweb.asm.MethodVisitor mv) |
static java.lang.Object |
convertConstantValue(java.lang.Object ele) |
static java.lang.Object[] |
convertConstantValues(java.lang.Object[] v) |
void |
convertDex(DexFileNode fileNode,
ClassVisitorFactory cvf) |
void |
convertField(DexClassNode classNode,
DexFieldNode fieldNode,
org.objectweb.asm.ClassVisitor cv) |
void |
convertMethod(DexClassNode classNode,
DexMethodNode methodNode,
org.objectweb.asm.ClassVisitor cv) |
IrMethod |
dex2ir(DexMethodNode methodNode) |
protected static java.lang.Object |
findAnnotationAttribute(DexAnnotationNode ann,
java.lang.String name) |
void |
ir2j(IrMethod irMethod,
org.objectweb.asm.MethodVisitor mv) |
void |
optimize(IrMethod irMethod) |
protected static java.lang.String |
toInternalName(DexType type) |
protected static java.lang.String |
toInternalName(java.lang.String desc) |
protected static final int ACC_INTERFACE_ABSTRACT
protected static final CleanLabel T_cleanLabel
protected static final EndRemover T_endRemove
protected static final Ir2JRegAssignTransformer T_ir2jRegAssign
protected static final NewTransformer T_new
protected static final RemoveConstantFromSSA T_removeConst
protected static final RemoveLocalFromSSA T_removeLocal
protected static final ExceptionHandlerTrim T_trimEx
protected static final TypeTransformer T_type
protected static final DeadCodeTransformer T_deadCode
protected static final FillArrayTransformer T_fillArray
protected static final AggTransformer T_agg
protected static final UnSSATransformer T_unssa
protected static final ZeroTransformer T_zero
protected static final VoidInvokeTransformer T_voidInvoke
protected static final NpeTransformer T_npe
protected static final MultiArrayTransformer T_multiArray
protected static java.lang.String toInternalName(DexType type)
protected static java.lang.String toInternalName(java.lang.String desc)
public static void accept(DexAnnotationNode ann, org.objectweb.asm.ClassVisitor v)
public static void accept(java.util.List<DexAnnotationNode> anns, org.objectweb.asm.ClassVisitor cv)
public static void accept(java.util.List<DexAnnotationNode> anns, org.objectweb.asm.FieldVisitor fv)
public static void accept(java.util.List<DexAnnotationNode> anns, org.objectweb.asm.MethodVisitor mv)
public static void accept(DexAnnotationNode ann, org.objectweb.asm.MethodVisitor v)
public static void acceptParameter(DexAnnotationNode ann, int index, org.objectweb.asm.MethodVisitor v)
public static void accept(DexAnnotationNode ann, org.objectweb.asm.FieldVisitor v)
public static void accept(java.util.List<DexAnnotationNode.Item> items, org.objectweb.asm.AnnotationVisitor av)
protected static java.util.Map<java.lang.String,Dex2Asm.Clz> collectClzInfo(DexFileNode fileNode)
public void convertClass(DexClassNode classNode, ClassVisitorFactory cvf, DexFileNode fileNode)
public void convertClass(DexClassNode classNode, ClassVisitorFactory cvf)
public void convertClass(int dexVersion,
DexClassNode classNode,
ClassVisitorFactory cvf)
public void convertClass(DexClassNode classNode, ClassVisitorFactory cvf, java.util.Map<java.lang.String,Dex2Asm.Clz> classes)
public void convertClass(DexFileNode dfn, DexClassNode classNode, ClassVisitorFactory cvf, java.util.Map<java.lang.String,Dex2Asm.Clz> classes)
public void convertClass(int dexVersion,
DexClassNode classNode,
ClassVisitorFactory cvf,
java.util.Map<java.lang.String,Dex2Asm.Clz> classes)
public void convertCode(DexMethodNode methodNode, org.objectweb.asm.MethodVisitor mv)
public void convertDex(DexFileNode fileNode, ClassVisitorFactory cvf)
public void convertField(DexClassNode classNode, DexFieldNode fieldNode, org.objectweb.asm.ClassVisitor cv)
public static java.lang.Object[] convertConstantValues(java.lang.Object[] v)
public static java.lang.Object convertConstantValue(java.lang.Object ele)
public void convertMethod(DexClassNode classNode, DexMethodNode methodNode, org.objectweb.asm.ClassVisitor cv)
public IrMethod dex2ir(DexMethodNode methodNode)
protected static java.lang.Object findAnnotationAttribute(DexAnnotationNode ann, java.lang.String name)
public void ir2j(IrMethod irMethod, org.objectweb.asm.MethodVisitor mv)
public void optimize(IrMethod irMethod)