aboutsummaryrefslogtreecommitdiff
path: root/modules/gdscript/gd_parser.cpp
diff options
context:
space:
mode:
authorBojidar Marinov2016-12-29 12:31:19 +0200
committerRémi Verschelde2017-01-12 19:15:28 +0100
commit4c9c43735a0695222d03d30a4fce743f53cd5644 (patch)
tree9c959005e6b76450c9c462ab54949b5ad9baf7da /modules/gdscript/gd_parser.cpp
parent694083062739388b680dc6f9d3af24b65eb8398a (diff)
downloadgodot-4c9c43735a0695222d03d30a4fce743f53cd5644.tar.gz
godot-4c9c43735a0695222d03d30a4fce743f53cd5644.tar.zst
godot-4c9c43735a0695222d03d30a4fce743f53cd5644.zip
Diffstat (limited to 'modules/gdscript/gd_parser.cpp')
-rw-r--r--modules/gdscript/gd_parser.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/modules/gdscript/gd_parser.cpp b/modules/gdscript/gd_parser.cpp
index 342c17293..5309824c4 100644
--- a/modules/gdscript/gd_parser.cpp
+++ b/modules/gdscript/gd_parser.cpp
@@ -1457,6 +1457,15 @@ GDParser::Node* GDParser::_reduce_expression(Node *p_node,bool p_to_const) {
return op;
}
+ if (op->arguments[0]->type==Node::TYPE_OPERATOR) {
+ OperatorNode *on = static_cast<OperatorNode*>(op->arguments[0]);
+ if (on->op != OperatorNode::OP_INDEX && on->op != OperatorNode::OP_INDEX_NAMED) {
+ _set_error("Can't assign to an expression",tokenizer->get_token_line()-1);
+ error_line=op->line;
+ return op;
+ }
+ }
+
} break;
default: { break; }
}