summaryrefslogtreecommitdiff
path: root/sources/scalac/transformer/AddInterfaces.java
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2003-10-24 18:15:34 +0000
committerMartin Odersky <odersky@gmail.com>2003-10-24 18:15:34 +0000
commitc3dd593e0d28458e838008c3a8311c9994f3f8a2 (patch)
tree2490ce19deb2b3ecbf30724fa11d3ff7fe3f155f /sources/scalac/transformer/AddInterfaces.java
parent71d2d7d9787f1be2927a9c66dd8e78e9a9b285ea (diff)
downloadscala-c3dd593e0d28458e838008c3a8311c9994f3f8a2.tar.gz
scala-c3dd593e0d28458e838008c3a8311c9994f3f8a2.tar.bz2
scala-c3dd593e0d28458e838008c3a8311c9994f3f8a2.zip
*** empty log message ***
Diffstat (limited to 'sources/scalac/transformer/AddInterfaces.java')
-rw-r--r--sources/scalac/transformer/AddInterfaces.java8
1 files changed, 7 insertions, 1 deletions
diff --git a/sources/scalac/transformer/AddInterfaces.java b/sources/scalac/transformer/AddInterfaces.java
index 497b7a4feb..46650b7a2a 100644
--- a/sources/scalac/transformer/AddInterfaces.java
+++ b/sources/scalac/transformer/AddInterfaces.java
@@ -240,7 +240,13 @@ class AddInterfaces extends Transformer {
case New(Template templ): {
Tree.New newTree = (Tree.New)super.transform(tree);
- Symbol ifaceSym = newTree.type.unalias().symbol();
+ Type tp = newTree.type;
+ switch (tp) {
+ case CompoundType(Type[] parts, _): tp = parts[0];
+ // gross hack to prevent crashing when selftypes are compound;
+ // should be fixed!
+ }
+ Symbol ifaceSym = tp.unalias().symbol();
if (phase.needInterface(ifaceSym)) {
Map clsMap = new HashMap();
Symbol classSym = phase.getClassSymbol(ifaceSym);