Skip to content

Commit b9f1c9e

Browse files
committed
fix bug: just 'return;' returns void
1 parent 5e6a267 commit b9f1c9e

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

src/main/scala/decaf/typecheck/Typer.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ class Typer extends Phase[Tree, Tree]("typer") with Util {
164164
}
165165
val actual = e.map(_.typ).getOrElse(VoidType)
166166
if (actual.noError && !(actual <= expected)) issue(new BadReturnTypeError(expected, actual, stmt.pos))
167-
Return(e)(Yes) // returned
167+
Return(e)(if (e.isDefined) Yes else No) // returned if it has an expression
168168

169169
case Print(exprs) =>
170170
val es = exprs.zipWithIndex.map {

0 commit comments

Comments
 (0)