aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/pickling/UnPickler.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2013-04-05 12:12:58 +0200
committerMartin Odersky <odersky@gmail.com>2013-04-05 12:12:58 +0200
commit51ae136d9f49d1c35db8fcdfd72d9ec14fa622f2 (patch)
tree59f108781cb6b10657bfa06348334819e80304ab /src/dotty/tools/dotc/core/pickling/UnPickler.scala
parent3dcfcb024358627165a50ac306d7e0cbb5f97842 (diff)
downloaddotty-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.scala13
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))
}