Skip to content

Commit 4df7b6a

Browse files
committed
review notes
1 parent 0c19f97 commit 4df7b6a

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

src/compiler/scala/tools/nsc/transform/Mixin.scala

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1060,11 +1060,12 @@ abstract class Mixin extends InfoTransform with ast.TreeDSL {
10601060
isOverriddenAccessor(other.getterIn(other.owner), clazz.info.baseClasses)
10611061
}
10621062

1063+
// Emitting code for Function[0|1|2]
10631064
if (isFunctionSymbol(clazz) && clazz.isSpecialized) {
10641065
val sym = clazz.info.decl(nme.apply)
10651066
// <default> def apply(v1: Object)Object = apply(v1.unbox).box
10661067
val functionClass = clazz.baseClasses(1)
1067-
val genericApply = functionClass.info.member(nme.apply)
1068+
val genericApply = functionClass.info.member(nme.apply) // why `member` and not `decl`?
10681069
val bridge = genericApply.cloneSymbol(clazz, /*BRIDGE |*/ METHOD | JAVA_DEFAULTMETHOD | DEFERRED).setPos(sym.pos)
10691070
addDefDef(bridge,
10701071
Apply(gen.mkAttributedSelect(gen.mkAttributedThis(sym.owner), sym), bridge.paramss.head.map(p => gen.mkAttributedIdent(p))))
@@ -1183,11 +1184,12 @@ abstract class Mixin extends InfoTransform with ast.TreeDSL {
11831184
qual
11841185

11851186
case dd @ DefDef(_, _, _, vparamss, _, EmptyTree) if isFunctionSymbol(sym.owner) =>
1187+
// why only exclude toString?
11861188
val addDefault = enteringPhase(currentRun.erasurePhase.prev)(!sym.isDeferred) && sym.name != nme.toString_ // before lateDEFERRED
11871189
if (addDefault) {
11881190
def implSym = implClass(sym.owner).info.member(sym.name)
11891191
sym.setFlag(Flags.JAVA_DEFAULTMETHOD)
1190-
val tree = Apply(staticRef(implSym), gen.mkAttributedThis(sym.owner) :: sym.paramss.head.map(gen.mkAttributedRef))
1192+
val tree = Apply(staticRef(implSym), gen.mkAttributedThis(sym.owner) :: sym.paramss.head.map(gen.mkAttributedIdent))
11911193
val app = typedPos(tree.pos)(tree)
11921194
copyDefDef(dd)(rhs = app)
11931195
} else if (sym.owner.isSpecialized && sym.name == nme.apply) {

0 commit comments

Comments
 (0)