aboutsummaryrefslogtreecommitdiff
path: root/modules/gdscript/gd_parser.cpp
diff options
context:
space:
mode:
authorJuan Linietsky2017-08-08 11:44:49 -0300
committerRémi Verschelde2017-08-13 20:29:46 +0200
commitf4d6e37c2f17995b6345dd262cbb0371b668b974 (patch)
tree3b14a753df7caa246389bb48b688cc3fa97b3392 /modules/gdscript/gd_parser.cpp
parentb94c5a31cdbed567e8290bbf9926ac05d7c4b08e (diff)
downloadgodot-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.cpp7
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;