|
Yume
|
A destruction of an object upon leaving its scope. More...
#include <ast.hpp>


Public Member Functions | |
| DtorExpr (span< Token > tok, AnyExpr base) | |
| void | visit (Visitor &visitor) const override |
| Recursively visit this ast node and all its constituents. More... | |
| auto | describe () const -> string override |
| A short, string representation for debugging. More... | |
| auto | clone () const -> DtorExpr *override |
| Deep copy, except for the type and attachments. More... | |
| auto | clone () const -> Expr *override=0 |
| Deep copy, except for the type and attachments. More... | |
| auto | clone () const -> Stmt *override=0 |
| Deep copy, except for the type and attachments. More... | |
Public Member Functions inherited from yume::ast::AST | |
| AST (const AST &)=delete | |
| AST (AST &&)=default | |
| auto | operator= (const AST &) -> AST &=delete |
| auto | operator= (AST &&) -> AST &=delete |
| virtual | ~AST ()=default |
| virtual void | visit (Visitor &visitor) const =0 |
| Recursively visit this ast node and all its constituents. More... | |
| auto | val_ty () const noexcept -> optional< ty::Type > |
| auto | ensure_ty () const -> ty::Type |
| void | val_ty (optional< ty::Type > type) |
| void | attach_to (nonnull< AST * > other) |
Make the type of this node depend on the type of other. More... | |
| auto | kind () const -> Kind |
| auto | kind_name () const -> string |
Human-readable string representation of the Kind of this node. More... | |
| auto | token_range () const -> const span< Token > & |
| auto | equals_by_hash (ast::AST &other) const -> bool |
| auto | location () const -> Loc |
The union of the locations of the Tokens making up this node. More... | |
| virtual auto | describe () const -> string |
| A short, string representation for debugging. More... | |
| virtual auto | clone () const -> AST *=0 |
| Deep copy, except for the type and attachments. More... | |
Public Attributes | |
| AnyExpr | base |
Additional Inherited Members | |
Protected Member Functions inherited from yume::ast::Stmt | |
| AST (Kind kind, span< Token > tok) | |
| AST (const AST &)=delete | |
| AST (AST &&)=default | |
Protected Member Functions inherited from yume::ast::AST | |
| void | unify_val_ty () |
| Verify the type compatibility of the depends of this node, and merge the types if possible. This is called every time the node's type is updated. More... | |
| auto | tok () const noexcept -> span< Token > |
| AST (Kind kind, span< Token > tok) | |
A destruction of an object upon leaving its scope.
This is currently marked deprecated as it is unused, however it is likely to be used again in the future, thus its logic remains here to avoid redeclaring it in the future.
|
overridevirtual |
Deep copy, except for the type and attachments.
Implements yume::ast::Expr.
Definition at line 120 of file ast.cpp.
References base, DtorExpr(), and yume::ast::AST::tok().
|
inlineoverridevirtual |
A short, string representation for debugging.
Reimplemented from yume::ast::AST.
|
overridevirtual |
| AnyExpr yume::ast::DtorExpr::base |