From d1b4a12b05f0c5d1046c0b96d4259242cfc48853 Mon Sep 17 00:00:00 2001 From: schinz Date: Wed, 11 May 2005 18:33:23 +0000 Subject: - bug fix: detect types whose instantiation can... - bug fix: detect types whose instantiation can lead to infinite loops, and compile them differently so that their parents are computed lazily --- sources/scalac/util/Names.java | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'sources/scalac/util/Names.java') diff --git a/sources/scalac/util/Names.java b/sources/scalac/util/Names.java index 4ed8c69336..0a2883d0aa 100644 --- a/sources/scalac/util/Names.java +++ b/sources/scalac/util/Names.java @@ -25,6 +25,7 @@ public class Names { private static final String TUPLE_FIELD_PREFIX = "_"; private static final String TYPE_PREFIX = "type$"; private static final String INSTANTIATE_PREFIX = "instantiate$"; + private static final String LAZYPARENTS_PREFIX = "LazyParents$"; private static final String TYPECONSTRUCTOR_PREFIX = "tConstructor$"; public static Name ALIAS(ClassSymbol clasz) { @@ -80,6 +81,10 @@ public class Names { + (isStatic ? "$" : "")); } + public static Name LAZYPARENTS(Symbol clsSym) { + return Name.fromString(LAZYPARENTS_PREFIX + clsSym.name).toTypeName(); + } + public static Name TYPECONSTRUCTOR(Symbol sym, boolean isStatic) { return Name.fromString(TYPECONSTRUCTOR_PREFIX + sym.name @@ -176,6 +181,7 @@ public class Names { public static final Name finalize = Name.fromString("finalize"); public static final Name flatmap = Name.fromString("flatMap"); public static final Name foreach = Name.fromString("foreach"); + public static final Name force = Name.fromString("force"); public static final Name functionOuter = Name.fromString("FUNCTION_OUTER"); public static final Name get = Name.fromString("get"); public static final Name getClass = Name.fromString("getClass"); -- cgit v1.2.3