public interface IExpressionNode extends IASNode
Expressions include literal values, identifiers, and operator expressions.
See ILiteralNode
, IIdentifierNode
, and IOperatorNode
.
UNKNOWN
Modifier and Type | Method and Description |
---|---|
IExpressionNode |
copyForInitializer(IScopedNode scopeNode)
Return a copy of this IExpressionNode and all it's children that can be used
by VariableDefinition to resolve it's initial value without having to hold onto
the entire syntax tree for a source file.
|
boolean |
hasParenthesis()
Determines whether this expression is surrounded by parenthesis.
|
boolean |
isDynamicExpression(ICompilerProject project)
Does this expression evaluate to a dynamic value
|
IDefinition |
resolve(ICompilerProject project)
If this expression is statically known to refer to a definition return a
reference to that definition.
|
ITypeDefinition |
resolveType(ICompilerProject project)
The type of the result of this expression.
|
contains, getAncestorOfType, getChild, getChildCount, getContainingNode, getContainingScope, getFileSpecification, getNodeID, getPackageName, getParent, getSpanningStart, getSucceedingNode, isTerminal
getAbsoluteEnd, getAbsoluteStart, getColumn, getEnd, getEndColumn, getEndLine, getLine, getSourcePath, getStart
ITypeDefinition resolveType(ICompilerProject project)
project
- The ICompilerProject
to use to do lookups.ITypeDefinition
of the type this expression results in.IDefinition resolve(ICompilerProject project)
project
- The ICompilerProject
to use to do lookups.IDefinition
this expression refers to.boolean isDynamicExpression(ICompilerProject project)
project
- The ICompilerProject
to use to do lookups.true
if we evaluate to something dynamicboolean hasParenthesis()
true
if surrounded by parenthesisIExpressionNode copyForInitializer(IScopedNode scopeNode)
IExpressionNode
that is not tied to the syntax tree it came
from. If a copy can not be generated, null
is returned.Copyright © 2016 The Apache Software Foundation. All rights reserved.