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