diff options
Diffstat (limited to 'tiger-compiler/src/ast/if-exp.cc')
| -rw-r--r-- | tiger-compiler/src/ast/if-exp.cc | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/tiger-compiler/src/ast/if-exp.cc b/tiger-compiler/src/ast/if-exp.cc new file mode 100644 index 0000000..ae1911f --- /dev/null +++ b/tiger-compiler/src/ast/if-exp.cc @@ -0,0 +1,31 @@ +/** + ** \file ast/if-exp.cc + ** \brief Implementation of ast::IfExp. + */ + +#include <ast/if-exp.hh> +#include <ast/visitor.hh> + +namespace ast +{ + IfExp::IfExp(const Location& location, + Exp* test, + Exp* thenclause, + Exp* elseclause) + : Exp(location) + , test_(test) + , thenclause_(thenclause) + , elseclause_(elseclause) + {} + + IfExp::~IfExp() + { + delete test_; + delete thenclause_; + delete elseclause_; + } + + void IfExp::accept(ConstVisitor& v) const { v(*this); } + + void IfExp::accept(Visitor& v) { v(*this); } +} // namespace ast |
