Skip to content

Commit e8c5fbe

Browse files
committed
Streamline Typer#traverse
1 parent fd42edb commit e8c5fbe

File tree

1 file changed

+8
-9
lines changed

1 file changed

+8
-9
lines changed

compiler/src/dotty/tools/dotc/typer/Typer.scala

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2128,16 +2128,15 @@ class Typer extends Namer
21282128
buf += inlineExpansion(mdef1)
21292129
// replace body with expansion, because it will be used as inlined body
21302130
// from separately compiled files - the original BodyAnnotation is not kept.
2131+
case mdef1: DefDef if MemoCacheName.currentCount(nme.memo) != memoCacheCount =>
2132+
buf ++= Inliner.memoCacheDefs(mdef1.rhs) += mdef1
2133+
case mdef1: TypeDef if mdef1.symbol.is(Enum, butNot = Case) =>
2134+
enumContexts(mdef1.symbol) = ctx
2135+
buf += mdef1
2136+
case EmptyTree =>
2137+
// clashing synthetic case methods are converted to empty trees, drop them here
21312138
case mdef1 =>
2132-
mdef1 match {
2133-
case mdef1: TypeDef if mdef1.symbol.flags.is(Enum, butNot = Case) =>
2134-
enumContexts(mdef1.symbol) = ctx
2135-
case mdef1: DefDef if MemoCacheName.currentCount(nme.memo) != memoCacheCount =>
2136-
buf ++= Inliner.memoCacheDefs(mdef1.rhs)
2137-
case _ =>
2138-
}
2139-
if (!mdef1.isEmpty) // clashing synthetic case methods are converted to empty trees
2140-
buf += mdef1
2139+
buf += mdef1
21412140
}
21422141
traverse(rest)
21432142
}

0 commit comments

Comments
 (0)