scheinbar habe ich jetzt einheitliche Constraints

This commit is contained in:
sebastian 2017-05-01 00:12:31 +02:00
parent 786b04af8b
commit d54ee60b85
11 changed files with 576 additions and 338 deletions

611
.idea/workspace.xml generated
View File

@ -2,11 +2,15 @@
<project version="4">
<component name="ChangeListManager">
<list default="true" id="5cf612a7-261d-49e6-bf7a-db4b05e41151" name="Default" comment="">
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/algo/Type.java" afterPath="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/algo/Type.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/assumptions/AssumptionMap.java" afterPath="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/assumptions/AssumptionMap.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/ausgabe/Class2String.java" afterPath="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/ausgabe/Class2String.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/constraints/ConstraintSubTypeGeneric.java" afterPath="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/constraints/ConstraintSubTypeGeneric.java" />
<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/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" />
@ -22,51 +26,11 @@
<component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
<component name="FileEditorManager">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file leaf-file-name="ConstraintSubTypeGeneric.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/constraints/ConstraintSubTypeGeneric.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="75">
<caret line="5" column="13" lean-forward="false" selection-start-line="5" selection-start-column="13" selection-end-line="5" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="ConstraintSubType.java" pinned="false" current-in-tab="true">
<file leaf-file-name="ConstraintSubType.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/constraints/ConstraintSubType.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="233">
<caret line="34" column="23" lean-forward="false" selection-start-line="34" selection-start-column="23" selection-end-line="34" selection-end-column="23" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="Type.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/algo/Type.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="8">
<caret line="18" column="13" lean-forward="false" selection-start-line="18" selection-start-column="13" selection-end-line="18" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="TI.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/algo/TI.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="173">
<caret line="58" column="9" lean-forward="true" selection-start-line="58" selection-start-column="9" selection-end-line="58" selection-end-column="9" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="InterfaceForConstraint.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/constraints/InterfaceForConstraint.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="150">
<caret line="10" column="24" lean-forward="true" selection-start-line="10" selection-start-column="24" selection-end-line="10" selection-end-column="24" />
<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>
@ -74,6 +38,114 @@
</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" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</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">
<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" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</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">
<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>
</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">
<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>
</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">
<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>
</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">
<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" />
<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" />
</folding>
</state>
</provider>
</entry>
</file>
</leaf>
</component>
<component name="FileTemplateManagerImpl">
@ -86,11 +158,6 @@
</component>
<component name="FindInProjectRecents">
<findStrings>
<find>conca</find>
<find>getTypeVa</find>
<find>Expres</find>
<find>Interface</find>
<find>interface</find>
<find>isInterfac</find>
<find>Gener</find>
<find>ConstraintS</find>
@ -110,6 +177,17 @@
<find>new</find>
<find>System</find>
<find>out</find>
<find>Const</find>
<find>Constraints</find>
<find>remaining</find>
<find>remain</find>
<find>neue REs</find>
<find>neue Res</find>
<find>construct</find>
<find>***</find>
<find>!!!</find>
<find>Neue</find>
<find>alte</find>
</findStrings>
</component>
<component name="Git.Settings">
@ -123,9 +201,6 @@
<component name="IdeDocumentHistory">
<option name="CHANGED_PATHS">
<list>
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/Assumptions/AssumptionFactory.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/Assumptions/AssumptionMakerLocal.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/Assumptions/AssumptionMethod.java" />
<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" />
@ -144,20 +219,14 @@
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/InterfaceTemplates/MethodInterface.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes4/syntaxtree/MethodInterface.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/constraints/InterfaceForConstraint.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/TypeVarStore.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/ResultTuple.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/interfaceTemplates/FieldInterface.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/interfaceTemplates/MethodInterface.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/interfaceTemplates/Interface.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/constraints/ConstraintSubType.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/constraints/ConstraintFactory.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/algo/Construct.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/assumptions/AssumptionClass.java" />
<option value="$PROJECT_DIR$/test/strucTypes5/NewOperatorTest2.jav" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/MappingAltNeu.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/constraints/OldConstraints.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/algo/ConstructInterfaceTemplates.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/algo/TI.java" />
<option value="$PROJECT_DIR$/test/strucTypes5/NewOperatorTest2.java" />
<option value="$PROJECT_DIR$/test/strucTypes5/NewOperatorTest3.java" />
<option value="$PROJECT_DIR$/test/strucTypes5/NewOperatorTest3.jav" />
@ -172,8 +241,17 @@
<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/assumptions/ChangeTypeVars.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" />
</list>
</option>
</component>
@ -479,58 +557,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="ausgabe" />
<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="assumptions" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="JavaCompilerCore" />
@ -607,7 +633,7 @@
<recent name="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5" />
</key>
</component>
<component name="RunManager" selected="JUnit.NewOperatorTest3.run">
<component name="RunManager" selected="JUnit.NewOperatorTest2.run">
<configuration default="false" name="NewOperatorTest2.run" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
<pattern>
@ -1127,8 +1153,8 @@
</list>
<recent_temporary>
<list size="5">
<item index="0" class="java.lang.String" itemvalue="JUnit.NewOperatorTest3.run" />
<item index="1" class="java.lang.String" itemvalue="JUnit.NewOperatorTest2.run" />
<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" />
@ -1149,48 +1175,48 @@
<option name="presentableId" value="Default" />
<updated>1492600650522</updated>
<workItem from="1492600653626" duration="3746000" />
<workItem from="1492623646935" duration="120343000" />
<workItem from="1492623646935" duration="129474000" />
</task>
<servers />
</component>
<component name="TestHistory">
<history-entry file="NewOperatorTest3_run - 2017.04.30 at 16h 33m 28s.xml">
<history-entry file="NewOperatorTest2_run - 2017.04.30 at 23h 52m 57s.xml">
<configuration name="NewOperatorTest2.run" configurationId="JUnit" />
</history-entry>
<history-entry file="NewOperatorTest2_run - 2017.04.30 at 23h 56m 01s.xml">
<configuration name="NewOperatorTest2.run" configurationId="JUnit" />
</history-entry>
<history-entry file="NewOperatorTest2_run - 2017.05.01 at 00h 06m 30s.xml">
<configuration name="NewOperatorTest2.run" configurationId="JUnit" />
</history-entry>
<history-entry file="NewOperatorTest2_run - 2017.05.01 at 00h 07m 00s.xml">
<configuration name="NewOperatorTest2.run" configurationId="JUnit" />
</history-entry>
<history-entry file="NewOperatorTest2_run - 2017.05.01 at 00h 09m 32s.xml">
<configuration name="NewOperatorTest2.run" configurationId="JUnit" />
</history-entry>
<history-entry file="NewOperatorTest2_run - 2017.05.01 at 00h 11m 03s.xml">
<configuration name="NewOperatorTest2.run" configurationId="JUnit" />
</history-entry>
<history-entry file="NewOperatorTest2_run - 2017.05.01 at 00h 11m 14s.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>
<history-entry file="NewOperatorTest3_run - 2017.04.30 at 16h 38m 33s.xml">
<history-entry file="NewOperatorTest3_run - 2017.04.30 at 23h 47m 20s.xml">
<configuration name="NewOperatorTest3.run" configurationId="JUnit" />
</history-entry>
<history-entry file="NewOperatorTest3_run - 2017.04.30 at 16h 40m 46s.xml">
<configuration name="NewOperatorTest3.run" configurationId="JUnit" />
</history-entry>
<history-entry file="NewOperatorTest3_run - 2017.04.30 at 16h 40m 56s.xml">
<configuration name="NewOperatorTest3.run" configurationId="JUnit" />
</history-entry>
<history-entry file="NewOperatorTest3_run - 2017.04.30 at 16h 42m 37s.xml">
<configuration name="NewOperatorTest3.run" configurationId="JUnit" />
</history-entry>
<history-entry file="NewOperatorTest3_run - 2017.04.30 at 16h 42m 42s.xml">
<configuration name="NewOperatorTest3.run" configurationId="JUnit" />
</history-entry>
<history-entry file="NewOperatorTest3_run - 2017.04.30 at 16h 42m 51s.xml">
<configuration name="NewOperatorTest3.run" configurationId="JUnit" />
</history-entry>
<history-entry file="NewOperatorTest3_run - 2017.04.30 at 16h 45m 33s.xml">
<configuration name="NewOperatorTest3.run" configurationId="JUnit" />
</history-entry>
<history-entry file="NewOperatorTest3_run - 2017.04.30 at 16h 45m 45s.xml">
<configuration name="NewOperatorTest3.run" configurationId="JUnit" />
</history-entry>
<history-entry file="NewOperatorTest3_run - 2017.04.30 at 16h 54m 37s.xml">
<history-entry file="NewOperatorTest3_run - 2017.04.30 at 23h 50m 41s.xml">
<configuration name="NewOperatorTest3.run" configurationId="JUnit" />
</history-entry>
</component>
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="124089000" />
<option name="totallyTimeSpent" value="133220000" />
</component>
<component name="ToolWindowManager">
<frame x="0" y="27" width="1442" height="863" extended-state="0" />
<editor active="true" />
<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" />
<window_info id="Tool Output" 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="7" side_tool="false" content_ui="tabs" />
@ -1211,10 +1237,10 @@
<window_info id="Palette&#9;" 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="6" side_tool="false" content_ui="tabs" />
<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="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.39005235" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<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="true" 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="false" 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" />
@ -1224,6 +1250,39 @@
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
<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" />
</layout>
<layout-to-restore>
<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" />
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="Tool Output" 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="7" side_tool="false" content_ui="tabs" />
<window_info id="Nl-Palette" 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="2" side_tool="false" content_ui="tabs" />
<window_info id="Message" 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="0" side_tool="false" content_ui="tabs" />
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Event Log" 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="12" side_tool="true" content_ui="tabs" />
<window_info id="Maven Projects" 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="9" side_tool="false" content_ui="tabs" />
<window_info id="Properties" 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="4" side_tool="false" content_ui="tabs" />
<window_info id="Capture Tool" 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="7" side_tool="false" content_ui="tabs" />
<window_info id="Designer" 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="3" side_tool="false" content_ui="tabs" />
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
<window_info id="Database" 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="5" side_tool="false" content_ui="tabs" />
<window_info id="ANTLR Preview" 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="8" side_tool="false" content_ui="tabs" />
<window_info id="Structure" 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="1" side_tool="false" content_ui="tabs" />
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="UI Designer" 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="4" side_tool="false" content_ui="tabs" />
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.37041885" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="TODO" 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="6" side_tool="false" content_ui="tabs" />
<window_info id="Messages" 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="9" side_tool="false" content_ui="tabs" />
<window_info id="Palette&#9;" 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="6" side_tool="false" content_ui="tabs" />
<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="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="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" />
</layout-to-restore>
</component>
<component name="TypeScriptGeneratedFilesManager">
<option name="processedProjectFiles" value="true" />
@ -1258,13 +1317,19 @@
<option name="timeStamp" value="16" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/assumptions/ChangeTypeVars.java</url>
<line>46</line>
<url>file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/algo/TI.java</url>
<line>73</line>
<properties />
<option name="timeStamp" value="22" />
<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="23" />
<option name="time" value="27" />
</breakpoint-manager>
<watches-manager />
</component>
@ -1273,66 +1338,6 @@
<option name="FILTER_TARGETS" value="false" />
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/algo/Construct.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="133">
<caret line="33" column="15" lean-forward="false" selection-start-line="33" selection-start-column="15" selection-end-line="33" selection-end-column="15" />
<folding>
<element signature="imports" expanded="false" />
</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="1243">
<caret line="160" column="0" lean-forward="true" selection-start-line="160" selection-start-column="0" selection-end-line="160" selection-end-column="0" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/typeinference/unify/model/FiniteClosure.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="90">
<caret line="16" column="21" lean-forward="false" selection-start-line="16" selection-start-column="21" selection-end-line="16" selection-end-column="21" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/typeinference/unify/model/FunNType.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-680">
<caret line="10" column="13" lean-forward="false" selection-start-line="10" selection-start-column="13" selection-end-line="10" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/typeinference/unify/model/Node.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-815">
<caret line="12" column="6" lean-forward="false" selection-start-line="12" selection-start-column="6" selection-end-line="12" selection-end-column="6" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/test/typeinference/JavaTXCompilerTest.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="195">
<caret line="19" column="54" lean-forward="false" selection-start-line="19" selection-start-column="54" selection-end-line="19" selection-end-column="54" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/typeinference/assumptions/FieldAssumption.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="60">
<caret line="4" column="13" lean-forward="false" selection-start-line="4" selection-start-column="13" selection-end-line="4" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
<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">
@ -1557,34 +1562,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="210">
<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/TypeVarStore.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-112">
<caret line="84" column="52" lean-forward="false" selection-start-line="84" selection-start-column="52" selection-end-line="84" selection-end-column="52" />
<folding>
<element signature="imports" expanded="false" />
</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="203">
<caret line="39" column="20" lean-forward="false" selection-start-line="39" selection-start-column="14" selection-end-line="39" selection-end-column="20" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/ResultTuple.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="285">
@ -1653,16 +1630,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="158">
<caret line="115" column="26" lean-forward="false" selection-start-line="115" selection-start-column="26" selection-end-line="115" selection-end-column="26" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/ausgabe/Class2String.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="105">
@ -1671,22 +1638,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/algo/Type.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="8">
<caret line="18" column="13" lean-forward="false" selection-start-line="18" selection-start-column="13" selection-end-line="18" selection-end-column="13" />
<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="173">
<caret line="58" column="9" lean-forward="true" selection-start-line="58" selection-start-column="9" selection-end-line="58" selection-end-column="9" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/constraints/InterfaceForConstraint.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="150">
@ -1697,22 +1648,146 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/TypeVarAbstract.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="75">
<caret line="5" column="22" lean-forward="false" selection-start-line="5" selection-start-column="22" selection-end-line="5" selection-end-column="22" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/TypeVar.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="255">
<caret line="21" column="41" lean-forward="false" selection-start-line="21" selection-start-column="41" selection-end-line="21" selection-end-column="41" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/algo/Type.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="8">
<caret line="18" column="13" lean-forward="false" selection-start-line="18" selection-start-column="13" selection-end-line="18" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/constraints/ConstraintSubTypeGeneric.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="75">
<caret line="5" column="13" lean-forward="false" selection-start-line="5" selection-start-column="13" selection-end-line="5" selection-end-column="13" />
<caret line="5" column="26" lean-forward="true" selection-start-line="5" selection-start-column="26" selection-end-line="5" selection-end-column="26" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/algo/Construct.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1200">
<caret line="97" column="13" lean-forward="true" selection-start-line="97" selection-start-column="13" selection-end-line="97" selection-end-column="13" />
<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="233">
<caret line="34" column="23" lean-forward="false" selection-start-line="34" selection-start-column="23" selection-end-line="34" selection-end-column="23" />
<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">
<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>
<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">
<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>
</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">
<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" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/TypeVarFactory.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" />
<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>
<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" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
</component>
<component name="masterDetails">
<states>

View File

@ -38,7 +38,7 @@ public class Construct {
public Construct(ClassOrInterface classOrInterface, TypeVarStore typeVarStore , List<ConstraintAbstract> constraints) {
// Generate Interfaces for Field und MethodConstraints;
// First of all The Interfaces must be sortet
// Other Constraints must be remain in the class
// Other Constraints must be remain in the new List
// Sort the Constriants
Map<TypeVar, Set<ConstraintAbstract>> constraintSet = sortConstriants(constraints);
@ -150,8 +150,6 @@ public class Construct {
GenericDeclarationList genericDeclarationList = null;
Method m = new Method(name, returnType, modifers, parameterList, block , genericDeclarationList, new NullToken());
methods.add(m);
}

View File

@ -150,7 +150,15 @@ public class ConstructInterfaceTemplates {
TypeVar neuerTypeReveiver = (TypeVar) mappingAltNeu.getNeu(receiver);
InterfaceForConstraint interfaceForConstraint = new InterfaceForConstraint(receiver, genericsForConstraint);
remainingConstraints.add(new ConstraintSubTypeGeneric<>(neuerTypeReveiver , interfaceForConstraint ));
TypeVarAbstract tSub = neuerTypeReveiver;
TypeVarAbstract tSuper = TypeVarFactory.makeTypeVar(interfaceForConstraint);
ConstraintSubType newConstraint = new ConstraintSubType(tSub, tSuper);
remainingConstraints.add(newConstraint);
// Old Version
//remainingConstraints.add(new ConstraintSubTypeGeneric<>(neuerTypeReveiver , interfaceForConstraint ));
Interface newInterface = new Interface(receiver, fields, methods , generics);
return newInterface;

View File

@ -2,10 +2,12 @@ package de.dhbwstuttgart.strucTypes5.algo;
import com.sun.org.apache.xpath.internal.SourceTree;
import de.dhbwstuttgart.strucTypes4.syntaxtree.Class;
import de.dhbwstuttgart.strucTypes5.assumptions.AssumptionClass;
import de.dhbwstuttgart.strucTypes5.assumptions.AssumptionMap;
import de.dhbwstuttgart.strucTypes5.ausgabe.Class2String;
import de.dhbwstuttgart.strucTypes5.constraints.ConstraintAbstract;
import de.dhbwstuttgart.strucTypes5.constraints.ConstraintSubType;
import de.dhbwstuttgart.strucTypes5.constraints.OldConstraints;
import de.dhbwstuttgart.strucTypes5.typeVars.ResultTuple;
import de.dhbwstuttgart.strucTypes5.typeVars.TypeVar;
import de.dhbwstuttgart.strucTypes5.typeVars.TypeVarAbstract;
@ -13,6 +15,7 @@ import de.dhbwstuttgart.strucTypes5.typeVars.TypeVarStore;
import de.dhbwstuttgart.syntaxtree.ClassOrInterface;
import de.dhbwstuttgart.syntaxtree.FormalParameter;
import de.dhbwstuttgart.syntaxtree.Method;
import de.dhbwstuttgart.typeinference.constraints.Constraint;
import java.util.ArrayList;
import java.util.List;
@ -28,19 +31,20 @@ public class TI {
// Start TypeInference Algorithm, need Assumptions and a Class
public TI(AssumptionMap ass , ClassOrInterface cl) {
// ----- Type -----
TypeVarStore typeVarStore = new TypeVarStore();
Type type = new Type(ass , cl, typeVarStore);
ausgabe(cl);
System.out.println("TypVarStore 1");
System.out.println("TypVarStore 1 for: " + cl.getClassName().toString());
System.out.println(typeVarStore);
ausgabe2(cl,typeVarStore);
System.out.println(type.constraintList);
// Neue TypVariablen
ResultTuple tp = typeVarStore.freshVariableAndMapping();
// ---- Construct ----
// Einfache Implementierung -> Es werden die erforderlichen Daten für die Constraits und Interface zusammengetragen
ConstructInterfaceTemplates constructInterfaceTemplates = new ConstructInterfaceTemplates(cl, tp.getTypeVarStore(), type.constraintList , tp.getMappingAltNeu());
System.out.println("Generierte Interfaces");
@ -58,8 +62,42 @@ public class TI {
}
}
// -------- solve kommen ------------------------
// Hier muss noch die Solve Funktion auf die Constraints angewendet werden
// Eine erste auflösung mit dem TypeVarstore
List<ConstraintAbstract> resultConstraints = constructInterfaceTemplates.remainingConstraints;
List<ConstraintAbstract> newResultConstraints = new ArrayList<>();
TypeVarStore aktTVS = typeVarStore;
for (ConstraintAbstract cs : resultConstraints) {
if (cs instanceof ConstraintSubType) {
List<ConstraintAbstract> cslist = new ArrayList<>();
cslist.add(cs);
newResultConstraints.addAll(bearbeiteConstraints(cslist,aktTVS));
}
else if (cs instanceof OldConstraints) {
OldConstraints oldConstraints = (OldConstraints) cs;
newResultConstraints.addAll(bearbeiteConstraints(oldConstraints.constraintAbstractList , aktTVS));
}
}
System.out.println("\n \n Alte Constraints: ");
System.out.println(resultConstraints);
System.out.println("Neue Result Constraints: ");
System.out.println(newResultConstraints);
// -------- Das Ergebnis aus Solve wird in die Assumptions gespeichert zu weiteren Verwendung ------------------------
// Assumption Map für weitere Anwendungen
AssumptionClass assumptionClass = new AssumptionClass(cl,tp.getTypeVarStore(),ass, constructInterfaceTemplates.remainingConstraints , constructInterfaceTemplates.interfaceList, generics);
AssumptionClass assumptionClass = new AssumptionClass(cl,tp.getTypeVarStore(),ass, newResultConstraints , constructInterfaceTemplates.interfaceList, generics);
AssumptionMap assumptionMapNew = new AssumptionMap();
assumptionMapNew.addAssumption(assumptionClass);
assresult = assumptionMapNew;
@ -68,7 +106,15 @@ public class TI {
ausgabe2(cl,tp.typeVarStore);
System.out.println("generics");
System.out.println(generics);
System.out.println(constructInterfaceTemplates.remainingConstraints);
//System.out.println(constructInterfaceTemplates.remainingConstraints);
}
@ -91,12 +137,41 @@ public class TI {
public List<ConstraintAbstract> bearbeiteConstraints(List<ConstraintAbstract> constraints , TypeVarStore typeVarStore) {
List<ConstraintAbstract> newResultConstraints = new ArrayList<>();
for (ConstraintAbstract rc : constraints) {
if (rc instanceof ConstraintSubType) {
ConstraintSubType cSub = (ConstraintSubType) rc;
TypeVarAbstract tSubNeu = null;
TypeVarAbstract tSuperNeu = null;
// Check for Klasse
TypeVarAbstract tSub = cSub.getSubtype();
TypeVarAbstract tSuper = cSub.getSuperType();
if (tSub instanceof TypeVar) {
tSubNeu = typeVarStore.isType((TypeVar) tSub);
}
else {
tSubNeu = tSub;
}
if (tSuper instanceof TypeVar) {
tSuperNeu = typeVarStore.isType((TypeVar) tSuper);
}
else {
tSuperNeu = tSuper;
}
newResultConstraints.add(new ConstraintSubType(tSubNeu, tSuperNeu));
}
else {
newResultConstraints.add(rc);
}
}
return newResultConstraints;
}
}

View File

@ -1,25 +1,19 @@
package de.dhbwstuttgart.strucTypes5.assumptions;
import de.dhbwstuttgart.strucTypes5.algo.Type;
import de.dhbwstuttgart.strucTypes5.constraints.ConstraintAbstract;
import de.dhbwstuttgart.strucTypes5.constraints.ConstraintSubType;
import de.dhbwstuttgart.strucTypes5.constraints.ConstraintSubTypeGeneric;
import de.dhbwstuttgart.strucTypes5.constraints.InterfaceForConstraint;
import de.dhbwstuttgart.strucTypes5.interfaceTemplates.Interface;
import de.dhbwstuttgart.strucTypes5.typeVars.MappingAltNeu;
import de.dhbwstuttgart.strucTypes5.typeVars.ResultTuple;
import de.dhbwstuttgart.strucTypes5.typeVars.TypeVar;
import de.dhbwstuttgart.strucTypes5.typeVars.TypeVarAbstract;
import de.dhbwstuttgart.typeinference.constraints.Constraint;
import java.util.ArrayList;
import java.util.List;
/**
* This class is for using the new Operator.
* This Class Change the Typvar and give Back a new Class for Saving in the Assumptions
* This Class Change the TypVar and give Back a new Class for Saving in the Assumptions
* There have to be replace the typvars in the class, the generics, and the typeVars in the constraints.
*/
public class ChangeTypeVars {
@ -40,59 +34,22 @@ public class ChangeTypeVars {
List<ConstraintAbstract> constraints = oldAssClass.getConstraints();
List<ConstraintAbstract> newConstraints = new ArrayList<>();
for (ConstraintAbstract c : constraints) {
if (c instanceof ConstraintSubTypeGeneric ) {
ConstraintSubTypeGeneric csub = (ConstraintSubTypeGeneric) c;
Object tsub = csub.getSubType();
Object tsuper = csub.getSuperType();
Object tsubnew = null;
Object tsupernew = null;
if (tsub instanceof TypeVar) {
TypeVar tsubcast = (TypeVar) tsub;
TypeVar newTSub = (TypeVar) mappingAltNeu.getNeu(tsubcast);
tsubnew = newTSub;
}
else if (tsub instanceof InterfaceForConstraint) {
tsubnew = tsub;
}
else {
System.err.println("Fehler ChangeTypeVars");
}
if (tsuper instanceof TypeVar) {
TypeVar tsupercast = (TypeVar) tsuper;
TypeVar newTsuper = (TypeVar) mappingAltNeu.getNeu(tsupercast);
tsubnew = newTsuper;
}
else if (tsuper instanceof InterfaceForConstraint) {
tsupernew = tsuper;
}
else {
System.err.println("Fehler ChangeTypeVars");
}
ConstraintSubTypeGeneric<Object,Object> cs = new ConstraintSubTypeGeneric<>(tsubnew ,tsupernew );
newConstraints.add(cs);
}
else if (c instanceof ConstraintSubType) {
if (c instanceof ConstraintSubType) {
ConstraintSubType csub = (ConstraintSubType) c;
TypeVar tsub = csub.getSubtype();
TypeVar tsuper = csub.getSuperType();
TypeVarAbstract tsub = csub.getSubtype();
TypeVarAbstract tsuper = csub.getSuperType();
TypeVar newTSub = (TypeVar) mappingAltNeu.getNeu(tsub);
TypeVar newTsuper = (TypeVar) mappingAltNeu.getNeu(tsuper);
TypeVarAbstract newTSub = mappingAltNeu.getNeu(tsub);
TypeVarAbstract newTsuper = mappingAltNeu.getNeu(tsuper);
ConstraintSubType newC = new ConstraintSubType(newTSub , newTsuper);
newConstraints.add(newC);
}
else {
System.err.println("Fehler bei:" + this.getClass().getName());
}
}

View File

@ -2,6 +2,7 @@ package de.dhbwstuttgart.strucTypes5.constraints;
import de.dhbwstuttgart.strucTypes5.typeVars.TypeVar;
import de.dhbwstuttgart.strucTypes5.typeVars.TypeVarAbstract;
/**
* Created by sebastian on 20.04.17.
@ -12,27 +13,27 @@ public class ConstraintSubType extends ConstraintAbstract{
// TODO Hier muss ich mir das noch überlegen wie es geht. Evtl ist eine TypeVarType nicht notwenidg
// Eine Typvariable kann TypVar sein, ein Typ kann auch eine TypVar sein , ein Interface kann was sein ?
private TypeVar subtype;
private TypeVar superType;
private TypeVarAbstract subtype;
private TypeVarAbstract superType;
public ConstraintSubType(TypeVar subtype, TypeVar superType) {
public ConstraintSubType(TypeVarAbstract subtype, TypeVarAbstract superType) {
this.subtype = subtype;
this.superType = superType;
}
public TypeVar getSubtype() {
public TypeVarAbstract getSubtype() {
return subtype;
}
public void setSubtype(TypeVar subtype) {
public void setSubtype(TypeVarAbstract subtype) {
this.subtype = subtype;
}
public TypeVar getSuperType() {
public TypeVarAbstract getSuperType() {
return superType;
}
public void setSuperType(TypeVar superType) {
public void setSuperType(TypeVarAbstract superType) {
this.superType = superType;
}

View File

@ -28,6 +28,11 @@ public class MappingAltNeu {
public TypeVarAbstract getNeu (TypeVarAbstract altTypeVar) {
if (altTypeVar instanceof TypeVarInterface || altTypeVar instanceof TypeVarRefType) {
return altTypeVar;
}
// Wenn typ bereits bekannt ist
//if (altTypeVar.getClass().equals(TypeVarType.class)) {
// return altTypeVar;

View File

@ -1,5 +1,9 @@
package de.dhbwstuttgart.strucTypes5.typeVars;
import de.dhbwstuttgart.strucTypes5.constraints.InterfaceForConstraint;
import de.dhbwstuttgart.syntaxtree.type.RefType;
import de.dhbwstuttgart.syntaxtree.type.RefTypeOrTPHOrWildcardOrGeneric;
/**
* Created by sebastian on 14.04.17.
*/
@ -14,6 +18,22 @@ public class TypeVarFactory {
return new TypeVar(zaehler.toString());
}
public static TypeVarAbstract makeTypeVar(InterfaceForConstraint ifc) {
return new TypeVarInterface(ifc);
}
public static TypeVarAbstract makeTypeVar(RefTypeOrTPHOrWildcardOrGeneric refType) {
if (refType instanceof RefType) {
RefType refType2 = (RefType) refType;
return new TypeVarRefType(refType2);
}
else {
System.err.println("Fehler" + TypeVarFactory.class.toString());
return null;
}
}

View File

@ -0,0 +1,42 @@
package de.dhbwstuttgart.strucTypes5.typeVars;
import de.dhbwstuttgart.strucTypes5.constraints.InterfaceForConstraint;
/**
* Created by sebastian on 30.04.17.
*/
public class TypeVarInterface extends TypeVarAbstract {
private InterfaceForConstraint interfaceForConstraint;
public TypeVarInterface(InterfaceForConstraint interfaceForConstraint) {
this.interfaceForConstraint = interfaceForConstraint;
}
public InterfaceForConstraint getInterfaceForConstraint() {
return interfaceForConstraint;
}
public void setInterfaceForConstraint(InterfaceForConstraint interfaceForConstraint) {
this.interfaceForConstraint = interfaceForConstraint;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof TypeVarInterface)) return false;
TypeVarInterface that = (TypeVarInterface) o;
return getInterfaceForConstraint() != null ? getInterfaceForConstraint().equals(that.getInterfaceForConstraint()) : that.getInterfaceForConstraint() == null;
}
@Override
public String toString() {
return String.format("TVar_%s" , interfaceForConstraint.toString());
}
}

View File

@ -0,0 +1,39 @@
package de.dhbwstuttgart.strucTypes5.typeVars;
import de.dhbwstuttgart.syntaxtree.type.RefType;
/**
* Created by sebastian on 30.04.17.
*/
public class TypeVarRefType extends TypeVarAbstract {
private RefType refType;
public TypeVarRefType(RefType refType) {
this.refType = refType;
}
public RefType getRefType() {
return refType;
}
public void setRefType(RefType refType) {
this.refType = refType;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof TypeVarRefType)) return false;
TypeVarRefType that = (TypeVarRefType) o;
return getRefType() != null ? getRefType().equals(that.getRefType()) : that.getRefType() == null;
}
@Override
public String toString() {
return String.format("TVar_%s" , refType.toString());
}
}

View File

@ -1,6 +1,7 @@
package de.dhbwstuttgart.strucTypes5.typeVars;
import de.dhbwstuttgart.syntaxtree.type.RefType;
import de.dhbwstuttgart.syntaxtree.type.RefTypeOrTPHOrWildcardOrGeneric;
import java.util.ArrayList;
@ -136,6 +137,23 @@ public class TypeVarStore {
}
public TypeVarAbstract isType(TypeVar testVar) {
List<RefTypeOrTPHOrWildcardOrGeneric> tphList = map.get(testVar);
if (tphList == null) {
return testVar;
}
for (RefTypeOrTPHOrWildcardOrGeneric type : tphList) {
if (type instanceof RefType) {
return TypeVarFactory.makeTypeVar(type);
}
}
// else
return testVar;
}