HLVM API Documentation
#include <Node.h>
Inheritance diagram for Node:

This class is the abstract base class of all the Abstract Syntax Tree (AST) node types. All other AST nodes are subclasses of this class. This class must only provide functionality that is common to all AST Node subclasses. It provides for class identification, insertion of nodes, management of a set of flags,
Definition at line 278 of file Node.h.
|
|
|
|
|
|
|
|
|
Return the bundle that contains this Node.
Definition at line 59 of file Node.cpp. References hlvm::BundleID, Node::getParent(), and Node::is(). |
|
|
Get the flags.
Definition at line 304 of file Node.h. References Node::flags. |
|
|
Get the type of node.
|
|
|
Get the Locator.
Definition at line 307 of file Node.h. References Node::loc. |
|
|
Get the parent node.
Definition at line 301 of file Node.h. References Node::parent. |
|
|
Get the AST root node that this Node is part of.
Definition at line 46 of file Node.cpp. References Node::parent. |
|
|
Reimplemented in AST, Block, Bundle, ConstantAggregate, Function, NilaryOperator, UnaryOperator, BinaryOperator, TernaryOperator, MultiOperator, and Type. Definition at line 69 of file Node.cpp. References hlvmNotImplemented. |
|
|
Determine if the node is a specific kind.
|
|
|
Definition at line 377 of file Node.h. References hlvm::FirstBinaryOperatorID, and hlvm::LastBinaryOperatorID. |
|
|
Determine if the node is one of the Constant values.
Reimplemented in Variable. Definition at line 346 of file Node.h. References hlvm::FirstConstantID, and hlvm::LastConstantID. |
|
|
Determine if the node is one of the ConstantAggregate values.
Definition at line 354 of file Node.h. References hlvm::FirstConstantAggregateID, and hlvm::LastConstantAggregateID. |
|
|
Determine if the node is one of the Constant values.
Definition at line 350 of file Node.h. References hlvm::FirstConstantValueID, and hlvm::LastConstantValueID. |
|
|
Determine if the node is a container type.
Definition at line 342 of file Node.h. References hlvm::FirstContainerTypeID, and hlvm::LastContainerTypeID. |
|
|
Determine if the node is a disparate container type.
Definition at line 332 of file Node.h. References hlvm::FirstDisparateContainerTypeID, and hlvm::LastDisparateContainerTypeID. |
|
|
Determine if the node is a Documentable Node.
Definition at line 387 of file Node.h. References hlvm::FirstDocumentableID, and hlvm::LastDocumentableID. |
|
|
Definition at line 394 of file Node.h. References hlvm::FunctionID, and hlvm::ProgramID. |
|
|
Definition at line 317 of file Node.h. References hlvm::BooleanTypeID, hlvm::CharacterTypeID, hlvm::EnumerationTypeID, hlvm::IntegerTypeID, and hlvm::RangeTypeID. |
|
|
Determine if the node is a Linkable.
Definition at line 358 of file Node.h. References hlvm::FirstLinkableID, and hlvm::LastLinkableID. |
|
|
Definition at line 368 of file Node.h. References hlvm::LoopOpID, hlvm::UntilOpID, and hlvm::WhileOpID. |
|
|
Definition at line 383 of file Node.h. References hlvm::FirstMultiOperatorID, and hlvm::LastMultiOperatorID. |
|
|
Definition at line 371 of file Node.h. References hlvm::FirstNilaryOperatorID, and hlvm::LastNilaryOperatorID. |
|
|
Definition at line 322 of file Node.h. References Node::isIntegralType(), and hlvm::RealTypeID. |
|
|
Determine if the node is any of the Operators.
Definition at line 362 of file Node.h. References hlvm::FirstOperatorID, and hlvm::LastOperatorID. |
|
|
Determine if the node is a runtime type.
Definition at line 337 of file Node.h. References hlvm::FirstRuntimeTypeID, and hlvm::LastRuntimeTypeID. |
|
|
Definition at line 365 of file Node.h. References hlvm::BreakOpID, hlvm::ReturnOpID, and hlvm::ThrowOpID. |
|
|
Definition at line 380 of file Node.h. References hlvm::FirstTernaryOperatorID, and hlvm::LastTernaryOperatorID. |
|
|
Determine if the node is a Type.
Definition at line 313 of file Node.h. References hlvm::FirstTypeID, and hlvm::LastTypeID. |
|
|
Definition at line 374 of file Node.h. References hlvm::FirstUnaryOperatorID, and hlvm::LastUnaryOperatorID. |
|
|
Determine if the node is a uniform container type.
Definition at line 326 of file Node.h. References hlvm::FirstUniformContainerTypeID, and hlvm::LastUniformContainerTypeID. |
|
|
Determine if the node is a Value.
Definition at line 391 of file Node.h. References hlvm::FirstValueID, and hlvm::LastValueID. |
|
|
Reimplemented in AST, Block, Bundle, ConstantAggregate, Function, NilaryOperator, UnaryOperator, BinaryOperator, TernaryOperator, and MultiOperator. Definition at line 75 of file Node.cpp. References hlvmNotImplemented. |
|
|
Definition at line 405 of file Node.h. References Node::flags. |
|
|
Definition at line 404 of file Node.h. References Node::loc. |
|
|
Reimplemented in AST. Definition at line 81 of file Node.cpp. References Node::insertChild(), Node::parent, and Node::removeChild(). |
|
|
|
16 flags, subclass dependent interpretation
|
|
|
Really a value in NodeIDs.
|
|
|
The source location corresponding to node. |
|
|
The node that owns this node.
|