diff --git a/doc/LambdaJavadoc/de/dhbwstuttgart/parser/JavaClassName.html b/doc/LambdaJavadoc/de/dhbwstuttgart/parser/JavaClassName.html
index 97aaa791..f38b65ea 100644
--- a/doc/LambdaJavadoc/de/dhbwstuttgart/parser/JavaClassName.html
+++ b/doc/LambdaJavadoc/de/dhbwstuttgart/parser/JavaClassName.html
@@ -100,7 +100,7 @@ var activeTableTab = "activeTableTab";
java.lang.Object
-- de.dhbwstuttgart.parser.JavaClassName
+- de.dhbwstuttgart.typecheck.JavaClassName
diff --git a/doc/LambdaJavadoc/de/dhbwstuttgart/parser/class-use/JavaClassName.html b/doc/LambdaJavadoc/de/dhbwstuttgart/parser/class-use/JavaClassName.html
index 71ba8f6f..5a0ee480 100644
--- a/doc/LambdaJavadoc/de/dhbwstuttgart/parser/class-use/JavaClassName.html
+++ b/doc/LambdaJavadoc/de/dhbwstuttgart/parser/class-use/JavaClassName.html
@@ -3,7 +3,7 @@
-Uses of Class de.dhbwstuttgart.parser.JavaClassName
+Uses of Class de.dhbwstuttgart.typecheck.JavaClassName
@@ -70,7 +70,7 @@
diff --git a/doc/LambdaJavadoc/de/dhbwstuttgart/syntaxtree/type/BoundedGenericTypeVar.html b/doc/LambdaJavadoc/de/dhbwstuttgart/syntaxtree/type/BoundedGenericTypeVar.html
index fcdf2197..77026755 100644
--- a/doc/LambdaJavadoc/de/dhbwstuttgart/syntaxtree/type/BoundedGenericTypeVar.html
+++ b/doc/LambdaJavadoc/de/dhbwstuttgart/syntaxtree/type/BoundedGenericTypeVar.html
@@ -112,7 +112,7 @@ var activeTableTab = "activeTableTab";
- de.dhbwstuttgart.syntaxtree.type.GenericTypeVar
-
-- de.dhbwstuttgart.syntaxtree.type.BoundedGenericTypeVar
+- de.dhbwstuttgart.syntaxtree.GenericTypeVar
diff --git a/doc/LambdaJavadoc/de/dhbwstuttgart/syntaxtree/type/class-use/BoundedGenericTypeVar.html b/doc/LambdaJavadoc/de/dhbwstuttgart/syntaxtree/type/class-use/BoundedGenericTypeVar.html
index 90acaab1..65cb922f 100644
--- a/doc/LambdaJavadoc/de/dhbwstuttgart/syntaxtree/type/class-use/BoundedGenericTypeVar.html
+++ b/doc/LambdaJavadoc/de/dhbwstuttgart/syntaxtree/type/class-use/BoundedGenericTypeVar.html
@@ -3,7 +3,7 @@
-
Uses of Class de.dhbwstuttgart.syntaxtree.type.BoundedGenericTypeVar
+
Uses of Class de.dhbwstuttgart.syntaxtree.GenericTypeVar
@@ -70,7 +70,7 @@
diff --git a/src/de/dhbwstuttgart/bytecode/ClassGenerator.java b/src/de/dhbwstuttgart/bytecode/ClassGenerator.java
index 2b8fe81e..1c4faf12 100644
--- a/src/de/dhbwstuttgart/bytecode/ClassGenerator.java
+++ b/src/de/dhbwstuttgart/bytecode/ClassGenerator.java
@@ -3,15 +3,12 @@ package de.dhbwstuttgart.bytecode;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
-import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
-import java.util.Vector;
import org.apache.bcel.classfile.BootstrapMethod;
import org.apache.bcel.classfile.BootstrapMethods;
-import org.apache.bcel.classfile.ConstantPool;
import org.apache.bcel.classfile.InnerClass;
import org.apache.bcel.classfile.InnerClasses;
import org.apache.bcel.classfile.JavaClass;
@@ -20,14 +17,12 @@ import org.apache.bcel.classfile.Signature;
import org.apache.bcel.generic.ClassGen;
import org.apache.bcel.generic.ConstantPoolGen;
-import de.dhbwstuttgart.parser.JavaClassName;
+import de.dhbwstuttgart.typecheck.JavaClassName;
import de.dhbwstuttgart.syntaxtree.type.GenericTypeVar;
import de.dhbwstuttgart.syntaxtree.type.RefType;
import de.dhbwstuttgart.syntaxtree.type.Type;
import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
import de.dhbwstuttgart.typeinference.Menge;
-import de.dhbwstuttgart.typeinference.ResultSet;
-import de.dhbwstuttgart.typeinference.TypeinferenceResultSet;
import de.dhbwstuttgart.typeinference.TypeinferenceResults;
import de.dhbwstuttgart.typeinference.exceptions.DebugException;
diff --git a/src/de/dhbwstuttgart/syntaxtree/Class.java b/src/de/dhbwstuttgart/syntaxtree/Class.java
index 1ac2b6ef..5ad5122c 100755
--- a/src/de/dhbwstuttgart/syntaxtree/Class.java
+++ b/src/de/dhbwstuttgart/syntaxtree/Class.java
@@ -1,26 +1,12 @@
package de.dhbwstuttgart.syntaxtree;
-import org.apache.bcel.generic.ClassGen;
-import org.apache.bcel.generic.ConstantPoolGen;
-import org.apache.bcel.generic.InstructionFactory;
-import org.apache.bcel.generic.InstructionHandle;
-import org.apache.bcel.generic.InstructionList;
-import org.apache.bcel.generic.MethodGen;
-
import de.dhbwstuttgart.logger.Logger;
import de.dhbwstuttgart.logger.Section;
-import de.dhbwstuttgart.logger.SectionLogger;
-import de.dhbwstuttgart.bytecode.ClassGenerator;
-import de.dhbwstuttgart.bytecode.DHBWConstantPoolGen;
-import de.dhbwstuttgart.bytecode.DHBWInstructionFactory;
import de.dhbwstuttgart.core.IItemWithOffset;
-import de.dhbwstuttgart.parser.JavaClassName;
+import de.dhbwstuttgart.typecheck.JavaClassName;
import de.dhbwstuttgart.syntaxtree.modifier.Modifiers;
-import de.dhbwstuttgart.syntaxtree.modifier.Static;
import de.dhbwstuttgart.syntaxtree.statement.Block;
import de.dhbwstuttgart.syntaxtree.statement.Expr;
-import de.dhbwstuttgart.syntaxtree.statement.Statement;
-import de.dhbwstuttgart.syntaxtree.statement.SuperCall;
import de.dhbwstuttgart.syntaxtree.type.GenericTypeVar;
import de.dhbwstuttgart.syntaxtree.type.RefType;
import de.dhbwstuttgart.syntaxtree.type.Type;
diff --git a/src/de/dhbwstuttgart/syntaxtree/Constructor.java b/src/de/dhbwstuttgart/syntaxtree/Constructor.java
index cc17a697..f52720bc 100644
--- a/src/de/dhbwstuttgart/syntaxtree/Constructor.java
+++ b/src/de/dhbwstuttgart/syntaxtree/Constructor.java
@@ -1,41 +1,20 @@
package de.dhbwstuttgart.syntaxtree;
import org.apache.bcel.Constants;
-import org.apache.bcel.classfile.ConstantPool;
-import org.apache.bcel.generic.ClassGen;
-import org.apache.bcel.generic.ConstantPoolGen;
-import org.apache.bcel.generic.InstructionFactory;
-import org.apache.bcel.generic.InstructionHandle;
import org.apache.bcel.generic.InstructionList;
-import org.apache.bcel.generic.MethodGen;
-import de.dhbwstuttgart.typeinference.Menge;
import de.dhbwstuttgart.bytecode.ClassGenerator;
import de.dhbwstuttgart.bytecode.DHBWConstantPoolGen;
-import de.dhbwstuttgart.bytecode.DHBWInstructionFactory;
import de.dhbwstuttgart.bytecode.MethodGenerator;
-import de.dhbwstuttgart.parser.JavaClassName;
-import de.dhbwstuttgart.syntaxtree.modifier.Modifiers;
+import de.dhbwstuttgart.typecheck.JavaClassName;
import de.dhbwstuttgart.syntaxtree.statement.Block;
-import de.dhbwstuttgart.syntaxtree.statement.Return;
import de.dhbwstuttgart.syntaxtree.statement.SuperCall;
import de.dhbwstuttgart.syntaxtree.type.GenericTypeVar;
-import de.dhbwstuttgart.syntaxtree.type.RefType;
import de.dhbwstuttgart.syntaxtree.type.Type;
-import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
-import de.dhbwstuttgart.typeinference.ConstraintsSet;
-import de.dhbwstuttgart.typeinference.JavaCodeResult;
-import de.dhbwstuttgart.typeinference.ResultSet;
-import de.dhbwstuttgart.typeinference.TypeinferenceResultSet;
import de.dhbwstuttgart.typeinference.TypeinferenceResults;
import de.dhbwstuttgart.typeinference.assumptions.ConstructorAssumption;
-import de.dhbwstuttgart.typeinference.assumptions.MethodAssumption;
-import de.dhbwstuttgart.typeinference.assumptions.ParameterAssumption;
import de.dhbwstuttgart.typeinference.assumptions.TypeAssumptions;
import de.dhbwstuttgart.typeinference.exceptions.DebugException;
-import de.dhbwstuttgart.typeinference.exceptions.TypeinferenceException;
-import de.dhbwstuttgart.typeinference.typedeployment.TypeInsertPoint;
-import de.dhbwstuttgart.typeinference.typedeployment.TypeInsertSet;
import de.dhbwstuttgart.syntaxtree.type.Void;
public class Constructor extends Method {
diff --git a/src/de/dhbwstuttgart/syntaxtree/type/BoundedGenericTypeVar.java b/src/de/dhbwstuttgart/syntaxtree/GenericTypeVar.java
similarity index 65%
rename from src/de/dhbwstuttgart/syntaxtree/type/BoundedGenericTypeVar.java
rename to src/de/dhbwstuttgart/syntaxtree/GenericTypeVar.java
index bb2c207f..7cdf5c72 100755
--- a/src/de/dhbwstuttgart/syntaxtree/type/BoundedGenericTypeVar.java
+++ b/src/de/dhbwstuttgart/syntaxtree/GenericTypeVar.java
@@ -1,12 +1,8 @@
-package de.dhbwstuttgart.syntaxtree.type;
+package de.dhbwstuttgart.syntaxtree;
-import de.dhbwstuttgart.syntaxtree.SyntaxTreeNode;
+import de.dhbwstuttgart.syntaxtree.type.RefType;
import de.dhbwstuttgart.typeinference.Menge;
-import de.dhbwstuttgart.typeinference.ConstraintsSet;
-import de.dhbwstuttgart.typeinference.assumptions.TypeAssumptions;
-import de.dhbwstuttgart.typeinference.exceptions.TypeinferenceException;
-
import java.util.ArrayList;
import java.util.List;
@@ -19,7 +15,7 @@ import java.util.List;
* @author hoti 4.5.06
*
*/
-public class BoundedGenericTypeVar extends SyntaxTreeNode
+public class GenericTypeVar extends SyntaxTreeNode
{
/**
@@ -28,7 +24,7 @@ public class BoundedGenericTypeVar extends SyntaxTreeNode
List bounds=new ArrayList();
private int endOffset;
- public BoundedGenericTypeVar(String s, List bounds, int offset, int endOffset)
+ public GenericTypeVar(String s, List bounds, int offset, int endOffset)
{
super(s, offset);
if(bounds != null)for(RefType t : bounds){
@@ -49,9 +45,9 @@ public class BoundedGenericTypeVar extends SyntaxTreeNode
return bounds;
}
- public BoundedGenericTypeVar clone()
+ public GenericTypeVar clone()
{
- return new BoundedGenericTypeVar(this.getName().toString(), this.getBounds(), getOffset(), this.getEndOffset());
+ return new GenericTypeVar(this.getName().toString(), this.getBounds(), getOffset(), this.getEndOffset());
}
public String toString()
diff --git a/src/de/dhbwstuttgart/syntaxtree/Method.java b/src/de/dhbwstuttgart/syntaxtree/Method.java
index 8e2ecbd7..638c095a 100755
--- a/src/de/dhbwstuttgart/syntaxtree/Method.java
+++ b/src/de/dhbwstuttgart/syntaxtree/Method.java
@@ -2,55 +2,34 @@
package de.dhbwstuttgart.syntaxtree;
import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.LinkedList;
import java.util.List;
import org.apache.bcel.Constants;
-import org.apache.bcel.classfile.Signature;
-import org.apache.bcel.generic.ClassGen;
-import org.apache.bcel.generic.ConstantPoolGen;
-import org.apache.bcel.generic.InstructionFactory;
-import org.apache.bcel.generic.InstructionHandle;
import org.apache.bcel.generic.InstructionList;
-import org.apache.bcel.generic.MethodGen;
import de.dhbwstuttgart.typeinference.Menge;
-import de.dhbwstuttgart.typeinference.Menge.Equal;
import de.dhbwstuttgart.logger.Logger;
-import de.dhbwstuttgart.logger.Section;
import de.dhbwstuttgart.bytecode.ClassGenerator;
import de.dhbwstuttgart.bytecode.DHBWConstantPoolGen;
import de.dhbwstuttgart.bytecode.DHBWInstructionFactory;
import de.dhbwstuttgart.bytecode.MethodGenerator;
import de.dhbwstuttgart.core.IItemWithOffset;
-import de.dhbwstuttgart.core.MyCompiler;
-import de.dhbwstuttgart.parser.JavaClassName;
+import de.dhbwstuttgart.typecheck.JavaClassName;
import de.dhbwstuttgart.syntaxtree.modifier.Modifiers;
import de.dhbwstuttgart.syntaxtree.modifier.Static;
import de.dhbwstuttgart.syntaxtree.statement.Block;
-import de.dhbwstuttgart.syntaxtree.statement.Expr;
-import de.dhbwstuttgart.syntaxtree.statement.Return;
import de.dhbwstuttgart.syntaxtree.statement.Statement;
import de.dhbwstuttgart.syntaxtree.type.GenericTypeVar;
-import de.dhbwstuttgart.syntaxtree.type.RefType;
import de.dhbwstuttgart.syntaxtree.type.Type;
-import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
import de.dhbwstuttgart.typeinference.ConstraintsSet;
import de.dhbwstuttgart.typeinference.JavaCodeResult;
import de.dhbwstuttgart.typeinference.ResultSet;
import de.dhbwstuttgart.typeinference.TypeInsertable;
import de.dhbwstuttgart.typeinference.TypeinferenceResultSet;
import de.dhbwstuttgart.typeinference.TypeinferenceResults;
-import de.dhbwstuttgart.typeinference.UndConstraint;
import de.dhbwstuttgart.typeinference.assumptions.MethodAssumption;
import de.dhbwstuttgart.typeinference.assumptions.ParameterAssumption;
import de.dhbwstuttgart.typeinference.assumptions.TypeAssumptions;
-import de.dhbwstuttgart.typeinference.exceptions.TypeinferenceException;
-import de.dhbwstuttgart.typeinference.typedeployment.TypeInsertPoint;
// ino.class.Method.23482.declaration
/**
diff --git a/src/de/dhbwstuttgart/syntaxtree/SourceFile.java b/src/de/dhbwstuttgart/syntaxtree/SourceFile.java
index 4f000b35..c70b9326 100755
--- a/src/de/dhbwstuttgart/syntaxtree/SourceFile.java
+++ b/src/de/dhbwstuttgart/syntaxtree/SourceFile.java
@@ -1,15 +1,8 @@
package de.dhbwstuttgart.syntaxtree;
-import java.io.IOException;
-import java.lang.reflect.Array;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Enumeration;
-import java.util.HashMap;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
-import java.util.function.Function;
import de.dhbwstuttgart.typeinference.Menge;
@@ -18,19 +11,15 @@ import java.util.stream.Stream;
import de.dhbwstuttgart.logger.Logger;
import de.dhbwstuttgart.logger.Section;
import de.dhbwstuttgart.core.MyCompiler;
-import de.dhbwstuttgart.parser.JavaClassName;
+import de.dhbwstuttgart.typecheck.JavaClassName;
import de.dhbwstuttgart.syntaxtree.factory.UnifyTypeFactory;
import de.dhbwstuttgart.syntaxtree.modifier.Modifiers;
-import de.dhbwstuttgart.syntaxtree.modifier.Public;
-import de.dhbwstuttgart.syntaxtree.type.FunN;
import de.dhbwstuttgart.syntaxtree.type.GenericTypeVar;
import de.dhbwstuttgart.syntaxtree.type.RefType;
import de.dhbwstuttgart.syntaxtree.type.Type;
-import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
import de.dhbwstuttgart.syntaxtree.type.Void;
import de.dhbwstuttgart.typeinference.ByteCodeResult;
import de.dhbwstuttgart.typeinference.ConstraintsSet;
-import de.dhbwstuttgart.typeinference.FunNInterface;
import de.dhbwstuttgart.typeinference.Pair;
import de.dhbwstuttgart.typeinference.ResultSet;
import de.dhbwstuttgart.typeinference.TypeinferenceResultSet;
diff --git a/src/de/dhbwstuttgart/syntaxtree/factory/ASTFactory.java b/src/de/dhbwstuttgart/syntaxtree/factory/ASTFactory.java
index 83d1cbdd..b67245be 100644
--- a/src/de/dhbwstuttgart/syntaxtree/factory/ASTFactory.java
+++ b/src/de/dhbwstuttgart/syntaxtree/factory/ASTFactory.java
@@ -5,8 +5,8 @@ import java.lang.reflect.TypeVariable;
import java.util.ArrayList;
import java.util.List;
-import de.dhbwstuttgart.parser.JavaClassName;
-import de.dhbwstuttgart.parser.JavaClassRegistry;
+import de.dhbwstuttgart.typecheck.JavaClassName;
+import de.dhbwstuttgart.typecheck.JavaClassRegistry;
import de.dhbwstuttgart.syntaxtree.*;
import de.dhbwstuttgart.syntaxtree.Class;
import de.dhbwstuttgart.syntaxtree.modifier.Modifiers;
diff --git a/src/de/dhbwstuttgart/syntaxtree/operator/EqualOp.java b/src/de/dhbwstuttgart/syntaxtree/operator/EqualOp.java
index 59bd9b46..0b1bc8f2 100755
--- a/src/de/dhbwstuttgart/syntaxtree/operator/EqualOp.java
+++ b/src/de/dhbwstuttgart/syntaxtree/operator/EqualOp.java
@@ -1,36 +1,13 @@
// ino.module.EqualOp.8597.package
package de.dhbwstuttgart.syntaxtree.operator;
// ino.end
-// ino.module.EqualOp.8597.import
-import java.util.Iterator;
+// ino.module.EqualOp.8597.import
-import org.apache.bcel.Constants;
import org.apache.bcel.generic.BranchInstruction;
-import org.apache.bcel.generic.GOTO;
import org.apache.bcel.generic.IF_ICMPNE;
-import org.apache.bcel.generic.InstructionConstants;
-import org.apache.bcel.generic.InstructionList;
-import org.apache.bcel.generic.NOP;
-import org.apache.bcel.generic.ObjectType;
-
-import de.dhbwstuttgart.typeinference.Menge;
-import de.dhbwstuttgart.bytecode.ClassGenerator;
-import de.dhbwstuttgart.bytecode.DHBWInstructionFactory;
-import de.dhbwstuttgart.parser.JavaClassName;
-import de.dhbwstuttgart.syntaxtree.SyntaxTreeNode;
-import de.dhbwstuttgart.syntaxtree.statement.Binary;
-import de.dhbwstuttgart.syntaxtree.statement.Expr;
-import de.dhbwstuttgart.syntaxtree.statement.Null;
-import de.dhbwstuttgart.syntaxtree.type.RefType;
-import de.dhbwstuttgart.typeinference.Pair;
-import de.dhbwstuttgart.typeinference.unify.TypeUnify;
-import de.dhbwstuttgart.typeinference.TypeinferenceResultSet;
-import de.dhbwstuttgart.typeinference.exceptions.TypeinferenceException;
-
-
-// ino.class.EqualOp.24118.declaration
+// ino.class.EqualOp.24118.declaration
public class EqualOp extends RelOp
// ino.end
// ino.class.EqualOp.24118.body
diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/Assign.java b/src/de/dhbwstuttgart/syntaxtree/statement/Assign.java
index 54388243..17409537 100755
--- a/src/de/dhbwstuttgart/syntaxtree/statement/Assign.java
+++ b/src/de/dhbwstuttgart/syntaxtree/statement/Assign.java
@@ -1,39 +1,21 @@
package de.dhbwstuttgart.syntaxtree.statement;
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.Iterator;
-
-import org.apache.bcel.generic.ASTORE;
-import org.apache.bcel.generic.ClassGen;
-import org.apache.bcel.generic.DSTORE;
-import org.apache.bcel.generic.FSTORE;
-import org.apache.bcel.generic.ISTORE;
-import org.apache.bcel.generic.InstructionFactory;
import org.apache.bcel.generic.InstructionList;
-import org.apache.bcel.generic.LSTORE;
import de.dhbwstuttgart.typeinference.Menge;
import de.dhbwstuttgart.bytecode.ClassGenerator;
import de.dhbwstuttgart.bytecode.DHBWInstructionFactory;
import de.dhbwstuttgart.logger.Logger;
-import de.dhbwstuttgart.parser.JavaClassName;
-import de.dhbwstuttgart.syntaxtree.Class;
import de.dhbwstuttgart.syntaxtree.SyntaxTreeNode;
import de.dhbwstuttgart.syntaxtree.type.GenericTypeVar;
import de.dhbwstuttgart.syntaxtree.type.Type;
-import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
import de.dhbwstuttgart.syntaxtree.type.Void;
import de.dhbwstuttgart.typeinference.ConstraintsSet;
import de.dhbwstuttgart.typeinference.JavaCodeResult;
-import de.dhbwstuttgart.typeinference.Pair;
import de.dhbwstuttgart.typeinference.ResultSet;
import de.dhbwstuttgart.typeinference.TypeinferenceResultSet;
import de.dhbwstuttgart.typeinference.assumptions.TypeAssumptions;
-import de.dhbwstuttgart.typeinference.unify.TypeUnify;
-
-
public class Assign extends ExprStmt
diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/Binary.java b/src/de/dhbwstuttgart/syntaxtree/statement/Binary.java
index 52caa73e..31526d94 100755
--- a/src/de/dhbwstuttgart/syntaxtree/statement/Binary.java
+++ b/src/de/dhbwstuttgart/syntaxtree/statement/Binary.java
@@ -2,43 +2,25 @@
package de.dhbwstuttgart.syntaxtree.statement;
// ino.end
// ino.module.Binary.8623.import
-import java.util.Enumeration;
import java.util.HashMap;
-import java.util.Hashtable;
-import org.apache.bcel.generic.BranchInstruction;
import org.apache.bcel.generic.ClassGen;
-import org.apache.bcel.generic.GOTO;
-import org.apache.bcel.generic.IF_ICMPNE;
-import org.apache.bcel.generic.InstructionConstants;
import org.apache.bcel.generic.InstructionList;
-import org.apache.bcel.generic.NOP;
import de.dhbwstuttgart.typeinference.Menge;
import de.dhbwstuttgart.bytecode.ClassGenerator;
import de.dhbwstuttgart.logger.Logger;
-import de.dhbwstuttgart.parser.JavaClassName;
-import de.dhbwstuttgart.syntaxtree.Class;
import de.dhbwstuttgart.syntaxtree.SyntaxTreeNode;
-import de.dhbwstuttgart.syntaxtree.operator.AddOp;
-import de.dhbwstuttgart.syntaxtree.operator.LogOp;
-import de.dhbwstuttgart.syntaxtree.operator.MulOp;
import de.dhbwstuttgart.syntaxtree.operator.Operator;
-import de.dhbwstuttgart.syntaxtree.operator.RelOp;
import de.dhbwstuttgart.syntaxtree.type.GenericTypeVar;
-import de.dhbwstuttgart.syntaxtree.type.RefType;
import de.dhbwstuttgart.syntaxtree.type.Type;
-import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
import de.dhbwstuttgart.typeinference.ConstraintsSet;
import de.dhbwstuttgart.typeinference.JavaCodeResult;
import de.dhbwstuttgart.typeinference.OderConstraint;
-import de.dhbwstuttgart.typeinference.Pair;
import de.dhbwstuttgart.typeinference.ResultSet;
import de.dhbwstuttgart.typeinference.TypeinferenceResultSet;
import de.dhbwstuttgart.typeinference.UndConstraint;
import de.dhbwstuttgart.typeinference.assumptions.TypeAssumptions;
-import de.dhbwstuttgart.typeinference.exceptions.TypeinferenceException;
-
// ino.class.Binary.24966.description type=line
diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/LambdaExpression.java b/src/de/dhbwstuttgart/syntaxtree/statement/LambdaExpression.java
index 220517e2..c090958e 100755
--- a/src/de/dhbwstuttgart/syntaxtree/statement/LambdaExpression.java
+++ b/src/de/dhbwstuttgart/syntaxtree/statement/LambdaExpression.java
@@ -1,51 +1,34 @@
package de.dhbwstuttgart.syntaxtree.statement;
import java.util.ArrayList;
-import java.util.List;
import org.apache.bcel.Const;
-import org.apache.bcel.Constants;
import org.apache.bcel.classfile.BootstrapMethod;
import org.apache.bcel.classfile.ConstantMethodHandle;
import org.apache.bcel.classfile.ConstantMethodType;
-import org.apache.bcel.classfile.ConstantPool;
import org.apache.bcel.classfile.InnerClass;
-import org.apache.bcel.generic.BIPUSH;
-import org.apache.bcel.generic.ClassGen;
-import org.apache.bcel.generic.ConstantPoolGen;
import org.apache.bcel.generic.InstructionFactory;
import org.apache.bcel.generic.InstructionList;
-import org.apache.bcel.generic.MethodGen;
-import org.apache.bcel.generic.INVOKEDYNAMIC;
-import org.apache.bcel.generic.Instruction;
import de.dhbwstuttgart.typeinference.Menge;
import de.dhbwstuttgart.bytecode.ClassGenerator;
import de.dhbwstuttgart.bytecode.DHBWConstantPoolGen;
import de.dhbwstuttgart.bytecode.MethodGenerator;
-import de.dhbwstuttgart.bytecode.TypePlaceholderType;
-import de.dhbwstuttgart.parser.JavaClassName;
-import de.dhbwstuttgart.syntaxtree.Class;
+import de.dhbwstuttgart.typecheck.JavaClassName;
import de.dhbwstuttgart.syntaxtree.ClassHelper;
import de.dhbwstuttgart.syntaxtree.FormalParameter;
-import de.dhbwstuttgart.syntaxtree.Method;
import de.dhbwstuttgart.syntaxtree.ParameterList;
import de.dhbwstuttgart.syntaxtree.SyntaxTreeNode;
-import de.dhbwstuttgart.syntaxtree.type.ExtendsWildcardType;
import de.dhbwstuttgart.syntaxtree.type.FunN;
import de.dhbwstuttgart.syntaxtree.type.FunVoidN;
import de.dhbwstuttgart.syntaxtree.type.GenericTypeVar;
import de.dhbwstuttgart.syntaxtree.type.ObjectType;
import de.dhbwstuttgart.syntaxtree.type.RefType;
-import de.dhbwstuttgart.syntaxtree.type.SuperWildcardType;
import de.dhbwstuttgart.syntaxtree.type.Type;
import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
-import de.dhbwstuttgart.syntaxtree.type.WildcardType;
import de.dhbwstuttgart.typeinference.ConstraintsSet;
import de.dhbwstuttgart.typeinference.JavaCodeResult;
-import de.dhbwstuttgart.typeinference.OderConstraint;
import de.dhbwstuttgart.typeinference.ResultSet;
-import de.dhbwstuttgart.typeinference.Typeable;
import de.dhbwstuttgart.typeinference.TypeinferenceResultSet;
import de.dhbwstuttgart.typeinference.assumptions.ParameterAssumption;
import de.dhbwstuttgart.typeinference.assumptions.TypeAssumptions;
diff --git a/src/de/dhbwstuttgart/syntaxtree/type/ExtendsWildcardType.java b/src/de/dhbwstuttgart/syntaxtree/type/ExtendsWildcardType.java
index defb58c8..e6ee1044 100755
--- a/src/de/dhbwstuttgart/syntaxtree/type/ExtendsWildcardType.java
+++ b/src/de/dhbwstuttgart/syntaxtree/type/ExtendsWildcardType.java
@@ -1,8 +1,7 @@
package de.dhbwstuttgart.syntaxtree.type;
import de.dhbwstuttgart.typeinference.Menge;
-import de.dhbwstuttgart.bytecode.ClassGenerator;
-import de.dhbwstuttgart.parser.JavaClassName;
+import de.dhbwstuttgart.typecheck.JavaClassName;
import de.dhbwstuttgart.syntaxtree.SyntaxTreeNode;
import de.dhbwstuttgart.typeinference.JavaCodeResult;
import de.dhbwstuttgart.typeinference.ResultSet;
diff --git a/src/de/dhbwstuttgart/syntaxtree/type/FunN.java b/src/de/dhbwstuttgart/syntaxtree/type/FunN.java
index 9d42a8e5..897fe55c 100755
--- a/src/de/dhbwstuttgart/syntaxtree/type/FunN.java
+++ b/src/de/dhbwstuttgart/syntaxtree/type/FunN.java
@@ -2,22 +2,13 @@ package de.dhbwstuttgart.syntaxtree.type;
import java.util.ArrayList;
-import java.util.Iterator;
import java.util.List;
-import de.dhbwstuttgart.typeinference.FunNInterface;
-import de.dhbwstuttgart.typeinference.Menge;
import de.dhbwstuttgart.typeinference.TypeinferenceResultSet;
import de.dhbwstuttgart.bytecode.ClassGenerator;
-import de.dhbwstuttgart.parser.JavaClassName;
-import de.dhbwstuttgart.syntaxtree.Method;
-import de.dhbwstuttgart.syntaxtree.ParameterList;
-import de.dhbwstuttgart.syntaxtree.SyntaxTreeNode;
+import de.dhbwstuttgart.typecheck.JavaClassName;
import de.dhbwstuttgart.syntaxtree.factory.NameGenerator;
-import de.dhbwstuttgart.typeinference.assumptions.MethodAssumption;
-import de.dhbwstuttgart.typeinference.assumptions.TypeAssumptions;
import de.dhbwstuttgart.typeinference.exceptions.DebugException;
-import de.dhbwstuttgart.typeinference.exceptions.TypeinferenceException;
/**
* @see Spezifikation "Complete Typeinference in Java 8" von Martin Plümicke
diff --git a/src/de/dhbwstuttgart/syntaxtree/type/FunVoidN.java b/src/de/dhbwstuttgart/syntaxtree/type/FunVoidN.java
index 62497db1..edbb05cd 100644
--- a/src/de/dhbwstuttgart/syntaxtree/type/FunVoidN.java
+++ b/src/de/dhbwstuttgart/syntaxtree/type/FunVoidN.java
@@ -2,16 +2,9 @@ package de.dhbwstuttgart.syntaxtree.type;
import java.util.ArrayList;
-import java.util.Iterator;
import java.util.List;
-import de.dhbwstuttgart.typeinference.Menge;
-
-import de.dhbwstuttgart.parser.JavaClassName;
-import de.dhbwstuttgart.syntaxtree.Method;
-import de.dhbwstuttgart.syntaxtree.ParameterList;
-import de.dhbwstuttgart.typeinference.assumptions.MethodAssumption;
-import de.dhbwstuttgart.typeinference.assumptions.TypeAssumptions;
+import de.dhbwstuttgart.typecheck.JavaClassName;
/**
* FunVoid {
diff --git a/src/de/dhbwstuttgart/syntaxtree/type/RefType.java b/src/de/dhbwstuttgart/syntaxtree/type/RefType.java
index 8a175fb4..d59e8ca5 100755
--- a/src/de/dhbwstuttgart/syntaxtree/type/RefType.java
+++ b/src/de/dhbwstuttgart/syntaxtree/type/RefType.java
@@ -1,30 +1,19 @@
package de.dhbwstuttgart.syntaxtree.type;
import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.Hashtable;
import java.util.Iterator;
import java.util.List;
import de.dhbwstuttgart.typeinference.Menge;
-import de.dhbwstuttgart.logger.Logger;
import de.dhbwstuttgart.bytecode.ClassGenerator;
-import de.dhbwstuttgart.core.IItemWithOffset;
-import de.dhbwstuttgart.parser.JavaClassName;
+import de.dhbwstuttgart.typecheck.JavaClassName;
import de.dhbwstuttgart.syntaxtree.Class;
-import de.dhbwstuttgart.syntaxtree.Constructor;
-import de.dhbwstuttgart.syntaxtree.Method;
import de.dhbwstuttgart.syntaxtree.SourceFile;
import de.dhbwstuttgart.syntaxtree.SyntaxTreeNode;
import de.dhbwstuttgart.syntaxtree.factory.ASTFactory;
-import de.dhbwstuttgart.syntaxtree.statement.Block;
-import de.dhbwstuttgart.syntaxtree.statement.SuperCall;
import de.dhbwstuttgart.typeinference.JavaCodeResult;
import de.dhbwstuttgart.typeinference.ResultSet;
-import de.dhbwstuttgart.typeinference.TypeInsertable;
import de.dhbwstuttgart.typeinference.TypeinferenceResultSet;
import de.dhbwstuttgart.typeinference.TypeinferenceResults;
-import de.dhbwstuttgart.typeinference.assumptions.TypeAssumptions;
-import de.dhbwstuttgart.typeinference.exceptions.TypeinferenceException;
public class RefType extends SyntaxTreeNode
diff --git a/src/de/dhbwstuttgart/syntaxtree/type/SuperWildcardType.java b/src/de/dhbwstuttgart/syntaxtree/type/SuperWildcardType.java
index c39120b1..31bf03de 100755
--- a/src/de/dhbwstuttgart/syntaxtree/type/SuperWildcardType.java
+++ b/src/de/dhbwstuttgart/syntaxtree/type/SuperWildcardType.java
@@ -1,14 +1,10 @@
package de.dhbwstuttgart.syntaxtree.type;
-import de.dhbwstuttgart.typeinference.Menge;
import de.dhbwstuttgart.bytecode.ClassGenerator;
-import de.dhbwstuttgart.parser.JavaClassName;
import de.dhbwstuttgart.syntaxtree.SyntaxTreeNode;
import de.dhbwstuttgart.typeinference.JavaCodeResult;
import de.dhbwstuttgart.typeinference.ResultSet;
import de.dhbwstuttgart.typeinference.TypeinferenceResultSet;
-import de.dhbwstuttgart.typeinference.assumptions.TypeAssumptions;
-import de.dhbwstuttgart.typeinference.exceptions.DebugException;
import java.util.List;
diff --git a/src/de/dhbwstuttgart/syntaxtree/type/TypePlaceholder.java b/src/de/dhbwstuttgart/syntaxtree/type/TypePlaceholder.java
index 82f032ed..3269b1e5 100755
--- a/src/de/dhbwstuttgart/syntaxtree/type/TypePlaceholder.java
+++ b/src/de/dhbwstuttgart/syntaxtree/type/TypePlaceholder.java
@@ -1,14 +1,12 @@
package de.dhbwstuttgart.syntaxtree.type;
import java.util.Hashtable;
-import java.util.Iterator;
import de.dhbwstuttgart.typeinference.Menge;
import de.dhbwstuttgart.logger.*;
import de.dhbwstuttgart.bytecode.ClassGenerator;
import de.dhbwstuttgart.bytecode.DHBWInstructionFactory;
import de.dhbwstuttgart.bytecode.TypePlaceholderType;
-import de.dhbwstuttgart.core.MyCompiler;
-import de.dhbwstuttgart.parser.JavaClassName;
+import de.dhbwstuttgart.typecheck.JavaClassName;
import de.dhbwstuttgart.syntaxtree.SyntaxTreeNode;
import de.dhbwstuttgart.syntaxtree.factory.NameGenerator;
import de.dhbwstuttgart.typeinference.JavaCodeResult;
@@ -16,10 +14,7 @@ import de.dhbwstuttgart.typeinference.ResultSet;
import de.dhbwstuttgart.typeinference.TypeInsertable;
import de.dhbwstuttgart.typeinference.TypeinferenceResultSet;
import de.dhbwstuttgart.typeinference.assumptions.TypeAssumptions;
-import de.dhbwstuttgart.typeinference.exceptions.DebugException;
-import de.dhbwstuttgart.typeinference.exceptions.TypeinferenceException;
import de.dhbwstuttgart.typeinference.typedeployment.TypeInsertPoint;
-import de.dhbwstuttgart.typeinference.typedeployment.TypeInsertSet;
/**
* Repr�sentiert einen Typparameter f�r einen vom Programmierer nicht angegeben
diff --git a/src/de/dhbwstuttgart/syntaxtree/type/WildcardType.java b/src/de/dhbwstuttgart/syntaxtree/type/WildcardType.java
index e2c99c68..ed1fede7 100755
--- a/src/de/dhbwstuttgart/syntaxtree/type/WildcardType.java
+++ b/src/de/dhbwstuttgart/syntaxtree/type/WildcardType.java
@@ -1,14 +1,12 @@
package de.dhbwstuttgart.syntaxtree.type;
-import de.dhbwstuttgart.typeinference.Menge;
import de.dhbwstuttgart.bytecode.ClassGenerator;
-import de.dhbwstuttgart.parser.JavaClassName;
+import de.dhbwstuttgart.typecheck.JavaClassName;
import de.dhbwstuttgart.syntaxtree.SyntaxTreeNode;
import de.dhbwstuttgart.typeinference.JavaCodeResult;
import de.dhbwstuttgart.typeinference.ResultSet;
import de.dhbwstuttgart.typeinference.TypeinferenceResultSet;
import de.dhbwstuttgart.typeinference.assumptions.TypeAssumptions;
-import de.dhbwstuttgart.typeinference.exceptions.DebugException;
import de.dhbwstuttgart.typeinference.exceptions.NotImplementedException;
import de.dhbwstuttgart.typeinference.exceptions.TypeinferenceException;
diff --git a/src/de/dhbwstuttgart/typecheck/JavaClassName.java b/src/de/dhbwstuttgart/typecheck/JavaClassName.java
new file mode 100644
index 00000000..f650a9fc
--- /dev/null
+++ b/src/de/dhbwstuttgart/typecheck/JavaClassName.java
@@ -0,0 +1,129 @@
+package de.dhbwstuttgart.typecheck;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Stellt den Namen einer Java Klasse dar.
+ * Dieser kann auch den Packagenamen mit beinhalten: de.dhbwstuttgart.typeinference.Menge
+ *
+ * @author janulrich
+ *
+ *
+ */
+public class JavaClassName {
+
+ private String name;
+ private PackageName packageName;
+
+ /**
+ * TODO: JavaClassName sollten aus den Assumptions generiert werden.
+ * Diese wissen, welche Typen und Typnamen existieren und können direkt auf Korrektheit prüfen.
+ */
+ JavaClassName(String name){
+ if(name == null)throw new NullPointerException();
+
+ String[] names = name.split("[.]");
+ boolean match = true;
+ if(names.length == 1){
+ //packageName = new PackageName();
+ this.name = name;
+ }else {
+ name = names[names.length-1];
+ List packageNames = new ArrayList();
+ for(int i = 0; i names = new ArrayList<>();
+
+ public PackageName(List packageNames) {
+ names = packageNames;
+ }
+
+ public PackageName() {
+ //Do nothing
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((names == null) ? 0 : names.hashCode());
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj)
+ return true;
+ if (obj == null)
+ return false;
+ if (getClass() != obj.getClass())
+ return false;
+ PackageName other = (PackageName) obj;
+ if (names == null) {
+ if (other.names != null)
+ return false;
+ } else if (!names.equals(other.names))
+ return false;
+ return true;
+ }
+
+ @Override
+ public String toString() {
+ String ret = "";
+ if(names == null)return "";
+ for(String n : names)ret+=n+".";
+ return ret;
+ }
+}
diff --git a/src/de/dhbwstuttgart/typecheck/JavaClassRegistry.java b/src/de/dhbwstuttgart/typecheck/JavaClassRegistry.java
new file mode 100644
index 00000000..d4600d19
--- /dev/null
+++ b/src/de/dhbwstuttgart/typecheck/JavaClassRegistry.java
@@ -0,0 +1,18 @@
+package de.dhbwstuttgart.typecheck;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Speichert die Klassen im aktuellen Projektscope
+ */
+public class JavaClassRegistry {
+ public List existingClasses = new ArrayList<>();
+
+ public JavaClassName getName(String className) {
+ for(JavaClassName name : existingClasses){
+ if(name.toString().equals(className))return name;
+ }
+ throw new TypeNotPresentException(className, new Throwable());
+ }
+}
diff --git a/src/de/dhbwstuttgart/typeinference/FunNInterface.java b/src/de/dhbwstuttgart/typeinference/FunNInterface.java
index 877e0632..a74baf8d 100644
--- a/src/de/dhbwstuttgart/typeinference/FunNInterface.java
+++ b/src/de/dhbwstuttgart/typeinference/FunNInterface.java
@@ -1,19 +1,15 @@
package de.dhbwstuttgart.typeinference;
-import de.dhbwstuttgart.typeinference.Menge;
-
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
-import de.dhbwstuttgart.parser.JavaClassName;
import de.dhbwstuttgart.syntaxtree.Class;
import de.dhbwstuttgart.syntaxtree.modifier.Modifiers;
import de.dhbwstuttgart.syntaxtree.type.FunN;
import de.dhbwstuttgart.syntaxtree.type.GenericTypeVar;
import de.dhbwstuttgart.syntaxtree.type.RefType;
import de.dhbwstuttgart.syntaxtree.type.Type;
-import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
import de.dhbwstuttgart.typeinference.assumptions.ClassAssumption;
import de.dhbwstuttgart.typeinference.assumptions.MethodAssumption;
import de.dhbwstuttgart.typeinference.assumptions.TypeAssumptions;
diff --git a/src/de/dhbwstuttgart/typeinference/FunVoidNInterface.java b/src/de/dhbwstuttgart/typeinference/FunVoidNInterface.java
index ad7d6108..6a8edd99 100644
--- a/src/de/dhbwstuttgart/typeinference/FunVoidNInterface.java
+++ b/src/de/dhbwstuttgart/typeinference/FunVoidNInterface.java
@@ -1,14 +1,9 @@
package de.dhbwstuttgart.typeinference;
-import de.dhbwstuttgart.typeinference.Menge;
-
-import de.dhbwstuttgart.parser.JavaClassName;
import de.dhbwstuttgart.syntaxtree.Class;
import de.dhbwstuttgart.syntaxtree.modifier.Modifiers;
import de.dhbwstuttgart.syntaxtree.type.GenericTypeVar;
-import de.dhbwstuttgart.syntaxtree.type.RefType;
import de.dhbwstuttgart.syntaxtree.type.Type;
-import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
import de.dhbwstuttgart.typeinference.assumptions.ClassAssumption;
import de.dhbwstuttgart.typeinference.assumptions.MethodAssumption;
import de.dhbwstuttgart.typeinference.assumptions.TypeAssumptions;
diff --git a/src/de/dhbwstuttgart/typeinference/Pair.java b/src/de/dhbwstuttgart/typeinference/Pair.java
index cbf3d26c..5d5641f8 100755
--- a/src/de/dhbwstuttgart/typeinference/Pair.java
+++ b/src/de/dhbwstuttgart/typeinference/Pair.java
@@ -1,18 +1,10 @@
package de.dhbwstuttgart.typeinference;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.util.ArrayList;
-import java.util.Hashtable;
import java.util.List;
-import de.dhbwstuttgart.typeinference.Menge;
import de.dhbwstuttgart.typeinference.unify.model.PairOperator;
// ino.end
-import de.dhbwstuttgart.parser.JavaClassName;
import de.dhbwstuttgart.syntaxtree.type.FreshWildcardType;
import de.dhbwstuttgart.syntaxtree.type.GenericTypeVar;
import de.dhbwstuttgart.syntaxtree.type.RefType;
diff --git a/src/de/dhbwstuttgart/typeinference/assumptions/Assumption.java b/src/de/dhbwstuttgart/typeinference/assumptions/Assumption.java
index bb7a9063..db64c33c 100644
--- a/src/de/dhbwstuttgart/typeinference/assumptions/Assumption.java
+++ b/src/de/dhbwstuttgart/typeinference/assumptions/Assumption.java
@@ -1,10 +1,8 @@
package de.dhbwstuttgart.typeinference.assumptions;
-import de.dhbwstuttgart.parser.JavaClassName;
-import de.dhbwstuttgart.syntaxtree.Class;
+import de.dhbwstuttgart.typecheck.JavaClassName;
import de.dhbwstuttgart.syntaxtree.type.Type;
import de.dhbwstuttgart.typeinference.TypeInsertable;
-import de.dhbwstuttgart.typeinference.Typeable;
public class Assumption {
diff --git a/src/de/dhbwstuttgart/typeinference/assumptions/FieldAssumption.java b/src/de/dhbwstuttgart/typeinference/assumptions/FieldAssumption.java
index fd226de3..1530e95f 100644
--- a/src/de/dhbwstuttgart/typeinference/assumptions/FieldAssumption.java
+++ b/src/de/dhbwstuttgart/typeinference/assumptions/FieldAssumption.java
@@ -1,9 +1,8 @@
package de.dhbwstuttgart.typeinference.assumptions;
-import de.dhbwstuttgart.parser.JavaClassName;
+import de.dhbwstuttgart.typecheck.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 {
diff --git a/src/de/dhbwstuttgart/typeinference/assumptions/GenericVarAssumption.java b/src/de/dhbwstuttgart/typeinference/assumptions/GenericVarAssumption.java
index 02bcd8c0..68772534 100644
--- a/src/de/dhbwstuttgart/typeinference/assumptions/GenericVarAssumption.java
+++ b/src/de/dhbwstuttgart/typeinference/assumptions/GenericVarAssumption.java
@@ -1,15 +1,8 @@
package de.dhbwstuttgart.typeinference.assumptions;
-import de.dhbwstuttgart.parser.JavaClassName;
-import de.dhbwstuttgart.syntaxtree.FieldDeclaration;
-import de.dhbwstuttgart.syntaxtree.GTVDeclarationContext;
-import de.dhbwstuttgart.syntaxtree.Method;
-import de.dhbwstuttgart.syntaxtree.SyntaxTreeNode;
-import de.dhbwstuttgart.syntaxtree.statement.LocalVarDecl;
+import de.dhbwstuttgart.typecheck.JavaClassName;
import de.dhbwstuttgart.syntaxtree.type.GenericTypeVar;
-import de.dhbwstuttgart.syntaxtree.type.RefType;
import de.dhbwstuttgart.syntaxtree.type.Type;
-import de.dhbwstuttgart.syntaxtree.Class;
public class GenericVarAssumption extends Assumption{
diff --git a/src/de/dhbwstuttgart/typeinference/assumptions/TypeAssumptions.java b/src/de/dhbwstuttgart/typeinference/assumptions/TypeAssumptions.java
index fe5f6077..65bb44d8 100755
--- a/src/de/dhbwstuttgart/typeinference/assumptions/TypeAssumptions.java
+++ b/src/de/dhbwstuttgart/typeinference/assumptions/TypeAssumptions.java
@@ -1,25 +1,14 @@
package de.dhbwstuttgart.typeinference.assumptions;
-import java.util.Iterator;
import de.dhbwstuttgart.typeinference.Menge;
-import de.dhbwstuttgart.core.IItemWithOffset;
import de.dhbwstuttgart.logger.Logger;
import de.dhbwstuttgart.logger.Section;
-import de.dhbwstuttgart.parser.JavaClassName;
+import de.dhbwstuttgart.typecheck.JavaClassName;
import de.dhbwstuttgart.syntaxtree.Class;
-import de.dhbwstuttgart.syntaxtree.GTVDeclarationContext;
-import de.dhbwstuttgart.syntaxtree.SyntaxTreeNode;
-import de.dhbwstuttgart.syntaxtree.type.FunN;
import de.dhbwstuttgart.syntaxtree.type.GenericTypeVar;
import de.dhbwstuttgart.syntaxtree.type.RefType;
import de.dhbwstuttgart.syntaxtree.type.Type;
-import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
-import de.dhbwstuttgart.syntaxtree.type.WildcardType;
-import de.dhbwstuttgart.typeinference.FunNInterface;
-import de.dhbwstuttgart.typeinference.FunNMethod;
-import de.dhbwstuttgart.typeinference.exceptions.DebugException;
-import de.dhbwstuttgart.typeinference.exceptions.TypeinferenceException;
/**
* Eine Sammlung von TypeAssumptions.