diff options
author | Paul Phillips <paulp@improving.org> | 2011-01-01 22:46:59 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2011-01-01 22:46:59 +0000 |
commit | 533ffe9482c530489ad4f6670831b8d87f78193a (patch) | |
tree | 567660ba8ee7f97e283154acdb84e0215195d8ed /src/library | |
parent | 03f90c173445e5d988f2e2199026901b4def45b8 (diff) | |
download | scala-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-x | src/library/scala/reflect/generic/Names.scala | 18 | ||||
-rwxr-xr-x | src/library/scala/reflect/generic/UnPickler.scala | 23 |
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 |