Ast.cpp 796 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #include "Ast.h"
  2. #include "AstVisitor.h"
  3. #include "Semantic.h"
  4. using namespace qlow::ast;
  5. AstObject::~AstObject(void)
  6. {
  7. }
  8. #define ACCEPT_DEFINITION(ClassName) \
  9. std::unique_ptr<qlow::sem::SemanticObject> ClassName::accept(AstVisitor& v) \
  10. { \
  11. v.visit(*this); \
  12. }
  13. ACCEPT_DEFINITION(Class)
  14. ACCEPT_DEFINITION(FeatureDeclaration)
  15. ACCEPT_DEFINITION(FieldDeclaration)
  16. ACCEPT_DEFINITION(MethodDefinition)
  17. ACCEPT_DEFINITION(VariableDeclaration)
  18. ACCEPT_DEFINITION(ArgumentDeclaration)
  19. ACCEPT_DEFINITION(DoEndBlock)
  20. ACCEPT_DEFINITION(Statement)
  21. ACCEPT_DEFINITION(Expression)
  22. ACCEPT_DEFINITION(FeatureCall)
  23. ACCEPT_DEFINITION(AssignmentStatement)
  24. ACCEPT_DEFINITION(NewVariableStatement)
  25. ACCEPT_DEFINITION(UnaryOperation)
  26. ACCEPT_DEFINITION(BinaryOperation)
  27. Statement::~Statement(void)
  28. {
  29. }