GodotScript.hpp: Fix GodotScript variables

Signed-off-by: Username404-59 <w.iron.zombie@gmail.com>
This commit is contained in:
Username404-59 2025-04-08 14:22:28 +02:00
parent fa6ad19fe1
commit 333b15cfe0
Signed by: Username404-59
GPG Key ID: 7AB361FBB257A5D1

View File

@ -7,7 +7,11 @@ struct GsTarget: Target {
unordered_task_map getTaskMap() final { unordered_task_map getTaskMap() final {
return { return {
make_task(Define<false>, make_task(Define<false>,
output << (parseComponent.final ? "const " : "var ") << parseComponent.name << " = "; // TODO Handle redefining GodotScript variables const optional previous = parsedTree.findReferenceByName<Define<false>>(parseComponent.name);
if (previous.has_value() and &previous.value().get() == &parseComponent) { // TODO Recursively traverse the parsedTree's parents and their parents to find existing definitions and do it in semantic analysis
output << (parseComponent.final ? "const " : "var ");
}
output << parseComponent.name << " = ";
transpileTree(parseComponent.content); transpileTree(parseComponent.content);
), ),
make_task(types::String, stringInterpolation(R"(""")", parseComponent.content);), make_task(types::String, stringInterpolation(R"(""")", parseComponent.content);),