diff --git a/.classpath b/.classpath
index 38eed00a1..4f24f94b1 100755
--- a/.classpath
+++ b/.classpath
@@ -4,6 +4,6 @@
-
+
diff --git a/README.me b/README.me
deleted file mode 100644
index dfe0d3180..000000000
--- a/README.me
+++ /dev/null
@@ -1,15 +0,0 @@
-# Typinferenz für Java 8
-
-## Programmablauf
-
-1. SourceFile parst die Java-Dateien
-2. SourceFile erstellt die Basic/Global Assumptions
-3. Das Globale AssumptionSet wird anschließend jeder Klasse im Syntaxbaum mit dem TRProg aufruf übergeben
-4. Jede Klasse verwaltet lokale Variablen in ihrem eigenen AssumptionSet. Das Globale ist Klassenübergreifend und jede AssumptionType darf darin nur einmalig gesetzt werden.
-5. Haben alle Klassen ihrer Constraints erstellt können diese Unifiziert werden.
-
-## Overloading
-
-* Die Overloading Klasse generiert Constraints aus einem Methodenaufruf.
-
-
diff --git a/Readme.md b/Readme.md
deleted file mode 100644
index 641d10f18..000000000
--- a/Readme.md
+++ /dev/null
@@ -1,42 +0,0 @@
-# Typinferenz
-
-## ResultSet
-
-* Spezifisch für jedes SourceFile (nicht für jede Klasse)
-* mehrere ResultSets pro Klasse
-*
-
-* Enthält:
- * constraintPairs
- * unifiedConstraints
-
-## TypeInsertSet
-* Stellt die Typeinsetzung für eine der generierten Lösungen dar
-* Setzt alle Typen und generischen Variablen ein, welche zu dieser Lösung gehören
-
-## Ablauf Typinferenz:
-
-1. Parsen
- * (Parser postProcessing)
-2. Typinferenz
- * Anfangspunkt SourceFile
- * löst geparste Typen zu richtigen Typen auf (RefTypes, GenericVar)
- * setzt TPHs ein
- * bildet Constraints, welche in ResultSet gesammelt werden. ResultSet wird durch Syntaxbaum gereicht.
- * Assumptions generieren
- * Wird im Syntaxbaum für jeden Knoten ausgeführt und die Assumptions für darunterliegende Knoten gebildet
- *
-3. Unifizierung
- * wird im SourceFile aufgerufen
- * unifiziert Constraints aller im SourceFile vorkommenden Klassen
-
-4. Erstellen von TypeInsertSet
- * Durchlaufen des Syntaxbaumes
- * Jeder Knoten erstellt TypeInsertSets anhand des ResultSets.
- * Bei Knoten, welche Generische Variablen beinhalten können werden GenericTypeInsertPoints erstellt
-
-5. Einsetzen eines TypeInsertSet (optional)
- 1. Auf allen TypeInsertPoints die getUnresolvedTPHs-Methoden aufrufen
- 2. Alle Abhängigkeiten dieser
-
-
\ No newline at end of file
diff --git a/src/de/dhbwstuttgart/syntaxtree/FieldDeclaration.java b/src/de/dhbwstuttgart/syntaxtree/FieldDeclaration.java
index 3fb4cf61a..0ddb10b1b 100644
--- a/src/de/dhbwstuttgart/syntaxtree/FieldDeclaration.java
+++ b/src/de/dhbwstuttgart/syntaxtree/FieldDeclaration.java
@@ -137,6 +137,7 @@ public class FieldDeclaration extends Field{
//TypeCheck, falls es sich um einen RefType handelt:
ConstraintType thisType = this.getType().TYPE(localAssumptions, this);
+ this.setType(thisType.getType());
/*
if(this.getType()!=null && (this.getType() instanceof RefType)){
Type replaceType = null;
diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/LocalOrFieldVar.java b/src/de/dhbwstuttgart/syntaxtree/statement/LocalOrFieldVar.java
index 3266d67a7..85a636a69 100755
--- a/src/de/dhbwstuttgart/syntaxtree/statement/LocalOrFieldVar.java
+++ b/src/de/dhbwstuttgart/syntaxtree/statement/LocalOrFieldVar.java
@@ -185,7 +185,6 @@ public class LocalOrFieldVar extends Expr
public String getTypeInformation(){
return this.getType()+" "+this.get_Name();
-
}
@Override
diff --git a/src/de/dhbwstuttgart/typeinference/assumptions/FieldAssumption.java b/src/de/dhbwstuttgart/typeinference/assumptions/FieldAssumption.java
index 11f7caa1b..fd226de34 100644
--- a/src/de/dhbwstuttgart/typeinference/assumptions/FieldAssumption.java
+++ b/src/de/dhbwstuttgart/typeinference/assumptions/FieldAssumption.java
@@ -4,6 +4,7 @@ import de.dhbwstuttgart.parser.JavaClassName;
import de.dhbwstuttgart.syntaxtree.Class;
import de.dhbwstuttgart.syntaxtree.Field;
import de.dhbwstuttgart.syntaxtree.type.RefType;
+import de.dhbwstuttgart.syntaxtree.type.Type;
public class FieldAssumption extends Assumption {
@@ -38,5 +39,4 @@ public class FieldAssumption extends Assumption {
return true;
}
-
}
diff --git a/src/de/dhbwstuttgart/typeinference/assumptions/TypeAssumptions.java b/src/de/dhbwstuttgart/typeinference/assumptions/TypeAssumptions.java
index 14b2ab489..48830f1f0 100755
--- a/src/de/dhbwstuttgart/typeinference/assumptions/TypeAssumptions.java
+++ b/src/de/dhbwstuttgart/typeinference/assumptions/TypeAssumptions.java
@@ -327,6 +327,8 @@ public class TypeAssumptions {
for(GenericVarAssumption ass : this.genericVarAssumptions){
//if(ass.inheritsType(t))return t;
if(ass.getIdentifier().equals(t.getName())){
+ //Generische Variable gefunden!
+
if(! ass.getAssumedType().getParentClass().equals(inNode.getParentClass())){ //hier muss nach der ParentClass von inNode gefragt werden, da die ParentClass von t nicht immer korrekt ist! (TODO: Überprüfen)
TypeAssumptions.log.debug(t+" ist NICHT in Klasse: "+ass.getAssumedType().getParentClass(), Section.ASSUMPTIONS);
//Ist die Generische Variable nicht aus dieser Klasse, so muss sie zu einem TPH umgewandelt werden: