File tree Expand file tree Collapse file tree 2 files changed +19
-1
lines changed
compiler/src/dotty/tools/dotc/transform Expand file tree Collapse file tree 2 files changed +19
-1
lines changed Original file line number Diff line number Diff line change @@ -27,7 +27,20 @@ class Flatten extends MiniPhaseTransform with SymTransformer { thisTransform =>
27
27
else ref
28
28
}
29
29
30
- private val liftedDefs = new mutable.ListBuffer [Tree ]
30
+ private var liftedDefs = new mutable.ListBuffer [Tree ]
31
+
32
+ private lazy val liftedDefsQueue = mutable.Stack .empty.asInstanceOf [mutable.Stack [mutable.ListBuffer [Tree ]]]
33
+
34
+ override def prepareForPackageDef (tree : PackageDef )(implicit ctx : Context ) = {
35
+ liftedDefsQueue.push(liftedDefs)
36
+ liftedDefs = new mutable.ListBuffer [Tree ]
37
+ this
38
+ }
39
+
40
+ override def transformPackageDef (tree : PackageDef )(implicit ctx : Context , info : TransformerInfo ) = {
41
+ liftedDefs = liftedDefsQueue.pop()
42
+ tree
43
+ }
31
44
32
45
private def liftIfNested (tree : Tree )(implicit ctx : Context , info : TransformerInfo ) =
33
46
if (ctx.owner is Package ) tree
Original file line number Diff line number Diff line change
1
+ class Foo {
2
+ new Object { }
3
+ }
4
+
5
+ package bar { }
You can’t perform that action at this time.
0 commit comments