diff options
author | Tim King <taking@google.com> | 2016-11-11 16:04:51 -0800 |
---|---|---|
committer | Tim King <taking@google.com> | 2016-11-11 16:04:51 -0800 |
commit | 7e84a5e76ba83b5f73760589efb051970d58172f (patch) | |
tree | 7a5d51b1eea6594bf60faf4c9ec9ccbf80c3aed5 /src/parser/parser.cpp | |
parent | 17d74f82f0407db60d65d4bd24d35b383f1712ca (diff) |
Deleting the remaining commands in the Parser's queue within ~Parser().
Diffstat (limited to 'src/parser/parser.cpp')
-rw-r--r-- | src/parser/parser.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/parser/parser.cpp b/src/parser/parser.cpp index ac93c93d2..2377b8a44 100644 --- a/src/parser/parser.cpp +++ b/src/parser/parser.cpp @@ -61,6 +61,16 @@ Parser::Parser(ExprManager* exprManager, Input* input, bool strictMode, d_input->setParser(*this); } +Parser::~Parser() { + for (std::list<Command*>::iterator iter = d_commandQueue.begin(); + iter != d_commandQueue.end(); ++iter) { + Command* command = *iter; + delete command; + } + d_commandQueue.clear(); + delete d_input; +} + Expr Parser::getSymbol(const std::string& name, SymbolType type) { checkDeclaration(name, CHECK_DECLARED, type); assert(isDeclared(name, type)); |