public abstract class UnaryOperatorNodeBase extends OperatorNodeBase implements IUnaryOperatorNode
IOperatorNode.ExpressionType, IOperatorNode.OperatorTypeoperatorStartflagsemptyNodeArray, parentUNKNOWN| Modifier | Constructor and Description |
|---|---|
|
UnaryOperatorNodeBase(IASToken operatorToken,
ExpressionNodeBase operandNode)
Constructor.
|
protected |
UnaryOperatorNodeBase(UnaryOperatorNodeBase other)
Copy constructor.
|
| Modifier and Type | Method and Description |
|---|---|
static UnaryOperatorNodeBase |
createPostfix(IASToken operatorToken,
ExpressionNodeBase operand)
Factory method for various kinds of unary prefix operator nodes.
|
static UnaryOperatorNodeBase |
createPrefix(IASToken operatorToken,
ExpressionNodeBase operand)
Factory method for various kinds of unary prefix operator nodes.
|
protected void |
fillInOffsets()
If the start and end offsets haven't been set explicitly, fill them in
based on the offsets of the children.
|
IASNode |
getChild(int i)
Get a particular child of this node
|
int |
getChildCount()
Get the number of children
|
IOperatorNode.ExpressionType |
getExpressionType()
Returns the type of expression that is represented by this node
|
IExpressionNode |
getOperandNode()
Get expression acted on by the unary operator
|
boolean |
isDynamicExpression(ICompilerProject project)
Does this expression evaluate to a dynamic value
|
protected ITypeDefinition |
resolveIncrementOrDecrementType(ICompilerProject project)
|
ITypeDefinition |
resolveType(ICompilerProject project)
The type of the result of this expression.
|
protected void |
setChildren(boolean fillInOffsets)
If this node has custom children (names, arguments, etc), shove them into
the list of children.
|
void |
setExpression(ExpressionNodeBase operandNode) |
buildInnerString, getOperatorAbsoluteEnd, getOperatorAbsoluteStart, getOperatorEnd, getOperatorStart, getOperatorText, isTerminalcomputeNamespaceReference, copy, copyForInitializer, getASScope, getBaseExpression, getDecorationNode, getDependencyType, getMName, getParentExpression, hasParenthesis, inFilter, inWith, isPackageReference, normalize, resolve, setHasParenthesisanalyze, buildStringRecursive, canContinueContainmentSearch, collectImportNodes, combineAttributes, connectedToProjectScope, contains, endAfter, endAfter, endBefore, endBefore, getAbsoluteEnd, getAbsoluteStart, getAncestorOfType, getContainingFilePath, getContainingNode, getContainingScope, getEnd, getFileScope, getFileSpecification, getInnerString, getNodeKind, getPackageName, getParent, getScopeNode, getSpanningStart, getStart, getSucceedingNode, getWorkspace, isTransparent, looselyContains, replaceChild, runPostProcess, setParent, span, span, span, startAfter, startAfter, startBefore, startBefore, swapChildren, toString, tryGetOffsetLookup, verifygetColumn, getEndColumn, getEndLine, getLine, getLineColumnString, getOffsetsString, getSourcePath, getSourcePathString, setColumn, setEnd, setEndColumn, setEndLine, setLine, setSourceLocation, setSourcePath, setStart, span, spanclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetOperator, getOperatorAbsoluteEnd, getOperatorAbsoluteStart, getOperatorEnd, getOperatorStartcopyForInitializer, hasParenthesis, resolvecontains, getAncestorOfType, getContainingNode, getContainingScope, getFileSpecification, getNodeID, getPackageName, getParent, getSpanningStart, getSucceedingNode, isTerminalgetAbsoluteEnd, getAbsoluteStart, getColumn, getEnd, getEndColumn, getEndLine, getLine, getSourcePath, getStartpublic UnaryOperatorNodeBase(IASToken operatorToken, ExpressionNodeBase operandNode)
operatorToken - The token representing the unary operator.operandNode - The expresson node representing the operand.protected UnaryOperatorNodeBase(UnaryOperatorNodeBase other)
other - The node to copy.public static UnaryOperatorNodeBase createPrefix(IASToken operatorToken, ExpressionNodeBase operand)
public static UnaryOperatorNodeBase createPostfix(IASToken operatorToken, ExpressionNodeBase operand)
public int getChildCount()
IASNodegetChildCount in interface IASNodegetChildCount in class NodeBasepublic IASNode getChild(int i)
IASNodeprotected void setChildren(boolean fillInOffsets)
NodeBasesetChildren in class NodeBaseprotected void fillInOffsets()
NodeBasefillInOffsets in class NodeBasepublic ITypeDefinition resolveType(ICompilerProject project)
IExpressionNoderesolveType in interface IExpressionNoderesolveType in class ExpressionNodeBaseproject - The ICompilerProject to use to do lookups.ITypeDefinition of the type this expression results in.public boolean isDynamicExpression(ICompilerProject project)
IExpressionNodeisDynamicExpression in interface IExpressionNodeisDynamicExpression in class ExpressionNodeBaseproject - The ICompilerProject to use to do lookups.true if we evaluate to something dynamicpublic IOperatorNode.ExpressionType getExpressionType()
IOperatorNodegetExpressionType in interface IOperatorNodepublic IExpressionNode getOperandNode()
IUnaryOperatorNodegetOperandNode in interface IUnaryOperatorNodeIExpressionNodepublic void setExpression(ExpressionNodeBase operandNode)
protected ITypeDefinition resolveIncrementOrDecrementType(ICompilerProject project)
Copyright © 2016 The Apache Software Foundation. All rights reserved.