Skip to content

Commit 917599f

Browse files
Merge pull request #9169 from dotty-staging/fix-#9168
Fix #9168: Use `()` for `finally` with empty expression
2 parents eb34c6c + 4aa44f5 commit 917599f

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

compiler/src/dotty/tools/dotc/parsing/Parsers.scala

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2004,7 +2004,12 @@ object Parsers {
20042004
}
20052005

20062006
val finalizer =
2007-
if (in.token == FINALLY) { in.nextToken(); subExpr() }
2007+
if (in.token == FINALLY) {
2008+
in.nextToken();
2009+
val expr = subExpr()
2010+
if expr.span.exists then expr
2011+
else Literal(Constant(())) // finally without an expression
2012+
}
20082013
else {
20092014
if (handler.isEmpty) warning(
20102015
EmptyCatchAndFinallyBlock(body),
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
def g: Int = try 42 finally ; // error

0 commit comments

Comments
 (0)