From d016801089b2c580416674ab947d2bd0ddf3f854 Mon Sep 17 00:00:00 2001 From: michaela-mm <63740955+michaela-mm@users.noreply.github.com> Date: Mon, 24 Feb 2025 15:35:33 +0100 Subject: [PATCH] fix: Fix bug in IF block generators. (#8780) --- generators/dart/logic.ts | 4 +++- generators/javascript/logic.ts | 4 +++- generators/lua/logic.ts | 4 +++- generators/php/logic.ts | 4 +++- generators/python/logic.ts | 6 +++++- 5 files changed, 17 insertions(+), 5 deletions(-) diff --git a/generators/dart/logic.ts b/generators/dart/logic.ts index 45c385b86..7e8a4709b 100644 --- a/generators/dart/logic.ts +++ b/generators/dart/logic.ts @@ -46,7 +46,9 @@ export function controls_if(block: Block, generator: DartGenerator) { } while (block.getInput('IF' + n)); if (block.getInput('ELSE') || generator.STATEMENT_SUFFIX) { - branchCode = generator.statementToCode(block, 'ELSE'); + branchCode = block.getInput('ELSE') + ? generator.statementToCode(block, 'ELSE') + : ''; if (generator.STATEMENT_SUFFIX) { branchCode = generator.prefixLines( diff --git a/generators/javascript/logic.ts b/generators/javascript/logic.ts index 60174c85a..1e26f86e7 100644 --- a/generators/javascript/logic.ts +++ b/generators/javascript/logic.ts @@ -44,7 +44,9 @@ export function controls_if(block: Block, generator: JavascriptGenerator) { } while (block.getInput('IF' + n)); if (block.getInput('ELSE') || generator.STATEMENT_SUFFIX) { - let branchCode = generator.statementToCode(block, 'ELSE'); + let branchCode = block.getInput('ELSE') + ? generator.statementToCode(block, 'ELSE') + : ''; if (generator.STATEMENT_SUFFIX) { branchCode = generator.prefixLines( diff --git a/generators/lua/logic.ts b/generators/lua/logic.ts index b6448445c..8e48c741a 100644 --- a/generators/lua/logic.ts +++ b/generators/lua/logic.ts @@ -39,7 +39,9 @@ export function controls_if(block: Block, generator: LuaGenerator): string { } while (block.getInput('IF' + n)); if (block.getInput('ELSE') || generator.STATEMENT_SUFFIX) { - let branchCode = generator.statementToCode(block, 'ELSE'); + let branchCode = block.getInput('ELSE') + ? generator.statementToCode(block, 'ELSE') + : ''; if (generator.STATEMENT_SUFFIX) { branchCode = generator.prefixLines( diff --git a/generators/php/logic.ts b/generators/php/logic.ts index 731fe5708..80d4e331d 100644 --- a/generators/php/logic.ts +++ b/generators/php/logic.ts @@ -46,7 +46,9 @@ export function controls_if(block: Block, generator: PhpGenerator) { } while (block.getInput('IF' + n)); if (block.getInput('ELSE') || generator.STATEMENT_SUFFIX) { - branchCode = generator.statementToCode(block, 'ELSE'); + branchCode = block.getInput('ELSE') + ? generator.statementToCode(block, 'ELSE') + : ''; if (generator.STATEMENT_SUFFIX) { branchCode = generator.prefixLines( diff --git a/generators/python/logic.ts b/generators/python/logic.ts index 40133600d..db1f60e2a 100644 --- a/generators/python/logic.ts +++ b/generators/python/logic.ts @@ -40,7 +40,11 @@ export function controls_if(block: Block, generator: PythonGenerator) { } while (block.getInput('IF' + n)); if (block.getInput('ELSE') || generator.STATEMENT_SUFFIX) { - branchCode = generator.statementToCode(block, 'ELSE') || generator.PASS; + if (block.getInput('ELSE')) { + branchCode = generator.statementToCode(block, 'ELSE') || generator.PASS; + } else { + branchCode = generator.PASS; + } if (generator.STATEMENT_SUFFIX) { branchCode = generator.prefixLines(