diff options
Diffstat (limited to 'tiger-compiler/src/ast/function-dec.cc')
| -rw-r--r-- | tiger-compiler/src/ast/function-dec.cc | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/tiger-compiler/src/ast/function-dec.cc b/tiger-compiler/src/ast/function-dec.cc new file mode 100644 index 0000000..c45ca0d --- /dev/null +++ b/tiger-compiler/src/ast/function-dec.cc @@ -0,0 +1,33 @@ +/** + ** \file ast/function-dec.cc + ** \brief Implementation of ast::FunctionDec. + */ + +#include <ast/function-dec.hh> +#include <ast/visitor.hh> + +namespace ast +{ + FunctionDec::FunctionDec(const Location& location, + misc::symbol name, + VarChunk* formals, + NameTy* result, + Exp* body) + : Dec(location, name) + , TypeConstructor() + , formals_(formals) + , result_(result) + , body_(body) + {} + + FunctionDec::~FunctionDec() + { + delete formals_; + delete result_; + delete body_; + } + + void FunctionDec::accept(ConstVisitor& v) const { v(*this); } + + void FunctionDec::accept(Visitor& v) { v(*this); } +} // namespace ast |
