diff options
author | Martin Odersky <odersky@gmail.com> | 2013-04-05 12:12:58 +0200 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2013-04-05 12:12:58 +0200 |
commit | 51ae136d9f49d1c35db8fcdfd72d9ec14fa622f2 (patch) | |
tree | 59f108781cb6b10657bfa06348334819e80304ab /src/dotty/tools/dotc/core/pickling/UnPickler.scala | |
parent | 3dcfcb024358627165a50ac306d7e0cbb5f97842 (diff) | |
download | dotty-51ae136d9f49d1c35db8fcdfd72d9ec14fa622f2.tar.gz dotty-51ae136d9f49d1c35db8fcdfd72d9ec14fa622f2.tar.bz2 dotty-51ae136d9f49d1c35db8fcdfd72d9ec14fa622f2.zip |
Adding debug code to disambiguation.
Diffstat (limited to 'src/dotty/tools/dotc/core/pickling/UnPickler.scala')
-rw-r--r-- | src/dotty/tools/dotc/core/pickling/UnPickler.scala | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/dotty/tools/dotc/core/pickling/UnPickler.scala b/src/dotty/tools/dotc/core/pickling/UnPickler.scala index 75144ca01..c47b3b2d4 100644 --- a/src/dotty/tools/dotc/core/pickling/UnPickler.scala +++ b/src/dotty/tools/dotc/core/pickling/UnPickler.scala @@ -346,6 +346,12 @@ class UnPickler(bytes: Array[Byte], classRoot: ClassDenotation, moduleClassRoot: def adjust(denot: Denotation) = { val denot1 = denot.disambiguate(p) val sym = denot1.symbol + if (denot.exists && !denot1.exists) { // !!!DEBUG + val alts = denot.alternatives map (d => d+":"+d.info+"/"+d.signature) + System.err.println(s"!!! disambiguation failure: $alts") + val members = denot.alternatives.head.symbol.owner.info.decls.toList map (d => d+":"+d.info+"/"+d.signature) + System.err.println(s"!!! all members: $members") + } if (tag == EXTref) sym else sym.moduleClass } @@ -500,8 +506,11 @@ class UnPickler(bytes: Array[Byte], classRoot: ClassDenotation, moduleClassRoot: assert(!(denot is SuperAccessor), denot) } else { assert(denot is (SuperAccessor | ParamAccessor), denot) - def disambiguate(alt: Symbol) = - denot.info =:= denot.owner.thisType.memberInfo(alt) + def disambiguate(alt: Symbol) = { // !!! DEBUG + cctx.debugTraceIndented(s"disambiguating ${denot.info} =:= ${ denot.owner.thisType.memberInfo(alt)} ${denot.owner}") { + denot.info =:= denot.owner.thisType.memberInfo(alt) + } + } val alias = readDisambiguatedSymbolRef(disambiguate).asTerm denot.addAnnotation(Annotation.makeAlias(alias)) } |