Java Compliance auf JRE 8 erhöhen

This commit is contained in:
JanUlrich 2015-05-26 10:13:35 +02:00
parent a6d9fdcafd
commit 2b6ffdef11
15 changed files with 301 additions and 329 deletions

View File

@ -3,7 +3,7 @@
<classpathentry kind="src" path="src"/>
<classpathentry excluding=".classpath|.cvsignore|.externalToolBuilders/|.project|.settings/|Papers/|bin/|doc/|examples/|lib/|notizen/|src/|test/|tools/" including="log4j.xml" kind="src" path=""/>
<classpathentry kind="src" path="test"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="lib" path="lib/junit-4.0.jar" sourcepath="/home/janulrich/.m2/repository/junit/junit/4.0/junit-4.0-sources.jar"/>
<classpathentry kind="lib" path="lib/cloning.jar"/>
<classpathentry kind="lib" path="lib/bcel-5.2.jar"/>

View File

@ -0,0 +1,2 @@
eclipse.preferences.version=1
filesCopiedToWebInfLib=

View File

@ -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

View File

@ -1,35 +1,35 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>
<appender name="CONSOLE" class="de.dhbwstuttgart.logger.ConsoleAppender">
<param name="Target" value="System.out"/>
<layout class="de.dhbwstuttgart.logger.PatternLayout">
<param name="ConversionPattern" value="%-15C{1} %-5p [%-9c] %m%n"/>
</layout>
</appender>
<logger name="codegen">
<level value="INFO"/>
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="parser">
<level value="OFF"/>
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="inference">
<level value="WARN"/>
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="bytecode">
<level value="INFO"/>
<appender-ref ref="CONSOLE"/>
</logger>
</log4j:configuration>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>
<appender name="CONSOLE" class="de.dhbwstuttgart.logger.ConsoleAppender">
<param name="Target" value="System.out"/>
<layout class="de.dhbwstuttgart.logger.PatternLayout">
<param name="ConversionPattern" value="%-15C{1} %-5p [%-9c] %m%n"/>
</layout>
</appender>
<logger name="codegen">
<level value="INFO"/>
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="parser">
<level value="OFF"/>
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="inference">
<level value="WARN"/>
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="bytecode">
<level value="INFO"/>
<appender-ref ref="CONSOLE"/>
</logger>
</log4j:configuration>

View File

@ -1,24 +1,24 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>
<appender name="CONSOLE" class="de.dhbwstuttgart.logger.ConsoleAppender">
<param name="Target" value="System.out"/>
<layout class="de.dhbwstuttgart.logger.PatternLayout">
<param name="ConversionPattern" value="%-15C{1} %-5p [%-9c] %m%n"/>
</layout>
</appender>
<logger name="trtest">
<level value="DEBUG"/>
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="funcTest">
<level value="DEBUG"/>
<appender-ref ref="CONSOLE"/>
</logger>
</log4j:configuration>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>
<appender name="CONSOLE" class="de.dhbwstuttgart.logger.ConsoleAppender">
<param name="Target" value="System.out"/>
<layout class="de.dhbwstuttgart.logger.PatternLayout">
<param name="ConversionPattern" value="%-15C{1} %-5p [%-9c] %m%n"/>
</layout>
</appender>
<logger name="trtest">
<level value="DEBUG"/>
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="funcTest">
<level value="DEBUG"/>
<appender-ref ref="CONSOLE"/>
</logger>
</log4j:configuration>

View File

@ -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<SyntaxTreeNode> ret = new Menge<SyntaxTreeNode>();
return ret;
}
@Override
public String toString(){
return "\""+this.string+"\"";
}
}
// ino.end

View File

@ -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<Pair>{
public class ConstraintsSet{
private UndMenge<Pair> set = new UndMenge<>();
private static final Logger log = Logger.getLogger(ConstraintsSet.class.getName());
public void add(ConstraintsSet CSet){
for(KomplexeMenge<Pair> i : CSet.set){
this.addItems(i);
for(KomplexeMenge<Pair> i : CSet.set.set){
this.set.addItems(i);
}
}
public void add(KomplexeMenge<Pair> constraint){
this.addItems(constraint);
this.set.addItems(constraint);
}
@ -62,26 +66,59 @@ public class ConstraintsSet extends UndMenge<Pair>{
}
*/
/**
*
* @param unify
*/
public void filterWrongConstraints(Unifier unify) {
/*
Menge<KomplexeMenge<Pair>> newSet = new Menge<KomplexeMenge<Pair>>();
for(OderMenge<Pair> orSet : this.getOrSets()){
OderMenge<Pair> filtered = this.filterOrSet(unify, orSet);
newSet.add(filtered);
}
for(KomplexeMenge<Pair> i : this.set.set){
newSet.addAll(i.getAndSets());
}
this.set.set = newSet;
Menge<KomplexeMenge<Pair>> newSet = new Menge<KomplexeMenge<Pair>>();
for(OderMenge<Pair> orSet : this.getOrSets()){
Menge<Menge<Pair>> 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<Pair> i : set){
newSet.addAll(i.getAndSets());
}
this.set = newSet;
/*
for(OderConstraint constraint : this){
constraint.filterWrongConstraints(unify);
}
*/
}
private OderMenge<Pair> filterOrSet(Unifier unify, OderMenge<Pair> orMenge){
/*
OderMenge<Pair> ret = new OderMenge<Pair>();
for(OderMenge<Pair> m : orMenge.getOrSets()){
ret.addItems(this.filterOrSet(unify, m));
}
for(UndMenge<Pair> m : orMenge.getAndSets()){
Menge<Menge<Pair>> 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

View File

@ -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<Pair>{
public class OderConstraint{
private OderMenge<Pair> oSet = new OderMenge<Pair>();
//private Menge<UndConstraint> oderConstraintPairs;
private final static Logger logger = Logger.getLogger(OderConstraint.class.getName());
@ -58,10 +59,10 @@ public class OderConstraint extends OderMenge<Pair>{
*/
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 ¼r filter implementieren
@ -89,6 +90,10 @@ public class OderConstraint extends OderMenge<Pair>{
return null;
*/
}
public void addItems(UndConstraint uCons) {
}
/*
@Override

View File

@ -22,9 +22,6 @@ interface KomplexeMenge<A>{
void addItems(KomplexeMenge<A> item);
void addItem(A item);
Menge<Menge<A>> cartesianProduct();
Menge<A> getItems();
Menge<OderMenge<A>> getOrSets();
Menge<UndMenge<A>> getAndSets();
}
public class OderMenge<A> implements KomplexeMenge<A>{
@ -35,6 +32,7 @@ public class OderMenge<A> implements KomplexeMenge<A>{
set.add(item);
}
/*
public Menge<A> getItems(){
Menge<A> ret = new Menge<>();
for(KomplexeMenge<A> i : set){
@ -42,6 +40,7 @@ public class OderMenge<A> implements KomplexeMenge<A>{
}
return ret;
}
*/
@Override
public void addItem(A item) {
@ -57,13 +56,14 @@ public class OderMenge<A> implements KomplexeMenge<A>{
return ret;
}
/*
@Override
public Menge<OderMenge<A>> getOrSets() {
Menge<OderMenge<A>> ret = new Menge<>();
ret.add(this);
for(KomplexeMenge<A> i : set){
ret.addAll(i.getOrSets());
}
//for(KomplexeMenge<A> i : set){
// ret.addAll(i.getOrSets());
//}
return ret;
}
@ -75,12 +75,13 @@ public class OderMenge<A> implements KomplexeMenge<A>{
}
return ret;
}
*/
@Override
public String toString(){
String ret = "[";
for(KomplexeMenge<A> i : set){
ret += i.toString() + " |\n";
ret += i.toString() + " | ";
}
return ret + "]";
}

View File

@ -37,7 +37,7 @@ public class SingleConstraint extends EinzelElement<Pair>{
}
public Pair getPair(){
return this.getItems().firstElement();
return this.cartesianProduct().firstElement().firstElement();
}
/*

View File

@ -11,17 +11,23 @@ import de.dhbwstuttgart.typeinference.unify.Unifier;
* @author janulrich
*
*/
public class UndConstraint extends UndMenge<Pair> implements Iterable<Pair>{
public class UndConstraint{
private UndMenge<Pair> uSet = new UndMenge<Pair>();
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<Pair> getConstraints(){
return uSet;
}
/*
@Override
public Menge<UndConstraint> getUndConstraints() {
@ -35,11 +41,14 @@ public class UndConstraint extends UndMenge<Pair> implements Iterable<Pair>{
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<Pair> implements Iterable<Pair>{
UndConstraint filterUndConstraints(){
return this;
}
*/
@Override
public Iterator<Pair> 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());
}
}

View File

@ -17,6 +17,7 @@ public class UndMenge<A> implements KomplexeMenge<A>{
set.add(new EinzelElement<A>(item));
}
/*
public Menge<A> getItems(){
Menge<A> ret = new Menge<>();
for(KomplexeMenge<A> i : set){
@ -24,6 +25,7 @@ public class UndMenge<A> implements KomplexeMenge<A>{
}
return ret;
}
*/
@Override
public Menge<Menge<A>> cartesianProduct() {
@ -43,9 +45,11 @@ public class UndMenge<A> implements KomplexeMenge<A>{
ret = cartesianProduct;
}
}
if(ret == null)return new Menge<Menge<A>>();
return ret;
}
/*
@Override
public Menge<OderMenge<A>> getOrSets() {
Menge<OderMenge<A>> ret = new Menge<>();
@ -59,16 +63,16 @@ public class UndMenge<A> implements KomplexeMenge<A>{
public Menge<UndMenge<A>> getAndSets() {
Menge<UndMenge<A>> ret = new Menge<>();
ret.add(this);
for(KomplexeMenge<A> i : set){
ret.addAll(i.getAndSets());
}
//for(KomplexeMenge<A> i : set){
// ret.addAll(i.getAndSets());
//}
return ret;
}
*/
public String toString(){
String ret = "[";
for(KomplexeMenge<A> item : set){
ret += item.toString() + "\n";
ret += item.toString() + " , ";
}
return ret + "]";
}
@ -87,12 +91,14 @@ class EinzelElement<A> implements KomplexeMenge<A>{
}
/*
@Override
public Menge<A> getItems() {
Menge<A> ret = new Menge<>();
ret.add(item);
return ret;
}
*/
@Override
public void addItem(A item) {
@ -109,6 +115,7 @@ class EinzelElement<A> implements KomplexeMenge<A>{
return ret;
}
/*
@Override
public Menge<OderMenge<A>> getOrSets() {
Menge<OderMenge<A>> ret = new Menge<>();
@ -120,5 +127,11 @@ class EinzelElement<A> implements KomplexeMenge<A>{
Menge<UndMenge<A>> ret = new Menge<>();
return ret;
}
*/
@Override
public String toString(){
return item.toString();
}
}

View File

@ -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<Menge<Pair>> 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<Menge<Pair>> 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<Menge<Pair>> 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<Pair> helpvp;
Menge<Menge<Pair>> bigCartProductErg = new Menge<Menge<Pair>>();
@ -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<Menge<Pair>> changedSets = new Menge<Menge<Pair>>();

View File

@ -78,4 +78,15 @@ public class KarthesischesProduktTest {
//System.out.println("undMenge:"+oM3.cartesianProduct());
assertTrue(oM3.cartesianProduct().size()==0);
}
@Test
public void test6(){
OderMenge<String> oM1 = new OderMenge<>();
OderMenge<String> oM2 = new OderMenge<>();
UndMenge<String> oM3 = new UndMenge<>();
oM3.addItems(oM1);
oM3.addItems(oM2);
//System.out.println("undMenge:"+oM3.cartesianProduct());
assertTrue(oM3.cartesianProduct().size()==0);
}
}

View File

@ -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 = {