From 34049f2fbdfdbba86d473ef23879f6dfebb86819 Mon Sep 17 00:00:00 2001 From: Jordi Baylina Date: Sat, 11 May 2019 20:55:05 +0200 Subject: [PATCH] Conditions to boolean in old versions of node --- src/gencode.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/gencode.js b/src/gencode.js index 34d51f2..5ee2e50 100644 --- a/src/gencode.js +++ b/src/gencode.js @@ -245,7 +245,7 @@ function genFor(ctx, ast) { const body = gen(ctx, ast.body); if (ctx.error) return; ctx.scopes.pop(); - return `for (${init};${condition};${step}) { \n${body}\n }\n`; + return `for (${init};bigInt(${condition}).neq(bigInt(0));${step}) { \n${body}\n }\n`; } function genWhile(ctx, ast) { @@ -253,7 +253,7 @@ function genWhile(ctx, ast) { if (ctx.error) return; const body = gen(ctx, ast.body); if (ctx.error) return; - return `while (${condition}) {\n${body}\n}\n`; + return `while (bigInt(${condition}).neq(bigInt(0))) {\n${body}\n}\n`; } function genIf(ctx, ast) { @@ -264,9 +264,9 @@ function genIf(ctx, ast) { if (ast.else) { const elseBody = gen(ctx, ast.else); if (ctx.error) return; - return `if (${condition}) {\n${thenBody}\n} else {\n${elseBody}\n}\n`; + return `if (bigInt(${condition}).neq(bigInt(0))) {\n${thenBody}\n} else {\n${elseBody}\n}\n`; } else { - return `if (${condition}) {\n${thenBody}\n}\n`; + return `if (bigInt(${condition}).neq(bigInt(0))) {\n${thenBody}\n}\n`; } }