Skip to content

Commit 45a8972

Browse files
committed
small optimisation
1 parent 1c8b693 commit 45a8972

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

compiler/src/dotty/tools/dotc/transform/SyntheticMembers.scala

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,14 +127,18 @@ class SyntheticMembers(thisPhase: DenotTransformer) {
127127
def nameRef: Tree =
128128
if isJavaEnumValue then
129129
Select(This(clazz), nme.name).ensureApplied
130-
else if isSimpleEnumValue then // owner is `def $new(_$ordinal: Int, $name: String) = new MyEnum { ... }`
130+
else
131+
identifierRef
132+
133+
def identifierRef: Tree =
134+
if isSimpleEnumValue then // owner is `def $new(_$ordinal: Int, $name: String) = new MyEnum { ... }`
131135
ref(clazz.owner.paramSymss.head.find(_.name == nme.nameDollar).get)
132136
else // assume owner is `val Foo = new MyEnum { def ordinal = 0 }`
133137
Literal(Constant(clazz.owner.name.toString))
134138

135139
def toStringBody(vrefss: List[List[Tree]]): Tree =
136140
if (clazz.is(ModuleClass)) ownName
137-
else if (isNonJavaEnumValue) nameRef
141+
else if (isNonJavaEnumValue) identifierRef
138142
else forwardToRuntime(vrefss.head)
139143

140144
def syntheticRHS(vrefss: List[List[Tree]])(using Context): Tree = synthetic.name match {

0 commit comments

Comments
 (0)