|
FreeTensor
|
#include <ast.h>


Public Member Functions | |
| virtual | ~ASTNode () |
| virtual ASTNodeType | nodeType () const =0 |
| bool | isAST () const override |
| virtual bool | isFunc () const |
| virtual bool | isStmt () const |
| virtual bool | isExpr () const |
| Ref< ASTNode > | parentAST () const |
| std::source_location | debugBlame () const |
| void | setDebugBlame (std::source_location loc) |
| DEFINE_NODE_ACCESS (AST) | |
Public Member Functions inherited from freetensor::ASTPart | |
| virtual | ~ASTPart () |
| ASTPart (ASTPart &&other) | |
| ASTPart (const ASTPart &other) | |
| ASTPart & | operator= (ASTPart &&) |
| ASTPart & | operator= (const ASTPart &) |
| bool | trySetParent (const Ref< ASTPart > &parent) |
| void | resetParent () |
| Ref< ASTPart > | parent () const |
| bool | isSubTree () const |
| int | depth () const |
| virtual void | modifiedHook () |
| size_t | hash () |
| virtual bool | isAST () const |
Public Member Functions inherited from freetensor::EnableSelf< ASTPart > | |
| Ref< ASTPart > | self () const |
Additional Inherited Members | |
Public Types inherited from freetensor::EnableSelf< ASTPart > | |
| typedef ASTPart | Self |
Protected Member Functions inherited from freetensor::ASTPart | |
| void | lock () |
| void | unlock () |
| virtual void | compHash ()=0 |
| void | resetHash () |
Protected Attributes inherited from freetensor::ASTPart | |
| size_t | hash_ = ~0ull |
| std::atomic_flag | lock_ = ATOMIC_FLAG_INIT |
Base class of all nodes in an AST
ASTNode is the minimal unit that can be traversed by a Visitor, or traversed and modified by a Mutator. An ASTNode is a derived class of ASTPart, and a derived node of ASTNode may contain other ASTParts
|
inlinevirtual |
|
inline |
| freetensor::ASTNode::DEFINE_NODE_ACCESS | ( | AST | ) |
|
inlineoverridevirtual |
Reimplemented from freetensor::ASTPart.
|
inlinevirtual |
Reimplemented in freetensor::ExprNode.
|
inlinevirtual |
Reimplemented in freetensor::FuncNode.
|
inlinevirtual |
Reimplemented in freetensor::StmtNode.
|
pure virtual |
| AST freetensor::ASTNode::parentAST | ( | ) | const |
|
inline |