1- package dotty .tools .dotc
1+ package dotty .tools
2+ package dotc
23package core
34
45import java .security .MessageDigest
@@ -9,7 +10,7 @@ import Names._, StdNames._, Contexts._, Symbols._, Flags._, NameKinds._, Types._
910import util .Chars .{isOperatorPart , digit2int }
1011import Definitions ._
1112import nme ._
12- import Decorators .concat
13+ import Decorators ._
1314
1415object NameOps {
1516
@@ -69,7 +70,7 @@ object NameOps {
6970 def isLocalDummyName : Boolean = name startsWith str.LOCALDUMMY_PREFIX
7071 def isReplWrapperName : Boolean = name.toString contains str.REPL_SESSION_LINE
7172 def isReplAssignName : Boolean = name.toString contains str.REPL_ASSIGN_SUFFIX
72- def isSetterName : Boolean = name endsWith str.SETTER_SUFFIX
73+ def isSetterName : Boolean = name. endsWith( str.SETTER_SUFFIX ) || name.is( SyntheticSetterName )
7374 def isScala2LocalSuffix : Boolean = testSimple(_.endsWith(" " ))
7475 def isSelectorName : Boolean = testSimple(n => n.startsWith(" _" ) && n.drop(1 ).forall(_.isDigit))
7576 def isAnonymousClassName : Boolean = name.startsWith(str.ANON_CLASS )
@@ -347,17 +348,21 @@ object NameOps {
347348
348349 def setterName : TermName = name.exclude(FieldName ) ++ str.SETTER_SUFFIX
349350
351+ def syntheticSetterName = SyntheticSetterName (name.exclude(FieldName ))
352+
350353 def getterName : TermName =
351- name.exclude(FieldName ).mapLast(n =>
354+ val name1 = name.exclude(FieldName )
355+ if name1.is(SyntheticSetterName ) then name1.exclude(SyntheticSetterName )
356+ else name1.mapLast(n =>
352357 if (n.endsWith(str.SETTER_SUFFIX )) n.take(n.length - str.SETTER_SUFFIX .length).asSimpleName
353358 else n)
354359
355360 def fieldName : TermName =
356361 if (name.isSetterName)
357- if ( name.is(TraitSetterName )) {
358- val TraitSetterName (_, original) = name
359- original.fieldName
360- }
362+ if name.is(SyntheticSetterName ) then
363+ name.exclude( SyntheticSetterName )
364+ .replace { case TraitSetterName (_, original) => original }
365+ .fieldName
361366 else getterName.fieldName
362367 else FieldName (name.toSimpleName)
363368
0 commit comments