Class Expression
java.lang.Object
com.strobel.core.Freezable
com.strobel.decompiler.languages.java.ast.AstNode
com.strobel.decompiler.languages.java.ast.Expression
- All Implemented Interfaces:
UserDataStore
,IFreezable
,INode
,Cloneable
- Direct Known Subclasses:
Annotation
,ArrayCreationExpression
,ArrayInitializerExpression
,AssignmentExpression
,BinaryOperatorExpression
,BytecodeConstant
,CastExpression
,ClassOfExpression
,ConditionalExpression
,Expression.NullExpression
,Expression.PatternPlaceholder
,IdentifierExpression
,IndexerExpression
,InlinedBytecodeExpression
,InvocationExpression
,LambdaExpression
,MemberReferenceExpression
,MethodGroupExpression
,NullReferenceExpression
,ObjectCreationExpression
,ParenthesizedExpression
,PatternExpression
,PrimitiveExpression
,SuperReferenceExpression
,SwitchExpression
,ThisReferenceExpression
,TypeReferenceExpression
,UnaryOperatorExpression
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static final class
private static final class
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate int
the offset of 'this' Expression, as computed for its bytecode by the Java compilerstatic final Expression[]
static final int
a constant to indicate that no bytecode offset is known for an expressionstatic final Expression
Fields inherited from class com.strobel.decompiler.languages.java.ast.AstNode
AST_NODE_USED_FLAGS, flags, FROZEN_BIT, ROLE_INDEX_MASK, ROOT_ROLE
Fields inherited from interface com.strobel.decompiler.patterns.INode
CHILD_ITERATOR
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionclone()
static Expression
forPattern
(Pattern pattern) int
Returns the bytecode offset for 'this' expression.Role
<? extends Expression> getRole()
invoke
(MethodReference methodReference, Expression... arguments) invoke
(MethodReference methodReference, Iterable<AstType> typeArguments, Expression... arguments) invoke
(MethodReference methodReference, Iterable<AstType> typeArguments, Iterable<Expression> arguments) invoke
(MethodReference methodReference, Iterable<Expression> arguments) invoke
(Expression... arguments) invoke
(Iterable<Expression> arguments) invoke
(String methodName, Expression... arguments) invoke
(String methodName, Iterable<AstType> typeArguments, Expression... arguments) invoke
(String methodName, Iterable<Expression> arguments) member
(FieldReference member) void
setOffset
(int offset) Sets the bytecode offset for 'this' expression.Methods inherited from class com.strobel.decompiler.languages.java.ast.AstNode
acceptVisitor, addChild, addChildUnsafe, contains, contains, copyUserDataFrom, debugToString, freezeCore, getAncestors, getAncestors, getAncestorsAndSelf, getChildByRole, getChildren, getChildrenByRole, getDescendants, getDescendantsAndSelf, getEndLocation, getFirstChild, getLastChild, getNextNode, getNextSibling, getNextSibling, getParent, getParent, getPreviousNode, getPreviousSibling, getPreviousSibling, getRegion, getStartLocation, getText, getText, getUserData, hasChildren, insertChildAfter, insertChildBefore, insertChildBeforeUnsafe, insertChildrenAfter, insertChildrenBefore, isAncestorOf, isAncestorOf, isDescendantOf, isInside, isInside, isLoop, isNull, isReference, isUnconditionalBranch, makeOptional, match, matches, matches, matchesCollection, matchString, putUserData, putUserDataIfAbsent, remove, replace, replaceWith, replaceWith, setChildByRole, setRole, setRoleUnsafe, toString, withName
Methods inherited from class com.strobel.core.Freezable
canFreeze, freeze, freezeIfUnfrozen, isFrozen, tryFreeze, verifyFrozen, verifyNotFrozen
-
Field Details
-
EMPTY_EXPESSIONS
-
NULL
-
MYSTERY_OFFSET
public static final int MYSTERY_OFFSETa constant to indicate that no bytecode offset is known for an expression- See Also:
-
_offset
private int _offsetthe offset of 'this' Expression, as computed for its bytecode by the Java compiler
-
-
Constructor Details
-
Expression
protected Expression(int offset)
-
-
Method Details
-
getOffset
public int getOffset()Returns the bytecode offset for 'this' expression. -
setOffset
public void setOffset(int offset) Sets the bytecode offset for 'this' expression. -
clone
-
getNodeType
- Specified by:
getNodeType
in classAstNode
-
getRole
-
forPattern
-
invoke
-
invoke
-
invoke
-
invoke
-
invoke
public InvocationExpression invoke(String methodName, Iterable<AstType> typeArguments, Expression... arguments) -
invoke
public InvocationExpression invoke(String methodName, Iterable<AstType> typeArguments, Iterable<Expression> arguments) -
invoke
-
invoke
-
invoke
public InvocationExpression invoke(MethodReference methodReference, Iterable<AstType> typeArguments, Expression... arguments) -
invoke
public InvocationExpression invoke(MethodReference methodReference, Iterable<AstType> typeArguments, Iterable<Expression> arguments) -
member
-
member
-
cast
-
makeReturn
-
makeThrow
-