diff options
| author | Juan Linietsky | 2017-08-08 11:44:49 -0300 |
|---|---|---|
| committer | Rémi Verschelde | 2017-08-13 20:29:46 +0200 |
| commit | f4d6e37c2f17995b6345dd262cbb0371b668b974 (patch) | |
| tree | 3b14a753df7caa246389bb48b688cc3fa97b3392 /modules/gdscript/gd_parser.cpp | |
| parent | b94c5a31cdbed567e8290bbf9926ac05d7c4b08e (diff) | |
| download | godot-f4d6e37c2f17995b6345dd262cbb0371b668b974.tar.gz godot-f4d6e37c2f17995b6345dd262cbb0371b668b974.tar.zst godot-f4d6e37c2f17995b6345dd262cbb0371b668b974.zip | |
Diffstat (limited to 'modules/gdscript/gd_parser.cpp')
| -rw-r--r-- | modules/gdscript/gd_parser.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/modules/gdscript/gd_parser.cpp b/modules/gdscript/gd_parser.cpp index 833c75ceb..3b1e6ac17 100644 --- a/modules/gdscript/gd_parser.cpp +++ b/modules/gdscript/gd_parser.cpp @@ -1678,8 +1678,7 @@ void GDParser::_parse_block(BlockNode *p_block, bool p_static) { StringName n = tokenizer->get_token_identifier(); tokenizer->advance(); - p_block->variables.push_back(n); //line? - p_block->variable_lines.push_back(tokenizer->get_token_line()); + int var_line = tokenizer->get_token_line(); //must know when the local variable is declared LocalVarNode *lv = alloc_node<LocalVarNode>(); @@ -1709,6 +1708,10 @@ void GDParser::_parse_block(BlockNode *p_block, bool p_static) { c->value = Variant(); assigned = c; } + //must be added later, to avoid self-referencing. + p_block->variables.push_back(n); //line? + p_block->variable_lines.push_back(var_line); + IdentifierNode *id = alloc_node<IdentifierNode>(); id->name = n; |
