public class TernaryOperatorNode extends BinaryOperatorNodeBase implements ITernaryOperatorNode
IOperatorNode.ExpressionType, IOperatorNode.OperatorType
leftOperandNode, rightOperandNode
operatorStart
flags
emptyNodeArray, parent
UNKNOWN
Modifier | Constructor and Description |
---|---|
|
TernaryOperatorNode(IASToken op,
ExpressionNodeBase conditionalNode,
ExpressionNodeBase leftOperandNode,
ExpressionNodeBase rightOperandNode)
Create a ternary node from its components.
|
protected |
TernaryOperatorNode(TernaryOperatorNode other)
Copy constructor.
|
Modifier and Type | Method and Description |
---|---|
protected TernaryOperatorNode |
copy()
Copy the ExpressionNodeBase and its subtree.
|
IASNode |
getChild(int i)
Get a particular child of this node
|
int |
getChildCount()
Get the number of children
|
IExpressionNode |
getConditionalNode()
returns the conditional expression that determines branch for this
expression
|
ASTNodeID |
getNodeID()
Get the opcode of this node
|
IOperatorNode.OperatorType |
getOperator()
Returns the type of the operator that is referenced from this expression
|
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.
|
create, fillInOffsets, getExpressionType, getLeftOperandNode, getRightOperandNode, isOperatingOnArray, resolveAssignmentType, resolveLogicalType, setLeftOperandNode, setRightOperandNode
buildInnerString, getOperatorAbsoluteEnd, getOperatorAbsoluteStart, getOperatorEnd, getOperatorStart, getOperatorText, isTerminal
computeNamespaceReference, copyForInitializer, getASScope, getBaseExpression, getDecorationNode, getDependencyType, getMName, getParentExpression, hasParenthesis, inFilter, inWith, isDynamicExpression, isPackageReference, normalize, resolve, setHasParenthesis
analyze, 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, verify
getColumn, getEndColumn, getEndLine, getLine, getLineColumnString, getOffsetsString, getSourcePath, getSourcePathString, setColumn, setEnd, setEndColumn, setEndLine, setLine, setSourceLocation, setSourcePath, setStart, span, span
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getLeftOperandNode, getRightOperandNode
copyForInitializer, hasParenthesis, isDynamicExpression, resolve
contains, getAncestorOfType, getContainingNode, getContainingScope, getFileSpecification, getPackageName, getParent, getSpanningStart, getSucceedingNode, isTerminal
getAbsoluteEnd, getAbsoluteStart, getColumn, getEnd, getEndColumn, getEndLine, getLine, getSourcePath, getStart
getOperatorAbsoluteEnd, getOperatorAbsoluteStart, getOperatorEnd, getOperatorStart
public TernaryOperatorNode(IASToken op, ExpressionNodeBase conditionalNode, ExpressionNodeBase leftOperandNode, ExpressionNodeBase rightOperandNode)
op
- Ternary operator ?
.conditionalNode
- Conditional expression.protected TernaryOperatorNode(TernaryOperatorNode other)
other
- The node to copy.public ASTNodeID getNodeID()
IASNode
public int getChildCount()
IASNode
getChildCount
in interface IASNode
getChildCount
in class BinaryOperatorNodeBase
public IASNode getChild(int i)
IASNode
getChild
in interface IASNode
getChild
in class BinaryOperatorNodeBase
i
- the child's indexprotected void setChildren(boolean fillInOffsets)
NodeBase
setChildren
in class BinaryOperatorNodeBase
public ITypeDefinition resolveType(ICompilerProject project)
IExpressionNode
resolveType
in interface IExpressionNode
resolveType
in class BinaryOperatorNodeBase
project
- The ICompilerProject
to use to do lookups.ITypeDefinition
of the type this expression results in.protected TernaryOperatorNode copy()
ExpressionNodeBase
copy
in class ExpressionNodeBase
public IOperatorNode.OperatorType getOperator()
IOperatorNode
getOperator
in interface IOperatorNode
public IExpressionNode getConditionalNode()
ITernaryOperatorNode
getConditionalNode
in interface ITernaryOperatorNode
IExpressionNode
representing the conditionalCopyright © 2016 The Apache Software Foundation. All rights reserved.