From 75890493a0d95a5be9894c0baf085e4e6036a74e Mon Sep 17 00:00:00 2001 From: Paul Phillips Date: Tue, 18 Oct 2011 17:58:16 +0000 Subject: Documentation to Namers. Added some reverse engineered documentation to Namers, no review. --- src/compiler/scala/tools/nsc/typechecker/Namers.scala | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/compiler/scala/tools/nsc/typechecker/Namers.scala') diff --git a/src/compiler/scala/tools/nsc/typechecker/Namers.scala b/src/compiler/scala/tools/nsc/typechecker/Namers.scala index 1e038b3ce0..c785d95bd7 100644 --- a/src/compiler/scala/tools/nsc/typechecker/Namers.scala +++ b/src/compiler/scala/tools/nsc/typechecker/Namers.scala @@ -333,6 +333,16 @@ trait Namers { self: Analyzer => val m = companionModuleOf(tree.symbol, context) // @luc: not sure why "currentRun.compiles(m)" is needed, things breaks // otherwise. documentation welcome. + // + // @PP: I tried to reverse engineer said documentation. The only tests + // which fail are buildmanager tests, as follows. Given A.scala: + // case class Foo() + // If you recompile A.scala, the Changes Map is + // Map(class Foo -> Nil, object Foo -> Nil) + // But if you remove the 'currentRun.compiles(m)' condition, it is + // Map(class Foo -> Nil) + // What exactly this implies and whether this is a sensible way to + // enforce it, I don't know. if (m != NoSymbol && currentRun.compiles(m)) m else enterSyntheticSym(creator) } -- cgit v1.2.3