Skip to content

Commit d64f99f

Browse files
committed
Merge pull request scala#1693 from paulp/name-implicit-removal
Name implicit removal
2 parents 78bcc84 + de66494 commit d64f99f

39 files changed

+130
-149
lines changed

src/compiler/scala/reflect/reify/codegen/GenSymbols.scala

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ trait GenSymbols {
9898
def reifyFreeTerm(binding: Tree): Tree =
9999
reifyIntoSymtab(binding.symbol) { sym =>
100100
if (reifyDebug) println("Free term" + (if (sym.isCapturedVariable) " (captured)" else "") + ": " + sym + "(" + sym.accurateKindString + ")")
101-
val name = newTermName(nme.REIFY_FREE_PREFIX + sym.name + (if (sym.isType) nme.REIFY_FREE_THIS_SUFFIX else ""))
101+
val name = newTermName("" + nme.REIFY_FREE_PREFIX + sym.name + (if (sym.isType) nme.REIFY_FREE_THIS_SUFFIX else ""))
102102
if (sym.isCapturedVariable) {
103103
assert(binding.isInstanceOf[Ident], showRaw(binding))
104104
val capturedBinding = referenceCapturedVariable(sym)
@@ -112,14 +112,14 @@ trait GenSymbols {
112112
reifyIntoSymtab(binding.symbol) { sym =>
113113
if (reifyDebug) println("Free type: %s (%s)".format(sym, sym.accurateKindString))
114114
state.reificationIsConcrete = false
115-
val name = newTermName(nme.REIFY_FREE_PREFIX + sym.name)
115+
val name: TermName = nme.REIFY_FREE_PREFIX append sym.name
116116
Reification(name, binding, mirrorBuildCall(nme.newFreeType, reify(sym.name.toString), mirrorBuildCall(nme.flagsFromBits, reify(sym.flags)), reify(origin(sym))))
117117
}
118118

119119
def reifySymDef(sym: Symbol): Tree =
120120
reifyIntoSymtab(sym) { sym =>
121121
if (reifyDebug) println("Sym def: %s (%s)".format(sym, sym.accurateKindString))
122-
val name = newTermName(nme.REIFY_SYMDEF_PREFIX + sym.name)
122+
val name: TermName = nme.REIFY_SYMDEF_PREFIX append sym.name
123123
def reifiedOwner = if (sym.owner.isLocatable) reify(sym.owner) else reifySymDef(sym.owner)
124124
Reification(name, Ident(sym), mirrorBuildCall(nme.newNestedSymbol, reifiedOwner, reify(sym.name), reify(sym.pos), mirrorBuildCall(nme.flagsFromBits, reify(sym.flags)), reify(sym.isClass)))
125125
}
@@ -143,7 +143,7 @@ trait GenSymbols {
143143
val reification = reificode(sym)
144144
import reification.{name, binding}
145145
val tree = reification.tree updateAttachment ReifyBindingAttachment(binding)
146-
state.symtab += (sym, name, tree)
146+
state.symtab += (sym, name.toTermName, tree)
147147
}
148148
fromSymtab
149149
}

src/compiler/scala/reflect/reify/codegen/GenUtils.scala

Lines changed: 15 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -30,41 +30,35 @@ trait GenUtils {
3030
def call(fname: String, args: Tree*): Tree =
3131
Apply(termPath(fname), args.toList)
3232

33-
def mirrorSelect(name: String): Tree =
34-
termPath(nme.UNIVERSE_PREFIX + name)
33+
def mirrorSelect(name: String): Tree = termPath(nme.UNIVERSE_PREFIX + name)
34+
def mirrorSelect(name: TermName): Tree = mirrorSelect(name.toString)
3535

36-
def mirrorBuildSelect(name: String): Tree =
37-
termPath(nme.UNIVERSE_BUILD_PREFIX + name)
36+
def mirrorBuildSelect(name: TermName): Tree =
37+
termPath("" + nme.UNIVERSE_BUILD_PREFIX + name)
3838

39-
def mirrorMirrorSelect(name: String): Tree =
40-
termPath(nme.MIRROR_PREFIX + name)
39+
def mirrorMirrorSelect(name: TermName): Tree =
40+
termPath("" + nme.MIRROR_PREFIX + name)
4141

4242
def mirrorCall(name: TermName, args: Tree*): Tree =
43-
call("" + (nme.UNIVERSE_PREFIX append name), args: _*)
44-
45-
def mirrorCall(name: String, args: Tree*): Tree =
46-
call(nme.UNIVERSE_PREFIX + name, args: _*)
43+
call("" + nme.UNIVERSE_PREFIX + name, args: _*)
4744

4845
def mirrorBuildCall(name: TermName, args: Tree*): Tree =
49-
call("" + (nme.UNIVERSE_BUILD_PREFIX append name), args: _*)
50-
51-
def mirrorBuildCall(name: String, args: Tree*): Tree =
52-
call(nme.UNIVERSE_BUILD_PREFIX + name, args: _*)
46+
call("" + nme.UNIVERSE_BUILD_PREFIX + name, args: _*)
5347

5448
def mirrorMirrorCall(name: TermName, args: Tree*): Tree =
55-
call("" + (nme.MIRROR_PREFIX append name), args: _*)
56-
57-
def mirrorMirrorCall(name: String, args: Tree*): Tree =
58-
call(nme.MIRROR_PREFIX + name, args: _*)
49+
call("" + nme.MIRROR_PREFIX + name, args: _*)
5950

6051
def mirrorFactoryCall(value: Product, args: Tree*): Tree =
6152
mirrorFactoryCall(value.productPrefix, args: _*)
6253

63-
def mirrorFactoryCall(prefix: String, args: Tree*): Tree =
64-
mirrorCall(prefix, args: _*)
54+
def mirrorFactoryCall(prefix: TermName, args: Tree*): Tree =
55+
mirrorCall("" + prefix, args: _*)
56+
57+
def scalaFactoryCall(name: TermName, args: Tree*): Tree =
58+
call(s"scala.$name.apply", args: _*)
6559

6660
def scalaFactoryCall(name: String, args: Tree*): Tree =
67-
call("scala." + name + ".apply", args: _*)
61+
scalaFactoryCall(name: TermName, args: _*)
6862

6963
def mkList(args: List[Tree]): Tree =
7064
scalaFactoryCall("collection.immutable.List", args: _*)

src/compiler/scala/reflect/reify/phases/Reshape.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@ trait Reshape {
254254
val flags1 = (flags0 & GetterFlags) & ~(STABLE | ACCESSOR | METHOD)
255255
val mods1 = Modifiers(flags1, privateWithin0, annotations0) setPositions mods0.positions
256256
val mods2 = toPreTyperModifiers(mods1, ddef.symbol)
257-
ValDef(mods2, name1, tpt0, extractRhs(rhs0))
257+
ValDef(mods2, name1.toTermName, tpt0, extractRhs(rhs0))
258258
}
259259

260260
private def trimAccessors(deff: Tree, stats: List[Tree]): List[Tree] = {
@@ -293,7 +293,7 @@ trait Reshape {
293293
}
294294
val mods2 = toPreTyperModifiers(mods1, vdef.symbol)
295295
val name1 = nme.dropLocalSuffix(name)
296-
val vdef1 = ValDef(mods2, name1, tpt, rhs)
296+
val vdef1 = ValDef(mods2, name1.toTermName, tpt, rhs)
297297
if (reifyDebug) println("resetting visibility of field: %s => %s".format(vdef, vdef1))
298298
Some(vdef1) // no copyAttrs here, because new ValDef and old symbols are now out of sync
299299
case ddef: DefDef if !ddef.mods.isLazy =>

src/compiler/scala/reflect/reify/utils/NodePrinters.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,10 +75,10 @@ trait NodePrinters {
7575
printout += universe.trim
7676
if (mirrorIsUsed) printout += mirror.replace("Mirror[", "scala.reflect.api.Mirror[").trim
7777
val imports = scala.collection.mutable.ListBuffer[String]();
78-
imports += nme.UNIVERSE_SHORT
78+
imports += nme.UNIVERSE_SHORT.toString
7979
// if (buildIsUsed) imports += nme.build
80-
if (mirrorIsUsed) imports += nme.MIRROR_SHORT
81-
if (flagsAreUsed) imports += nme.Flag
80+
if (mirrorIsUsed) imports += nme.MIRROR_SHORT.toString
81+
if (flagsAreUsed) imports += nme.Flag.toString
8282
printout += s"""import ${imports map (_ + "._") mkString ", "}"""
8383

8484
val name = if (isExpr) "tree" else "tpe"

src/compiler/scala/tools/nsc/ast/TreeDSL.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ trait TreeDSL {
181181
self: VODDStart =>
182182

183183
type ResultTreeType = ValDef
184-
def mkTree(rhs: Tree): ValDef = ValDef(mods, name, tpt, rhs)
184+
def mkTree(rhs: Tree): ValDef = ValDef(mods, name.toTermName, tpt, rhs)
185185
}
186186
trait DefCreator {
187187
self: VODDStart =>

src/compiler/scala/tools/nsc/ast/TreeGen.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ abstract class TreeGen extends scala.reflect.internal.TreeGen with TreeDSL {
7474
val extraFlags = if (inClass) PrivateLocal | SYNTHETIC else 0
7575

7676
val mval = (
77-
accessor.owner.newVariable(nme.moduleVarName(accessor.name), accessor.pos.focus, MODULEVAR | extraFlags)
77+
accessor.owner.newVariable(nme.moduleVarName(accessor.name.toTermName), accessor.pos.focus, MODULEVAR | extraFlags)
7878
setInfo accessor.tpe.finalResultType
7979
addAnnotation VolatileAttr
8080
)
@@ -210,7 +210,7 @@ abstract class TreeGen extends scala.reflect.internal.TreeGen with TreeDSL {
210210
*/
211211
private def mkPackedValDef(expr: Tree, owner: Symbol, name: Name): (ValDef, () => Ident) = {
212212
val packedType = typer.packedType(expr, owner)
213-
val sym = owner.newValue(name, expr.pos.makeTransparent, SYNTHETIC) setInfo packedType
213+
val sym = owner.newValue(name.toTermName, expr.pos.makeTransparent, SYNTHETIC) setInfo packedType
214214

215215
(ValDef(sym, expr), () => Ident(sym) setPos sym.pos.focus setType expr.tpe)
216216
}

src/compiler/scala/tools/nsc/ast/parser/Parsers.scala

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -701,10 +701,10 @@ self =>
701701
tree match {
702702
case Ident(name) =>
703703
removeAsPlaceholder(name)
704-
makeParam(name, TypeTree() setPos o2p(tree.pos.endOrPoint))
704+
makeParam(name.toTermName, TypeTree() setPos o2p(tree.pos.endOrPoint))
705705
case Typed(Ident(name), tpe) if tpe.isType => // get the ident!
706706
removeAsPlaceholder(name)
707-
makeParam(name, tpe)
707+
makeParam(name.toTermName, tpe)
708708
case _ =>
709709
syntaxError(tree.pos, "not a legal formal parameter", false)
710710
makeParam(nme.ERROR, errorTypeTree setPos o2p(tree.pos.endOrPoint))
@@ -783,7 +783,7 @@ self =>
783783
val rPos = top.pos
784784
val end = if (rPos.isDefined) rPos.endOrPoint else opPos.endOrPoint
785785
top = atPos(start, opinfo.offset, end) {
786-
makeBinop(isExpr, opinfo.operand, opinfo.operator, top, opPos)
786+
makeBinop(isExpr, opinfo.operand, opinfo.operator.toTermName, top, opPos)
787787
}
788788
}
789789
top
@@ -1306,7 +1306,7 @@ self =>
13061306
val cond = condExpr()
13071307
newLinesOpt()
13081308
val body = expr()
1309-
makeWhile(lname, cond, body)
1309+
makeWhile(lname.toTermName, cond, body)
13101310
}
13111311
}
13121312
parseWhile
@@ -1318,7 +1318,7 @@ self =>
13181318
if (isStatSep) in.nextToken()
13191319
accept(WHILE)
13201320
val cond = condExpr()
1321-
makeDoWhile(lname, body, cond)
1321+
makeDoWhile(lname.toTermName, body, cond)
13221322
}
13231323
}
13241324
parseDo
@@ -1477,7 +1477,7 @@ self =>
14771477
def prefixExpr(): Tree = {
14781478
if (isUnaryOp) {
14791479
atPos(in.offset) {
1480-
val name = nme.toUnaryName(rawIdent())
1480+
val name = nme.toUnaryName(rawIdent().toTermName)
14811481
if (name == nme.UNARY_- && isNumericLit)
14821482
simpleExprRest(atPos(in.offset)(literal(isNegated = true)), canApply = true)
14831483
else
@@ -1515,7 +1515,7 @@ self =>
15151515
val pname = freshName("x$")
15161516
in.nextToken()
15171517
val id = atPos(start) (Ident(pname))
1518-
val param = atPos(id.pos.focus){ makeSyntheticParam(pname) }
1518+
val param = atPos(id.pos.focus){ makeSyntheticParam(pname.toTermName) }
15191519
placeholderParams = param :: placeholderParams
15201520
id
15211521
case LPAREN =>
@@ -2136,7 +2136,7 @@ self =>
21362136
expr()
21372137
} else EmptyTree
21382138
atPos(start, if (name == nme.ERROR) start else nameOffset) {
2139-
ValDef((mods | implicitmod | bynamemod) withAnnotations annots, name, tpt, default)
2139+
ValDef((mods | implicitmod | bynamemod) withAnnotations annots, name.toTermName, tpt, default)
21402140
}
21412141
}
21422142
def paramClause(): List[ValDef] = {
@@ -2696,7 +2696,7 @@ self =>
26962696
atPos(start, if (name == nme.ERROR) start else nameOffset) {
26972697
val mods1 = if (in.token == SUBTYPE) mods | Flags.DEFERRED else mods
26982698
val template = templateOpt(mods1, name, NoMods, Nil, tstart)
2699-
ModuleDef(mods1, name, template)
2699+
ModuleDef(mods1, name.toTermName, template)
27002700
}
27012701
}
27022702

src/compiler/scala/tools/nsc/backend/icode/GenICode.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1565,7 +1565,7 @@ abstract class GenICode extends SubComponent {
15651565
*/
15661566
def genEqEqPrimitive(l: Tree, r: Tree, ctx: Context)(thenCtx: Context, elseCtx: Context): Unit = {
15671567
def getTempLocal = ctx.method.lookupLocal(nme.EQEQ_LOCAL_VAR) getOrElse {
1568-
ctx.makeLocal(l.pos, AnyRefClass.tpe, nme.EQEQ_LOCAL_VAR)
1568+
ctx.makeLocal(l.pos, AnyRefClass.tpe, nme.EQEQ_LOCAL_VAR.toString)
15691569
}
15701570

15711571
/** True if the equality comparison is between values that require the use of the rich equality

src/compiler/scala/tools/nsc/backend/jvm/GenASM.scala

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1198,7 +1198,7 @@ abstract class GenASM extends SubComponent with BytecodeWriters {
11981198
/* Typestate: should be called before emitting fields (because it adds an IField to the current IClass). */
11991199
def addCreatorCode(block: BasicBlock) {
12001200
val fieldSymbol = (
1201-
clasz.symbol.newValue(newTermName(androidFieldName), NoPosition, Flags.STATIC | Flags.FINAL)
1201+
clasz.symbol.newValue(androidFieldName, NoPosition, Flags.STATIC | Flags.FINAL)
12021202
setInfo AndroidCreatorClass.tpe
12031203
)
12041204
val methodSymbol = definitions.getMember(clasz.symbol.companionModule, androidFieldName)
@@ -1213,7 +1213,7 @@ abstract class GenASM extends SubComponent with BytecodeWriters {
12131213

12141214
jclass.visitField(
12151215
PublicStaticFinal,
1216-
androidFieldName,
1216+
androidFieldName.toString,
12171217
tdesc_creator,
12181218
null, // no java-generic-signature
12191219
null // no initial value
@@ -1233,15 +1233,15 @@ abstract class GenASM extends SubComponent with BytecodeWriters {
12331233
clinit.visitMethodInsn(
12341234
asm.Opcodes.INVOKEVIRTUAL,
12351235
moduleName,
1236-
androidFieldName,
1236+
androidFieldName.toString,
12371237
asm.Type.getMethodDescriptor(creatorType, Array.empty[asm.Type]: _*)
12381238
)
12391239

12401240
// PUTSTATIC `thisName`.CREATOR;
12411241
clinit.visitFieldInsn(
12421242
asm.Opcodes.PUTSTATIC,
12431243
thisName,
1244-
androidFieldName,
1244+
androidFieldName.toString,
12451245
tdesc_creator
12461246
)
12471247
}

src/compiler/scala/tools/nsc/backend/jvm/GenAndroid.scala

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ trait GenAndroid {
3535
def addCreatorCode(codegen: BytecodeGenerator, block: BasicBlock) {
3636
import codegen._
3737
val fieldSymbol = (
38-
clasz.symbol.newValue(newTermName(fieldName), NoPosition, Flags.STATIC | Flags.FINAL)
38+
clasz.symbol.newValue(fieldName, NoPosition, Flags.STATIC | Flags.FINAL)
3939
setInfo AndroidCreatorClass.tpe
4040
)
4141
val methodSymbol = definitions.getMember(clasz.symbol.companionModule, fieldName)
@@ -48,15 +48,15 @@ trait GenAndroid {
4848
import codegen._
4949
val creatorType = javaType(AndroidCreatorClass)
5050
jclass.addNewField(PublicStaticFinal,
51-
fieldName,
51+
fieldName.toString,
5252
creatorType)
5353
val moduleName = javaName(clasz.symbol)+"$"
5454
clinit.emitGETSTATIC(moduleName,
5555
nme.MODULE_INSTANCE_FIELD.toString,
5656
new JObjectType(moduleName))
57-
clinit.emitINVOKEVIRTUAL(moduleName, fieldName,
57+
clinit.emitINVOKEVIRTUAL(moduleName, fieldName.toString,
5858
new JMethodType(creatorType, Array()))
59-
clinit.emitPUTSTATIC(jclass.getName(), fieldName, creatorType)
59+
clinit.emitPUTSTATIC(jclass.getName(), fieldName.toString, creatorType)
6060
}
6161

6262
}

0 commit comments

Comments
 (0)