Interface Constraints erhalten jetzt auch neue Typvariablen

This commit is contained in:
sebastian 2017-05-01 21:32:30 +02:00
parent d54ee60b85
commit b082b603de
7 changed files with 457 additions and 464 deletions

View File

@ -2,15 +2,9 @@
<project version="4">
<component name="ChangeListManager">
<list default="true" id="5cf612a7-261d-49e6-bf7a-db4b05e41151" name="Default" comment="">
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/algo/Construct.java" afterPath="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/algo/Construct.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/algo/ConstructInterfaceTemplates.java" afterPath="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/algo/ConstructInterfaceTemplates.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/algo/TI.java" afterPath="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/algo/TI.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/assumptions/ChangeTypeVars.java" afterPath="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/assumptions/ChangeTypeVars.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/constraints/ConstraintSubType.java" afterPath="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/constraints/ConstraintSubType.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/algo/TypeExpr.java" afterPath="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/algo/TypeExpr.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/MappingAltNeu.java" afterPath="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/MappingAltNeu.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/TypeVarFactory.java" afterPath="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/TypeVarFactory.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/TypeVarStore.java" afterPath="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/TypeVarStore.java" />
</list>
<ignored path="$PROJECT_DIR$/bin/" />
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
@ -26,11 +20,11 @@
<component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
<component name="FileEditorManager">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file leaf-file-name="ConstraintSubType.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/constraints/ConstraintSubType.java">
<file leaf-file-name="TypeExpr.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/algo/TypeExpr.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="83">
<caret line="19" column="31" lean-forward="true" selection-start-line="19" selection-start-column="31" selection-end-line="19" selection-end-column="31" />
<state relative-caret-position="151">
<caret line="159" column="53" lean-forward="false" selection-start-line="159" selection-start-column="53" selection-end-line="159" selection-end-column="53" />
<folding>
<element signature="imports" expanded="true" />
</folding>
@ -38,33 +32,11 @@
</provider>
</entry>
</file>
<file leaf-file-name="ConstructInterfaceTemplates.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/algo/ConstructInterfaceTemplates.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="24">
<caret line="159" column="22" lean-forward="false" selection-start-line="159" selection-start-column="22" selection-end-line="159" selection-end-column="22" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="NewOperatorTest2.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/test/strucTypes5/NewOperatorTest2.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="456">
<caret line="60" column="0" lean-forward="true" selection-start-line="60" selection-start-column="0" selection-end-line="60" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="ChangeTypeVars.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/assumptions/ChangeTypeVars.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="225">
<caret line="15" column="29" lean-forward="false" selection-start-line="15" selection-start-column="29" selection-end-line="15" selection-end-column="29" />
<state relative-caret-position="41">
<caret line="29" column="16" lean-forward="false" selection-start-line="29" selection-start-column="16" selection-end-line="29" selection-end-column="16" />
<folding>
<element signature="imports" expanded="true" />
</folding>
@ -72,11 +44,11 @@
</provider>
</entry>
</file>
<file leaf-file-name="TI.java" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/algo/TI.java">
<file leaf-file-name="MappingAltNeu.java" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/MappingAltNeu.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="211">
<caret line="76" column="31" lean-forward="false" selection-start-line="76" selection-start-column="31" selection-end-line="76" selection-end-column="31" />
<state relative-caret-position="-30">
<caret line="27" column="5" lean-forward="true" selection-start-line="27" selection-start-column="5" selection-end-line="27" selection-end-column="5" />
<folding>
<element signature="imports" expanded="true" />
</folding>
@ -84,34 +56,51 @@
</provider>
</entry>
</file>
<file leaf-file-name="TypeVarStore.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/TypeVarStore.java">
<file leaf-file-name="NewOperatorTest3.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/test/strucTypes5/NewOperatorTest3.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="222">
<caret line="141" column="0" lean-forward="false" selection-start-line="141" selection-start-column="0" selection-end-line="141" selection-end-column="0" />
<state relative-caret-position="150">
<caret line="22" column="13" lean-forward="false" selection-start-line="22" selection-start-column="13" selection-end-line="22" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="TypeVarInterface.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/TypeVarInterface.java">
<file leaf-file-name="NewOperatorTest2.jav" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/test/strucTypes5/NewOperatorTest2.jav">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="288">
<caret line="39" column="41" lean-forward="false" selection-start-line="39" selection-start-column="41" selection-end-line="39" selection-end-column="41" />
<folding>
<element signature="e#1123#1124#0" expanded="true" />
<element signature="e#1208#1209#0" expanded="true" />
</folding>
<state relative-caret-position="0">
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="MappingAltNeu.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/MappingAltNeu.java">
<file leaf-file-name="NewOperatorTest2.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/test/strucTypes5/NewOperatorTest2.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="233">
<caret line="30" column="95" lean-forward="false" selection-start-line="30" selection-start-column="95" selection-end-line="30" selection-end-column="95" />
<state relative-caret-position="223">
<caret line="46" column="0" lean-forward="true" selection-start-line="46" selection-start-column="0" selection-end-line="46" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="NewOperatorTest3.jav" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/test/strucTypes5/NewOperatorTest3.jav">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="165">
<caret line="11" column="1" lean-forward="true" selection-start-line="11" selection-start-column="1" selection-end-line="11" selection-end-column="1" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="Rules.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/solve/Rules.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="274">
<caret line="76" column="0" lean-forward="false" selection-start-line="76" selection-start-column="0" selection-end-line="76" selection-end-column="0" />
<folding>
<element signature="imports" expanded="true" />
</folding>
@ -119,28 +108,22 @@
</provider>
</entry>
</file>
<file leaf-file-name="TypeVarFactory.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/TypeVarFactory.java">
<file leaf-file-name="ConstraintSubstitution.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/constraints/ConstraintSubstitution.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="320">
<caret line="31" column="24" lean-forward="false" selection-start-line="31" selection-start-column="24" selection-end-line="31" selection-end-column="24" />
<state relative-caret-position="105">
<caret line="7" column="62" lean-forward="false" selection-start-line="7" selection-start-column="62" selection-end-line="7" selection-end-column="62" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#564#565#0" expanded="true" />
<element signature="e#612#613#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="TypeVarRefType.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/TypeVarRefType.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="145">
<caret line="11" column="11" lean-forward="false" selection-start-line="11" selection-start-column="11" selection-end-line="11" selection-end-column="11" />
<folding>
<element signature="e#271#272#0" expanded="true" />
<element signature="e#309#310#0" expanded="true" />
<element signature="e#452#453#0" expanded="true" />
<element signature="e#477#478#0" expanded="true" />
<element signature="e#522#523#0" expanded="true" />
<element signature="e#550#551#0" expanded="true" />
<element signature="e#588#589#0" expanded="true" />
<element signature="e#613#614#0" expanded="true" />
<element signature="e#658#659#0" expanded="true" />
<element signature="e#686#687#0" expanded="true" />
<element signature="e#732#733#0" expanded="true" />
<element signature="e#816#817#0" expanded="true" />
</folding>
</state>
</provider>
@ -158,8 +141,6 @@
</component>
<component name="FindInProjectRecents">
<findStrings>
<find>isInterfac</find>
<find>Gener</find>
<find>ConstraintS</find>
<find>Constraint</find>
<find>methodCa</find>
@ -174,7 +155,6 @@
<find>typevarStor</find>
<find>neu</find>
<find>Not im</find>
<find>new</find>
<find>System</find>
<find>out</find>
<find>Const</find>
@ -188,6 +168,9 @@
<find>!!!</find>
<find>Neue</find>
<find>alte</find>
<find>r_20</find>
<find>20</find>
<find>new</find>
</findStrings>
</component>
<component name="Git.Settings">
@ -201,9 +184,6 @@
<component name="IdeDocumentHistory">
<option name="CHANGED_PATHS">
<list>
<option value="$PROJECT_DIR$/test/strucTypes5/AssumptionTest.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/constraints/MethodConstraint.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/constraints/SubTypeConstraint.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/ausgabe/ClassWithTPH2String.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/ausgabe/Class2Code.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/constraints/ConstraintField.java" />
@ -241,17 +221,20 @@
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/ausgabe/Class2String.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/assumptions/AssumptionMap.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/constraints/ConstraintSubTypeGeneric.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/algo/TypeExpr.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/TypeVarRefType.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/algo/Construct.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/constraints/ConstraintSubType.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/algo/ConstructInterfaceTemplates.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/TypeVarInterface.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/MappingAltNeu.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/assumptions/ChangeTypeVars.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/TypeVarFactory.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/TypeVarStore.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/algo/TI.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/algo/TypeExpr.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/constraints/ConstraintShouldEqual.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/constraints/ConstraintSubstitution.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/solve/Rules.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/MappingAltNeu.java" />
</list>
</option>
</component>
@ -262,6 +245,7 @@
<sorting>DEFINITION_ORDER</sorting>
</component>
<component name="ProjectFrameBounds">
<option name="x" value="-2" />
<option name="y" value="27" />
<option name="width" value="1442" />
<option name="height" value="863" />
@ -319,24 +303,6 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="JavaCompilerCore" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="JavaCompilerCore" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="test" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="typeinference" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="JavaCompilerCore" />
@ -369,50 +335,6 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="JavaCompilerCore" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="JavaCompilerCore" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="src" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="dhbwstuttgart" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="typeinference" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="JavaCompilerCore" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="JavaCompilerCore" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="src" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="dhbwstuttgart" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="typecheck" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="JavaCompilerCore" />
@ -453,136 +375,6 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="JavaCompilerCore" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="JavaCompilerCore" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="src" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="dhbwstuttgart" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="strucTypes5" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="typeVars" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="JavaCompilerCore" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="JavaCompilerCore" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="src" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="dhbwstuttgart" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="strucTypes5" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="interfaceTemplates" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="JavaCompilerCore" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="JavaCompilerCore" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="src" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="dhbwstuttgart" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="strucTypes5" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="factoryForSyntaxtree" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="JavaCompilerCore" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="JavaCompilerCore" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="src" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="dhbwstuttgart" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="strucTypes5" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="constraints" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="JavaCompilerCore" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="JavaCompilerCore" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="src" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="dhbwstuttgart" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="strucTypes5" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="algo" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="JavaCompilerCore" />
@ -686,32 +478,6 @@
<patterns />
<method />
</configuration>
<configuration default="false" name="TypeExprTest" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
<pattern>
<option name="PATTERN" value="strucTypes5.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
<module name="JavaCompilerCore" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" />
<option name="PACKAGE_NAME" value="strucTypes5" />
<option name="MAIN_CLASS_NAME" value="strucTypes5.TypeExprTest" />
<option name="METHOD_NAME" />
<option name="TEST_OBJECT" value="class" />
<option name="VM_PARAMETERS" value="-ea" />
<option name="PARAMETERS" />
<option name="WORKING_DIRECTORY" value="$MODULE_DIR$" />
<option name="ENV_VARIABLES" />
<option name="PASS_PARENT_ENVS" value="true" />
<option name="TEST_SEARCH_SCOPE">
<value defaultName="singleModule" />
</option>
<envs />
<patterns />
<method />
</configuration>
<configuration default="false" name="FieldTest.run" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
<pattern>
@ -764,6 +530,32 @@
<patterns />
<method />
</configuration>
<configuration default="false" name="NewOperatorTest3" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
<pattern>
<option name="PATTERN" value="strucTypes5.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
<module name="JavaCompilerCore" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" />
<option name="PACKAGE_NAME" value="strucTypes5" />
<option name="MAIN_CLASS_NAME" value="strucTypes5.NewOperatorTest3" />
<option name="METHOD_NAME" />
<option name="TEST_OBJECT" value="class" />
<option name="VM_PARAMETERS" value="-ea" />
<option name="PARAMETERS" />
<option name="WORKING_DIRECTORY" value="$MODULE_DIR$" />
<option name="ENV_VARIABLES" />
<option name="PASS_PARENT_ENVS" value="true" />
<option name="TEST_SEARCH_SCOPE">
<value defaultName="singleModule" />
</option>
<envs />
<patterns />
<method />
</configuration>
<configuration default="true" type="#org.jetbrains.idea.devkit.run.PluginConfigurationType" factoryName="Plugin">
<module name="" />
<option name="VM_PARAMETERS" value="-Xmx512m -Xms256m -XX:MaxPermSize=250m -ea" />
@ -1147,17 +939,17 @@
<list size="5">
<item index="0" class="java.lang.String" itemvalue="JUnit.NewOperatorTest2.run" />
<item index="1" class="java.lang.String" itemvalue="JUnit.NewOperatorTest3.run" />
<item index="2" class="java.lang.String" itemvalue="JUnit.TypeExprTest" />
<item index="3" class="java.lang.String" itemvalue="JUnit.FieldTest.run" />
<item index="4" class="java.lang.String" itemvalue="JUnit.TypeExprTest.run" />
<item index="2" class="java.lang.String" itemvalue="JUnit.FieldTest.run" />
<item index="3" class="java.lang.String" itemvalue="JUnit.TypeExprTest.run" />
<item index="4" class="java.lang.String" itemvalue="JUnit.NewOperatorTest3" />
</list>
<recent_temporary>
<list size="5">
<item index="0" class="java.lang.String" itemvalue="JUnit.NewOperatorTest2.run" />
<item index="1" class="java.lang.String" itemvalue="JUnit.NewOperatorTest3.run" />
<item index="2" class="java.lang.String" itemvalue="JUnit.TypeExprTest.run" />
<item index="3" class="java.lang.String" itemvalue="JUnit.FieldTest.run" />
<item index="4" class="java.lang.String" itemvalue="JUnit.TypeExprTest" />
<item index="1" class="java.lang.String" itemvalue="JUnit.NewOperatorTest3" />
<item index="2" class="java.lang.String" itemvalue="JUnit.NewOperatorTest3.run" />
<item index="3" class="java.lang.String" itemvalue="JUnit.TypeExprTest.run" />
<item index="4" class="java.lang.String" itemvalue="JUnit.FieldTest.run" />
</list>
</recent_temporary>
</component>
@ -1175,47 +967,47 @@
<option name="presentableId" value="Default" />
<updated>1492600650522</updated>
<workItem from="1492600653626" duration="3746000" />
<workItem from="1492623646935" duration="129474000" />
<workItem from="1492623646935" duration="140524000" />
</task>
<servers />
</component>
<component name="TestHistory">
<history-entry file="NewOperatorTest2_run - 2017.04.30 at 23h 52m 57s.xml">
<history-entry file="NewOperatorTest2_run - 2017.05.01 at 00h 13m 46s.xml">
<configuration name="NewOperatorTest2.run" configurationId="JUnit" />
</history-entry>
<history-entry file="NewOperatorTest2_run - 2017.04.30 at 23h 56m 01s.xml">
<history-entry file="NewOperatorTest2_run - 2017.05.01 at 00h 32m 01s.xml">
<configuration name="NewOperatorTest2.run" configurationId="JUnit" />
</history-entry>
<history-entry file="NewOperatorTest2_run - 2017.05.01 at 00h 06m 30s.xml">
<history-entry file="NewOperatorTest2_run - 2017.05.01 at 00h 32m 25s.xml">
<configuration name="NewOperatorTest2.run" configurationId="JUnit" />
</history-entry>
<history-entry file="NewOperatorTest2_run - 2017.05.01 at 00h 07m 00s.xml">
<history-entry file="NewOperatorTest2_run - 2017.05.01 at 00h 46m 34s.xml">
<configuration name="NewOperatorTest2.run" configurationId="JUnit" />
</history-entry>
<history-entry file="NewOperatorTest2_run - 2017.05.01 at 00h 09m 32s.xml">
<history-entry file="NewOperatorTest2_run - 2017.05.01 at 00h 49m 22s.xml">
<configuration name="NewOperatorTest2.run" configurationId="JUnit" />
</history-entry>
<history-entry file="NewOperatorTest2_run - 2017.05.01 at 00h 11m 03s.xml">
<history-entry file="NewOperatorTest2_run - 2017.05.01 at 20h 37m 57s.xml">
<configuration name="NewOperatorTest2.run" configurationId="JUnit" />
</history-entry>
<history-entry file="NewOperatorTest2_run - 2017.05.01 at 00h 11m 14s.xml">
<history-entry file="NewOperatorTest2_run - 2017.05.01 at 21h 00m 25s.xml">
<configuration name="NewOperatorTest2.run" configurationId="JUnit" />
</history-entry>
<history-entry file="NewOperatorTest3_run - 2017.04.30 at 23h 46m 00s.xml">
<configuration name="NewOperatorTest3.run" configurationId="JUnit" />
<history-entry file="NewOperatorTest3 - 2017.05.01 at 20h 37m 16s.xml">
<configuration name="NewOperatorTest3" configurationId="JUnit" />
</history-entry>
<history-entry file="NewOperatorTest3_run - 2017.04.30 at 23h 47m 20s.xml">
<configuration name="NewOperatorTest3.run" configurationId="JUnit" />
<history-entry file="NewOperatorTest3 - 2017.05.01 at 20h 37m 49s.xml">
<configuration name="NewOperatorTest3" configurationId="JUnit" />
</history-entry>
<history-entry file="NewOperatorTest3_run - 2017.04.30 at 23h 50m 41s.xml">
<history-entry file="NewOperatorTest3_run - 2017.05.01 at 00h 56m 46s.xml">
<configuration name="NewOperatorTest3.run" configurationId="JUnit" />
</history-entry>
</component>
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="133220000" />
<option name="totallyTimeSpent" value="144270000" />
</component>
<component name="ToolWindowManager">
<frame x="0" y="27" width="1442" height="863" extended-state="0" />
<frame x="-2" y="27" width="1442" height="863" extended-state="0" />
<editor active="false" />
<layout>
<window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
@ -1240,7 +1032,7 @@
<window_info id="Run" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.35602096" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" />
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="11" side_tool="false" content_ui="tabs" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32984293" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Theme Preview" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" />
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="true" content_ui="tabs" />
@ -1275,7 +1067,7 @@
<window_info id="Image Layers" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
<window_info id="Capture Analysis" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.5837696" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.35602096" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" />
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="11" side_tool="false" content_ui="tabs" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
@ -1310,26 +1102,8 @@
<properties />
<option name="timeStamp" value="14" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/test/strucTypes5/NewOperatorTest3.java</url>
<line>25</line>
<properties />
<option name="timeStamp" value="16" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/algo/TI.java</url>
<line>73</line>
<properties />
<option name="timeStamp" value="26" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-method">
<url>file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/TypeVarStore.java</url>
<line>139</line>
<properties class="de.dhbwstuttgart.strucTypes5.typeVars.TypeVarStore" method="isType" />
<option name="timeStamp" value="23" />
</line-breakpoint>
</breakpoints>
<option name="time" value="27" />
<option name="time" value="29" />
</breakpoint-manager>
<watches-manager />
</component>
@ -1338,40 +1112,6 @@
<option name="FILTER_TARGETS" value="false" />
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/typeinference/assumptions/MethodAssumption.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="60">
<caret line="9" column="13" lean-forward="false" selection-start-line="9" selection-start-column="13" selection-end-line="9" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/typeinference/assumptions/TypeInferenceInformation.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="405">
<caret line="42" column="41" lean-forward="false" selection-start-line="42" selection-start-column="41" selection-end-line="42" selection-end-column="41" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/typeinference/assumptions/TypeInferenceBlockInformation.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="60">
<caret line="8" column="13" lean-forward="false" selection-start-line="8" selection-start-column="13" selection-end-line="8" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/typeinference/constraints/Constraint.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="60">
<caret line="8" column="13" lean-forward="false" selection-start-line="8" selection-start-column="13" selection-end-line="8" selection-end-column="13" />
<folding>
<element signature="imports" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/typeinference/constraints/ConstraintSet.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="75">
@ -1470,14 +1210,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/test/strucTypes5/NewOperatorTest3.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="402">
<caret line="46" column="32" lean-forward="false" selection-start-line="46" selection-start-column="32" selection-end-line="46" selection-end-column="32" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/Start.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="75">
@ -1494,14 +1226,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/test/strucTypes5/NewOperatorTest3.jav">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="165">
<caret line="11" column="1" lean-forward="true" selection-start-line="11" selection-start-column="1" selection-end-line="11" selection-end-column="1" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/test/strucTypes5/AssumptionTest.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="204">
@ -1602,16 +1326,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/algo/TypeExpr.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-396">
<caret line="150" column="48" lean-forward="false" selection-start-line="150" selection-start-column="48" selection-end-line="150" selection-end-column="48" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/assumptions/AssumptionMap.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="195">
@ -1688,16 +1402,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/constraints/ConstraintSubType.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="83">
<caret line="19" column="31" lean-forward="true" selection-start-line="19" selection-start-column="31" selection-end-line="19" selection-end-column="31" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/algo/ConstructInterfaceTemplates.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="24">
@ -1708,14 +1412,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/test/strucTypes5/NewOperatorTest2.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="456">
<caret line="60" column="0" lean-forward="true" selection-start-line="60" selection-start-column="0" selection-end-line="60" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/TypeVarInterface.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="288">
@ -1727,34 +1423,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/assumptions/ChangeTypeVars.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="225">
<caret line="15" column="29" lean-forward="false" selection-start-line="15" selection-start-column="29" selection-end-line="15" selection-end-column="29" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/TypeVarStore.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="222">
<caret line="141" column="0" lean-forward="false" selection-start-line="141" selection-start-column="0" selection-end-line="141" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/MappingAltNeu.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="233">
<caret line="30" column="95" lean-forward="false" selection-start-line="30" selection-start-column="95" selection-end-line="30" selection-end-column="95" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/TypeVarRefType.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="145">
@ -1771,17 +1439,146 @@
<state relative-caret-position="320">
<caret line="31" column="24" lean-forward="false" selection-start-line="31" selection-start-column="24" selection-end-line="31" selection-end-column="24" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#564#565#0" expanded="true" />
<element signature="e#612#613#0" expanded="true" />
<element signature="imports" expanded="false" />
<element signature="e#564#565#0" expanded="false" />
<element signature="e#612#613#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/algo/TI.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="211">
<caret line="76" column="31" lean-forward="false" selection-start-line="76" selection-start-column="31" selection-end-line="76" selection-end-column="31" />
<state relative-caret-position="227">
<caret line="25" column="13" lean-forward="false" selection-start-line="25" selection-start-column="13" selection-end-line="25" selection-end-column="13" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/TypeVarStore.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="222">
<caret line="141" column="0" lean-forward="false" selection-start-line="141" selection-start-column="0" selection-end-line="141" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/constraints/ConstraintShouldEqual.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="120">
<caret line="8" column="61" lean-forward="false" selection-start-line="8" selection-start-column="61" selection-end-line="8" selection-end-column="61" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#503#504#0" expanded="true" />
<element signature="e#528#529#0" expanded="true" />
<element signature="e#573#574#0" expanded="true" />
<element signature="e#601#602#0" expanded="true" />
<element signature="e#639#640#0" expanded="true" />
<element signature="e#664#665#0" expanded="true" />
<element signature="e#709#710#0" expanded="true" />
<element signature="e#737#738#0" expanded="true" />
<element signature="e#783#784#0" expanded="true" />
<element signature="e#865#866#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/constraints/ConstraintSubstitution.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="105">
<caret line="7" column="62" lean-forward="false" selection-start-line="7" selection-start-column="62" selection-end-line="7" selection-end-column="62" />
<folding>
<element signature="e#452#453#0" expanded="true" />
<element signature="e#477#478#0" expanded="true" />
<element signature="e#522#523#0" expanded="true" />
<element signature="e#550#551#0" expanded="true" />
<element signature="e#588#589#0" expanded="true" />
<element signature="e#613#614#0" expanded="true" />
<element signature="e#658#659#0" expanded="true" />
<element signature="e#686#687#0" expanded="true" />
<element signature="e#732#733#0" expanded="true" />
<element signature="e#816#817#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/solve/Rules.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="274">
<caret line="76" column="0" lean-forward="false" selection-start-line="76" selection-start-column="0" selection-end-line="76" selection-end-column="0" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/test/strucTypes5/NewOperatorTest3.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="150">
<caret line="22" column="13" lean-forward="false" selection-start-line="22" selection-start-column="13" selection-end-line="22" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/test/strucTypes5/NewOperatorTest3.jav">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="165">
<caret line="11" column="1" lean-forward="true" selection-start-line="11" selection-start-column="1" selection-end-line="11" selection-end-column="1" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/test/strucTypes5/NewOperatorTest2.jav">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/test/strucTypes5/NewOperatorTest2.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="223">
<caret line="46" column="0" lean-forward="true" selection-start-line="46" selection-start-column="0" selection-end-line="46" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/algo/TypeExpr.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="151">
<caret line="159" column="53" lean-forward="false" selection-start-line="159" selection-start-column="53" selection-end-line="159" selection-end-column="53" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/constraints/ConstraintSubType.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="154">
<caret line="18" column="11" lean-forward="false" selection-start-line="18" selection-start-column="11" selection-end-line="18" selection-end-column="11" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/assumptions/ChangeTypeVars.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="41">
<caret line="29" column="16" lean-forward="false" selection-start-line="29" selection-start-column="16" selection-end-line="29" selection-end-column="16" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/MappingAltNeu.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-30">
<caret line="27" column="5" lean-forward="true" selection-start-line="27" selection-start-column="5" selection-end-line="27" selection-end-column="5" />
<folding>
<element signature="imports" expanded="true" />
</folding>

View File

@ -88,6 +88,7 @@ public class TI {
System.out.println(newResultConstraints);
//OldConstraints newOldConstraints = new OldConstraints(newResultConstraints);
@ -110,7 +111,7 @@ public class TI {
// Result of Solve ->
@ -119,8 +120,6 @@ public class TI {
public void ausgabe(ClassOrInterface cl) {
Class2String cs = new Class2String();
String s = cs.generateStringTPH(cl);

View File

@ -155,6 +155,11 @@ public class TypeExpr {
//Versuche Informationen zu laden
AssumptionClass assumptionClass = assumptionMap.getClassAssumption(newClass.getType().toString());
if (assumptionClass != null) {
ChangeTypeVars changeTypeVars = new ChangeTypeVars();
assumptionClass = changeTypeVars.change(assumptionClass);
assumptionMap.putClass(assumptionClass);
OldConstraints oldConstraints= new OldConstraints(assumptionClass.getConstraints());
result.add(oldConstraints);
@ -164,9 +169,12 @@ public class TypeExpr {
System.out.println(class2String.generateStringTypeVars(assumptionClass.getCl(), assumptionClass.getTypeVarStore()));
System.out.println("-----------------------");
ChangeTypeVars changeTypeVars = new ChangeTypeVars();
AssumptionClass assumptionClass1 = changeTypeVars.change(assumptionClass);
assumptionMap.putClass(assumptionClass1);
//ChangeTypeVars changeTypeVars = new ChangeTypeVars();
//AssumptionClass assumptionClass1 = changeTypeVars.change(assumptionClass);
// ToDO Problem mit den neuen Typvariablen da die infos nochmals geladen werden beim Method call !!!
// (Das einige logische wäre bereits davor die TypVariablen zu tauschen -> So steht es ja eigentlich auf im Skript
//assumptionMap.putClass(assumptionClass1);
}

View File

@ -0,0 +1,40 @@
package de.dhbwstuttgart.strucTypes5.constraints;
import de.dhbwstuttgart.strucTypes5.typeVars.TypeVar;
import de.dhbwstuttgart.strucTypes5.typeVars.TypeVarAbstract;
/**
* Created by sebastian on 01.05.17.
*/
public class ConstraintShouldEqual extends ConstraintAbstract{
private TypeVarAbstract t1;
private TypeVarAbstract t2;
public ConstraintShouldEqual(TypeVarAbstract t1, TypeVarAbstract t2) {
this.t1 = t1;
this.t2 = t2;
}
public TypeVarAbstract getT1() {
return t1;
}
public void setT1(TypeVarAbstract t1) {
this.t1 = t1;
}
public TypeVarAbstract getT2() {
return t2;
}
public void setT2(TypeVarAbstract t2) {
this.t2 = t2;
}
@Override
public String toString() {
return String.format("ConstraintShouldEqual( %s =* %s )" , t1, t2);
}
}

View File

@ -0,0 +1,39 @@
package de.dhbwstuttgart.strucTypes5.constraints;
import de.dhbwstuttgart.strucTypes5.typeVars.TypeVarAbstract;
/**
* Created by sebastian on 01.05.17.
*/
public class ConstraintSubstitution extends ConstraintAbstract {
private TypeVarAbstract t1;
private TypeVarAbstract t2;
public ConstraintSubstitution(TypeVarAbstract t1, TypeVarAbstract t2) {
this.t1 = t1;
this.t2 = t2;
}
public TypeVarAbstract getT1() {
return t1;
}
public void setT1(TypeVarAbstract t1) {
this.t1 = t1;
}
public TypeVarAbstract getT2() {
return t2;
}
public void setT2(TypeVarAbstract t2) {
this.t2 = t2;
}
@Override
public String toString() {
return String.format("ConstraintSubstitution[ %s --> %s]" , t1 , t2);
}
}

View File

@ -0,0 +1,89 @@
package de.dhbwstuttgart.strucTypes5.solve;
import de.dhbwstuttgart.strucTypes5.constraints.ConstraintAbstract;
import de.dhbwstuttgart.strucTypes5.constraints.ConstraintShouldEqual;
import de.dhbwstuttgart.strucTypes5.constraints.ConstraintSubType;
import de.dhbwstuttgart.strucTypes5.typeVars.TypeVar;
import de.dhbwstuttgart.strucTypes5.typeVars.TypeVarAbstract;
import de.dhbwstuttgart.strucTypes5.typeVars.TypeVarRefType;
import java.util.List;
/**
* Created by sebastian on 01.05.17.
*/
public class Rules {
public void erase1(List<ConstraintAbstract> constraints) {
for (ConstraintAbstract cs : constraints) {
if (cs instanceof ConstraintSubType) {
ConstraintSubType csst = (ConstraintSubType) cs;
if (csst.getSubtype() instanceof TypeVarRefType && csst.getSuperType() instanceof TypeVarRefType) {
if (csst.getSubtype().equals(csst.getSuperType())) {
constraints.remove(cs);
return;
}
}
}
}
}
public void erase2(List<ConstraintAbstract> constraints) {
for (ConstraintAbstract cs : constraints) {
if (cs instanceof ConstraintShouldEqual) {
ConstraintShouldEqual csse = (ConstraintShouldEqual) cs;
if (csse.getT1() instanceof TypeVarRefType && csse.getT2() instanceof TypeVarRefType) {
if (csse.getT1().equals(csse.getT2())) {
constraints.remove(cs);
return;
}
}
}
}
}
// swap a Should Equal Constriant. if (Theta is not TypeVar) and (T is TypeVar)
public void swap(List<ConstraintAbstract> constraints) {
for (ConstraintAbstract cs : constraints) {
if (cs instanceof ConstraintShouldEqual) {
ConstraintShouldEqual csse = (ConstraintShouldEqual) cs;
TypeVarAbstract theta = csse.getT1();
TypeVarAbstract typeVar = csse.getT2();
if (theta instanceof TypeVarRefType && typeVar instanceof TypeVar) {
csse.setT1(typeVar);
csse.setT2(theta);
return;
}
}
}
}
/*
C u { Theta =* Type }
----------------------
C[T -> Typ vereinigt mit T =* Theta
Wenn T eine Typvariable ist und T in C aber nicht in Theta vorkommt
*/
public void subst(List<ConstraintAbstract> constratins) {
}
}

View File

@ -1,6 +1,8 @@
package de.dhbwstuttgart.strucTypes5.typeVars;
import de.dhbwstuttgart.strucTypes5.constraints.InterfaceForConstraint;
import java.util.ArrayList;
import java.util.List;
@ -28,10 +30,31 @@ public class MappingAltNeu {
public TypeVarAbstract getNeu (TypeVarAbstract altTypeVar) {
if (altTypeVar instanceof TypeVarInterface || altTypeVar instanceof TypeVarRefType) {
// Wenn der Typ bereits bekannt ist gebe ihn zurück
if (altTypeVar instanceof TypeVarRefType) {
return altTypeVar;
}
else if (altTypeVar instanceof TypeVarInterface) {
TypeVarInterface strucType = (TypeVarInterface) altTypeVar;
TypeVarAbstract name = strucType.getInterfaceForConstraint().getStrucType();
List<TypeVarAbstract> neueGenerics = new ArrayList<>();
List<TypeVarAbstract> alteGenerics = strucType.getInterfaceForConstraint().getGenerics();
for (TypeVarAbstract tv : alteGenerics) {
neueGenerics.add(this.getNeu(tv));
}
InterfaceForConstraint interfaceForConstraint = new InterfaceForConstraint(name,neueGenerics);
TypeVarInterface typeVarInterface = new TypeVarInterface(interfaceForConstraint);
return typeVarInterface;
}
else if (altTypeVar instanceof TypeVar) {
return neuList.get(altList.indexOf(altTypeVar));
}
else {
System.err.println("kein TypeVarChange möglich " + MappingAltNeu.class.getName() );
return altTypeVar;
}
// Wenn typ bereits bekannt ist
//if (altTypeVar.getClass().equals(TypeVarType.class)) {
@ -43,8 +66,6 @@ public class MappingAltNeu {
// return altTypeVar;
//}
//System.out.println(altTypeVar);
return neuList.get(altList.indexOf(altTypeVar));
}
}