aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/pickling
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2013-11-23 17:41:22 +0100
committerMartin Odersky <odersky@gmail.com>2013-11-23 17:41:22 +0100
commit92ed954f361ed08ef4821afd530357379956904a (patch)
tree0e4df5d262d79225a2cae19620d398c75d1a4c0e /src/dotty/tools/dotc/core/pickling
parent9e1bf7743355de040a23fbcfe9b1efb9b1db1789 (diff)
downloaddotty-92ed954f361ed08ef4821afd530357379956904a.tar.gz
dotty-92ed954f361ed08ef4821afd530357379956904a.tar.bz2
dotty-92ed954f361ed08ef4821afd530357379956904a.zip
Cleanup of named type creation from SymDenotations.
New operations: - typeRef - termRef - valRef (like termRef, but with NotAMethod signature) - termRefWithSig (like termRef, but with denotation's signature)
Diffstat (limited to 'src/dotty/tools/dotc/core/pickling')
-rw-r--r--src/dotty/tools/dotc/core/pickling/ClassfileParser.scala2
-rw-r--r--src/dotty/tools/dotc/core/pickling/UnPickler.scala13
2 files changed, 7 insertions, 8 deletions
diff --git a/src/dotty/tools/dotc/core/pickling/ClassfileParser.scala b/src/dotty/tools/dotc/core/pickling/ClassfileParser.scala
index b68f9eb6f..dbd8088bf 100644
--- a/src/dotty/tools/dotc/core/pickling/ClassfileParser.scala
+++ b/src/dotty/tools/dotc/core/pickling/ClassfileParser.scala
@@ -190,7 +190,7 @@ class ClassfileParser(
*/
def normalizeConstructorInfo() = {
val mt @ MethodType(paramnames, paramtypes) = denot.info
- val rt = classRoot.typeRef appliedTo (classRoot.typeParams map (_.symRef))
+ val rt = classRoot.typeRef appliedTo (classRoot.typeParams map (_.typeRef))
denot.info = mt.derivedMethodType(paramnames, paramtypes, rt)
addConstructorTypeParams(denot)
}
diff --git a/src/dotty/tools/dotc/core/pickling/UnPickler.scala b/src/dotty/tools/dotc/core/pickling/UnPickler.scala
index 02db4b0b0..415bc250a 100644
--- a/src/dotty/tools/dotc/core/pickling/UnPickler.scala
+++ b/src/dotty/tools/dotc/core/pickling/UnPickler.scala
@@ -934,7 +934,7 @@ class UnPickler(bytes: Array[Byte], classRoot: ClassDenotation, moduleClassRoot:
val ldef = DefDef(symbol.asTerm, rhs)
def isCaseLabel(sym: Symbol) = sym.name.startsWith(nme.CASEkw)
if (isCaseLabel(symbol)) ldef
- else Block(ldef :: Nil, Apply(Ident(symbol.symRef), Nil))
+ else Block(ldef :: Nil, Apply(Ident(symbol.termRef), Nil))
case IMPORTtree =>
setSym()
@@ -955,7 +955,7 @@ class UnPickler(bytes: Array[Byte], classRoot: ClassDenotation, moduleClassRoot:
val self = readValDefRef()
val body = until(end, readTreeRef)
untpd.Template(???, parents, self, body) // !!! TODO: pull out primary constructor
- .withType(symbol.symRef)
+ .withType(symbol.namedType)
case BLOCKtree =>
val expr = readTreeRef()
@@ -1016,7 +1016,7 @@ class UnPickler(bytes: Array[Byte], classRoot: ClassDenotation, moduleClassRoot:
case RETURNtree =>
setSym()
- Return(readTreeRef(), Ident(symbol.symRef))
+ Return(readTreeRef(), Ident(symbol.termRef))
case TREtree =>
val block = readTreeRef()
@@ -1072,11 +1072,10 @@ class UnPickler(bytes: Array[Byte], classRoot: ClassDenotation, moduleClassRoot:
setSym()
val qualifier = readTreeRef()
val selector = readNameRef()
- Select(qualifier, symbol.symRef)
-
+ Select(qualifier, symbol.namedType)
case IDENTtree =>
setSymName()
- Ident(symbol.symRef)
+ Ident(symbol.namedType)
case LITERALtree =>
Literal(readConstantRef())
@@ -1095,7 +1094,7 @@ class UnPickler(bytes: Array[Byte], classRoot: ClassDenotation, moduleClassRoot:
case SELECTFROMTYPEtree =>
val qualifier = readTreeRef()
val selector = readTypeNameRef()
- SelectFromTypeTree(qualifier, symbol.symRef)
+ SelectFromTypeTree(qualifier, symbol.namedType)
case COMPOUNDTYPEtree =>
readTemplateRef()