Skip to content

Commit 74b118a

Browse files
committed
MoveStatics: fix two bugs.
Unlink the static from the old scope, and don't drop top-level trees that are not TypeDefs.
1 parent 1f23771 commit 74b118a

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

src/dotty/tools/dotc/transform/MoveStatics.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ class MoveStatics extends MiniPhaseTransform with SymTransformer { thisTransform
2121

2222
def transformSym(sym: SymDenotation)(implicit ctx: Context): SymDenotation = {
2323
if (sym.hasAnnotation(defn.ScalaStaticAnnot) && sym.owner.is(Flags.Module)) {
24+
sym.owner.asClass.delete(sym.symbol)
2425
sym.owner.companionClass.asClass.enter(sym.symbol)
2526
val flags = if (sym.is(Flags.Method)) sym.flags else sym.flags | Flags.Mutable
2627
sym.copySymDenotation(owner = sym.owner.companionClass, initFlags = flags)
@@ -58,7 +59,7 @@ class MoveStatics extends MiniPhaseTransform with SymTransformer { thisTransform
5859
yield
5960
if (classes.tail.isEmpty) classes.head
6061
else move(classes.head, classes.tail.head)
61-
Trees.flatten(newPairs.toList)
62+
Trees.flatten(newPairs.toList ++ others)
6263
} else trees
6364
}
6465
}

0 commit comments

Comments
 (0)