summaryrefslogtreecommitdiffstats
path: root/modules/gdscript/gdscript_compiler.cpp
diff options
context:
space:
mode:
authorGeorge Marques <george@gmarqu.es>2020-07-06 12:24:24 -0300
committerGeorge Marques <george@gmarqu.es>2020-07-20 11:38:40 -0300
commitaa09b4f85d94b9d563a0b2cbaa399427527ce6fc (patch)
treeeaa75dc439a53a972fb377c24138c8b6957cf5f6 /modules/gdscript/gdscript_compiler.cpp
parentb6a2628c48ce7639e5f42caf43525fc2b9dae450 (diff)
downloadredot-engine-aa09b4f85d94b9d563a0b2cbaa399427527ce6fc.tar.gz
Reintroduce code completion
Diffstat (limited to 'modules/gdscript/gdscript_compiler.cpp')
-rw-r--r--modules/gdscript/gdscript_compiler.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/modules/gdscript/gdscript_compiler.cpp b/modules/gdscript/gdscript_compiler.cpp
index 80efc9519d..da19ce5000 100644
--- a/modules/gdscript/gdscript_compiler.cpp
+++ b/modules/gdscript/gdscript_compiler.cpp
@@ -165,10 +165,12 @@ GDScriptDataType GDScriptCompiler::_gdtype_from_datatype(const GDScriptParser::D
}
} break;
- default: {
+ case GDScriptParser::DataType::UNRESOLVED: {
ERR_PRINT("Parser bug: converting unresolved type.");
return GDScriptDataType();
}
+ default:
+ break; // FIXME
}
return result;
@@ -1325,10 +1327,9 @@ int GDScriptCompiler::_parse_expression(CodeGen &codegen, const GDScriptParser::
return -1;
}
- // FIXME: Actually check type.
- GDScriptDataType assign_type; // = _gdtype_from_datatype(on->arguments[0]->get_datatype());
+ GDScriptDataType assign_type = _gdtype_from_datatype(assignment->assignee->get_datatype());
- if (assign_type.has_type && !assignment->get_datatype().is_set()) {
+ if (assign_type.has_type && !assignment->assigned_value->get_datatype().is_variant()) {
// Typed assignment
switch (assign_type.kind) {
case GDScriptDataType::BUILTIN: {