Interface Node
- All Superinterfaces:
AttributedObject
- All Known Subinterfaces:
ExpressionInternal, Statement, VariableInternal
- All Known Implementing Classes:
AssignmentStatement, BlockStatement, BreakStatement, CaseBranch, ClassGeneratorImpl, DefinitionStatement, ExpressionFactory.ArrayIndexExpression, ExpressionFactory.ArrayLengthExpression, ExpressionFactory.BinaryOperatorExpression, ExpressionFactory.CallExpression, ExpressionFactory.CastExpression, ExpressionFactory.ConstantExpression, ExpressionFactory.ExpressionBase, ExpressionFactory.FieldAccessExpressionBase, ExpressionFactory.IfExpression, ExpressionFactory.InstofExpression, ExpressionFactory.NewArrExpression, ExpressionFactory.NewObjExpression, ExpressionFactory.NonStaticCallExpression, ExpressionFactory.NonStaticFieldAccessExpression, ExpressionFactory.StaticCallExpression, ExpressionFactory.StaticFieldAccessExpression, ExpressionFactory.SuperCallExpression, ExpressionFactory.SuperObjExpression, ExpressionFactory.ThisExpression, ExpressionFactory.ThisObjExpression, ExpressionFactory.UnaryOperatorExpression, ExpressionFactory.VariableImpl, ExpressionFactory.VoidExpression, FieldGenerator, IfStatement, MethodGenerator, NodeBase, ReturnStatement, StatementBase, SwitchStatement, ThrowStatement, TryStatement, WhileStatement
Represents a node in the AST used to generate code. All nodes support the
dynamic attribute facility.
-
Method Summary
Modifier and TypeMethodDescriptionvoidAccept the visitor and allow it to perform actions on this Node.<T extends Node>
TMake a deep copy of this node.<T extends Node>
TCopy setting a new parent in the result.<T extends Node>
TgetAncestor(Class<T> type) Return the first ancestor of this node of the given type, if any.intid()Return the unique ID of this node.parent()Return the Node that contains (and created) this Node.voidSet the parent to a new value.Methods inherited from interface AttributedObject
attributes, get, set
-
Method Details
-
parent
Node parent()Return the Node that contains (and created) this Node. -
id
int id()Return the unique ID of this node. This starts at 1 and is incremented for each new Node that is created. -
parent
Set the parent to a new value. Should only be called inside NodeBase. -
getAncestor
-
copy
-
copy
-
accept
Accept the visitor and allow it to perform actions on this Node.
-