better info in runtime constraint assertion
Jordi Baylina jordi@baylina.cat
Sun, 15 Sep 2019 10:47:52 +0200
2 files changed,
6 insertions(+),
2 deletions(-)
M
src/exec.js
→
src/exec.js
@@ -1046,6 +1046,8 @@ return vDest;
} function execConstrain(ctx, ast) { + ast.fileName = ctx.fileName; + ast.filePath = ctx.filePath; const a = exec(ctx, ast.values[0]); if (ctx.error) return; const b = exec(ctx, ast.values[1]);
M
src/gencode.js
→
src/gencode.js
@@ -422,11 +422,13 @@ const a = gen(ctx, ast.values[0]);
if (ctx.error) return; const b = gen(ctx, ast.values[1]); if (ctx.error) return; - return `ctx.assert(${a}, ${b})`; + const strErr = ast.fileName +": "+ast.first_line; + return `ctx.assert(${a}, ${b}, \"${strErr}\")`; } function genSignalAssignConstrain(ctx, ast) { - return genVarAssignement(ctx, ast) + ";\n" + genConstrain(ctx, ast); +// return genVarAssignement(ctx, ast) + ";\n" + genConstrain(ctx, ast); + return genVarAssignement(ctx, ast); } function genVarAddAssignement(ctx, ast) {