|
|
auto | local () const |
| |
|
auto | expressions () const |
| |
| QualifiedType * | type () const final |
| |
|
void | setExpressions (ASTContext *ctx, Expressions exprs) |
| |
|
void | removeLocal (ASTContext *ctx) |
| |
| auto | isConstant () const |
| |
| auto | isResolved (node::CycleDetector *cd=nullptr) const |
| |
| node::Tag | nodeTag () const |
| |
| bool | hasParent () const |
| |
| Node * | parent (int i=1) const |
| |
| template<typename T > |
| T * | parent () const |
| |
|
template<typename... Args> |
| bool | pathMatches () const |
| |
| auto | pathLength () const |
| |
| const auto & | meta () const |
| |
| const auto & | location () const |
| |
| void | setMeta (Meta m) |
| |
| auto | scope () const |
| |
| auto | getOrCreateScope () |
| |
| void | clearScope () |
| |
| Result< std::pair< Declaration *, ID > > | lookupID (const ID &id, const std::string_view &what) const |
| |
| virtual bool | inheritScope () const |
| |
| std::string | typename_ () const |
| |
| uint64_t | identity () const |
| |
| const auto & | children () const |
| |
| template<typename T > |
| T * | child (int i) const |
| |
| template<typename T > |
| T * | childTryAs (int i) const |
| |
| Node * | child (int i) const |
| |
| template<typename T > |
| auto | children (int begin, std::optional< int > end) const |
| |
| template<typename T > |
| auto | children (int begin, std::optional< int > end) |
| |
| template<typename T > |
| node::Set< T > | childrenOfType () const |
| |
| bool | hasChild (const Node *n, bool recurse=false) const |
| |
| Node * | sibling (Node *n) const |
| |
| void | addChild (ASTContext *ctx, Node *n) |
| |
| void | addChildren (ASTContext *ctx, const Nodes &children) |
| |
| void | removeChild (Node *n) |
| |
| void | removeChildren (int begin, std::optional< int > end) |
| |
| void | setChild (ASTContext *ctx, size_t idx, Node *n) |
| |
| Node * | clearChild (int i) |
| |
| void | replaceChildren (ASTContext *ctx, const Nodes &children) |
| |
| void | replaceChild (ASTContext *ctx, Node *old, Node *new_) |
| |
| Node * | removeFromParent () |
| |
| template<typename T > |
| bool | isA () const |
| |
| template<typename T > |
| bool | isA_ () const |
| |
| template<typename T > |
| T * | as () const |
| |
| template<typename T > |
| T * | as () |
| |
| template<typename T > |
| const T * | tryAs () const |
| |
| template<typename T > |
| T * | tryAs () |
| |
| template<typename T > |
| T * | tryAs_ () |
| |
| void | print (std::ostream &out, bool compact, bool user_visible) const |
| |
| std::string | print () const |
| |
| std::string | printRaw () const |
| |
| | operator std::string () const |
| |
| std::string | dump () const |
| |
| std::string | renderSelf (bool include_location=true) const |
| |
| void | addError (std::string msg, std::vector< std::string > context={}) |
| |
| void | addError (std::string msg, node::ErrorPriority priority, std::vector< std::string > context={}) |
| |
| void | addError (std::string msg, const Location &, std::vector< std::string > context={}) |
| |
| void | addError (std::string msg, Location l, node::ErrorPriority priority, std::vector< std::string > context={}) |
| |
| bool | hasErrors () const |
| |
| const auto & | errors () const |
| |
| void | clearErrors () |
| |
| void | clearChildren () |
| |
| void | retain () |
| |
| void | release () |
| |
| bool | isRetained () const |
| |
| virtual node::Properties | properties () const |
| |
| virtual void | dispatch (visitor::Dispatcher &v)=0 |
| |
| virtual std::string_view | branchTag () const |
| |
|
Node & | operator= (const Node &other)=delete |
| |
|
Node & | operator= (Node &&other) noexcept=delete |
| |
|
|
| Grouping (ASTContext *ctx, Nodes children, Meta meta) |
| |
|
| HILTI_NODE_1 (expression::Grouping, Expression, final) |
| |
|
| Expression (ASTContext *ctx, node::Tags node_tags, Nodes children, Meta meta) |
| |
| std::string | _dump () const override |
| |
|
| HILTI_NODE_0 (Expression, override) |
| |
| | Node (ASTContext *ctx, node::Tags node_tags, Nodes children, Meta meta) |
| |
| | Node (ASTContext *, node::Tags node_tags, Meta meta) |
| |
|
| Node (Node &&other)=default |
| |
| | Node (const Node &other) |
| |
| virtual std::string | _typename () const |
| |
| virtual Node * | _clone (ASTContext *ctx) const =0 |
| |
AST node for grouping one or more expressions inside parentheses. Optionally, the grouping may declare a local variable as well that will be valid for usage inside the grouping's contained expression. If there are mote than one expression, they will all be evaluated in order, with the value of the last expression being the value of the grouping.