RefTypes kontrollieren bei checkType nun auch Parameterliste

This commit is contained in:
JanUlrich 2014-08-05 17:57:23 +02:00
parent c35904d216
commit 18b468547d

View File

@ -8,6 +8,7 @@ import java.util.Hashtable;
import java.util.Iterator; import java.util.Iterator;
import java.util.Vector; import java.util.Vector;
import mycompiler.IItemWithOffset;
import mycompiler.mybytecode.JVMCode; import mycompiler.mybytecode.JVMCode;
import mycompiler.myclass.UsedId; import mycompiler.myclass.UsedId;
import mycompiler.myexception.SCException; import mycompiler.myexception.SCException;
@ -21,10 +22,13 @@ import org.apache.log4j.Logger;
import sun.reflect.generics.reflectiveObjects.NotImplementedException; import sun.reflect.generics.reflectiveObjects.NotImplementedException;
import typinferenz.JavaCodeResult; import typinferenz.JavaCodeResult;
import typinferenz.ResultSet; import typinferenz.ResultSet;
import typinferenz.TypeInsertable; import typinferenz.TypeInsertable;
import typinferenz.assumptions.TypeAssumptions;
import typinferenz.exceptions.TypeinferenceException;
@ -781,6 +785,18 @@ public class RefType extends Type implements IMatchable
return ret; return ret;
} }
@Override
public Type checkType(TypeAssumptions ass, IItemWithOffset parent){
//Der RefType muss zusätzlich seine Parameter prüfen.
Vector<Type> parameterList = new Vector<>();
if(this.parameter!=null)for(Type param : this.parameter){
parameterList.add(param.checkType(ass, parent));
}
this.parameter = parameterList;
Type t = super.checkType(ass,parent);
return t;
}
} }
// ino.end // ino.end