|
| Node (const Node &other) |
|
| Node (JSONLoader &json) |
|
| Node (Util::SourceInfo si) |
|
const Node * | apply (Visitor &&v, const Visitor_Context *ctxt=nullptr) const |
|
const Node * | apply (Visitor &v, const Visitor_Context *ctxt=nullptr) const |
|
virtual void | apply_visitor_loop_revisit (Inspector &v) const |
|
virtual void | apply_visitor_loop_revisit (Modifier &v) const |
|
virtual void | apply_visitor_loop_revisit (Transform &v) const |
|
virtual void | apply_visitor_postorder (Inspector &v) const |
|
virtual void | apply_visitor_postorder (Modifier &v) |
|
virtual const Node * | apply_visitor_postorder (Transform &v) |
|
virtual bool | apply_visitor_preorder (Inspector &v) const |
|
virtual bool | apply_visitor_preorder (Modifier &v) |
|
virtual const Node * | apply_visitor_preorder (Transform &v) |
|
virtual void | apply_visitor_revisit (Inspector &v) const |
|
virtual void | apply_visitor_revisit (Modifier &v, const Node *n) const |
|
virtual void | apply_visitor_revisit (Transform &v, const Node *n) const |
|
virtual Node * | clone () const =0 |
|
void | dbprint (std::ostream &out) const override |
|
| DECLARE_TYPEINFO_WITH_TYPEID (Node, NodeKind::Node, INode) |
|
virtual void | dump_fields (std::ostream &) const |
|
virtual bool | equiv (const Node &a) const |
|
const Node * | getNode () const final |
|
Node * | getNode () final |
|
Util::SourceInfo | getSourceInfo () const override |
|
cstring | node_type_name () const override |
|
virtual int | num_children () |
|
bool | operator!= (const Node &n) const |
|
Node & | operator= (const Node &)=default |
|
Node & | operator= (Node &&)=default |
|
virtual bool | operator== (const Node &a) const |
|
Util::JsonObject * | sourceInfoJsonObj () const |
|
void | sourceInfoToJSON (JSONGenerator &json) const |
|
void | toJSON (JSONGenerator &json) const override |
|
cstring | toString () const override |
|
void | traceCreation () const |
|
virtual void | visit_children (Visitor &) |
|
virtual void | visit_children (Visitor &) const |
|
template<typename T > |
std::enable_if_t<!has_static_type_name_v< T >, const T * > | checkedTo () const |
|
template<typename T > |
std::enable_if_t< has_static_type_name_v< T >, const T * > | checkedTo () const |
|
| DECLARE_TYPEINFO_WITH_TYPEID (INode, NodeKind::INode) |
|
virtual void | validate () const |
|
void | print () const |
|
template<typename T > |
T & | as () |
| Tries to convert the class to type T. A BUG occurs if the cast fails.
|
|
template<typename T > |
const T & | as () const |
| Tries to convert the class to type T. A BUG occurs if the cast fails.
|
|
template<typename T > |
T * | checkedTo () |
| Performs a checked cast. A BUG occurs if the cast fails.
|
|
template<typename T > |
const T * | checkedTo () const |
| Performs a checked cast. A BUG occurs if the cast fails.
|
|
template<typename T > |
bool | is () const noexcept |
|
virtual bool | isA (TypeId typeId) const noexcept=0 |
|
template<typename T > |
const T * | to () const noexcept |
| Same as to , but returns const pointer to T.
|
|
template<typename T > |
T * | to () noexcept |
|
virtual TypeId | typeId () const noexcept=0 |
|