Package com.strobel.reflection.emit
Class CodeGenerator
java.lang.Object
com.strobel.reflection.emit.CodeGenerator
- Author:
- strobelm
-
Nested Class Summary
Nested Classes -
Constructor Summary
ConstructorsConstructorDescriptionCodeGenerator(MethodBuilder methodBuilder) CodeGenerator(MethodBuilder methodBuilder, int initialSize) -
Method Summary
Modifier and TypeMethodDescriptionvoidbeginCatchBlock(Type<?> caughtType) voidvoidcall(ConstructorInfo constructor) voidcall(OpCode opCode, MethodInfo method) voidcall(MethodInfo method) static booleancanEmitConstant(Object value, Type<?> type) declareLocal(Type<?> localType) declareLocal(String name, Type<?> localType) voiddup()voidvoiddup2()voiddup2x1()voiddup2x2()voidvoidvoidvoidvoidvoidvoidvoidemit(OpCode opCode, ConstructorInfo constructor) voidvoidvoidemit(OpCode opCode, MethodInfo method) voidvoidfinal voidemitArray(Type<?> elementType, int count, CodeGenerator.EmitArrayElementCallback emit) voidemitBoolean(boolean value) voidvoidemitByte(byte value) voidemitCharacter(char value) voidemitConstant(Object value) voidemitConstant(Object value, Type<?> type) voidemitConstantArray(Object array) voidemitConversion(Type<?> sourceType, Type<?> targetType) voidemitDefaultValue(Type<?> type) voidemitDouble(double value) voidemitFloat(float value) voidvoidemitInteger(int value) voidemitLoad(LocalBuilder local) protected voidvoidemitLoadArgument(int index) protected voidemitLoadConstant(int token) voidemitLoadElement(Type<?> elementType) protected voidemitLoadLongConstant(int token) voidemitLong(long value) voidemitMethod(MethodBase value) voidvoidemitNewArray(Type<?> arrayType) voidemitNewArray(Type<?> arrayType, int dimensionsToInitialize) voidemitNull()voidvoidemitReturn(Type<?> returnType) voidemitShort(short value) voidemitStore(LocalBuilder local) protected voidvoidemitStoreArgument(int index) voidemitStoreElement(Type<?> elementType) voidemitString(String value) voidemitSwitch(int[] keys, SwitchCallback callback) voidemitSwitch(int[] keys, SwitchCallback callback, SwitchOptions options) <E extends Enum<E>>
voidemitSwitch(E[] keys, EnumSwitchCallback<E> callback) <E extends Enum<E>>
voidemitSwitch(E[] keys, EnumSwitchCallback<E> callback, SwitchOptions options) voidemitSwitch(String[] keys, StringSwitchCallback callback) voidemitSwitch(String[] keys, StringSwitchCallback callback, SwitchOptions options) voidemitThis()voidvoidvoidvoidvoidvoidincrement(LocalBuilder local, int delta) voidintoffset()voidpop()voidvoidpop2()void
-
Constructor Details
-
CodeGenerator
-
CodeGenerator
-
-
Method Details
-
offset
public int offset() -
beginExceptionBlock
-
endExceptionBlock
public void endExceptionBlock() -
endTryBlock
public void endTryBlock() -
beginCatchBlock
-
beginFinallyBlock
public void beginFinallyBlock() -
defineLabel
-
markLabel
-
declareLocal
-
declareLocal
-
dup
public void dup() -
dup2
public void dup2() -
dup2x1
public void dup2x1() -
dup2x2
public void dup2x2() -
dup
-
pop
public void pop() -
pop2
public void pop2() -
pop
-
emit
-
emit
-
emit
-
emit
-
emit
-
emit
-
emit
-
emit
-
emit
-
emit
-
emit
-
emit
-
emit
-
call
-
call
-
call
-
emitGoto
-
emitReturn
public void emitReturn() -
emitReturn
-
emitNew
-
emitNewArray
-
emitNewArray
-
emitArray
public final void emitArray(Type<?> elementType, int count, CodeGenerator.EmitArrayElementCallback emit) -
increment
-
emitLoad
-
emitStore
-
emitThis
public void emitThis() -
emitLoadArgument
public void emitLoadArgument(int index) -
emitLoad
-
emitStoreArgument
public void emitStoreArgument(int index) -
emitStore
-
emitLoadElement
-
emitStoreElement
-
getField
-
putField
-
canEmitConstant
-
emitConstant
-
emitConstantArray
-
emitConstant
-
emitType
-
emitMethod
-
emitNull
public void emitNull() -
emitDefaultValue
-
emitBoolean
public void emitBoolean(boolean value) -
emitByte
public void emitByte(byte value) -
emitCharacter
public void emitCharacter(char value) -
emitShort
public void emitShort(short value) -
emitInteger
public void emitInteger(int value) -
emitLong
public void emitLong(long value) -
emitFloat
public void emitFloat(float value) -
emitDouble
public void emitDouble(double value) -
emitString
-
emitLoadConstant
protected void emitLoadConstant(int token) -
emitLoadLongConstant
protected void emitLoadLongConstant(int token) -
emitBox
-
emitUnbox
-
emitConversion
-
emitSwitch
-
emitSwitch
-
emitSwitch
-
emitSwitch
public <E extends Enum<E>> void emitSwitch(E[] keys, EnumSwitchCallback<E> callback, SwitchOptions options) -
emitSwitch
-
emitSwitch
-