Skip to content

Commit 0673829

Browse files
Merge pull request #5165 from dotty-staging/fix-quote-error-reporting
Do not print stack trace for QuoteError
2 parents a40039e + d7d572c commit 0673829

File tree

1 file changed

+12
-7
lines changed

1 file changed

+12
-7
lines changed

compiler/src/dotty/tools/dotc/transform/Splicer.scala

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -161,13 +161,18 @@ object Splicer {
161161
sw.write("\n")
162162
throw new StopInterpretation(sw.toString, pos)
163163
case ex: InvocationTargetException =>
164-
val sw = new StringWriter()
165-
sw.write("An exception occurred while executing macro expansion\n")
166-
sw.write(ex.getTargetException.getMessage)
167-
sw.write("\n")
168-
ex.getTargetException.printStackTrace(new PrintWriter(sw))
169-
sw.write("\n")
170-
throw new StopInterpretation(sw.toString, pos)
164+
ex.getCause match {
165+
case cause: scala.quoted.QuoteError =>
166+
throw cause
167+
case _ =>
168+
val sw = new StringWriter()
169+
sw.write("An exception occurred while executing macro expansion\n")
170+
sw.write(ex.getTargetException.getMessage)
171+
sw.write("\n")
172+
ex.getTargetException.printStackTrace(new PrintWriter(sw))
173+
sw.write("\n")
174+
throw new StopInterpretation(sw.toString, pos)
175+
}
171176

172177
}
173178
}

0 commit comments

Comments
 (0)