From d7bb282d0fb38cd0d5b29ea8716df2d489522122 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Tue, 20 Jan 2015 16:56:53 +0100 Subject: [PATCH] Fehler behoben --- src/de/dhbwstuttgart/typeinference/KarthesischesProdukt.java | 4 ++++ .../typeinference/assumptions/TypeAssumptions.java | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/de/dhbwstuttgart/typeinference/KarthesischesProdukt.java b/src/de/dhbwstuttgart/typeinference/KarthesischesProdukt.java index 09418a0e..88aba4e2 100755 --- a/src/de/dhbwstuttgart/typeinference/KarthesischesProdukt.java +++ b/src/de/dhbwstuttgart/typeinference/KarthesischesProdukt.java @@ -54,6 +54,10 @@ public class KarthesischesProdukt { private Vector> karthesischesProdukt(Vector m1, Vector m2){ Vector> ret = new Vector>(); + if(m2.size() == 0){//Sonderfall, m2 ist leer: + ret.add(m1); + return ret; //Die restliche Berechnungen können übersprungen werden. + } //for(M o1 : m1){ for(M o2 : m2){ Vector v1 = new Vector(); diff --git a/src/de/dhbwstuttgart/typeinference/assumptions/TypeAssumptions.java b/src/de/dhbwstuttgart/typeinference/assumptions/TypeAssumptions.java index 9787b5b4..162b6ac8 100755 --- a/src/de/dhbwstuttgart/typeinference/assumptions/TypeAssumptions.java +++ b/src/de/dhbwstuttgart/typeinference/assumptions/TypeAssumptions.java @@ -327,7 +327,7 @@ public class TypeAssumptions { for(GenericVarAssumption ass : this.genericVarAssumptions){ //if(ass.inheritsType(t))return t; if(ass.getIdentifier().equals(t.getName())){ - if(! ass.getAssumedType().getParentClass().getName().equals(this.thisClassName)){ + if(! ass.getAssumedType().getParentClass().equals(t.getParentClass())){ //Ist die Generische Variable nicht aus dieser Klasse, so muss sie zu einem TPH umgewandelt werden: return new ConstraintType(ass.getAssumedType().getTypePlaceHolder(inNode)); }