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, isTerminalgetAbsoluteEnd, getAbsoluteStart, getColumn, getEnd, getEndColumn, getEndLine, getLine, getSourcePath, getStartITypeDefinition 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.