|
FreeTensor
|
#include <ast.h>


Public Member Functions | |
| bool | isExpr () const override |
| virtual bool | isConst () const |
| virtual bool | isBinary () const |
| virtual bool | isUnary () const |
| virtual std::vector< Ref< ExprNode > > | children () const =0 |
| Ref< ExprNode > | parentExpr () const |
| Ref< StmtNode > | parentStmt () const |
| void | modifiedHook () override |
| DataType | dtype () |
| void | resetDType () |
| virtual void | inferDType ()=0 |
| DEFINE_NODE_ACCESS (Expr) | |
Public Member Functions inherited from freetensor::ASTNode | |
| 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 |
Protected Attributes | |
| std::optional< DataType > | dtype_ |
Protected Attributes inherited from freetensor::ASTPart | |
| size_t | hash_ = ~0ull |
| std::atomic_flag | lock_ = ATOMIC_FLAG_INIT |
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 () |
Base class of all expression nodes in an AST
| freetensor::ExprNode::DEFINE_NODE_ACCESS | ( | Expr | ) |
| DataType freetensor::ExprNode::dtype | ( | ) |
|
pure virtual |
|
inlinevirtual |
Reimplemented in freetensor::BinaryExprNode.
|
inlinevirtual |
Reimplemented in freetensor::ConstNode.
|
inlineoverridevirtual |
Reimplemented from freetensor::ASTNode.
|
inlinevirtual |
Reimplemented in freetensor::UnaryExprNode.
|
inlineoverridevirtual |
Called when a SubTree of ASTPart is modified
You can override this hook to clear some internal states of an ASTPart. Remember to call the base class' hook
This hook is NOT thread-safe
Reimplemented from freetensor::ASTPart.
| Expr freetensor::ExprNode::parentExpr | ( | ) | const |
| Stmt freetensor::ExprNode::parentStmt | ( | ) | const |
| void freetensor::ExprNode::resetDType | ( | ) |
|
protected |