diff options
author | schinz <schinz@epfl.ch> | 2005-05-11 18:33:23 +0000 |
---|---|---|
committer | schinz <schinz@epfl.ch> | 2005-05-11 18:33:23 +0000 |
commit | d1b4a12b05f0c5d1046c0b96d4259242cfc48853 (patch) | |
tree | c932a414140218b0f6e5827d9bc5ba988d30e0ec /sources/scalac/util | |
parent | ece0d0ed89a97f1c5d98eaf9f5a926680f5dbc0f (diff) | |
download | scala-d1b4a12b05f0c5d1046c0b96d4259242cfc48853.tar.gz scala-d1b4a12b05f0c5d1046c0b96d4259242cfc48853.tar.bz2 scala-d1b4a12b05f0c5d1046c0b96d4259242cfc48853.zip |
- 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
Diffstat (limited to 'sources/scalac/util')
-rw-r--r-- | sources/scalac/util/Names.java | 6 |
1 files changed, 6 insertions, 0 deletions
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"); |