From 144175056b81b014557a9b9054f5d47b963a5b27 Mon Sep 17 00:00:00 2001 From: Nat Quayle Nelson Date: Thu, 28 Oct 2021 13:39:05 -0400 Subject: [PATCH] Helpful error messages for macro expansion errors --- kiss/src/kiss/Kiss.hx | 1 - kiss/src/kiss/Macros.hx | 8 ++++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/kiss/src/kiss/Kiss.hx b/kiss/src/kiss/Kiss.hx index 9f62a9f6..f642f2f1 100644 --- a/kiss/src/kiss/Kiss.hx +++ b/kiss/src/kiss/Kiss.hx @@ -283,7 +283,6 @@ class Kiss { // Bind the table arguments of this function for easy recursive calling/passing var convert = readerExpToHaxeExpr.bind(_, k); - var none = EBlock([]).withMacroPosOf(exp); var expr = switch (exp.def) { diff --git a/kiss/src/kiss/Macros.hx b/kiss/src/kiss/Macros.hx index ca3464e5..97924536 100644 --- a/kiss/src/kiss/Macros.hx +++ b/kiss/src/kiss/Macros.hx @@ -453,8 +453,12 @@ class Macros { args[innerArgNames.shift()] = restArgs; } - // Return the macro expansion: - return Helpers.runAtCompileTime(b.callSymbol("begin", exps.slice(2)), k, args); + try { + // Return the macro expansion: + return Helpers.runAtCompileTime(b.callSymbol("begin", exps.slice(2)), k, args); + } catch (error) { + throw CompileError.fromExp(wholeExp, 'Macro expansion error: $error'); + }; }; null;