From 2b6ffdef119bec19bbe3e0b81c7ad44d72666dc7 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Tue, 26 May 2015 10:13:35 +0200 Subject: [PATCH] =?UTF-8?q?Java=20Compliance=20auf=20JRE=208=20erh=C3=B6he?= =?UTF-8?q?n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .classpath | 2 +- .settings/com.google.gwt.eclipse.core.prefs | 2 + .settings/org.eclipse.jdt.core.prefs | 6 +- bin/log4j.xml | 70 ++-- bin/log4jTesting.xml | 48 +-- .../syntaxtree/statement/StringLiteral.java | 24 +- .../typeinference/ConstraintsSet.java | 55 +++- .../typeinference/OderConstraint.java | 11 +- .../typeinference/OderMenge.java | 15 +- .../typeinference/SingleConstraint.java | 2 +- .../typeinference/UndConstraint.java | 25 +- .../dhbwstuttgart/typeinference/UndMenge.java | 23 +- .../typeinference/unify/Unify.java | 30 +- .../KarthesischesProduktTest.java | 11 + test/unify/UnifyFilter.jav.log | 306 ++++++------------ 15 files changed, 301 insertions(+), 329 deletions(-) create mode 100644 .settings/com.google.gwt.eclipse.core.prefs diff --git a/.classpath b/.classpath index f142a181..bd1be8d1 100755 --- a/.classpath +++ b/.classpath @@ -3,7 +3,7 @@ - + diff --git a/.settings/com.google.gwt.eclipse.core.prefs b/.settings/com.google.gwt.eclipse.core.prefs new file mode 100644 index 00000000..82c36afe --- /dev/null +++ b/.settings/com.google.gwt.eclipse.core.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +filesCopiedToWebInfLib= diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs index 37e3515b..552a5c96 100755 --- a/.settings/org.eclipse.jdt.core.prefs +++ b/.settings/org.eclipse.jdt.core.prefs @@ -2,12 +2,12 @@ eclipse.preferences.version=1 instance/org.eclipse.core.net/org.eclipse.core.net.hasMigrated=true org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.7 +org.eclipse.jdt.core.compiler.compliance=1.8 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.7 +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/bin/log4j.xml b/bin/log4j.xml index f36fb342..64e7c5db 100755 --- a/bin/log4j.xml +++ b/bin/log4j.xml @@ -1,35 +1,35 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bin/log4jTesting.xml b/bin/log4jTesting.xml index ef849218..dc30c245 100755 --- a/bin/log4jTesting.xml +++ b/bin/log4jTesting.xml @@ -1,24 +1,24 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/StringLiteral.java b/src/de/dhbwstuttgart/syntaxtree/statement/StringLiteral.java index f1c9b2ff..20803b2d 100755 --- a/src/de/dhbwstuttgart/syntaxtree/statement/StringLiteral.java +++ b/src/de/dhbwstuttgart/syntaxtree/statement/StringLiteral.java @@ -1,17 +1,11 @@ -// ino.module.StringLiteral.8653.package + package de.dhbwstuttgart.syntaxtree.statement; -// ino.end -// ino.module.StringLiteral.8653.import -import java.util.Hashtable; + import de.dhbwstuttgart.typeinference.Menge; import de.dhbwstuttgart.logger.Logger; -import de.dhbwstuttgart.myexception.CTypeReconstructionException; -import de.dhbwstuttgart.myexception.JVMCodeException; -import de.dhbwstuttgart.syntaxtree.Class; import de.dhbwstuttgart.syntaxtree.SyntaxTreeNode; -import de.dhbwstuttgart.syntaxtree.type.CharacterType; import de.dhbwstuttgart.syntaxtree.type.GenericTypeVar; import de.dhbwstuttgart.syntaxtree.type.RefType; import de.dhbwstuttgart.syntaxtree.type.Type; @@ -19,20 +13,11 @@ import de.dhbwstuttgart.typeinference.ConstraintsSet; import de.dhbwstuttgart.typeinference.JavaCodeResult; import de.dhbwstuttgart.typeinference.ResultSet; import de.dhbwstuttgart.typeinference.assumptions.TypeAssumptions; -import de.dhbwstuttgart.typeinference.exceptions.TypeinferenceException; -import de.dhbwstuttgart.typeinference.unify.CSubstitutionSet; - - -// ino.class.StringLiteral.26227.declaration public class StringLiteral extends Literal -// ino.end -// ino.class.StringLiteral.26227.body { - // ino.attribute.string.26231.declaration private String string; - // ino.end // ino.attribute.parserlog.26234.declaration protected static Logger parserlog = Logger.getLogger("parser"); @@ -107,6 +92,11 @@ public class StringLiteral extends Literal Menge ret = new Menge(); return ret; } + + @Override + public String toString(){ + return "\""+this.string+"\""; + } } // ino.end diff --git a/src/de/dhbwstuttgart/typeinference/ConstraintsSet.java b/src/de/dhbwstuttgart/typeinference/ConstraintsSet.java index 6e4a483d..ec32cc37 100755 --- a/src/de/dhbwstuttgart/typeinference/ConstraintsSet.java +++ b/src/de/dhbwstuttgart/typeinference/ConstraintsSet.java @@ -6,18 +6,22 @@ import de.dhbwstuttgart.typeinference.Menge; import de.dhbwstuttgart.logger.*; import de.dhbwstuttgart.typeinference.unify.Unifier; +interface Constraint{ + +} -public class ConstraintsSet extends UndMenge{ +public class ConstraintsSet{ + private UndMenge set = new UndMenge<>(); private static final Logger log = Logger.getLogger(ConstraintsSet.class.getName()); public void add(ConstraintsSet CSet){ - for(KomplexeMenge i : CSet.set){ - this.addItems(i); + for(KomplexeMenge i : CSet.set.set){ + this.set.addItems(i); } } public void add(KomplexeMenge constraint){ - this.addItems(constraint); + this.set.addItems(constraint); } @@ -62,26 +66,59 @@ public class ConstraintsSet extends UndMenge{ } */ + /** + * + * @param unify + */ public void filterWrongConstraints(Unifier unify) { + /* + Menge> newSet = new Menge>(); + for(OderMenge orSet : this.getOrSets()){ + OderMenge filtered = this.filterOrSet(unify, orSet); + newSet.add(filtered); + } + for(KomplexeMenge i : this.set.set){ + newSet.addAll(i.getAndSets()); + } + this.set.set = newSet; + Menge> newSet = new Menge>(); for(OderMenge orSet : this.getOrSets()){ Menge> res = unify.apply(orSet.getItems()); if(res.size()>0){ newSet.add(orSet); }else{ - Logger.getLogger("Filter").debug("Ausgesondertes Constraint: "+orSet, Section.TYPEINFERENCE); + Logger.getLogger(this.getClass().getName()) + .debug("Ausgesondertes Constraint: "+orSet, Section.TYPEINFERENCE); } } for(KomplexeMenge i : set){ newSet.addAll(i.getAndSets()); } this.set = newSet; - /* - for(OderConstraint constraint : this){ - constraint.filterWrongConstraints(unify); - } + */ } + + private OderMenge filterOrSet(Unifier unify, OderMenge orMenge){ + /* + OderMenge ret = new OderMenge(); + for(OderMenge m : orMenge.getOrSets()){ + ret.addItems(this.filterOrSet(unify, m)); + } + for(UndMenge m : orMenge.getAndSets()){ + Menge> res = unify.apply(m.getItems()); + if(res.size()>0){ + ret.addItems(m); + }else{ + Logger.getLogger(this.getClass().getName()) + .debug("Ausgesondertes Constraint: "+m, Section.TYPEINFERENCE); + } + } + return ret; + */ + return orMenge; + } /** * Nimmt alle UndConstraints und filtert mithilfe dieser die falschen Constraints aus den OderConstraints diff --git a/src/de/dhbwstuttgart/typeinference/OderConstraint.java b/src/de/dhbwstuttgart/typeinference/OderConstraint.java index fc4935f8..ca3d2b01 100755 --- a/src/de/dhbwstuttgart/typeinference/OderConstraint.java +++ b/src/de/dhbwstuttgart/typeinference/OderConstraint.java @@ -9,7 +9,8 @@ import de.dhbwstuttgart.syntaxtree.type.Type; import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder; import de.dhbwstuttgart.typeinference.unify.Unifier; -public class OderConstraint extends OderMenge{ +public class OderConstraint{ + private OderMenge oSet = new OderMenge(); //private Menge oderConstraintPairs; private final static Logger logger = Logger.getLogger(OderConstraint.class.getName()); @@ -58,10 +59,10 @@ public class OderConstraint extends OderMenge{ */ public void addConstraint(ConstraintPair toAdd){ //oderConstraintPairs.add(new SingleConstraint(toAdd)); - this.addItem(toAdd.getPair()); + this.oSet.addItem(toAdd.getPair()); } public void addConstraint(UndConstraint methodConstraint) { - this.addItems(methodConstraint);//oderConstraintPairs.add(methodConstraint); + this.oSet.addItems(methodConstraint.getConstraints());//oderConstraintPairs.add(methodConstraint); } //TODO: Funktionalität für filter implementieren @@ -89,6 +90,10 @@ public class OderConstraint extends OderMenge{ return null; */ } + + public void addItems(UndConstraint uCons) { + + } /* @Override diff --git a/src/de/dhbwstuttgart/typeinference/OderMenge.java b/src/de/dhbwstuttgart/typeinference/OderMenge.java index 853fa968..54cabb65 100644 --- a/src/de/dhbwstuttgart/typeinference/OderMenge.java +++ b/src/de/dhbwstuttgart/typeinference/OderMenge.java @@ -22,9 +22,6 @@ interface KomplexeMenge{ void addItems(KomplexeMenge item); void addItem(A item); Menge> cartesianProduct(); - Menge getItems(); - Menge> getOrSets(); - Menge> getAndSets(); } public class OderMenge implements KomplexeMenge{ @@ -35,6 +32,7 @@ public class OderMenge implements KomplexeMenge{ set.add(item); } + /* public Menge getItems(){ Menge ret = new Menge<>(); for(KomplexeMenge i : set){ @@ -42,6 +40,7 @@ public class OderMenge implements KomplexeMenge{ } return ret; } + */ @Override public void addItem(A item) { @@ -57,13 +56,14 @@ public class OderMenge implements KomplexeMenge{ return ret; } + /* @Override public Menge> getOrSets() { Menge> ret = new Menge<>(); ret.add(this); - for(KomplexeMenge i : set){ - ret.addAll(i.getOrSets()); - } + //for(KomplexeMenge i : set){ + // ret.addAll(i.getOrSets()); + //} return ret; } @@ -75,12 +75,13 @@ public class OderMenge implements KomplexeMenge{ } return ret; } + */ @Override public String toString(){ String ret = "["; for(KomplexeMenge i : set){ - ret += i.toString() + " |\n"; + ret += i.toString() + " | "; } return ret + "]"; } diff --git a/src/de/dhbwstuttgart/typeinference/SingleConstraint.java b/src/de/dhbwstuttgart/typeinference/SingleConstraint.java index 18232176..491910bc 100755 --- a/src/de/dhbwstuttgart/typeinference/SingleConstraint.java +++ b/src/de/dhbwstuttgart/typeinference/SingleConstraint.java @@ -37,7 +37,7 @@ public class SingleConstraint extends EinzelElement{ } public Pair getPair(){ - return this.getItems().firstElement(); + return this.cartesianProduct().firstElement().firstElement(); } /* diff --git a/src/de/dhbwstuttgart/typeinference/UndConstraint.java b/src/de/dhbwstuttgart/typeinference/UndConstraint.java index 3e7b241a..99ef38b4 100755 --- a/src/de/dhbwstuttgart/typeinference/UndConstraint.java +++ b/src/de/dhbwstuttgart/typeinference/UndConstraint.java @@ -11,17 +11,23 @@ import de.dhbwstuttgart.typeinference.unify.Unifier; * @author janulrich * */ -public class UndConstraint extends UndMenge implements Iterable{ +public class UndConstraint{ + private UndMenge uSet = new UndMenge(); + public UndConstraint(ConstraintType p1, ConstraintType p2) { //super(p1, p2); - this.addItem(new SingleConstraint(p1,p2).getPair()); + this.uSet.addItem(new SingleConstraint(p1,p2).getPair()); } public UndConstraint() { super(); } + UndMenge getConstraints(){ + return uSet; + } + /* @Override public Menge getUndConstraints() { @@ -35,11 +41,14 @@ public class UndConstraint extends UndMenge implements Iterable{ public String toString(){ //String ret = super.toString(); //return ret.replace('|', ','); + /* String ret = "["; - for(Pair p : this.getItems()){ + for(Pair p : this.uSet.getItems()){ ret += p.toString()+ ", "; } return ret+"]"; + */ + return uSet.toString(); } /* @@ -52,18 +61,18 @@ public class UndConstraint extends UndMenge implements Iterable{ UndConstraint filterUndConstraints(){ return this; } - */ + @Override public Iterator iterator() { - return this.getItems().iterator(); + return this.uSet.getItems().iterator(); } - + */ public void addConstraint(ConstraintType type, ConstraintType type2) { - this.addItem(new ConstraintPair(type,type2).getPair()); + this.uSet.addItem(new ConstraintPair(type,type2).getPair()); } public void addConstraint(ConstraintPair constraintPair) { - this.addItem(constraintPair.getPair()); + this.uSet.addItem(constraintPair.getPair()); } } diff --git a/src/de/dhbwstuttgart/typeinference/UndMenge.java b/src/de/dhbwstuttgart/typeinference/UndMenge.java index a8fcc060..fff77db7 100644 --- a/src/de/dhbwstuttgart/typeinference/UndMenge.java +++ b/src/de/dhbwstuttgart/typeinference/UndMenge.java @@ -17,6 +17,7 @@ public class UndMenge implements KomplexeMenge{ set.add(new EinzelElement(item)); } + /* public Menge getItems(){ Menge ret = new Menge<>(); for(KomplexeMenge i : set){ @@ -24,6 +25,7 @@ public class UndMenge implements KomplexeMenge{ } return ret; } + */ @Override public Menge> cartesianProduct() { @@ -43,9 +45,11 @@ public class UndMenge implements KomplexeMenge{ ret = cartesianProduct; } } + if(ret == null)return new Menge>(); return ret; } + /* @Override public Menge> getOrSets() { Menge> ret = new Menge<>(); @@ -59,16 +63,16 @@ public class UndMenge implements KomplexeMenge{ public Menge> getAndSets() { Menge> ret = new Menge<>(); ret.add(this); - for(KomplexeMenge i : set){ - ret.addAll(i.getAndSets()); - } + //for(KomplexeMenge i : set){ + // ret.addAll(i.getAndSets()); + //} return ret; } - + */ public String toString(){ String ret = "["; for(KomplexeMenge item : set){ - ret += item.toString() + "\n"; + ret += item.toString() + " , "; } return ret + "]"; } @@ -87,12 +91,14 @@ class EinzelElement implements KomplexeMenge{ } + /* @Override public Menge getItems() { Menge ret = new Menge<>(); ret.add(item); return ret; } + */ @Override public void addItem(A item) { @@ -109,6 +115,7 @@ class EinzelElement implements KomplexeMenge{ return ret; } + /* @Override public Menge> getOrSets() { Menge> ret = new Menge<>(); @@ -120,5 +127,11 @@ class EinzelElement implements KomplexeMenge{ Menge> ret = new Menge<>(); return ret; } + */ + + @Override + public String toString(){ + return item.toString(); + } } \ No newline at end of file diff --git a/src/de/dhbwstuttgart/typeinference/unify/Unify.java b/src/de/dhbwstuttgart/typeinference/unify/Unify.java index 852183a6..c44633fe 100755 --- a/src/de/dhbwstuttgart/typeinference/unify/Unify.java +++ b/src/de/dhbwstuttgart/typeinference/unify/Unify.java @@ -645,18 +645,19 @@ public class Unify cSet.addItems(orConstraints); } + SectionLogger log = Logger.getSectionLogger(Unify.class.getName(), Section.UNIFY); + if(filter){ - SectionLogger log = Logger.getSectionLogger(Unify.class.getName(), Section.UNIFY); - - Unifier filterUnify = (pairs)->{ - String pairsString = pairs.toString(); - Menge> retValue = new Menge<>(); - retValue = Unify.unifyFiltered(pairs,fc_tto,false); - //Unify.unify(pairs, fc_tto, (i)->{}); - log.debug("Filtere Constraints:\n"+pairsString); - log.debug("Ergebnis: "+ retValue); - return retValue;}; - log.debug("Filtere 'WrongConstraints' auf: "+cSet); + Unifier filterUnify = (pairs)->{ + String pairsString = pairs.toString(); + Menge> retValue = new Menge<>(); + retValue = Unify.unifyFiltered(pairs,fc_tto,false); + //Unify.unify(pairs, fc_tto, (i)->{}); + log.debug("Filtere Constraints:\n"+pairsString); + log.debug("Ergebnis: "+ retValue); + return retValue;}; + + log.debug("Filtere mithilfe von 'filterWrongConstraints': "+cSet); cSet.filterWrongConstraints(filterUnify); } @@ -672,6 +673,10 @@ public class Unify } */ + Menge> bigCartProductErg = cSet.cartesianProduct(); + if(filter)log.debug("Karthesisches Produkt nach Filterung: "+bigCartProductErg); + + /* //Hier wird aus den in Schritt 4, Teil 1 erzeugten Vektoren das Kartesische Produkt gebildet. Menge helpvp; Menge> bigCartProductErg = new Menge>(); @@ -691,7 +696,8 @@ public class Unify } } } - + */ + //Schritt 5: Einsetzen der Subst Regel //Hier werden die TPHs substituiert, und dann nach geänderten und nicht geänderten Sets sortiert. Menge> changedSets = new Menge>(); diff --git a/test/KomplexeMenge/KarthesischesProduktTest.java b/test/KomplexeMenge/KarthesischesProduktTest.java index 327c37ea..6d48b918 100644 --- a/test/KomplexeMenge/KarthesischesProduktTest.java +++ b/test/KomplexeMenge/KarthesischesProduktTest.java @@ -78,4 +78,15 @@ public class KarthesischesProduktTest { //System.out.println("undMenge:"+oM3.cartesianProduct()); assertTrue(oM3.cartesianProduct().size()==0); } + + @Test + public void test6(){ + OderMenge oM1 = new OderMenge<>(); + OderMenge oM2 = new OderMenge<>(); + UndMenge oM3 = new UndMenge<>(); + oM3.addItems(oM1); + oM3.addItems(oM2); + //System.out.println("undMenge:"+oM3.cartesianProduct()); + assertTrue(oM3.cartesianProduct().size()==0); + } } diff --git a/test/unify/UnifyFilter.jav.log b/test/unify/UnifyFilter.jav.log index be41765b..365cb944 100644 --- a/test/unify/UnifyFilter.jav.log +++ b/test/unify/UnifyFilter.jav.log @@ -846,24 +846,18 @@ Typeinference: Prozessing statement: TPH B [var] - TYPEINFERENCE de.dhbwstuttgart.syntaxtree.Class: Erstellte Constraints: [de.dhbwstuttgart.typeinference.SingleConstraint@7106e68e [[ (void <. TPH ABI), -(TPH B <. Test), ] | -[ +(TPH B <. Test), ] | [ (void <. TPH ABI), -(TPH B <. Klasse1), ] | -[ +(TPH B <. Klasse1), ] | [ (void <. TPH ABI), -(TPH B <. Klasse2), ] | -] +(TPH B <. Klasse2), ] | ] [[ (void <. TPH ABJ), -(TPH B <. Test), ] | -[ +(TPH B <. Test), ] | [ (void <. TPH ABJ), -(TPH B <. Klasse1), ] | -[ +(TPH B <. Klasse1), ] | [ (void <. TPH ABJ), -(TPH B <. Klasse2), ] | -] +(TPH B <. Klasse2), ] | ] de.dhbwstuttgart.typeinference.SingleConstraint@7eda2dbb de.dhbwstuttgart.typeinference.SingleConstraint@6576fe71 ] - TYPEINFERENCE @@ -945,24 +939,18 @@ Typeinference: Übriggebliebene Konstraints: [de.dhbwstuttgart.typeinference.SingleConstraint@7106e68e [[ (void <. TPH ABI), -(TPH B <. Test), ] | -[ +(TPH B <. Test), ] | [ (void <. TPH ABI), -(TPH B <. Klasse1), ] | -[ +(TPH B <. Klasse1), ] | [ (void <. TPH ABI), -(TPH B <. Klasse2), ] | -] +(TPH B <. Klasse2), ] | ] [[ (void <. TPH ABJ), -(TPH B <. Test), ] | -[ +(TPH B <. Test), ] | [ (void <. TPH ABJ), -(TPH B <. Klasse1), ] | -[ +(TPH B <. Klasse1), ] | [ (void <. TPH ABJ), -(TPH B <. Klasse2), ] | -] +(TPH B <. Klasse2), ] | ] de.dhbwstuttgart.typeinference.SingleConstraint@7eda2dbb de.dhbwstuttgart.typeinference.SingleConstraint@6576fe71 de.dhbwstuttgart.typeinference.SingleConstraint@76fb509a @@ -1382,15 +1370,11 @@ de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH B = Test), ] | -[ -(TPH B = ? extends Test), ] | -] +(TPH B = Test), ] | [ +(TPH B = ? extends Test), ] | ] [[ -(TPH B = Test), ] | -[ -(TPH B = ? extends Test), ] | -] +(TPH B = Test), ] | [ +(TPH B = ? extends Test), ] | ] ] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { @@ -1459,10 +1443,8 @@ de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: (TPH B = ? extends Test)] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [] - UNIFY Filter: Ausgesondertes Constraint: [[ -(TPH B = Test), ] | -[ -(Test = ? extends Test), ] | -] - TYPEINFERENCE +(TPH B = Test), ] | [ +(Test = ? extends Test), ] | ] - TYPEINFERENCE de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { (TPH B = Test)Equal, @@ -1530,10 +1512,8 @@ de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: (TPH B = ? extends Test)] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [] - UNIFY Filter: Ausgesondertes Constraint: [[ -(TPH B = Test), ] | -[ -(Test = ? extends Test), ] | -] - TYPEINFERENCE +(TPH B = Test), ] | [ +(Test = ? extends Test), ] | ] - TYPEINFERENCE de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { (void <. TPH ABI)Smaller } - UNIFY @@ -1547,8 +1527,7 @@ de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: --> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH ABI = void), ] | -] +(TPH ABI = void), ] | ] ] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { @@ -1580,8 +1559,7 @@ de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: --> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH ABJ = void), ] | -] +(TPH ABJ = void), ] | ] ] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { @@ -2061,15 +2039,11 @@ de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH B = Test), ] | -[ -(TPH B = ? extends Test), ] | -] +(TPH B = Test), ] | [ +(TPH B = ? extends Test), ] | ] [[ -(TPH B = Klasse1), ] | -[ -(TPH B = ? extends Klasse1), ] | -] +(TPH B = Klasse1), ] | [ +(TPH B = ? extends Klasse1), ] | ] ] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { @@ -2138,10 +2112,8 @@ de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: (TPH B = ? extends Test)] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [] - UNIFY Filter: Ausgesondertes Constraint: [[ -(TPH B = Test), ] | -[ -(Test = ? extends Test), ] | -] - TYPEINFERENCE +(TPH B = Test), ] | [ +(Test = ? extends Test), ] | ] - TYPEINFERENCE de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { (TPH B = Klasse1)Equal, @@ -2209,10 +2181,8 @@ de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: (TPH B = ? extends Klasse1)] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [] - UNIFY Filter: Ausgesondertes Constraint: [[ -(TPH B = Klasse1), ] | -[ -(Klasse1 = ? extends Klasse1), ] | -] - TYPEINFERENCE +(TPH B = Klasse1), ] | [ +(Klasse1 = ? extends Klasse1), ] | ] - TYPEINFERENCE de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { (void <. TPH ABI)Smaller } - UNIFY @@ -2226,8 +2196,7 @@ de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: --> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH ABI = void), ] | -] +(TPH ABI = void), ] | ] ] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { @@ -2259,8 +2228,7 @@ de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: --> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH ABJ = void), ] | -] +(TPH ABJ = void), ] | ] ] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { @@ -2740,15 +2708,11 @@ de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH B = Test), ] | -[ -(TPH B = ? extends Test), ] | -] +(TPH B = Test), ] | [ +(TPH B = ? extends Test), ] | ] [[ -(TPH B = Klasse2), ] | -[ -(TPH B = ? extends Klasse2), ] | -] +(TPH B = Klasse2), ] | [ +(TPH B = ? extends Klasse2), ] | ] ] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { @@ -2817,10 +2781,8 @@ de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: (TPH B = ? extends Test)] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [] - UNIFY Filter: Ausgesondertes Constraint: [[ -(TPH B = Test), ] | -[ -(Test = ? extends Test), ] | -] - TYPEINFERENCE +(TPH B = Test), ] | [ +(Test = ? extends Test), ] | ] - TYPEINFERENCE de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { (TPH B = Klasse2)Equal, @@ -2888,10 +2850,8 @@ de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: (TPH B = ? extends Klasse2)] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [] - UNIFY Filter: Ausgesondertes Constraint: [[ -(TPH B = Klasse2), ] | -[ -(Klasse2 = ? extends Klasse2), ] | -] - TYPEINFERENCE +(TPH B = Klasse2), ] | [ +(Klasse2 = ? extends Klasse2), ] | ] - TYPEINFERENCE de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { (void <. TPH ABI)Smaller } - UNIFY @@ -2905,8 +2865,7 @@ de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: --> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH ABI = void), ] | -] +(TPH ABI = void), ] | ] ] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { @@ -2938,8 +2897,7 @@ de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: --> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH ABJ = void), ] | -] +(TPH ABJ = void), ] | ] ] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { @@ -3419,15 +3377,11 @@ de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH B = Klasse1), ] | -[ -(TPH B = ? extends Klasse1), ] | -] +(TPH B = Klasse1), ] | [ +(TPH B = ? extends Klasse1), ] | ] [[ -(TPH B = Test), ] | -[ -(TPH B = ? extends Test), ] | -] +(TPH B = Test), ] | [ +(TPH B = ? extends Test), ] | ] ] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { @@ -3496,10 +3450,8 @@ de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: (TPH B = ? extends Klasse1)] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [] - UNIFY Filter: Ausgesondertes Constraint: [[ -(TPH B = Klasse1), ] | -[ -(Klasse1 = ? extends Klasse1), ] | -] - TYPEINFERENCE +(TPH B = Klasse1), ] | [ +(Klasse1 = ? extends Klasse1), ] | ] - TYPEINFERENCE de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { (TPH B = Test)Equal, @@ -3567,10 +3519,8 @@ de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: (TPH B = ? extends Test)] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [] - UNIFY Filter: Ausgesondertes Constraint: [[ -(TPH B = Test), ] | -[ -(Test = ? extends Test), ] | -] - TYPEINFERENCE +(TPH B = Test), ] | [ +(Test = ? extends Test), ] | ] - TYPEINFERENCE de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { (void <. TPH ABI)Smaller } - UNIFY @@ -3584,8 +3534,7 @@ de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: --> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH ABI = void), ] | -] +(TPH ABI = void), ] | ] ] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { @@ -3617,8 +3566,7 @@ de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: --> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH ABJ = void), ] | -] +(TPH ABJ = void), ] | ] ] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { @@ -4098,15 +4046,11 @@ de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH B = Klasse1), ] | -[ -(TPH B = ? extends Klasse1), ] | -] +(TPH B = Klasse1), ] | [ +(TPH B = ? extends Klasse1), ] | ] [[ -(TPH B = Klasse1), ] | -[ -(TPH B = ? extends Klasse1), ] | -] +(TPH B = Klasse1), ] | [ +(TPH B = ? extends Klasse1), ] | ] ] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { @@ -4175,10 +4119,8 @@ de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: (TPH B = ? extends Klasse1)] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [] - UNIFY Filter: Ausgesondertes Constraint: [[ -(TPH B = Klasse1), ] | -[ -(Klasse1 = ? extends Klasse1), ] | -] - TYPEINFERENCE +(TPH B = Klasse1), ] | [ +(Klasse1 = ? extends Klasse1), ] | ] - TYPEINFERENCE de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { (TPH B = Klasse1)Equal, @@ -4246,10 +4188,8 @@ de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: (TPH B = ? extends Klasse1)] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [] - UNIFY Filter: Ausgesondertes Constraint: [[ -(TPH B = Klasse1), ] | -[ -(Klasse1 = ? extends Klasse1), ] | -] - TYPEINFERENCE +(TPH B = Klasse1), ] | [ +(Klasse1 = ? extends Klasse1), ] | ] - TYPEINFERENCE de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { (void <. TPH ABI)Smaller } - UNIFY @@ -4263,8 +4203,7 @@ de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: --> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH ABI = void), ] | -] +(TPH ABI = void), ] | ] ] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { @@ -4296,8 +4235,7 @@ de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: --> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH ABJ = void), ] | -] +(TPH ABJ = void), ] | ] ] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { @@ -4777,15 +4715,11 @@ de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH B = Klasse1), ] | -[ -(TPH B = ? extends Klasse1), ] | -] +(TPH B = Klasse1), ] | [ +(TPH B = ? extends Klasse1), ] | ] [[ -(TPH B = Klasse2), ] | -[ -(TPH B = ? extends Klasse2), ] | -] +(TPH B = Klasse2), ] | [ +(TPH B = ? extends Klasse2), ] | ] ] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { @@ -4854,10 +4788,8 @@ de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: (TPH B = ? extends Klasse1)] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [] - UNIFY Filter: Ausgesondertes Constraint: [[ -(TPH B = Klasse1), ] | -[ -(Klasse1 = ? extends Klasse1), ] | -] - TYPEINFERENCE +(TPH B = Klasse1), ] | [ +(Klasse1 = ? extends Klasse1), ] | ] - TYPEINFERENCE de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { (TPH B = Klasse2)Equal, @@ -4925,10 +4857,8 @@ de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: (TPH B = ? extends Klasse2)] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [] - UNIFY Filter: Ausgesondertes Constraint: [[ -(TPH B = Klasse2), ] | -[ -(Klasse2 = ? extends Klasse2), ] | -] - TYPEINFERENCE +(TPH B = Klasse2), ] | [ +(Klasse2 = ? extends Klasse2), ] | ] - TYPEINFERENCE de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { (void <. TPH ABI)Smaller } - UNIFY @@ -4942,8 +4872,7 @@ de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: --> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH ABI = void), ] | -] +(TPH ABI = void), ] | ] ] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { @@ -4975,8 +4904,7 @@ de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: --> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH ABJ = void), ] | -] +(TPH ABJ = void), ] | ] ] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { @@ -5456,15 +5384,11 @@ de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH B = Klasse2), ] | -[ -(TPH B = ? extends Klasse2), ] | -] +(TPH B = Klasse2), ] | [ +(TPH B = ? extends Klasse2), ] | ] [[ -(TPH B = Test), ] | -[ -(TPH B = ? extends Test), ] | -] +(TPH B = Test), ] | [ +(TPH B = ? extends Test), ] | ] ] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { @@ -5533,10 +5457,8 @@ de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: (TPH B = ? extends Klasse2)] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [] - UNIFY Filter: Ausgesondertes Constraint: [[ -(TPH B = Klasse2), ] | -[ -(Klasse2 = ? extends Klasse2), ] | -] - TYPEINFERENCE +(TPH B = Klasse2), ] | [ +(Klasse2 = ? extends Klasse2), ] | ] - TYPEINFERENCE de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { (TPH B = Test)Equal, @@ -5604,10 +5526,8 @@ de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: (TPH B = ? extends Test)] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [] - UNIFY Filter: Ausgesondertes Constraint: [[ -(TPH B = Test), ] | -[ -(Test = ? extends Test), ] | -] - TYPEINFERENCE +(TPH B = Test), ] | [ +(Test = ? extends Test), ] | ] - TYPEINFERENCE de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { (void <. TPH ABI)Smaller } - UNIFY @@ -5621,8 +5541,7 @@ de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: --> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH ABI = void), ] | -] +(TPH ABI = void), ] | ] ] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { @@ -5654,8 +5573,7 @@ de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: --> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH ABJ = void), ] | -] +(TPH ABJ = void), ] | ] ] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { @@ -6135,15 +6053,11 @@ de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH B = Klasse2), ] | -[ -(TPH B = ? extends Klasse2), ] | -] +(TPH B = Klasse2), ] | [ +(TPH B = ? extends Klasse2), ] | ] [[ -(TPH B = Klasse1), ] | -[ -(TPH B = ? extends Klasse1), ] | -] +(TPH B = Klasse1), ] | [ +(TPH B = ? extends Klasse1), ] | ] ] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { @@ -6212,10 +6126,8 @@ de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: (TPH B = ? extends Klasse2)] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [] - UNIFY Filter: Ausgesondertes Constraint: [[ -(TPH B = Klasse2), ] | -[ -(Klasse2 = ? extends Klasse2), ] | -] - TYPEINFERENCE +(TPH B = Klasse2), ] | [ +(Klasse2 = ? extends Klasse2), ] | ] - TYPEINFERENCE de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { (TPH B = Klasse1)Equal, @@ -6283,10 +6195,8 @@ de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: (TPH B = ? extends Klasse1)] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [] - UNIFY Filter: Ausgesondertes Constraint: [[ -(TPH B = Klasse1), ] | -[ -(Klasse1 = ? extends Klasse1), ] | -] - TYPEINFERENCE +(TPH B = Klasse1), ] | [ +(Klasse1 = ? extends Klasse1), ] | ] - TYPEINFERENCE de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { (void <. TPH ABI)Smaller } - UNIFY @@ -6300,8 +6210,7 @@ de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: --> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH ABI = void), ] | -] +(TPH ABI = void), ] | ] ] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { @@ -6333,8 +6242,7 @@ de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: --> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH ABJ = void), ] | -] +(TPH ABJ = void), ] | ] ] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { @@ -6814,15 +6722,11 @@ de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH B = Klasse2), ] | -[ -(TPH B = ? extends Klasse2), ] | -] +(TPH B = Klasse2), ] | [ +(TPH B = ? extends Klasse2), ] | ] [[ -(TPH B = Klasse2), ] | -[ -(TPH B = ? extends Klasse2), ] | -] +(TPH B = Klasse2), ] | [ +(TPH B = ? extends Klasse2), ] | ] ] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { @@ -6891,10 +6795,8 @@ de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: (TPH B = ? extends Klasse2)] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [] - UNIFY Filter: Ausgesondertes Constraint: [[ -(TPH B = Klasse2), ] | -[ -(Klasse2 = ? extends Klasse2), ] | -] - TYPEINFERENCE +(TPH B = Klasse2), ] | [ +(Klasse2 = ? extends Klasse2), ] | ] - TYPEINFERENCE de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { (TPH B = Klasse2)Equal, @@ -6962,10 +6864,8 @@ de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: (TPH B = ? extends Klasse2)] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [] - UNIFY Filter: Ausgesondertes Constraint: [[ -(TPH B = Klasse2), ] | -[ -(Klasse2 = ? extends Klasse2), ] | -] - TYPEINFERENCE +(TPH B = Klasse2), ] | [ +(Klasse2 = ? extends Klasse2), ] | ] - TYPEINFERENCE de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { (void <. TPH ABI)Smaller } - UNIFY @@ -6979,8 +6879,7 @@ de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: --> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH ABI = void), ] | -] +(TPH ABI = void), ] | ] ] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { @@ -7012,8 +6911,7 @@ de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: --> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH ABJ = void), ] | -] +(TPH ABJ = void), ] | ] ] - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY de.dhbwstuttgart.typeinference.unify.Unify: Menge E = {