diff --git a/src/mycompiler/mytype/RefType.java b/src/mycompiler/mytype/RefType.java index cfa3b006..9e1ec0c2 100755 --- a/src/mycompiler/mytype/RefType.java +++ b/src/mycompiler/mytype/RefType.java @@ -8,6 +8,7 @@ import java.util.Hashtable; import java.util.Iterator; import java.util.Vector; +import mycompiler.IItemWithOffset; import mycompiler.mybytecode.JVMCode; import mycompiler.myclass.UsedId; import mycompiler.myexception.SCException; @@ -21,10 +22,13 @@ import org.apache.log4j.Logger; + import sun.reflect.generics.reflectiveObjects.NotImplementedException; import typinferenz.JavaCodeResult; import typinferenz.ResultSet; import typinferenz.TypeInsertable; +import typinferenz.assumptions.TypeAssumptions; +import typinferenz.exceptions.TypeinferenceException; @@ -780,6 +784,18 @@ public class RefType extends Type implements IMatchable } return ret; } + + @Override + public Type checkType(TypeAssumptions ass, IItemWithOffset parent){ + //Der RefType muss zusätzlich seine Parameter prüfen. + Vector 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