#include <memory>
#include <type_traits>
#include <AST/ASTNode.h>
#include <AST/NodeTypes.h>
#include <AST/Nodes/Nodes.h>
#include <error/InternalError.h>
#include <error/SyntaxError.h>
Go to the source code of this file.
◆ AST_CASE
Value: case AST::NodeType::Name: \
if constexpr (requires(Derived& d, std::shared_ptr<AST::Name> x) { d.enter##Name(x); }) { \
self().enter##Name(std::static_pointer_cast<AST::Name>(node)); \
} \
for (const auto& child : node->getChildren()) { \
walk(child); \
} \
if constexpr (requires(Derived& d, std::shared_ptr<AST::Name> x) { d.exit##Name(x); }) { \
self().exit##Name(std::static_pointer_cast<AST::Name>(node)); \
} \
break;
◆ AST_LISTENER_NODE_LIST
| #define AST_LISTENER_NODE_LIST |
( |
|
X | ) |
|