X Tutup
Skip to content

Commit 7f25ee5

Browse files
tomblindPerryvw
authored andcommitted
converting 'else if' statements to lua 'elseif' instead of nested ifs (#254)
1 parent 3237c20 commit 7f25ee5

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

src/Transpiler.ts

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -458,10 +458,20 @@ export abstract class LuaTranspiler {
458458
result += this.transpileStatement(node.thenStatement);
459459
this.popIndent();
460460

461-
if (node.elseStatement) {
461+
let elseStatement = node.elseStatement;
462+
while (elseStatement && ts.isIfStatement(elseStatement)) {
463+
const elseIfCondition = this.transpileExpression(elseStatement.expression);
464+
result += this.indent + `elseif ${elseIfCondition} then\n`;
465+
this.pushIndent();
466+
result += this.transpileStatement(elseStatement.thenStatement);
467+
this.popIndent();
468+
elseStatement = elseStatement.elseStatement;
469+
}
470+
471+
if (elseStatement) {
462472
result += this.indent + "else\n";
463473
this.pushIndent();
464-
result += this.transpileStatement(node.elseStatement);
474+
result += this.transpileStatement(elseStatement);
465475
this.popIndent();
466476
}
467477

0 commit comments

Comments
 (0)
X Tutup