diff options
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); |