Package com.googlecode.d2j.dex.writer
Class CodeWriter
- java.lang.Object
-
- com.googlecode.d2j.visitors.DexCodeVisitor
-
- com.googlecode.d2j.dex.writer.CodeWriter
-
public class CodeWriter extends com.googlecode.d2j.visitors.DexCodeVisitor
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classCodeWriter.IndexedInsnstatic classCodeWriter.OP35cstatic classCodeWriter.OP3rcstatic classCodeWriter.OP45ccstatic classCodeWriter.OP4rcc
-
Constructor Summary
Constructors Constructor Description CodeWriter(ClassDataItem.EncodedMethod encodedMethod, CodeItem codeItem, com.googlecode.d2j.Method owner, boolean isStatic, ConstPool cp)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(Insn insn)static voidcheckContentByte(com.googlecode.d2j.reader.Op op, java.lang.String cc, int v)static voidcheckContentS4bit(com.googlecode.d2j.reader.Op op, java.lang.String name, int v)static voidcheckContentShort(com.googlecode.d2j.reader.Op op, java.lang.String cccc, int v)static voidcheckContentU4bit(com.googlecode.d2j.reader.Op op, java.lang.String name, int v)static voidcheckContentUByte(com.googlecode.d2j.reader.Op op, java.lang.String cc, int v)static voidcheckContentUShort(com.googlecode.d2j.reader.Op op, java.lang.String cccc, int v)static voidcheckRegA(com.googlecode.d2j.reader.Op op, java.lang.String s, int reg)static voidcheckRegAA(com.googlecode.d2j.reader.Op op, java.lang.String s, int reg)voidvisitConstStmt(com.googlecode.d2j.reader.Op op, int ra, java.lang.Object value)kFmt21c,kFmt31c,kFmt11n,kFmt21h,kFmt21s,kFmt31i,kFmt51lcom.googlecode.d2j.visitors.DexDebugVisitorvisitDebug()voidvisitEnd()voidvisitFieldStmt(com.googlecode.d2j.reader.Op op, int a, int b, com.googlecode.d2j.Field field)voidvisitFillArrayDataStmt(com.googlecode.d2j.reader.Op op, int ra, java.lang.Object value)voidvisitFilledNewArrayStmt(com.googlecode.d2j.reader.Op op, int[] args, java.lang.String type)voidvisitJumpStmt(com.googlecode.d2j.reader.Op op, int a, int b, com.googlecode.d2j.DexLabel label)voidvisitLabel(com.googlecode.d2j.DexLabel label)voidvisitMethodStmt(com.googlecode.d2j.reader.Op op, int[] args, com.googlecode.d2j.CallSite callSite)voidvisitMethodStmt(com.googlecode.d2j.reader.Op op, int[] args, com.googlecode.d2j.Method method)voidvisitMethodStmt(com.googlecode.d2j.reader.Op op, int[] args, com.googlecode.d2j.Method bsm, com.googlecode.d2j.Proto proto)voidvisitPackedSwitchStmt(com.googlecode.d2j.reader.Op op, int aA, int firstCase, com.googlecode.d2j.DexLabel[] labels)voidvisitRegister(int total)voidvisitSparseSwitchStmt(com.googlecode.d2j.reader.Op op, int ra, int[] cases, com.googlecode.d2j.DexLabel[] labels)voidvisitStmt0R(com.googlecode.d2j.reader.Op op)voidvisitStmt1R(com.googlecode.d2j.reader.Op op, int reg)kFmt11xvoidvisitStmt2R(com.googlecode.d2j.reader.Op op, int a, int b)kFmt12x,kFmt22x,kFmt32xvoidvisitStmt2R1N(com.googlecode.d2j.reader.Op op, int distReg, int srcReg, int content)Only kFmt22s, kFmt22bvoidvisitStmt3R(com.googlecode.d2j.reader.Op op, int a, int b, int c)kFmt23xvoidvisitTryCatch(com.googlecode.d2j.DexLabel start, com.googlecode.d2j.DexLabel end, com.googlecode.d2j.DexLabel[] handlers, java.lang.String[] types)voidvisitTypeStmt(com.googlecode.d2j.reader.Op op, int a, int b, java.lang.String type)
-
-
-
Constructor Detail
-
CodeWriter
public CodeWriter(ClassDataItem.EncodedMethod encodedMethod, CodeItem codeItem, com.googlecode.d2j.Method owner, boolean isStatic, ConstPool cp)
-
-
Method Detail
-
checkContentByte
public static void checkContentByte(com.googlecode.d2j.reader.Op op, java.lang.String cc, int v)
-
checkContentS4bit
public static void checkContentS4bit(com.googlecode.d2j.reader.Op op, java.lang.String name, int v)
-
checkContentShort
public static void checkContentShort(com.googlecode.d2j.reader.Op op, java.lang.String cccc, int v)
-
checkContentU4bit
public static void checkContentU4bit(com.googlecode.d2j.reader.Op op, java.lang.String name, int v)
-
checkContentUByte
public static void checkContentUByte(com.googlecode.d2j.reader.Op op, java.lang.String cc, int v)
-
checkContentUShort
public static void checkContentUShort(com.googlecode.d2j.reader.Op op, java.lang.String cccc, int v)
-
checkRegA
public static void checkRegA(com.googlecode.d2j.reader.Op op, java.lang.String s, int reg)
-
checkRegAA
public static void checkRegAA(com.googlecode.d2j.reader.Op op, java.lang.String s, int reg)
-
add
public void add(Insn insn)
-
visitFillArrayDataStmt
public void visitFillArrayDataStmt(com.googlecode.d2j.reader.Op op, int ra, java.lang.Object value)- Overrides:
visitFillArrayDataStmtin classcom.googlecode.d2j.visitors.DexCodeVisitor
-
visitConstStmt
public void visitConstStmt(com.googlecode.d2j.reader.Op op, int ra, java.lang.Object value)kFmt21c,kFmt31c,kFmt11n,kFmt21h,kFmt21s,kFmt31i,kFmt51l- Overrides:
visitConstStmtin classcom.googlecode.d2j.visitors.DexCodeVisitor
-
visitEnd
public void visitEnd()
- Overrides:
visitEndin classcom.googlecode.d2j.visitors.DexCodeVisitor
-
visitFieldStmt
public void visitFieldStmt(com.googlecode.d2j.reader.Op op, int a, int b, com.googlecode.d2j.Field field)- Overrides:
visitFieldStmtin classcom.googlecode.d2j.visitors.DexCodeVisitor
-
visitFilledNewArrayStmt
public void visitFilledNewArrayStmt(com.googlecode.d2j.reader.Op op, int[] args, java.lang.String type)- Overrides:
visitFilledNewArrayStmtin classcom.googlecode.d2j.visitors.DexCodeVisitor
-
visitJumpStmt
public void visitJumpStmt(com.googlecode.d2j.reader.Op op, int a, int b, com.googlecode.d2j.DexLabel label)- Overrides:
visitJumpStmtin classcom.googlecode.d2j.visitors.DexCodeVisitor
-
visitLabel
public void visitLabel(com.googlecode.d2j.DexLabel label)
- Overrides:
visitLabelin classcom.googlecode.d2j.visitors.DexCodeVisitor
-
visitMethodStmt
public void visitMethodStmt(com.googlecode.d2j.reader.Op op, int[] args, com.googlecode.d2j.Method method)- Overrides:
visitMethodStmtin classcom.googlecode.d2j.visitors.DexCodeVisitor
-
visitMethodStmt
public void visitMethodStmt(com.googlecode.d2j.reader.Op op, int[] args, com.googlecode.d2j.CallSite callSite)- Overrides:
visitMethodStmtin classcom.googlecode.d2j.visitors.DexCodeVisitor
-
visitMethodStmt
public void visitMethodStmt(com.googlecode.d2j.reader.Op op, int[] args, com.googlecode.d2j.Method bsm, com.googlecode.d2j.Proto proto)- Overrides:
visitMethodStmtin classcom.googlecode.d2j.visitors.DexCodeVisitor
-
visitPackedSwitchStmt
public void visitPackedSwitchStmt(com.googlecode.d2j.reader.Op op, int aA, int firstCase, com.googlecode.d2j.DexLabel[] labels)- Overrides:
visitPackedSwitchStmtin classcom.googlecode.d2j.visitors.DexCodeVisitor
-
visitRegister
public void visitRegister(int total)
- Overrides:
visitRegisterin classcom.googlecode.d2j.visitors.DexCodeVisitor
-
visitSparseSwitchStmt
public void visitSparseSwitchStmt(com.googlecode.d2j.reader.Op op, int ra, int[] cases, com.googlecode.d2j.DexLabel[] labels)- Overrides:
visitSparseSwitchStmtin classcom.googlecode.d2j.visitors.DexCodeVisitor
-
visitStmt0R
public void visitStmt0R(com.googlecode.d2j.reader.Op op)
- Overrides:
visitStmt0Rin classcom.googlecode.d2j.visitors.DexCodeVisitor
-
visitStmt1R
public void visitStmt1R(com.googlecode.d2j.reader.Op op, int reg)kFmt11x- Overrides:
visitStmt1Rin classcom.googlecode.d2j.visitors.DexCodeVisitor
-
visitStmt2R
public void visitStmt2R(com.googlecode.d2j.reader.Op op, int a, int b)kFmt12x,kFmt22x,kFmt32x- Overrides:
visitStmt2Rin classcom.googlecode.d2j.visitors.DexCodeVisitor
-
visitStmt2R1N
public void visitStmt2R1N(com.googlecode.d2j.reader.Op op, int distReg, int srcReg, int content)Only kFmt22s, kFmt22b- Overrides:
visitStmt2R1Nin classcom.googlecode.d2j.visitors.DexCodeVisitor
-
visitStmt3R
public void visitStmt3R(com.googlecode.d2j.reader.Op op, int a, int b, int c)kFmt23x- Overrides:
visitStmt3Rin classcom.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:
visitTryCatchin classcom.googlecode.d2j.visitors.DexCodeVisitor
-
visitTypeStmt
public void visitTypeStmt(com.googlecode.d2j.reader.Op op, int a, int b, java.lang.String type)- Overrides:
visitTypeStmtin classcom.googlecode.d2j.visitors.DexCodeVisitor
-
visitDebug
public com.googlecode.d2j.visitors.DexDebugVisitor visitDebug()
- Overrides:
visitDebugin classcom.googlecode.d2j.visitors.DexCodeVisitor
-
-