/** ** \file ast/type-constructor.hh ** \brief Declaration of ast::TypeConstructor. */ #pragma once #include #include namespace ast { /** \class ast::TypeConstructor ** \brief Create a new type. */ class TypeConstructor { // FIXME DONE: Some code was deleted here. public: // Basic default constructor // BUT we have a custom destructor this time (daring today aren't we?) TypeConstructor(); ~TypeConstructor(); // Basic accessors void created_type_set(const type::Type*); const type::Type* created_type_get() const; // Implementing the visitor so this can also be visited void accept(ConstVisitor& v) const; void accept(Visitor& v); private: const type::Type* reference_; }; } // namespace ast #include