aboutsummaryrefslogtreecommitdiff
path: root/compiler/src/dotty/tools/dotc/Compiler.scala
diff options
context:
space:
mode:
authorDmitry Petrashko <dmitry.petrashko@gmail.com>2017-03-07 10:56:41 +0100
committerDmitry Petrashko <dmitry.petrashko@gmail.com>2017-03-07 10:56:41 +0100
commitb7c3c3551fd56fb75018f051666edd8558a98d66 (patch)
tree868b32a732c87559b327d0297fded3ff7764906e /compiler/src/dotty/tools/dotc/Compiler.scala
parentc90ea6b62de5d70f8855b377688f62c40dfe3a66 (diff)
downloaddotty-b7c3c3551fd56fb75018f051666edd8558a98d66.tar.gz
dotty-b7c3c3551fd56fb75018f051666edd8558a98d66.tar.bz2
dotty-b7c3c3551fd56fb75018f051666edd8558a98d66.zip
Fix #2054: @Static methods may access synthetic private methods stuff
Due to way how we desugar lambdas, we can decide to make a lambda static Static methods could refer to those lambdas and we need to make them public
Diffstat (limited to 'compiler/src/dotty/tools/dotc/Compiler.scala')
-rw-r--r--compiler/src/dotty/tools/dotc/Compiler.scala4
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler/src/dotty/tools/dotc/Compiler.scala b/compiler/src/dotty/tools/dotc/Compiler.scala
index 1d319242b..ef181762d 100644
--- a/compiler/src/dotty/tools/dotc/Compiler.scala
+++ b/compiler/src/dotty/tools/dotc/Compiler.scala
@@ -92,12 +92,12 @@ class Compiler {
new ElimStaticThis, // Replace `this` references to static objects by global identifiers
new Flatten, // Lift all inner classes to package scope
new RestoreScopes), // Repair scopes rendered invalid by moving definitions in prior phases of the group
- List(new ExpandPrivate, // Widen private definitions accessed from nested classes
+ List(new MoveStatics, // Move static methods to companion classes
+ new ExpandPrivate, // Widen private definitions accessed from nested classes
new SelectStatic, // get rid of selects that would be compiled into GetStatic
new CollectEntryPoints, // Find classes with main methods
new CollectSuperCalls, // Find classes that are called with super
new DropInlined, // Drop Inlined nodes, since backend has no use for them
- new MoveStatics, // Move static methods to companion classes
new LabelDefs), // Converts calls to labels to jumps
List(new GenBCode) // Generate JVM bytecode
)