From 4fd6b0098ed0ae704946fc97e97b7f97dee1026e Mon Sep 17 00:00:00 2001 From: schinz Date: Mon, 17 Jan 2005 14:43:28 +0000 Subject: - added a few methods and fields related to run... - added a few methods and fields related to run time types --- sources/scalac/symtab/Definitions.java | 53 +++++++++++++++++++++++++++++----- sources/scalac/util/Names.java | 13 ++++++--- 2 files changed, 54 insertions(+), 12 deletions(-) (limited to 'sources') diff --git a/sources/scalac/symtab/Definitions.java b/sources/scalac/symtab/Definitions.java index 34a6f72bbc..d4260c2b47 100644 --- a/sources/scalac/symtab/Definitions.java +++ b/sources/scalac/symtab/Definitions.java @@ -223,6 +223,7 @@ public class Definitions { } public final Symbol JAVACLASSTYPE_CLASS; + public final Symbol JAVAREFARRAYTYPE_CLASS; public final Symbol SCALACLASSTYPE_CLASS; public final Type SCALACLASSTYPE_TYPE() { @@ -237,12 +238,6 @@ public class Definitions { } public final Symbol COMPOUNDTYPE_CLASS; - public final Symbol METHODTYPE_CLASS; - - public final Symbol REFINEMENT_CLASS; - public final Type REFINEMENT_TYPE() { - return REFINEMENT_CLASS.staticType(); - } /** The scala.Predef module */ public final Symbol PREDEF; @@ -622,6 +617,41 @@ public class Definitions { return RTT_BOOLEAN; } + private Symbol RTT_UNIT; + public Symbol RTT_UNIT() { + if (RTT_UNIT == null) + RTT_UNIT = loadTerm(TYPE_CLASS.linkedModule().moduleClass(), Names.Unit); + return RTT_UNIT; + } + + private Symbol RTT_ANY; + public Symbol RTT_ANY() { + if (RTT_ANY == null) + RTT_ANY = loadTerm(TYPE_CLASS.linkedModule().moduleClass(), Names.Any); + return RTT_ANY; + } + + private Symbol RTT_ANYVAL; + public Symbol RTT_ANYVAL() { + if (RTT_ANYVAL == null) + RTT_ANYVAL = loadTerm(TYPE_CLASS.linkedModule().moduleClass(), Names.AnyVal); + return RTT_ANYVAL; + } + + private Symbol RTT_ALLREF; + public Symbol RTT_ALLREF() { + if (RTT_ALLREF == null) + RTT_ALLREF = loadTerm(TYPE_CLASS.linkedModule().moduleClass(), Names.AllRef); + return RTT_ALLREF; + } + + private Symbol RTT_ALL; + public Symbol RTT_ALL() { + if (RTT_ALL == null) + RTT_ALL = loadTerm(TYPE_CLASS.linkedModule().moduleClass(), Names.All); + return RTT_ALL; + } + private Symbol TYPECONSTRUCTOR_GETINSTANTIATION; public Symbol TYPECONSTRUCTOR_GETINSTANTIATION() { if (TYPECONSTRUCTOR_GETINSTANTIATION == null) { @@ -639,6 +669,14 @@ public class Definitions { return TYPECONSTRUCTOR_INSTANTIATE; } + private Symbol SCALACLASSTYPE_SETPARENTS; + public Symbol SCALACLASSTYPE_SETPARENTS() { + if (SCALACLASSTYPE_SETPARENTS == null) + SCALACLASSTYPE_SETPARENTS = + loadTerm(SCALACLASSTYPE_CLASS, Names.setParents); + return SCALACLASSTYPE_SETPARENTS; + } + //######################################################################## // Public Fields - Global values @@ -724,12 +762,11 @@ public class Definitions { CLASSTYPE_CLASS = getJVMClass("scala.runtime.types.ClassType"); JAVACLASSTYPE_CLASS = getJVMClass("scala.runtime.types.JavaClassType"); + JAVAREFARRAYTYPE_CLASS = getJVMClass("scala.runtime.types.JavaRefArrayType"); SCALACLASSTYPE_CLASS = getJVMClass("scala.runtime.types.ScalaClassType"); SINGLETYPE_CLASS = getJVMClass("scala.runtime.types.SingleType"); TYPECONSTRUCTOR_CLASS = getJVMClass("scala.runtime.types.TypeConstructor"); COMPOUNDTYPE_CLASS = getJVMClass("scala.runtime.types.CompoundType"); - METHODTYPE_CLASS = getJVMClass("scala.runtime.types.MethodType"); - REFINEMENT_CLASS = getJVMClass("scala.runtime.types.Refinement"); PREDEF = getModule("scala.Predef"); CONSOLE = getModule("scala.Console"); diff --git a/sources/scalac/util/Names.java b/sources/scalac/util/Names.java index 1017950ba8..ed4810d98d 100644 --- a/sources/scalac/util/Names.java +++ b/sources/scalac/util/Names.java @@ -74,12 +74,16 @@ public class Names { return Name.fromString(TYPE_PREFIX + sym.name); } - public static Name INSTANTIATE(Symbol sym) { - return Name.fromString(INSTANTIATE_PREFIX + sym.name); + public static Name INSTANTIATE(Symbol sym, boolean isStatic) { + return Name.fromString(INSTANTIATE_PREFIX + + sym.name + + (isStatic ? "$" : "")); } - public static Name TYPECONSTRUCTOR(Symbol sym) { - return Name.fromString(TYPECONSTRUCTOR_PREFIX + sym.name); + public static Name TYPECONSTRUCTOR(Symbol sym, boolean isStatic) { + return Name.fromString(TYPECONSTRUCTOR_PREFIX + + sym.name + + (isStatic ? "$" : "")); } public static final Name ERROR = Name.fromString(""); @@ -199,6 +203,7 @@ public class Names { public static final Name report = Name.fromString("report"); public static final Name runtime = Name.fromString("runtime"); public static final Name scala = Name.fromString("scala"); + public static final Name setParents = Name.fromString("setParents"); public static final Name synchronized_ = Name.fromString("synchronized"); public static final Name tag = Name.fromString("$tag"); public static final Name tail = Name.fromString("tail"); -- cgit v1.2.3