diff options
author | Martin Odersky <odersky@gmail.com> | 2003-10-24 18:15:34 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2003-10-24 18:15:34 +0000 |
commit | c3dd593e0d28458e838008c3a8311c9994f3f8a2 (patch) | |
tree | 2490ce19deb2b3ecbf30724fa11d3ff7fe3f155f /sources/scalac/transformer/AddInterfaces.java | |
parent | 71d2d7d9787f1be2927a9c66dd8e78e9a9b285ea (diff) | |
download | scala-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.java | 8 |
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); |