solve regel angepasst

This commit is contained in:
sebastian 2017-05-05 13:04:03 +02:00
parent c09e0295d2
commit 9b66d97f62
8 changed files with 554 additions and 274 deletions

589
.idea/workspace.xml generated
View File

@ -2,14 +2,12 @@
<project version="4"> <project version="4">
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="5cf612a7-261d-49e6-bf7a-db4b05e41151" name="Default" comment=""> <list default="true" id="5cf612a7-261d-49e6-bf7a-db4b05e41151" name="Default" comment="">
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.gitignore" afterPath="$PROJECT_DIR$/.gitignore" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" /> <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/TypeExpr.java" afterPath="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/algo/TypeExpr.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/solve/Ruler.java" afterPath="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/solve/Ruler.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/solve/Rules.java" afterPath="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/solve/Rules.java" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/solve/Rules.java" afterPath="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/solve/Rules.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$/test/strucTypes5/SolveTest.jav" afterPath="$PROJECT_DIR$/test/strucTypes5/SolveTest.jav" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/TypeVarRefType.java" afterPath="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/TypeVarRefType.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/de/dhbwstuttgart/syntaxtree/type/RefType.java" afterPath="$PROJECT_DIR$/src/de/dhbwstuttgart/syntaxtree/type/RefType.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/test/strucTypes5/SolveTest.java" afterPath="$PROJECT_DIR$/test/strucTypes5/SolveTest.java" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/test/strucTypes5/SolveTest.java" afterPath="$PROJECT_DIR$/test/strucTypes5/SolveTest.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/test/strucTypes5/SolveTestMyList.java" afterPath="$PROJECT_DIR$/test/strucTypes5/SolveTestMyList.java" />
</list> </list>
<ignored path="$PROJECT_DIR$/bin/" /> <ignored path="$PROJECT_DIR$/bin/" />
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" /> <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
@ -25,54 +23,11 @@
<component name="ExecutionTargetManager" SELECTED_TARGET="default_target" /> <component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
<component name="FileEditorManager"> <component name="FileEditorManager">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300"> <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file leaf-file-name="SolveTest2.jav" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/test/strucTypes5/SolveTest2.jav">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="255">
<caret line="17" column="11" lean-forward="false" selection-start-line="17" selection-start-column="11" selection-end-line="17" selection-end-column="11" />
<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="234">
<caret line="43" column="26" lean-forward="false" selection-start-line="43" selection-start-column="26" selection-end-line="43" selection-end-column="26" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="SolveTestMyList.java" pinned="false" current-in-tab="false"> <file leaf-file-name="SolveTestMyList.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/test/strucTypes5/SolveTestMyList.java"> <entry file="file://$PROJECT_DIR$/test/strucTypes5/SolveTestMyList.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="245"> <state relative-caret-position="720">
<caret line="66" column="0" lean-forward="false" selection-start-line="66" selection-start-column="0" selection-end-line="66" selection-end-column="0" /> <caret line="66" column="0" lean-forward="false" selection-start-line="66" selection-start-column="0" selection-end-line="66" selection-end-column="0" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#1180#1188#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="RefType.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/syntaxtree/type/RefType.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="186">
<caret line="104" column="30" lean-forward="false" selection-start-line="104" selection-start-column="30" selection-end-line="104" selection-end-column="30" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="TypeVar.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/TypeVar.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="105">
<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 /> <folding />
</state> </state>
</provider> </provider>
@ -81,8 +36,8 @@
<file leaf-file-name="Ruler.java" pinned="false" current-in-tab="false"> <file leaf-file-name="Ruler.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/solve/Ruler.java"> <entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/solve/Ruler.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="219"> <state relative-caret-position="159">
<caret line="69" column="0" lean-forward="false" selection-start-line="69" selection-start-column="0" selection-end-line="69" selection-end-column="0" /> <caret line="44" column="0" lean-forward="true" selection-start-line="44" selection-start-column="0" selection-end-line="44" selection-end-column="0" />
<folding> <folding>
<element signature="imports" expanded="true" /> <element signature="imports" expanded="true" />
</folding> </folding>
@ -90,34 +45,73 @@
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="ResultTuple.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/ResultTuple.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="120">
<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="e#430#431#0" expanded="true" />
<element signature="e#466#467#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="TypeVarRefType.java" pinned="false" current-in-tab="false"> <file leaf-file-name="TypeVarRefType.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/TypeVarRefType.java"> <entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/TypeVarRefType.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="300"> <state relative-caret-position="300">
<caret line="51" column="5" lean-forward="true" selection-start-line="51" selection-start-column="5" selection-end-line="51" selection-end-column="5" /> <caret line="51" column="5" lean-forward="false" selection-start-line="51" selection-start-column="5" selection-end-line="51" selection-end-column="5" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="Rules.java" pinned="false" current-in-tab="true"> <file leaf-file-name="Rules.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/solve/Rules.java"> <entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/solve/Rules.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="220"> <state relative-caret-position="676">
<caret line="397" column="14" lean-forward="false" selection-start-line="397" selection-start-column="14" selection-end-line="397" selection-end-column="14" /> <caret line="398" column="0" lean-forward="false" selection-start-line="398" selection-start-column="0" selection-end-line="398" selection-end-column="0" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="SolveTest.jav" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/test/strucTypes5/SolveTest.jav">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="150">
<caret line="10" column="1" lean-forward="true" selection-start-line="10" selection-start-column="1" selection-end-line="10" selection-end-column="1" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="TypeExpr.java" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/algo/TypeExpr.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="120">
<caret line="71" column="12" lean-forward="false" selection-start-line="71" selection-start-column="12" selection-end-line="71" selection-end-column="12" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="SolveTest_Rek.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/test/strucTypes5/SolveTest_Rek.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="45">
<caret line="66" column="105" lean-forward="false" selection-start-line="66" selection-start-column="105" selection-end-line="66" selection-end-column="105" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="SolveTestRek.jav" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/test/strucTypes5/SolveTestRek.jav">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="60">
<caret line="4" column="46" lean-forward="false" selection-start-line="4" selection-start-column="46" selection-end-line="4" selection-end-column="46" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="SolveTest.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/test/strucTypes5/SolveTest.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="160">
<caret line="105" column="0" lean-forward="false" selection-start-line="105" selection-start-column="0" selection-end-line="105" selection-end-column="0" />
<folding> <folding>
<element signature="imports" expanded="true" /> <element signature="imports" expanded="true" />
</folding> </folding>
@ -129,7 +123,7 @@
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/constraints/ConstraintInterface.java"> <entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/constraints/ConstraintInterface.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="165"> <state relative-caret-position="165">
<caret line="11" column="26" lean-forward="true" selection-start-line="11" selection-start-column="26" selection-end-line="11" selection-end-column="26" /> <caret line="11" column="26" lean-forward="false" selection-start-line="11" selection-start-column="26" selection-end-line="11" selection-end-column="26" />
<folding /> <folding />
</state> </state>
</provider> </provider>
@ -147,7 +141,6 @@
</component> </component>
<component name="FindInProjectRecents"> <component name="FindInProjectRecents">
<findStrings> <findStrings>
<find>subst</find>
<find>substi</find> <find>substi</find>
<find>substitu</find> <find>substitu</find>
<find>reflect</find> <find>reflect</find>
@ -177,6 +170,7 @@
<find>Interface</find> <find>Interface</find>
<find>equals</find> <find>equals</find>
<find>sucheInter</find> <find>sucheInter</find>
<find>Loca</find>
</findStrings> </findStrings>
</component> </component>
<component name="Git.Settings"> <component name="Git.Settings">
@ -190,8 +184,6 @@
<component name="IdeDocumentHistory"> <component name="IdeDocumentHistory">
<option name="CHANGED_PATHS"> <option name="CHANGED_PATHS">
<list> <list>
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes4/syntaxtree/MethodInterface.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/FieldInterface.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/interfaceTemplates/MethodInterface.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/interfaceTemplates/Interface.java" />
@ -216,7 +208,6 @@
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/algo/ConstructInterfaceTemplates.java" /> <option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/algo/ConstructInterfaceTemplates.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/assumptions/ChangeTypeVars.java" /> <option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/assumptions/ChangeTypeVars.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/TypeVarStore.java" /> <option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/TypeVarStore.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/algo/TypeExpr.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/constraints/ConstraintSubstitution.java" /> <option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/constraints/ConstraintSubstitution.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/MappingAltNeu.java" /> <option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/MappingAltNeu.java" />
<option value="$PROJECT_DIR$/test/strucTypes5/NewOperatorTest2.java" /> <option value="$PROJECT_DIR$/test/strucTypes5/NewOperatorTest2.java" />
@ -232,15 +223,18 @@
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/constraints/InterfaceForConstraint.java" /> <option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/constraints/InterfaceForConstraint.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/ausgabe/HelpListAusgabe.java" /> <option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/ausgabe/HelpListAusgabe.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/ausgabe/Help.java" /> <option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/ausgabe/Help.java" />
<option value="$PROJECT_DIR$/test/strucTypes5/SolveTest.jav" />
<option value="$PROJECT_DIR$/test/strucTypes5/SolveTest2.jav" /> <option value="$PROJECT_DIR$/test/strucTypes5/SolveTest2.jav" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/TypeVarFactory.java" /> <option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/TypeVarFactory.java" />
<option value="$PROJECT_DIR$/test/strucTypes5/SolveTest.java" />
<option value="$PROJECT_DIR$/test/strucTypes5/SolveTestMyList.java" /> <option value="$PROJECT_DIR$/test/strucTypes5/SolveTestMyList.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/TypeVarRefType.java" /> <option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/TypeVarRefType.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/syntaxtree/type/RefType.java" /> <option value="$PROJECT_DIR$/src/de/dhbwstuttgart/syntaxtree/type/RefType.java" />
<option value="$PROJECT_DIR$/test/strucTypes5/SolveTest.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/solve/Ruler.java" /> <option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/solve/Ruler.java" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/solve/Rules.java" /> <option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/solve/Rules.java" />
<option value="$PROJECT_DIR$/test/strucTypes5/SolveTest.jav" />
<option value="$PROJECT_DIR$/test/strucTypes5/SolveTest_Rek.java" />
<option value="$PROJECT_DIR$/test/strucTypes5/SolveTestRek.jav" />
<option value="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/algo/TypeExpr.java" />
</list> </list>
</option> </option>
</component> </component>
@ -272,7 +266,6 @@
</navigator> </navigator>
<panes> <panes>
<pane id="Scope" /> <pane id="Scope" />
<pane id="PackagesPane" />
<pane id="ProjectPane"> <pane id="ProjectPane">
<subPane> <subPane>
<PATH> <PATH>
@ -433,8 +426,165 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT> </PATH_ELEMENT>
</PATH> </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="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" />
<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>
</subPane> </subPane>
</pane> </pane>
<pane id="PackagesPane" />
<pane id="Scratches" /> <pane id="Scratches" />
</panes> </panes>
</component> </component>
@ -469,7 +619,7 @@
<recent name="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5" /> <recent name="$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5" />
</key> </key>
</component> </component>
<component name="RunManager" selected="JUnit.SolveTestMyList.run"> <component name="RunManager" selected="JUnit.SolveTest_Rek.run">
<configuration default="false" name="NewOperatorTest2.run" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true"> <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"> <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
<pattern> <pattern>
@ -496,32 +646,6 @@
<patterns /> <patterns />
<method /> <method />
</configuration> </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="false" name="SolveTest_Dev.run" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true"> <configuration default="false" name="SolveTest_Dev.run" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea"> <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
<pattern> <pattern>
@ -600,6 +724,32 @@
<patterns /> <patterns />
<method /> <method />
</configuration> </configuration>
<configuration default="false" name="SolveTest_Rek.run" 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.SolveTest_Rek" />
<option name="METHOD_NAME" value="run" />
<option name="TEST_OBJECT" value="method" />
<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"> <configuration default="true" type="#org.jetbrains.idea.devkit.run.PluginConfigurationType" factoryName="Plugin">
<module name="" /> <module name="" />
<option name="VM_PARAMETERS" value="-Xmx512m -Xms256m -XX:MaxPermSize=250m -ea" /> <option name="VM_PARAMETERS" value="-Xmx512m -Xms256m -XX:MaxPermSize=250m -ea" />
@ -982,18 +1132,18 @@
</configuration> </configuration>
<list size="5"> <list size="5">
<item index="0" 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" /> <item index="1" class="java.lang.String" itemvalue="JUnit.SolveTest_Dev.run" />
<item index="2" class="java.lang.String" itemvalue="JUnit.SolveTest_Dev.run" /> <item index="2" class="java.lang.String" itemvalue="JUnit.SolveTest.run" />
<item index="3" class="java.lang.String" itemvalue="JUnit.SolveTest.run" /> <item index="3" class="java.lang.String" itemvalue="JUnit.SolveTestMyList.run" />
<item index="4" class="java.lang.String" itemvalue="JUnit.SolveTestMyList.run" /> <item index="4" class="java.lang.String" itemvalue="JUnit.SolveTest_Rek.run" />
</list> </list>
<recent_temporary> <recent_temporary>
<list size="5"> <list size="5">
<item index="0" class="java.lang.String" itemvalue="JUnit.SolveTestMyList.run" /> <item index="0" class="java.lang.String" itemvalue="JUnit.SolveTest_Rek.run" />
<item index="1" class="java.lang.String" itemvalue="JUnit.SolveTest.run" /> <item index="1" class="java.lang.String" itemvalue="JUnit.SolveTest.run" />
<item index="2" class="java.lang.String" itemvalue="JUnit.SolveTest_Dev.run" /> <item index="2" class="java.lang.String" itemvalue="JUnit.SolveTestMyList.run" />
<item index="3" class="java.lang.String" itemvalue="JUnit.NewOperatorTest2.run" /> <item index="3" class="java.lang.String" itemvalue="JUnit.SolveTest_Dev.run" />
<item index="4" class="java.lang.String" itemvalue="JUnit.NewOperatorTest3" /> <item index="4" class="java.lang.String" itemvalue="JUnit.NewOperatorTest2.run" />
</list> </list>
</recent_temporary> </recent_temporary>
</component> </component>
@ -1012,44 +1162,45 @@
<updated>1492600650522</updated> <updated>1492600650522</updated>
<workItem from="1492600653626" duration="3746000" /> <workItem from="1492600653626" duration="3746000" />
<workItem from="1492623646935" duration="193993000" /> <workItem from="1492623646935" duration="193993000" />
<workItem from="1493925903939" duration="6016000" /> <workItem from="1493925903939" duration="6683000" />
<workItem from="1493978359711" duration="3354000" />
</task> </task>
<servers /> <servers />
</component> </component>
<component name="TestHistory"> <component name="TestHistory">
<history-entry file="SolveTestMyList_run - 2017.05.04 at 22h 36m 07s.xml"> <history-entry file="SolveTest_Rek_run - 2017.05.05 at 12h 40m 47s.xml">
<configuration name="SolveTestMyList.run" configurationId="JUnit" /> <configuration name="SolveTest_Rek.run" configurationId="JUnit" />
</history-entry> </history-entry>
<history-entry file="SolveTestMyList_run - 2017.05.04 at 22h 43m 48s.xml"> <history-entry file="SolveTest_Rek_run - 2017.05.05 at 12h 41m 03s.xml">
<configuration name="SolveTestMyList.run" configurationId="JUnit" /> <configuration name="SolveTest_Rek.run" configurationId="JUnit" />
</history-entry> </history-entry>
<history-entry file="SolveTestMyList_run - 2017.05.04 at 22h 45m 00s.xml"> <history-entry file="SolveTest_Rek_run - 2017.05.05 at 12h 49m 04s.xml">
<configuration name="SolveTestMyList.run" configurationId="JUnit" /> <configuration name="SolveTest_Rek.run" configurationId="JUnit" />
</history-entry> </history-entry>
<history-entry file="SolveTestMyList_run - 2017.05.04 at 22h 52m 31s.xml"> <history-entry file="SolveTest_run - 2017.05.05 at 12h 08m 39s.xml">
<configuration name="SolveTestMyList.run" configurationId="JUnit" /> <configuration name="SolveTest.run" configurationId="JUnit" />
</history-entry> </history-entry>
<history-entry file="SolveTestMyList_run - 2017.05.04 at 22h 54m 32s.xml"> <history-entry file="SolveTest_run - 2017.05.05 at 12h 13m 38s.xml">
<configuration name="SolveTestMyList.run" configurationId="JUnit" /> <configuration name="SolveTest.run" configurationId="JUnit" />
</history-entry> </history-entry>
<history-entry file="SolveTestMyList_run - 2017.05.04 at 23h 08m 26s.xml"> <history-entry file="SolveTest_run - 2017.05.05 at 12h 15m 04s.xml">
<configuration name="SolveTestMyList.run" configurationId="JUnit" /> <configuration name="SolveTest.run" configurationId="JUnit" />
</history-entry> </history-entry>
<history-entry file="SolveTestMyList_run - 2017.05.04 at 23h 08m 37s.xml"> <history-entry file="SolveTest_run - 2017.05.05 at 12h 18m 41s.xml">
<configuration name="SolveTestMyList.run" configurationId="JUnit" /> <configuration name="SolveTest.run" configurationId="JUnit" />
</history-entry> </history-entry>
<history-entry file="SolveTestMyList_run - 2017.05.04 at 23h 09m 03s.xml"> <history-entry file="SolveTest_run - 2017.05.05 at 12h 20m 02s.xml">
<configuration name="SolveTestMyList.run" configurationId="JUnit" /> <configuration name="SolveTest.run" configurationId="JUnit" />
</history-entry> </history-entry>
<history-entry file="SolveTestMyList_run - 2017.05.04 at 23h 09m 36s.xml"> <history-entry file="SolveTest_run - 2017.05.05 at 12h 37m 34s.xml">
<configuration name="SolveTestMyList.run" configurationId="JUnit" /> <configuration name="SolveTest.run" configurationId="JUnit" />
</history-entry> </history-entry>
<history-entry file="SolveTestMyList_run - 2017.05.04 at 23h 10m 56s.xml"> <history-entry file="SolveTest_run - 2017.05.05 at 12h 40m 35s.xml">
<configuration name="SolveTestMyList.run" configurationId="JUnit" /> <configuration name="SolveTest.run" configurationId="JUnit" />
</history-entry> </history-entry>
</component> </component>
<component name="TimeTrackingManager"> <component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="203755000" /> <option name="totallyTimeSpent" value="207776000" />
</component> </component>
<component name="ToolWindowManager"> <component name="ToolWindowManager">
<frame x="-2" y="27" width="1442" height="863" extended-state="0" /> <frame x="-2" y="27" width="1442" height="863" extended-state="0" />
@ -1068,14 +1219,14 @@
<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="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="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="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.31937173" sideWeight="0.5" order="3" 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.33507854" 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="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="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="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="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="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.2657068" 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="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="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.42670158" sideWeight="0.5" order="2" 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="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="true" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
<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="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" />
@ -1149,18 +1300,30 @@
</line-breakpoint> </line-breakpoint>
<line-breakpoint enabled="true" type="java-line"> <line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/solve/Rules.java</url> <url>file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/solve/Rules.java</url>
<line>364</line> <line>392</line>
<properties /> <properties />
<option name="timeStamp" value="66" /> <option name="timeStamp" value="67" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/solve/Rules.java</url>
<line>368</line>
<properties />
<option name="timeStamp" value="68" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/algo/TypeExpr.java</url>
<line>68</line>
<properties />
<option name="timeStamp" value="69" />
</line-breakpoint> </line-breakpoint>
<line-breakpoint enabled="true" type="java-method"> <line-breakpoint enabled="true" type="java-method">
<url>file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/solve/Rules.java</url> <url>file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/solve/Rules.java</url>
<line>160</line> <line>157</line>
<properties class="de.dhbwstuttgart.strucTypes5.solve.Rules" /> <properties class="de.dhbwstuttgart.strucTypes5.solve.Rules" />
<option name="timeStamp" value="47" /> <option name="timeStamp" value="47" />
</line-breakpoint> </line-breakpoint>
</breakpoints> </breakpoints>
<option name="time" value="67" /> <option name="time" value="70" />
</breakpoint-manager> </breakpoint-manager>
<watches-manager /> <watches-manager />
</component> </component>
@ -1169,15 +1332,6 @@
<option name="FILTER_TARGETS" value="false" /> <option name="FILTER_TARGETS" value="false" />
</component> </component>
<component name="editorHistoryManager"> <component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/assumptions/ResultTuple.java" />
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/assumptions/AssumptionFactory.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="75">
<caret line="5" column="48" lean-forward="false" selection-start-line="5" selection-start-column="48" selection-end-line="5" selection-end-column="48" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/assumptions/AssumptionClass.java"> <entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/assumptions/AssumptionClass.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="127"> <state relative-caret-position="127">
@ -1189,9 +1343,6 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-411"> <state relative-caret-position="-411">
<caret line="10" column="13" lean-forward="false" selection-start-line="10" selection-start-column="13" selection-end-line="10" selection-end-column="13" /> <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>
<element signature="imports" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@ -1199,9 +1350,6 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="120"> <state relative-caret-position="120">
<caret line="8" column="13" lean-forward="false" selection-start-line="8" selection-start-column="13" selection-end-line="8" selection-end-column="13" /> <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="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@ -1231,7 +1379,6 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="75"> <state relative-caret-position="75">
<caret line="5" column="26" lean-forward="true" selection-start-line="5" selection-start-column="26" selection-end-line="5" selection-end-column="26" /> <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> </state>
</provider> </provider>
</entry> </entry>
@ -1239,7 +1386,6 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1200"> <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" /> <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> </state>
</provider> </provider>
</entry> </entry>
@ -1247,9 +1393,6 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="24"> <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" /> <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="false" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@ -1275,23 +1418,10 @@
</state> </state>
</provider> </provider>
</entry> </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="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/assumptions/ChangeTypeVars.java"> <entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/assumptions/ChangeTypeVars.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="41"> <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" /> <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="false" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@ -1389,7 +1519,6 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-1605"> <state relative-caret-position="-1605">
<caret line="17" column="13" lean-forward="false" selection-start-line="17" selection-start-column="13" selection-end-line="17" selection-end-column="13" /> <caret line="17" column="13" lean-forward="false" selection-start-line="17" selection-start-column="13" selection-end-line="17" selection-end-column="13" />
<folding />
</state> </state>
</provider> </provider>
</entry> </entry>
@ -1422,9 +1551,6 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="300"> <state relative-caret-position="300">
<caret line="20" column="9" lean-forward="true" selection-start-line="20" selection-start-column="9" selection-end-line="20" selection-end-column="9" /> <caret line="20" column="9" lean-forward="true" selection-start-line="20" selection-start-column="9" selection-end-line="20" selection-end-column="9" />
<folding>
<element signature="imports" expanded="false" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@ -1455,14 +1581,6 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/test/strucTypes5/SolveTest.jav">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="60">
<caret line="4" column="42" lean-forward="false" selection-start-line="4" selection-start-column="42" selection-end-line="4" selection-end-column="42" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/TypeVarStore.java"> <entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/TypeVarStore.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-15"> <state relative-caret-position="-15">
@ -1479,16 +1597,6 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/test/strucTypes5/SolveTest.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="186">
<caret line="67" column="61" lean-forward="true" selection-start-line="67" selection-start-column="61" selection-end-line="67" selection-end-column="61" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/syntaxtree/type/RefTypeOrTPHOrWildcardOrGeneric.java"> <entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/syntaxtree/type/RefTypeOrTPHOrWildcardOrGeneric.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="60"> <state relative-caret-position="60">
@ -1512,7 +1620,11 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="105"> <state relative-caret-position="105">
<caret line="9" column="13" lean-forward="false" selection-start-line="9" selection-start-column="13" selection-end-line="9" selection-end-column="13" /> <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 /> <folding>
<element signature="imports" expanded="false" />
<element signature="e#410#411#0" expanded="false" />
<element signature="e#462#463#0" expanded="false" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@ -1526,25 +1638,21 @@
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/syntaxtree/type/RefType.java"> <entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/syntaxtree/type/RefType.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="186"> <state relative-caret-position="1425">
<caret line="104" column="30" lean-forward="false" selection-start-line="104" selection-start-column="30" selection-end-line="104" selection-end-column="30" /> <caret line="104" column="30" lean-forward="false" selection-start-line="104" selection-start-column="30" selection-end-line="104" selection-end-column="30" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/solve/Ruler.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="219">
<caret line="69" column="0" lean-forward="false" selection-start-line="69" selection-start-column="0" selection-end-line="69" selection-end-column="0" />
<folding> <folding>
<element signature="imports" expanded="true" /> <element signature="imports" expanded="false" />
<element signature="e#1121#1122#0" expanded="false" />
<element signature="e#1164#1165#0" expanded="false" />
<element signature="e#1675#1676#0" expanded="false" />
<element signature="e#1702#1703#0" expanded="false" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/TypeVarInterface.java"> <entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/TypeVarInterface.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="234"> <state relative-caret-position="600">
<caret line="43" column="26" lean-forward="false" selection-start-line="43" selection-start-column="26" selection-end-line="43" selection-end-column="26" /> <caret line="43" column="26" lean-forward="false" selection-start-line="43" selection-start-column="26" selection-end-line="43" selection-end-column="26" />
<folding /> <folding />
</state> </state>
@ -1553,18 +1661,69 @@
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/constraints/ConstraintInterface.java"> <entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/constraints/ConstraintInterface.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="165"> <state relative-caret-position="165">
<caret line="11" column="26" lean-forward="true" selection-start-line="11" selection-start-column="26" selection-end-line="11" selection-end-column="26" /> <caret line="11" column="26" lean-forward="false" selection-start-line="11" selection-start-column="26" selection-end-line="11" selection-end-column="26" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/test/strucTypes5/SolveTestMyList.java"> <entry file="file://$PROJECT_DIR$/test/strucTypes5/SolveTestMyList.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="245"> <state relative-caret-position="720">
<caret line="66" column="0" lean-forward="false" selection-start-line="66" selection-start-column="0" selection-end-line="66" selection-end-column="0" /> <caret line="66" column="0" lean-forward="false" selection-start-line="66" selection-start-column="0" selection-end-line="66" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/test/strucTypes5/SolveTest.jav">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="150">
<caret line="10" column="1" lean-forward="true" selection-start-line="10" selection-start-column="1" selection-end-line="10" selection-end-column="1" />
<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="676">
<caret line="398" column="0" lean-forward="false" selection-start-line="398" selection-start-column="0" selection-end-line="398" selection-end-column="0" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/test/strucTypes5/SolveTest_Rek.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="45">
<caret line="66" column="105" lean-forward="false" selection-start-line="66" selection-start-column="105" selection-end-line="66" selection-end-column="105" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/test/strucTypes5/SolveTestRek.jav">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="60">
<caret line="4" column="46" lean-forward="false" selection-start-line="4" selection-start-column="46" selection-end-line="4" selection-end-column="46" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/test/strucTypes5/SolveTest.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="160">
<caret line="105" column="0" lean-forward="false" selection-start-line="105" selection-start-column="0" selection-end-line="105" selection-end-column="0" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/solve/Ruler.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="159">
<caret line="44" column="0" lean-forward="true" selection-start-line="44" selection-start-column="0" selection-end-line="44" selection-end-column="0" />
<folding> <folding>
<element signature="imports" expanded="true" /> <element signature="imports" expanded="true" />
<element signature="e#1180#1188#0" expanded="true" />
</folding> </folding>
</state> </state>
</provider> </provider>
@ -1572,18 +1731,16 @@
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/TypeVarRefType.java"> <entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/typeVars/TypeVarRefType.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="300"> <state relative-caret-position="300">
<caret line="51" column="5" lean-forward="true" selection-start-line="51" selection-start-column="5" selection-end-line="51" selection-end-column="5" /> <caret line="51" column="5" lean-forward="false" selection-start-line="51" selection-start-column="5" selection-end-line="51" selection-end-column="5" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/solve/Rules.java"> <entry file="file://$PROJECT_DIR$/src/de/dhbwstuttgart/strucTypes5/algo/TypeExpr.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="220"> <state relative-caret-position="120">
<caret line="397" column="14" lean-forward="false" selection-start-line="397" selection-start-column="14" selection-end-line="397" selection-end-column="14" /> <caret line="71" column="12" lean-forward="false" selection-start-line="71" selection-start-column="12" selection-end-line="71" selection-end-column="12" />
<folding> <folding />
<element signature="imports" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>

View File

@ -69,6 +69,7 @@ public class TypeExpr {
LocalVar localVar = (LocalVar) expression; LocalVar localVar = (LocalVar) expression;
// Erstellung keines Constriants // Erstellung keines Constriants
// Lediglich eintrag in TypeVarStore // Lediglich eintrag in TypeVarStore
RefTypeOrTPHOrWildcardOrGeneric typeVar = assumptionMap.getVarAssumption(localVar.get_expression()); RefTypeOrTPHOrWildcardOrGeneric typeVar = assumptionMap.getVarAssumption(localVar.get_expression());
typeVarStore.addTuple(typeVar,localVar.getType()); typeVarStore.addTuple(typeVar,localVar.getType());
List<ConstraintAbstract> result = new ArrayList<>(); List<ConstraintAbstract> result = new ArrayList<>();

View File

@ -145,9 +145,6 @@ public class Rules {
// ToDo Not implemented // ToDo Not implemented
public void reduce(List<ConstraintAbstract> constraints) { public void reduce(List<ConstraintAbstract> constraints) {
for (ConstraintAbstract cs : constraints) { for (ConstraintAbstract cs : constraints) {
@ -359,15 +356,17 @@ public class Rules {
} }
/**
* Sucht aus den geladen Interfaces das benötigte herraus.
*
*
* @param tvSub Subtype des Constraints
* @param tvSuper Gesuchtes Interface aus dem Constraint mit dem Objekt "Interface for Constraint".
* @return gibt den Constraint für den das gefundene Interface zurück.
*/
private ConstraintInterface sucheInterface( RefTypeOrTPHOrWildcardOrGeneric tvSub , RefTypeOrTPHOrWildcardOrGeneric tvSuper ) { private ConstraintInterface sucheInterface( RefTypeOrTPHOrWildcardOrGeneric tvSub , RefTypeOrTPHOrWildcardOrGeneric tvSuper ) {
for (ConstraintInterface cs : constraintInterfaces) { for (ConstraintInterface cs : constraintInterfaces) {
// if ( cs.getSubType().equalsForUnify(tvSub) && cs.getSuperType().equalsForUnify(tvSuper) ) {
//if ( cs.getSubType().equals(tvSub) && cs.getSuperType().equals(tvSuper) ) {
// if (true) {
// return cs;
String nameStart = null; String nameStart = null;
String nameStartIF = null; String nameStartIF = null;
@ -389,23 +388,14 @@ public class Rules {
nameVglIf = ((TypeVarInterface) cs.getSuperType()).getInterfaceForConstraint().getStrucType().toString(); nameVglIf = ((TypeVarInterface) cs.getSuperType()).getInterfaceForConstraint().getStrucType().toString();
} }
if (nameStart != null && nameStartIF != null && nameVglStart != null && nameVglStart != null ) {
if (nameStart.equals(nameVglStart) && nameStartIF.equals(nameVglIf)) { if (nameStart.equals(nameVglStart) && nameStartIF.equals(nameVglIf)) {
return cs; return cs;
} }
//System.out.println(String.format("Vergleiche: %s ==? %s und %s ==? %s " , nameStart, nameVglStart , nameStartIF , nameVglIf));
} }
//System.out.println(String.format("Vergleiche: %s ==? %s und %s ==? %s " , nameStart, nameVglStart , nameStartIF , nameVglIf));
}
return null; return null;

View File

@ -2,7 +2,7 @@
class Main { class Main {
main () { return new A().mt( new MyInteger() , new MyInteger() , new MyInteger() ); } main () { return new A().mt( new MyInteger(), new MyInteger() , new MyInteger() ); }
} }

View File

@ -94,33 +94,6 @@ public class SolveTest {
System.out.println("Manuell Test"); System.out.println("Manuell Test");
/*
Rules rules = new Rules();
rules.setConstraintInterfaces(interfaces);
System.out.println(ti1.resultConstraints);
rules.adapt2(ti1.resultConstraints);
System.out.println(ti1.resultConstraints);
rules.swap(ti1.resultConstraints);
System.out.println(ti1.resultConstraints);
rules.swap(ti1.resultConstraints);
System.out.println(ti1.resultConstraints);
rules.subst(ti1.resultConstraints);
System.out.println(ti1.resultConstraints);
rules.subst(ti1.resultConstraints);
System.out.println(ti1.resultConstraints);
System.out.println(rules.substitutions);
*/
List<ConstraintSubstitution> substitutions = new ArrayList<>(); List<ConstraintSubstitution> substitutions = new ArrayList<>();
@ -132,15 +105,9 @@ public class SolveTest {
while (ti1.resultConstraints.size() > 0) { while (ti1.resultConstraints.size() > 0) {
ruler.rule(); ruler.rule();
} }
} }
} catch (Exception exc) { } catch (Exception exc) {
exc.printStackTrace(); exc.printStackTrace();
fail(); fail();
@ -148,6 +115,9 @@ public class SolveTest {
assertTrue("Tests durchlaufen", filenames.size() > 0); assertTrue("Tests durchlaufen", filenames.size() > 0);
} }
// Erstellt RefType für das Inteface das Implementiert werden soll
private RefTypeOrTPHOrWildcardOrGeneric getTypeVar(List<ConstraintAbstract> constraints , String name) { private RefTypeOrTPHOrWildcardOrGeneric getTypeVar(List<ConstraintAbstract> constraints , String name) {
for (ConstraintAbstract cs : constraints) { for (ConstraintAbstract cs : constraints) {
if (cs instanceof ConstraintSubType) { if (cs instanceof ConstraintSubType) {

View File

@ -0,0 +1,21 @@
class Main {
main () { return new A().mt( new MyInteger() ); }
}
class A{
mt(x) { return x; }
}
class MyInteger {
}
class MyList {
}

View File

@ -0,0 +1,141 @@
package strucTypes5;
import de.dhbwstuttgart.parser.JavaTXParser;
import de.dhbwstuttgart.strucTypes5.algo.TI;
import de.dhbwstuttgart.strucTypes5.assumptions.AssumptionMap;
import de.dhbwstuttgart.strucTypes5.constraints.*;
import de.dhbwstuttgart.strucTypes5.solve.Ruler;
import de.dhbwstuttgart.strucTypes5.typeVars.TypeVarFactory;
import de.dhbwstuttgart.strucTypes5.typeVars.TypeVarInterface;
import de.dhbwstuttgart.strucTypes5.typeVars.TypeVarRefType;
import de.dhbwstuttgart.syntaxtree.ClassOrInterface;
import de.dhbwstuttgart.syntaxtree.SourceFile;
import de.dhbwstuttgart.syntaxtree.type.RefTypeOrTPHOrWildcardOrGeneric;
import org.junit.Test;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
/**
* Dieser Test pr�ft nur, ob .java-Dateien fehlerfrei geparst werden. Der
* dabei erstellte Syntaxbaum wird nicht kontrolliert.
*
* @author janulrich
*
*/
public class SolveTest_Rek {
private static final String rootDirectory = System.getProperty("user.dir") + "/test/strucTypes5/";
@Test
public void run() {
List<String> filenames = new ArrayList<String>();
filenames.add("SolveTestRek.jav");
JavaTXParser parser = new JavaTXParser();
try {
for (String filename : filenames) {
System.out.println("Teste: " + filename);
SourceFile sf = parser.parse(new File(rootDirectory + filename));
SourceFile sfdebug = sf;
ClassOrInterface mainClass = sf.getClasses().get(0);
ClassOrInterface aClass = sf.getClasses().get(1);
AssumptionMap assumptionMap = new AssumptionMap();
TI ti = new TI(assumptionMap, aClass);
TI ti1 = new TI(ti.assresult, mainClass);
// Take The Generatet Constraints from ti:
// Try To Solve
System.out.println("\n \n \n \n Starte einfach Unifikation ");
System.out.println("Gegegeben Constraints: " + ti1.resultConstraints);
// Generate Interfaces Give
TypeVarRefType myInteger = (TypeVarRefType) getTypeVar(ti1.resultConstraints , "TVar_MyInteger");
RefTypeOrTPHOrWildcardOrGeneric v2 = getTypeVar(ti1.resultConstraints , "TVar_2");
RefTypeOrTPHOrWildcardOrGeneric v5 = getTypeVar(ti1.resultConstraints , "TVar_5");
System.out.println(myInteger.toString());
System.out.println(v2.toString());
System.out.println(v5.toString());
// Generiere Interface 1
List<RefTypeOrTPHOrWildcardOrGeneric> generics = new ArrayList<>();
generics.add(TypeVarFactory.makeTypeVar(myInteger.getRefType()));
generics.add(TypeVarFactory.makeTypeVar(myInteger.getRefType()));
InterfaceForConstraint if1 = new InterfaceForConstraint(v2, generics);
ConstraintInterface constraintInterface = new ConstraintInterface(TypeVarFactory.makeTypeVar(myInteger.getRefType()) , TypeVarFactory.makeTypeVar(if1) );
List<ConstraintInterface> interfaces = new ArrayList<>();
interfaces.add(constraintInterface);
// Generiere Interface 2
List<RefTypeOrTPHOrWildcardOrGeneric> generics2 = new ArrayList<>();
generics2.add(TypeVarFactory.makeTypeVar(myInteger.getRefType()));
generics2.add(TypeVarFactory.makeTypeVar(myInteger.getRefType()));
InterfaceForConstraint if2 = new InterfaceForConstraint(v5, generics);
ConstraintInterface constraintInterface2 = new ConstraintInterface(TypeVarFactory.makeTypeVar(myInteger.getRefType()) , TypeVarFactory.makeTypeVar(if2) );
interfaces.add(constraintInterface2);
System.out.println(interfaces);
System.out.println("Manuell Test");
List<ConstraintSubstitution> substitutions = new ArrayList<>();
Ruler ruler = new Ruler(interfaces,substitutions,ti1.resultConstraints);
System.out.println("start ...");
while (ti1.resultConstraints.size() > 0) {
ruler.rule();
}
}
} catch (Exception exc) {
exc.printStackTrace();
fail();
}
assertTrue("Tests durchlaufen", filenames.size() > 0);
}
// Erstellt RefType für das Inteface das Implementiert werden soll
private RefTypeOrTPHOrWildcardOrGeneric getTypeVar(List<ConstraintAbstract> constraints , String name) {
for (ConstraintAbstract cs : constraints) {
if (cs instanceof ConstraintSubType) {
ConstraintSubType css = (ConstraintSubType) cs;
if (css.getSubtype().toString().equals(name)) {
return css.getSubtype();
}
else if (css.getSuperType().toString().equals(name)) {
return css.getSuperType();
}
else if (css.getSuperType() instanceof TypeVarInterface) {
TypeVarInterface tcv = (TypeVarInterface) css.getSuperType();
if (tcv.getInterfaceForConstraint().getStrucType().toString().equals(name)) {
return tcv.getInterfaceForConstraint().getStrucType();
}
}
}
}
return null;
}
}