summaryrefslogtreecommitdiff
path: root/sources/scalac/symtab
diff options
context:
space:
mode:
Diffstat (limited to 'sources/scalac/symtab')
-rw-r--r--sources/scalac/symtab/Type.java4
1 files changed, 2 insertions, 2 deletions
diff --git a/sources/scalac/symtab/Type.java b/sources/scalac/symtab/Type.java
index 5901fc75fa..94083d5155 100644
--- a/sources/scalac/symtab/Type.java
+++ b/sources/scalac/symtab/Type.java
@@ -197,8 +197,6 @@ public class Type implements Modifiers, Kinds, TypeTags, EntryTags {
}
public static Type typeRef(Type pre, Symbol sym, Type[] args) {
- if (sym.kind == TYPE && !pre.isLegalPrefix() && !pre.isError())
- throw new Type.Malformed(pre, sym.nameString());
rebind:
if (sym.isAbstractType()) {
Symbol owner = sym.owner();
@@ -213,6 +211,8 @@ public class Type implements Modifiers, Kinds, TypeTags, EntryTags {
"illegal cyclic reference involving " + rebind);
sym = rebind.rebindSym();
}
+ if (sym.isAbstractType() && !pre.isLegalPrefix() && !pre.isError())
+ throw new Type.Malformed(pre, sym.nameString());
if (sym.isTypeAlias()) {
Symbol[] params = sym.typeParams();
if (args.length == params.length)