From efcba540b1c90974a2dc70eb34a73a54744666dd Mon Sep 17 00:00:00 2001 From: yhirose Date: Tue, 4 Aug 2015 13:04:58 -0400 Subject: [PATCH] Fixed debuger problems. --- language/main.cc | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/language/main.cc b/language/main.cc index cb6318e..311aa68 100644 --- a/language/main.cc +++ b/language/main.cc @@ -101,9 +101,9 @@ struct CommandLineDebugger } shared_ptr find_function_node(const Ast& ast) { - auto node = ast.parent_node; - while (node->parent_node && node->tag != "FUNCTION"_) { - node = node->parent_node; + auto node = ast.parent; + while (node->parent && node->tag != "FUNCTION"_) { + node = node->parent; } return node; } @@ -138,8 +138,12 @@ struct CommandLineDebugger set references; enum_identifiers(*node, references); for (const auto& symbol: references) { - const auto& val = env.get(symbol); - cout << symbol << ": " << val.str() << endl; + if (env.has(symbol)) { + const auto& val = env.get(symbol); + if (val.type != Value::Function) { + cout << symbol << ": " << val.str() << endl; + } + } } }