summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpaltherr <paltherr@epfl.ch>2003-02-21 10:28:49 +0000
committerpaltherr <paltherr@epfl.ch>2003-02-21 10:28:49 +0000
commitee9191bbf03daecc6f77942c78a363e36ce6afb9 (patch)
treeef8c23ecf8059f8e4564a35ba2829a8e2a99694a
parent55c2ee3d4953aac153719512baa20da32222554f (diff)
downloadscala-ee9191bbf03daecc6f77942c78a363e36ce6afb9.tar.gz
scala-ee9191bbf03daecc6f77942c78a363e36ce6afb9.tar.bz2
scala-ee9191bbf03daecc6f77942c78a363e36ce6afb9.zip
- Added class MapOnlyTypes
- Changed erasureMap to extend MapOnlyTypes instead of Map
-rw-r--r--sources/scalac/symtab/Type.java8
1 files changed, 7 insertions, 1 deletions
diff --git a/sources/scalac/symtab/Type.java b/sources/scalac/symtab/Type.java
index a16250004e..7e94662d9a 100644
--- a/sources/scalac/symtab/Type.java
+++ b/sources/scalac/symtab/Type.java
@@ -669,6 +669,12 @@ public class Type implements Modifiers, Kinds, TypeTags {
}
}
+ public abstract static class MapOnlyTypes extends Map {
+ public Symbol map(Symbol sym) { return sym; }
+ public Symbol[] map(Symbol[] syms) { return syms; }
+ public Scope map(Scope s) { return s; }
+ }
+
// baseType and asSeenFrom --------------------------------------------------------
/** Return the base type of this type whose symbol is `clazz', or NoType, if
@@ -1845,7 +1851,7 @@ public class Type implements Modifiers, Kinds, TypeTags {
// Erasure --------------------------------------------------------------------------
- public static Map erasureMap = new Map() {
+ public static Map erasureMap = new MapOnlyTypes() {
public Type apply(Type t) { return t.erasure(); }
};