From 3186eaed671358a9075fe50f89a20049a9e26852 Mon Sep 17 00:00:00 2001 From: paltherr Date: Wed, 7 Jan 2004 17:15:53 +0000 Subject: - Added method MIXIN - Added constants INITIALIZER and INLINED_INITIALIZER --- sources/scalac/util/Names.java | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'sources/scalac/util/Names.java') 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(""); public static final Name CONSTRUCTOR = Name.fromString(""); + public static final Name INITIALIZER = Name.fromString(""); + public static final Name INLINED_INITIALIZER = Name.fromString("$init$"); public static final Name _EQ = encode("_="); public static final Name MINUS = encode("-"); -- cgit v1.2.3