Save local variable location after first pass

This commit is contained in:
Jason Turner
2015-06-20 10:28:27 -06:00
parent 3eb7700912
commit c7689f18ec
2 changed files with 33 additions and 9 deletions

View File

@@ -147,7 +147,7 @@ namespace chaiscript
public:
Id_AST_Node(const std::string &t_ast_node_text, Parse_Location t_loc) :
AST_Node(t_ast_node_text, AST_Node_Type::Id, std::move(t_loc)),
m_value(get_value(t_ast_node_text))
m_value(get_value(t_ast_node_text)), m_loc(0)
{ }
virtual ~Id_AST_Node() {}
@@ -157,7 +157,7 @@ namespace chaiscript
return m_value;
} else {
try {
return t_ss.get_object(this->text);
return t_ss.get_object(this->text, m_loc);
}
catch (std::exception &) {
throw exception::eval_error("Can not find object: " + this->text);
@@ -184,6 +184,8 @@ namespace chaiscript
}
Boxed_Value m_value;
mutable uint32_t m_loc;
};
struct Char_AST_Node : public AST_Node {