forked from JavaTX/JavaCompilerCore
Java Compliance auf JRE 8 erhöhen
This commit is contained in:
parent
a6d9fdcafd
commit
2b6ffdef11
@ -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"/>
|
||||
|
2
.settings/com.google.gwt.eclipse.core.prefs
Normal file
2
.settings/com.google.gwt.eclipse.core.prefs
Normal file
@ -0,0 +1,2 @@
|
||||
eclipse.preferences.version=1
|
||||
filesCopiedToWebInfLib=
|
@ -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
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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 für filter implementieren
|
||||
@ -89,6 +90,10 @@ public class OderConstraint extends OderMenge<Pair>{
|
||||
return null;
|
||||
*/
|
||||
}
|
||||
|
||||
public void addItems(UndConstraint uCons) {
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
@Override
|
||||
|
@ -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 + "]";
|
||||
}
|
||||
|
@ -37,7 +37,7 @@ public class SingleConstraint extends EinzelElement<Pair>{
|
||||
}
|
||||
|
||||
public Pair getPair(){
|
||||
return this.getItems().firstElement();
|
||||
return this.cartesianProduct().firstElement().firstElement();
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -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());
|
||||
}
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
|
||||
}
|
@ -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>>();
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
@ -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 = {
|
||||
|
Loading…
Reference in New Issue
Block a user