summaryrefslogtreecommitdiff
path: root/sources/scalac/symtab
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2004-10-25 15:08:59 +0000
committerMartin Odersky <odersky@gmail.com>2004-10-25 15:08:59 +0000
commit55dc9426182208f9b606fc3145ddcd37e9f1ec20 (patch)
treec7598896861292f7b32aa719361223b4d9365620 /sources/scalac/symtab
parenta9664dbf3d60a8e75ea06f7f1b3dac95150d3cc8 (diff)
downloadscala-55dc9426182208f9b606fc3145ddcd37e9f1ec20.tar.gz
scala-55dc9426182208f9b606fc3145ddcd37e9f1ec20.tar.bz2
scala-55dc9426182208f9b606fc3145ddcd37e9f1ec20.zip
*** empty log message ***
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)