summaryrefslogtreecommitdiff
path: root/src/library
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2011-01-01 22:46:59 +0000
committerPaul Phillips <paulp@improving.org>2011-01-01 22:46:59 +0000
commit533ffe9482c530489ad4f6670831b8d87f78193a (patch)
tree567660ba8ee7f97e283154acdb84e0215195d8ed /src/library
parent03f90c173445e5d988f2e2199026901b4def45b8 (diff)
downloadscala-533ffe9482c530489ad4f6670831b8d87f78193a.tar.gz
scala-533ffe9482c530489ad4f6670831b8d87f78193a.tar.bz2
scala-533ffe9482c530489ad4f6670831b8d87f78193a.zip
Removed the Name => TypeName implicit conversion.
questions start to arise as the ability to distinguish between type and term names becomes more fully realized: particularly that the ability to distinguish between TermSymbols and TypeSymbols has not come along with the names. In any case, this is more tedious than I might have anticipated but mostly because it's blazing a trail of typiness to ease the path for others. No review.
Diffstat (limited to 'src/library')
-rwxr-xr-xsrc/library/scala/reflect/generic/Names.scala18
-rwxr-xr-xsrc/library/scala/reflect/generic/UnPickler.scala23
2 files changed, 14 insertions, 27 deletions
diff --git a/src/library/scala/reflect/generic/Names.scala b/src/library/scala/reflect/generic/Names.scala
index 8ec05684d1..90c38c04b3 100755
--- a/src/library/scala/reflect/generic/Names.scala
+++ b/src/library/scala/reflect/generic/Names.scala
@@ -19,22 +19,6 @@ trait Names {
def isTermName(name: Name): Boolean
def isTypeName(name: Name): Boolean
- /** These should come out before 2.9 ships, but they have to be
- * in the library to reach a few bits like the unpickler.
- */
- def onNameTranslate(name: Name): Unit = ()
- implicit def promoteTypeNamesAsNecessary(name: Name): TypeName = {
- if (isTermName(name))
- onNameTranslate(name)
-
- mkTypeName(name)
- }
- implicit def promoteTermNamesAsNecessary(name: Name): TermName = {
- if (isTypeName(name))
- onNameTranslate(name)
-
- mkTermName(name)
- }
+ implicit def promoteTermNamesAsNecessary(name: Name): TermName = mkTermName(name)
}
-
diff --git a/src/library/scala/reflect/generic/UnPickler.scala b/src/library/scala/reflect/generic/UnPickler.scala
index b7b06a51f4..7b7c34a767 100755
--- a/src/library/scala/reflect/generic/UnPickler.scala
+++ b/src/library/scala/reflect/generic/UnPickler.scala
@@ -267,14 +267,14 @@ abstract class UnPickler {
}
finishSym(tag match {
- case TYPEsym => owner.newAbstractType(name)
- case ALIASsym => owner.newAliasType(name)
+ case TYPEsym => owner.newAbstractType(mkTypeName(name))
+ case ALIASsym => owner.newAliasType(mkTypeName(name))
case CLASSsym =>
val sym = (isClassRoot, isModuleFlag) match {
case (true, true) => moduleRoot.moduleClass
case (true, false) => classRoot
- case (false, true) => owner.newModuleClass(name)
- case (false, false) => owner.newClass(name)
+ case (false, true) => owner.newModuleClass(mkTypeName(name))
+ case (false, false) => owner.newClass(mkTypeName(name))
}
if (!atEnd)
sym.typeOfThis = newLazyTypeRef(readNat())
@@ -510,7 +510,7 @@ abstract class UnPickler {
setSymModsName()
val impl = readTemplateRef()
val tparams = until(end, readTypeDefRef)
- ClassDef(mods, name, tparams, impl)
+ ClassDef(mods, mkTypeName(name), tparams, impl)
case MODULEtree =>
setSymModsName()
@@ -534,7 +534,7 @@ abstract class UnPickler {
setSymModsName()
val rhs = readTreeRef()
val tparams = until(end, readTypeDefRef)
- TypeDef(mods, name, tparams, rhs)
+ TypeDef(mods, mkTypeName(name), tparams, rhs)
case LABELtree =>
setSymName()
@@ -657,13 +657,13 @@ abstract class UnPickler {
case SUPERtree =>
setSym()
- val qual = readNameRef()
- val mix = readNameRef()
+ val qual = readTypeNameRef()
+ val mix = readTypeNameRef()
Super(qual, mix)
case THIStree =>
setSym()
- This(readNameRef())
+ This(readTypeNameRef())
case SELECTtree =>
setSym()
@@ -691,7 +691,7 @@ abstract class UnPickler {
case SELECTFROMTYPEtree =>
val qualifier = readTreeRef()
- val selector = readNameRef()
+ val selector = readTypeNameRef()
SelectFromTypeTree(qualifier, selector)
case COMPOUNDTYPEtree =>
@@ -745,6 +745,9 @@ abstract class UnPickler {
protected def readModifiersRef(): Modifiers = at(readNat(), readModifiers)
protected def readTreeRef(): Tree = at(readNat(), readTree)
+ protected def readTypeNameRef(): TypeName = mkTypeName(readNameRef())
+ protected def readTermNameRef(): TermName = mkTermName(readNameRef())
+
protected def readTemplateRef(): Template =
readTreeRef() match {
case templ:Template => templ