summaryrefslogtreecommitdiff
path: root/sources/scalac/util/Names.java
diff options
context:
space:
mode:
authorpaltherr <paltherr@epfl.ch>2004-01-07 17:15:53 +0000
committerpaltherr <paltherr@epfl.ch>2004-01-07 17:15:53 +0000
commit3186eaed671358a9075fe50f89a20049a9e26852 (patch)
tree9a0bd634a31f8992ac7b482361f005b61d8d0e86 /sources/scalac/util/Names.java
parent03399790a42aa81e90b5e1a8c25fcb8f8e9df574 (diff)
downloadscala-3186eaed671358a9075fe50f89a20049a9e26852.tar.gz
scala-3186eaed671358a9075fe50f89a20049a9e26852.tar.bz2
scala-3186eaed671358a9075fe50f89a20049a9e26852.zip
- Added method MIXIN
- Added constants INITIALIZER and INLINED_INITIALIZER
Diffstat (limited to 'sources/scalac/util/Names.java')
-rw-r--r--sources/scalac/util/Names.java10
1 files changed, 10 insertions, 0 deletions
diff --git a/sources/scalac/util/Names.java b/sources/scalac/util/Names.java
index c6d92df9a5..38cf721605 100644
--- a/sources/scalac/util/Names.java
+++ b/sources/scalac/util/Names.java
@@ -12,6 +12,7 @@ import scalac.symtab.Symbol;
public class Names {
private static final String LOCAL_PREFIX = "local$";
+ private static final String MIXIN_PREFIX = "mixin$";
private static final String OUTER_PREFIX = "outer$";
private static final String SUPER_PREFIX = "super$";
private static final String TUPLE_FIELD_PREFIX = "_";
@@ -22,6 +23,13 @@ public class Names {
return Name.fromString(LOCAL_PREFIX + clasz.name);
}
+ public static Name MIXIN(Symbol member) {
+ Name name = Name.fromString(MIXIN_PREFIX + member.owner().name
+ + (member.isInitializer() ? INLINED_INITIALIZER : member.name));
+ if (member.name.isTypeName()) name = name.toTypeName();
+ return name;
+ }
+
public static Name OUTER(Symbol constructor) {
assert constructor.isConstructor() : Debug.show(constructor);
Symbol clasz = constructor.constructorClass();
@@ -66,6 +74,8 @@ public class Names {
public static final Name ROOT = Name.fromString("<root>");
public static final Name CONSTRUCTOR = Name.fromString("<init>");
+ public static final Name INITIALIZER = Name.fromString("<init>");
+ public static final Name INLINED_INITIALIZER = Name.fromString("$init$");
public static final Name _EQ = encode("_=");
public static final Name MINUS = encode("-");