Skip to content

Commit d016801

Browse files
authored
fix: Fix bug in IF block generators. (#8780)
1 parent 7e44e81 commit d016801

5 files changed

Lines changed: 17 additions & 5 deletions

File tree

generators/dart/logic.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,9 @@ export function controls_if(block: Block, generator: DartGenerator) {
4646
} while (block.getInput('IF' + n));
4747

4848
if (block.getInput('ELSE') || generator.STATEMENT_SUFFIX) {
49-
branchCode = generator.statementToCode(block, 'ELSE');
49+
branchCode = block.getInput('ELSE')
50+
? generator.statementToCode(block, 'ELSE')
51+
: '';
5052
if (generator.STATEMENT_SUFFIX) {
5153
branchCode =
5254
generator.prefixLines(

generators/javascript/logic.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,9 @@ export function controls_if(block: Block, generator: JavascriptGenerator) {
4444
} while (block.getInput('IF' + n));
4545

4646
if (block.getInput('ELSE') || generator.STATEMENT_SUFFIX) {
47-
let branchCode = generator.statementToCode(block, 'ELSE');
47+
let branchCode = block.getInput('ELSE')
48+
? generator.statementToCode(block, 'ELSE')
49+
: '';
4850
if (generator.STATEMENT_SUFFIX) {
4951
branchCode =
5052
generator.prefixLines(

generators/lua/logic.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,9 @@ export function controls_if(block: Block, generator: LuaGenerator): string {
3939
} while (block.getInput('IF' + n));
4040

4141
if (block.getInput('ELSE') || generator.STATEMENT_SUFFIX) {
42-
let branchCode = generator.statementToCode(block, 'ELSE');
42+
let branchCode = block.getInput('ELSE')
43+
? generator.statementToCode(block, 'ELSE')
44+
: '';
4345
if (generator.STATEMENT_SUFFIX) {
4446
branchCode =
4547
generator.prefixLines(

generators/php/logic.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,9 @@ export function controls_if(block: Block, generator: PhpGenerator) {
4646
} while (block.getInput('IF' + n));
4747

4848
if (block.getInput('ELSE') || generator.STATEMENT_SUFFIX) {
49-
branchCode = generator.statementToCode(block, 'ELSE');
49+
branchCode = block.getInput('ELSE')
50+
? generator.statementToCode(block, 'ELSE')
51+
: '';
5052
if (generator.STATEMENT_SUFFIX) {
5153
branchCode =
5254
generator.prefixLines(

generators/python/logic.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,11 @@ export function controls_if(block: Block, generator: PythonGenerator) {
4040
} while (block.getInput('IF' + n));
4141

4242
if (block.getInput('ELSE') || generator.STATEMENT_SUFFIX) {
43-
branchCode = generator.statementToCode(block, 'ELSE') || generator.PASS;
43+
if (block.getInput('ELSE')) {
44+
branchCode = generator.statementToCode(block, 'ELSE') || generator.PASS;
45+
} else {
46+
branchCode = generator.PASS;
47+
}
4448
if (generator.STATEMENT_SUFFIX) {
4549
branchCode =
4650
generator.prefixLines(

0 commit comments

Comments
 (0)