summaryrefslogtreecommitdiff
path: root/src/parser/parser.cpp
diff options
context:
space:
mode:
authorTim King <taking@google.com>2016-11-11 16:04:51 -0800
committerTim King <taking@google.com>2016-11-11 16:04:51 -0800
commit7e84a5e76ba83b5f73760589efb051970d58172f (patch)
tree7a5d51b1eea6594bf60faf4c9ec9ccbf80c3aed5 /src/parser/parser.cpp
parent17d74f82f0407db60d65d4bd24d35b383f1712ca (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.cpp10
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));
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback