|
| 1 | +package dotty.tools |
| 2 | +package dotc |
| 3 | +package core |
| 4 | + |
| 5 | +import tasty.TastyFormat |
| 6 | + |
| 7 | +/** The possible tags of a NameKind */ |
| 8 | +object NameTags extends TastyFormat.NameTags { |
| 9 | + |
| 10 | + final val FLATTENED = 5 // A flat name, generated by Flatten |
| 11 | + |
| 12 | + final val TRAITSETTER = 6 // A Scala-2 trait setter, generated by AugmentScala2Traits |
| 13 | + |
| 14 | + final val INITIALIZER = 24 // A mixin initializer method |
| 15 | + |
| 16 | + final val AVOIDCLASH = 25 // Adds a suffix to avoid a name clash; |
| 17 | + // Used in FirstTransform for synthesized companion objects of classes |
| 18 | + // if they would clash with another value. |
| 19 | + |
| 20 | + final val DIRECT = 26 // Used by ShortCutImplicits for the name of methods that |
| 21 | + // implement implicit function result types directly. |
| 22 | + |
| 23 | + final val FIELD = 27 // Used by Memoize to tag the name of a class member field. |
| 24 | + |
| 25 | + final val EXTMETH = 28 // Used by ExtensionMethods for the name of an extension method |
| 26 | + // implementing a value class method. |
| 27 | + |
| 28 | + final val ADAPTEDCLOSURE = 29 // Used in Erasure to adapt closures over primitive types. |
| 29 | + |
| 30 | + final val IMPLMETH = 30 // Used to define methods in implementation classes |
| 31 | + // (can probably be removed). |
| 32 | + |
| 33 | + def nameTagToString(tag: Int): String = tag match { |
| 34 | + case UTF8 => "UTF8" |
| 35 | + case QUALIFIED => "QUALIFIED" |
| 36 | + case FLATTENED => "FLATTENED" |
| 37 | + case EXPANDED => "EXPANDED" |
| 38 | + case EXPANDPREFIX => "EXPANDPREFIX" |
| 39 | + case TRAITSETTER => "TRAITSETTER" |
| 40 | + case UNIQUE => "UNIQUE" |
| 41 | + case DEFAULTGETTER => "DEFAULTGETTER" |
| 42 | + case VARIANT => "VARIANT" |
| 43 | + case OUTERSELECT => "OUTERSELECT" |
| 44 | + |
| 45 | + case SUPERACCESSOR => "SUPERACCESSOR" |
| 46 | + case PROTECTEDACCESSOR => "PROTECTEDACCESSOR" |
| 47 | + case PROTECTEDSETTER => "PROTECTEDSETTER" |
| 48 | + case INITIALIZER => "INITIALIZER" |
| 49 | + case AVOIDCLASH => "AVOIDCLASH" |
| 50 | + case DIRECT => "DIRECT" |
| 51 | + case FIELD => "FIELD" |
| 52 | + case EXTMETH => "EXTMETH" |
| 53 | + case ADAPTEDCLOSURE => "ADAPTEDCLOSURE" |
| 54 | + case OBJECTCLASS => "OBJECTCLASS" |
| 55 | + |
| 56 | + case SIGNED => "SIGNED" |
| 57 | + } |
| 58 | +} |
0 commit comments