Package com.strobel.decompiler.ast
Enum AstCode
- java.lang.Object
-
- java.lang.Enum<AstCode>
-
- com.strobel.decompiler.ast.AstCode
-
-
Enum Constant Summary
-
Field Summary
Fields Modifier and Type Field Description private java.lang.String
_name
private static OpCode[]
STANDARD_CODES
-
Constructor Summary
Constructors Modifier Constructor Description private
AstCode()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static boolean
expandMacro(StrongBox<AstCode> code, StrongBox<java.lang.Object> operand, MethodBody body, int offset)
java.lang.String
getName()
boolean
isComparison()
boolean
isConditionalControlFlow()
boolean
isDup()
boolean
isFieldRead()
boolean
isFieldWrite()
boolean
isIncDec()
boolean
isLoad()
boolean
isLogical()
boolean
isShortCircuiting()
boolean
isStore()
boolean
isUnconditionalControlFlow()
boolean
isWriteOperation()
AstCode
reverse()
static AstCode
valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name.static AstCode[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.
-
-
-
Enum Constant Detail
-
Nop
public static final AstCode Nop
-
AConstNull
public static final AstCode AConstNull
-
__IConstM1
public static final AstCode __IConstM1
-
__IConst0
public static final AstCode __IConst0
-
__IConst1
public static final AstCode __IConst1
-
__IConst2
public static final AstCode __IConst2
-
__IConst3
public static final AstCode __IConst3
-
__IConst4
public static final AstCode __IConst4
-
__IConst5
public static final AstCode __IConst5
-
__LConst0
public static final AstCode __LConst0
-
__LConst1
public static final AstCode __LConst1
-
__FConst0
public static final AstCode __FConst0
-
__FConst1
public static final AstCode __FConst1
-
__FConst2
public static final AstCode __FConst2
-
__DConst0
public static final AstCode __DConst0
-
__DConst1
public static final AstCode __DConst1
-
__BIPush
public static final AstCode __BIPush
-
__SIPush
public static final AstCode __SIPush
-
LdC
public static final AstCode LdC
-
__LdCW
public static final AstCode __LdCW
-
__LdC2W
public static final AstCode __LdC2W
-
__ILoad
public static final AstCode __ILoad
-
__LLoad
public static final AstCode __LLoad
-
__FLoad
public static final AstCode __FLoad
-
__DLoad
public static final AstCode __DLoad
-
__ALoad
public static final AstCode __ALoad
-
__ILoad0
public static final AstCode __ILoad0
-
__ILoad1
public static final AstCode __ILoad1
-
__ILoad2
public static final AstCode __ILoad2
-
__ILoad3
public static final AstCode __ILoad3
-
__LLoad0
public static final AstCode __LLoad0
-
__LLoad1
public static final AstCode __LLoad1
-
__LLoad2
public static final AstCode __LLoad2
-
__LLoad3
public static final AstCode __LLoad3
-
__FLoad0
public static final AstCode __FLoad0
-
__FLoad1
public static final AstCode __FLoad1
-
__FLoad2
public static final AstCode __FLoad2
-
__FLoad3
public static final AstCode __FLoad3
-
__DLoad0
public static final AstCode __DLoad0
-
__DLoad1
public static final AstCode __DLoad1
-
__DLoad2
public static final AstCode __DLoad2
-
__DLoad3
public static final AstCode __DLoad3
-
__ALoad0
public static final AstCode __ALoad0
-
__ALoad1
public static final AstCode __ALoad1
-
__ALoad2
public static final AstCode __ALoad2
-
__ALoad3
public static final AstCode __ALoad3
-
__IALoad
public static final AstCode __IALoad
-
__LALoad
public static final AstCode __LALoad
-
__FALoad
public static final AstCode __FALoad
-
__DALoad
public static final AstCode __DALoad
-
__AALoad
public static final AstCode __AALoad
-
__BALoad
public static final AstCode __BALoad
-
__CALoad
public static final AstCode __CALoad
-
__SALoad
public static final AstCode __SALoad
-
__IStore
public static final AstCode __IStore
-
__LStore
public static final AstCode __LStore
-
__FStore
public static final AstCode __FStore
-
__DStore
public static final AstCode __DStore
-
__AStore
public static final AstCode __AStore
-
__IStore0
public static final AstCode __IStore0
-
__IStore1
public static final AstCode __IStore1
-
__IStore2
public static final AstCode __IStore2
-
__IStore3
public static final AstCode __IStore3
-
__LStore0
public static final AstCode __LStore0
-
__LStore1
public static final AstCode __LStore1
-
__LStore2
public static final AstCode __LStore2
-
__LStore3
public static final AstCode __LStore3
-
__FStore0
public static final AstCode __FStore0
-
__FStore1
public static final AstCode __FStore1
-
__FStore2
public static final AstCode __FStore2
-
__FStore3
public static final AstCode __FStore3
-
__DStore0
public static final AstCode __DStore0
-
__DStore1
public static final AstCode __DStore1
-
__DStore2
public static final AstCode __DStore2
-
__DStore3
public static final AstCode __DStore3
-
__AStore0
public static final AstCode __AStore0
-
__AStore1
public static final AstCode __AStore1
-
__AStore2
public static final AstCode __AStore2
-
__AStore3
public static final AstCode __AStore3
-
__IAStore
public static final AstCode __IAStore
-
__LAStore
public static final AstCode __LAStore
-
__FAStore
public static final AstCode __FAStore
-
__DAStore
public static final AstCode __DAStore
-
__AAStore
public static final AstCode __AAStore
-
__BAStore
public static final AstCode __BAStore
-
__CAStore
public static final AstCode __CAStore
-
__SAStore
public static final AstCode __SAStore
-
Pop
public static final AstCode Pop
-
Pop2
public static final AstCode Pop2
-
Dup
public static final AstCode Dup
-
DupX1
public static final AstCode DupX1
-
DupX2
public static final AstCode DupX2
-
Dup2
public static final AstCode Dup2
-
Dup2X1
public static final AstCode Dup2X1
-
Dup2X2
public static final AstCode Dup2X2
-
Swap
public static final AstCode Swap
-
__IAdd
public static final AstCode __IAdd
-
__LAdd
public static final AstCode __LAdd
-
__FAdd
public static final AstCode __FAdd
-
__DAdd
public static final AstCode __DAdd
-
__ISub
public static final AstCode __ISub
-
__LSub
public static final AstCode __LSub
-
__FSub
public static final AstCode __FSub
-
__DSub
public static final AstCode __DSub
-
__IMul
public static final AstCode __IMul
-
__LMul
public static final AstCode __LMul
-
__FMul
public static final AstCode __FMul
-
__DMul
public static final AstCode __DMul
-
__IDiv
public static final AstCode __IDiv
-
__LDiv
public static final AstCode __LDiv
-
__FDiv
public static final AstCode __FDiv
-
__DDiv
public static final AstCode __DDiv
-
__IRem
public static final AstCode __IRem
-
__LRem
public static final AstCode __LRem
-
__FRem
public static final AstCode __FRem
-
__DRem
public static final AstCode __DRem
-
__INeg
public static final AstCode __INeg
-
__LNeg
public static final AstCode __LNeg
-
__FNeg
public static final AstCode __FNeg
-
__DNeg
public static final AstCode __DNeg
-
__IShl
public static final AstCode __IShl
-
__LShl
public static final AstCode __LShl
-
__IShr
public static final AstCode __IShr
-
__LShr
public static final AstCode __LShr
-
__IUShr
public static final AstCode __IUShr
-
__LUShr
public static final AstCode __LUShr
-
__IAnd
public static final AstCode __IAnd
-
__LAnd
public static final AstCode __LAnd
-
__IOr
public static final AstCode __IOr
-
__LOr
public static final AstCode __LOr
-
__IXor
public static final AstCode __IXor
-
__LXor
public static final AstCode __LXor
-
__IInc
public static final AstCode __IInc
-
I2L
public static final AstCode I2L
-
I2F
public static final AstCode I2F
-
I2D
public static final AstCode I2D
-
L2I
public static final AstCode L2I
-
L2F
public static final AstCode L2F
-
L2D
public static final AstCode L2D
-
F2I
public static final AstCode F2I
-
F2L
public static final AstCode F2L
-
F2D
public static final AstCode F2D
-
D2I
public static final AstCode D2I
-
D2L
public static final AstCode D2L
-
D2F
public static final AstCode D2F
-
I2B
public static final AstCode I2B
-
I2C
public static final AstCode I2C
-
I2S
public static final AstCode I2S
-
__LCmp
public static final AstCode __LCmp
-
__FCmpL
public static final AstCode __FCmpL
-
__FCmpG
public static final AstCode __FCmpG
-
__DCmpL
public static final AstCode __DCmpL
-
__DCmpG
public static final AstCode __DCmpG
-
__IfEq
public static final AstCode __IfEq
-
__IfNe
public static final AstCode __IfNe
-
__IfLt
public static final AstCode __IfLt
-
__IfGe
public static final AstCode __IfGe
-
__IfGt
public static final AstCode __IfGt
-
__IfLe
public static final AstCode __IfLe
-
__IfICmpEq
public static final AstCode __IfICmpEq
-
__IfICmpNe
public static final AstCode __IfICmpNe
-
__IfICmpLt
public static final AstCode __IfICmpLt
-
__IfICmpGe
public static final AstCode __IfICmpGe
-
__IfICmpGt
public static final AstCode __IfICmpGt
-
__IfICmpLe
public static final AstCode __IfICmpLe
-
__IfACmpEq
public static final AstCode __IfACmpEq
-
__IfACmpNe
public static final AstCode __IfACmpNe
-
Goto
public static final AstCode Goto
-
Jsr
public static final AstCode Jsr
-
Ret
public static final AstCode Ret
-
__TableSwitch
public static final AstCode __TableSwitch
-
__LookupSwitch
public static final AstCode __LookupSwitch
-
__IReturn
public static final AstCode __IReturn
-
__LReturn
public static final AstCode __LReturn
-
__FReturn
public static final AstCode __FReturn
-
__DReturn
public static final AstCode __DReturn
-
__AReturn
public static final AstCode __AReturn
-
__Return
public static final AstCode __Return
-
GetStatic
public static final AstCode GetStatic
-
PutStatic
public static final AstCode PutStatic
-
GetField
public static final AstCode GetField
-
PutField
public static final AstCode PutField
-
InvokeVirtual
public static final AstCode InvokeVirtual
-
InvokeSpecial
public static final AstCode InvokeSpecial
-
InvokeStatic
public static final AstCode InvokeStatic
-
InvokeInterface
public static final AstCode InvokeInterface
-
InvokeDynamic
public static final AstCode InvokeDynamic
-
__New
public static final AstCode __New
-
__NewArray
public static final AstCode __NewArray
-
__ANewArray
public static final AstCode __ANewArray
-
ArrayLength
public static final AstCode ArrayLength
-
AThrow
public static final AstCode AThrow
-
CheckCast
public static final AstCode CheckCast
-
InstanceOf
public static final AstCode InstanceOf
-
MonitorEnter
public static final AstCode MonitorEnter
-
MonitorExit
public static final AstCode MonitorExit
-
MultiANewArray
public static final AstCode MultiANewArray
-
__IfNull
public static final AstCode __IfNull
-
__IfNonNull
public static final AstCode __IfNonNull
-
__GotoW
public static final AstCode __GotoW
-
__JsrW
public static final AstCode __JsrW
-
Breakpoint
public static final AstCode Breakpoint
-
__ILoadW
public static final AstCode __ILoadW
-
__LLoadW
public static final AstCode __LLoadW
-
__FLoadW
public static final AstCode __FLoadW
-
__DLoadW
public static final AstCode __DLoadW
-
__ALoadW
public static final AstCode __ALoadW
-
__IStoreW
public static final AstCode __IStoreW
-
__LStoreW
public static final AstCode __LStoreW
-
__FStoreW
public static final AstCode __FStoreW
-
__DStoreW
public static final AstCode __DStoreW
-
__AStoreW
public static final AstCode __AStoreW
-
__IIncW
public static final AstCode __IIncW
-
__RetW
public static final AstCode __RetW
-
Leave
public static final AstCode Leave
Special placeholder to mark the end of try and catch blocks with an unconditional branch. Will be removed during optimization.
-
EndFinally
public static final AstCode EndFinally
Special placeholder to mark the end of finally blocks with an unconditional branch. Will be removed during optimization.
-
Load
public static final AstCode Load
-
Store
public static final AstCode Store
-
LoadElement
public static final AstCode LoadElement
-
StoreElement
public static final AstCode StoreElement
-
Add
public static final AstCode Add
-
Sub
public static final AstCode Sub
-
Mul
public static final AstCode Mul
-
Div
public static final AstCode Div
-
Rem
public static final AstCode Rem
-
Neg
public static final AstCode Neg
-
Shl
public static final AstCode Shl
-
Shr
public static final AstCode Shr
-
UShr
public static final AstCode UShr
-
And
public static final AstCode And
-
Or
public static final AstCode Or
-
Not
public static final AstCode Not
-
Xor
public static final AstCode Xor
-
Inc
public static final AstCode Inc
-
CmpEq
public static final AstCode CmpEq
-
CmpNe
public static final AstCode CmpNe
-
CmpLt
public static final AstCode CmpLt
-
CmpGe
public static final AstCode CmpGe
-
CmpGt
public static final AstCode CmpGt
-
CmpLe
public static final AstCode CmpLe
-
IfTrue
public static final AstCode IfTrue
-
Return
public static final AstCode Return
-
NewArray
public static final AstCode NewArray
-
LoadException
public static final AstCode LoadException
-
LogicalNot
public static final AstCode LogicalNot
-
LogicalAnd
public static final AstCode LogicalAnd
-
LogicalOr
public static final AstCode LogicalOr
-
InitObject
public static final AstCode InitObject
-
InitArray
public static final AstCode InitArray
-
Switch
public static final AstCode Switch
-
Wrap
public static final AstCode Wrap
Defines a barrier between the parent expression and the argument expression that prevents combining them.
-
Bind
public static final AstCode Bind
-
TernaryOp
public static final AstCode TernaryOp
-
LoopOrSwitchBreak
public static final AstCode LoopOrSwitchBreak
-
LoopContinue
public static final AstCode LoopContinue
-
CompoundAssignment
public static final AstCode CompoundAssignment
Expression with a single binary operator child. Indicates that the binary operator will also assign the new value to its left-hand side.
CompoundAssignment
must not be used for local variables, as inlining and other optimizations don't know that it modifies the variable.
-
PreIncrement
public static final AstCode PreIncrement
-
PostIncrement
public static final AstCode PostIncrement
-
Box
public static final AstCode Box
Simulates creation of a boxed type from its corresponding primitive type.
-
Unbox
public static final AstCode Unbox
Simulates extraction of a primitive type from its corresponding boxed type.
-
DefaultValue
public static final AstCode DefaultValue
-
-
Field Detail
-
_name
private final java.lang.String _name
-
STANDARD_CODES
private static final OpCode[] STANDARD_CODES
-
-
Method Detail
-
values
public static AstCode[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (AstCode c : AstCode.values()) System.out.println(c);
- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
public static AstCode valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
java.lang.IllegalArgumentException
- if this enum type has no constant with the specified namejava.lang.NullPointerException
- if the argument is null
-
getName
public final java.lang.String getName()
-
isLoad
public final boolean isLoad()
-
isFieldRead
public final boolean isFieldRead()
-
isFieldWrite
public final boolean isFieldWrite()
-
isStore
public final boolean isStore()
-
isIncDec
public final boolean isIncDec()
-
isDup
public final boolean isDup()
-
isComparison
public final boolean isComparison()
-
isLogical
public final boolean isLogical()
-
isShortCircuiting
public final boolean isShortCircuiting()
-
isWriteOperation
public final boolean isWriteOperation()
-
reverse
public final AstCode reverse()
-
isConditionalControlFlow
public final boolean isConditionalControlFlow()
-
isUnconditionalControlFlow
public final boolean isUnconditionalControlFlow()
-
expandMacro
public static boolean expandMacro(StrongBox<AstCode> code, StrongBox<java.lang.Object> operand, MethodBody body, int offset)
-
-