compareTo support.

This commit is contained in:
Pavel Talanov
2011-11-25 20:05:35 +04:00
parent d8d4b95dd7
commit 504a2d5101
5 changed files with 210 additions and 223 deletions
+188 -179
View File
@@ -9,13 +9,10 @@
<component name="ChangeListManager">
<list default="true" id="f02ef53d-47a4-4f5e-a1aa-3df68aae9b20" name="Default" comment="">
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/declaration/PropertyTranslator.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/declaration/PropertyTranslator.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/expression/ExpressionVisitor.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/expression/ExpressionVisitor.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/general/TranslationContext.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/general/TranslationContext.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/general/TranslatorVisitor.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/general/TranslatorVisitor.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/initializer/ClassInitializerTranslator.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/initializer/ClassInitializerTranslator.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/BindingUtils.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/BindingUtils.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/TranslationUtils.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/TranslationUtils.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/utils/DiGraphNode.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/utils/DiGraphNode.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/testFiles/operatorOverloading/cases/compareTo.kt" afterPath="$PROJECT_DIR$/translator/testFiles/operatorOverloading/cases/compareTo.kt" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/OperatorOverloadingTest.java" afterPath="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/OperatorOverloadingTest.java" />
</list>
<ignored path="k2js.iws" />
<ignored path=".idea/workspace.xml" />
@@ -85,13 +82,13 @@
<favorites_list name="k2js" />
</component>
<component name="FileEditorManager">
<splitter split-orientation="horizontal" split-proportion="0.38743457">
<splitter split-orientation="horizontal" split-proportion="0.41295812">
<split-first>
<leaf>
<file leaf-file-name="OperatorTable.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/operation/OperatorTable.java">
<provider selected="true" editor-type-id="text-editor">
<state line="60" column="5" selection-start="2999" selection-end="2999" vertical-scroll-proportion="0.0">
<state line="18" column="19" selection-start="619" selection-end="619" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
@@ -100,16 +97,43 @@
<file leaf-file-name="ReferenceProvider.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/ReferenceProvider.java">
<provider selected="true" editor-type-id="text-editor">
<state line="41" column="59" selection-start="1836" selection-end="1836" vertical-scroll-proportion="0.0">
<state line="13" column="19" selection-start="468" selection-end="468" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="ReferenceTranslator.java" pinned="false" current="false" current-in-tab="true">
<file leaf-file-name="ReferenceTranslator.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/ReferenceTranslator.java">
<provider selected="true" editor-type-id="text-editor">
<state line="31" column="0" selection-start="1197" selection-end="1197" vertical-scroll-proportion="0.097222224">
<state line="31" column="0" selection-start="1197" selection-end="1197" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="BindingUtils.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/BindingUtils.java">
<provider selected="true" editor-type-id="text-editor">
<state line="180" column="33" selection-start="8442" selection-end="8442" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="OperatorOverloadingTest.java" pinned="false" current="true" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/OperatorOverloadingTest.java">
<provider selected="true" editor-type-id="text-editor">
<state line="80" column="0" selection-start="1981" selection-end="1981" vertical-scroll-proportion="0.4228395">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="compareTo.kt" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/testFiles/operatorOverloading/cases/compareTo.kt">
<provider selected="true" editor-type-id="text-editor">
<state line="11" column="0" selection-start="242" selection-end="242" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
@@ -118,34 +142,7 @@
<file leaf-file-name="PropertyAccessTranslator.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/PropertyAccessTranslator.java">
<provider selected="true" editor-type-id="text-editor">
<state line="51" column="8" selection-start="2243" selection-end="2243" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="Declarations.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/declarations/Declarations.java">
<provider selected="true" editor-type-id="text-editor">
<state line="13" column="19" selection-start="362" selection-end="362" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="ExtractionVisitor.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/declarations/ExtractionVisitor.java">
<provider selected="true" editor-type-id="text-editor">
<state line="53" column="3" selection-start="1999" selection-end="2170" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="CodeGenerator.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/generate/CodeGenerator.java">
<provider selected="true" editor-type-id="text-editor">
<state line="14" column="19" selection-start="401" selection-end="401" vertical-scroll-proportion="0.0">
<state line="27" column="19" selection-start="1307" selection-end="1307" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
@@ -184,37 +181,48 @@
</split-first>
<split-second>
<leaf>
<file leaf-file-name="Translation.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/general/Translation.java">
<provider selected="true" editor-type-id="text-editor">
<state line="62" column="67" selection-start="2811" selection-end="2811" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="TranslationContext.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/general/TranslationContext.java">
<provider selected="true" editor-type-id="text-editor">
<state line="110" column="15" selection-start="4403" selection-end="4403" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="TranslatorVisitor.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/general/TranslatorVisitor.java">
<provider selected="true" editor-type-id="text-editor">
<state line="22" column="0" selection-start="824" selection-end="824" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="TranslationUtils.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/TranslationUtils.java">
<provider selected="true" editor-type-id="text-editor">
<state line="132" column="0" selection-start="6048" selection-end="6048" vertical-scroll-proportion="0.0">
<state line="131" column="5" selection-start="6059" selection-end="6059" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="ClassSorter.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/utils/ClassSorter.java">
<provider selected="true" editor-type-id="text-editor">
<state line="14" column="19" selection-start="395" selection-end="395" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="DiGraphNode.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/utils/DiGraphNode.java">
<provider selected="true" editor-type-id="text-editor">
<state line="41" column="6" selection-start="1778" selection-end="1778" vertical-scroll-proportion="0.0">
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="PartiallyOrderedSet.java" pinned="false" current="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/utils/PartiallyOrderedSet.java">
<provider selected="true" editor-type-id="text-editor">
<state line="38" column="88" selection-start="1732" selection-end="1732" vertical-scroll-proportion="0.63065696">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="Namer.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/Namer.java">
<provider selected="true" editor-type-id="text-editor">
<state line="12" column="19" selection-start="287" selection-end="287" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
@@ -223,39 +231,46 @@
<file leaf-file-name="PropertyTranslator.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/declaration/PropertyTranslator.java">
<provider selected="true" editor-type-id="text-editor">
<state line="105" column="90" selection-start="3929" selection-end="3929" vertical-scroll-proportion="0.0">
<state line="128" column="65" selection-start="5196" selection-end="5196" vertical-scroll-proportion="0.0">
<folding>
<element signature="imports" expanded="true" />
<element signature="e#1214#1237#0" expanded="true" />
<element signature="e#1340#1363#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="ExpressionVisitor.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/expression/ExpressionVisitor.java">
<file leaf-file-name="NamespaceInitializerTranslator.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/initializer/NamespaceInitializerTranslator.java">
<provider selected="true" editor-type-id="text-editor">
<state line="248" column="0" selection-start="10977" selection-end="10977" vertical-scroll-proportion="0.0">
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="AbstractInitializerTranslator.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/initializer/AbstractInitializerTranslator.java">
<provider selected="true" editor-type-id="text-editor">
<state line="17" column="22" selection-start="645" selection-end="645" vertical-scroll-proportion="0.0">
<state line="12" column="19" selection-start="419" selection-end="419" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="ClassInitializerTranslator.java" pinned="false" current="true" current-in-tab="true">
<file leaf-file-name="BinaryOperationTranslator.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/operation/BinaryOperationTranslator.java">
<provider selected="true" editor-type-id="text-editor">
<state line="17" column="19" selection-start="690" selection-end="690" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="OperationTranslator.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/operation/OperationTranslator.java">
<provider selected="true" editor-type-id="text-editor">
<state line="19" column="13" selection-start="815" selection-end="815" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="ClassInitializerTranslator.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/initializer/ClassInitializerTranslator.java">
<provider selected="true" editor-type-id="text-editor">
<state line="90" column="61" selection-start="3770" selection-end="3770" vertical-scroll-proportion="0.7927007">
<state line="90" column="61" selection-start="3770" selection-end="3770" vertical-scroll-proportion="0.0">
<folding>
<element signature="imports" expanded="true" />
<element signature="e#1006#1019#0" expanded="true" />
@@ -265,26 +280,6 @@
</provider>
</entry>
</file>
<file leaf-file-name="DiGraphNode.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/utils/DiGraphNode.java">
<provider selected="true" editor-type-id="text-editor">
<state line="52" column="44" selection-start="2053" selection-end="2053" vertical-scroll-proportion="0.0">
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="PartiallyOrderedSet.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/utils/PartiallyOrderedSet.java">
<provider selected="true" editor-type-id="text-editor">
<state line="47" column="6" selection-start="2207" selection-end="2207" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
</leaf>
</split-second>
</splitter>
@@ -306,9 +301,6 @@
<component name="IdeDocumentHistory">
<option name="changedFiles">
<list>
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/OperatorTable.java" />
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/operation/OperatorTable.java" />
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/ReferenceProvider.java" />
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/ReferenceTranslator.java" />
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/PropertyAccessTranslator.java" />
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/declaration/ClassDeclarationTranslator.java" />
@@ -318,10 +310,13 @@
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/general/TranslationContext.java" />
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/utils/DiGraphNode.java" />
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/general/TranslatorVisitor.java" />
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/TranslationUtils.java" />
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/declaration/PropertyTranslator.java" />
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/expression/ExpressionVisitor.java" />
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/initializer/ClassInitializerTranslator.java" />
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/BindingUtils.java" />
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/TranslationUtils.java" />
<option value="$PROJECT_DIR$/translator/testFiles/operatorOverloading/cases/compareTo.kt" />
<option value="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/OperatorOverloadingTest.java" />
</list>
</option>
</component>
@@ -471,7 +466,7 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="propertyAccess" />
<option name="myItemId" value="operatorOverloading" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
@@ -489,25 +484,11 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="inheritance" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="k2js" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="translator" />
<option name="myItemId" value="operatorOverloading" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="testFiles" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="class" />
<option name="myItemId" value="cases" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
@@ -642,6 +623,36 @@
<option name="myItemId" value="translate" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="reference" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="k2js" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="translator" />
<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="k2js" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="translate" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="operation" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
@@ -1204,7 +1215,7 @@
<window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32977018" sideWeight="0.728146" order="4" side_tool="false" content_ui="tabs" />
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3997862" sideWeight="0.6705998" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.18332443" sideWeight="0.728146" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.27185398" sideWeight="0.64190274" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.27185398" sideWeight="0.64190274" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Metrics" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3275862" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" />
@@ -1248,7 +1259,7 @@
<option name="INCLUDE_TEXT_INTO_SHELF" value="false" />
<option name="CREATE_PATCH_EXPAND_DETAILS_DEFAULT" value="true" />
<option name="FORCE_NON_EMPTY_COMMENT" value="false" />
<option name="LAST_COMMIT_MESSAGE" value="Got rid of redundant ExpressionTranslator class." />
<option name="LAST_COMMIT_MESSAGE" value="Refactoring" />
<option name="MAKE_NEW_CHANGELIST_ACTIVE" value="true" />
<option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="true" />
<option name="CHECK_FILES_UP_TO_DATE_BEFORE_COMMIT" value="false" />
@@ -1261,7 +1272,6 @@
<option name="UPDATE_GROUP_BY_CHANGELIST" value="false" />
<option name="SHOW_FILE_HISTORY_AS_TREE" value="false" />
<option name="FILE_HISTORY_SPLITTER_PROPORTION" value="0.6" />
<MESSAGE value="Added some tests from jet project." />
<MESSAGE value="Added support for nullable types in is check." />
<MESSAGE value="Supported overloading plus operator." />
<MESSAGE value="Rewrote reference translation a bit. Added support for when call expression." />
@@ -1286,6 +1296,7 @@
<MESSAGE value="Reorganised project structure." />
<MESSAGE value="Refactored reference provider logic." />
<MESSAGE value="Got rid of redundant ExpressionTranslator class." />
<MESSAGE value="Refactoring" />
</component>
<component name="XDebuggerManager">
<breakpoint-manager />
@@ -1295,58 +1306,79 @@
<option name="FILTER_TARGETS" value="false" />
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/translator/testFiles/operatorOverloading/out/usingModInCaseModAssignNotAvailable.js">
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/ReferenceProvider.java">
<provider selected="true" editor-type-id="text-editor">
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
<state line="13" column="19" selection-start="468" selection-end="468" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/expression/WhenTranslator.java">
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/ReferenceTranslator.java">
<provider selected="true" editor-type-id="text-editor">
<state line="17" column="13" selection-start="552" selection-end="552" vertical-scroll-proportion="0.0">
<state line="31" column="0" selection-start="1197" selection-end="1197" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/general/AbstractTranslator.java">
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/declarations/Declarations.java">
<provider selected="true" editor-type-id="text-editor">
<state line="8" column="22" selection-start="203" selection-end="203" vertical-scroll-proportion="0.0">
<state line="13" column="19" selection-start="362" selection-end="362" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/declaration/DeclarationBodyVisitor.java">
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/initializer/NamespaceInitializerTranslator.java">
<provider selected="true" editor-type-id="text-editor">
<state line="44" column="118" selection-start="1823" selection-end="1823" vertical-scroll-proportion="0.0">
<state line="12" column="19" selection-start="419" selection-end="419" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/general/GenerationState.java">
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/declaration/PropertyTranslator.java">
<provider selected="true" editor-type-id="text-editor">
<state line="15" column="19" selection-start="497" selection-end="497" vertical-scroll-proportion="0.0">
<state line="128" column="65" selection-start="5196" selection-end="5196" vertical-scroll-proportion="0.0">
<folding>
<element signature="imports" expanded="true" />
<element signature="e#1340#1363#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/initializer/ClassInitializerTranslator.java">
<provider selected="true" editor-type-id="text-editor">
<state line="90" column="61" selection-start="3770" selection-end="3770" vertical-scroll-proportion="0.0">
<folding>
<element signature="imports" expanded="true" />
<element signature="e#1006#1019#0" expanded="true" />
<element signature="e#3405#3418#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/Namer.java">
<provider selected="true" editor-type-id="text-editor">
<state line="12" column="19" selection-start="287" selection-end="287" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/general/Translation.java">
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/TranslationUtils.java">
<provider selected="true" editor-type-id="text-editor">
<state line="62" column="67" selection-start="2811" selection-end="2811" vertical-scroll-proportion="0.0">
<state line="131" column="5" selection-start="6059" selection-end="6059" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/declaration/NamespaceTranslator.java">
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/utils/ClassSorter.java">
<provider selected="true" editor-type-id="text-editor">
<state line="17" column="19" selection-start="576" selection-end="576" vertical-scroll-proportion="0.0">
<state line="14" column="19" selection-start="395" selection-end="395" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/utils/DiGraphNode.java">
<provider selected="true" editor-type-id="text-editor">
<state line="52" column="44" selection-start="2053" selection-end="2053" vertical-scroll-proportion="0.0">
<state line="41" column="6" selection-start="1778" selection-end="1778" vertical-scroll-proportion="0.0">
<folding>
<element signature="imports" expanded="true" />
</folding>
@@ -1355,66 +1387,43 @@
</entry>
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/utils/PartiallyOrderedSet.java">
<provider selected="true" editor-type-id="text-editor">
<state line="47" column="6" selection-start="2207" selection-end="2207" vertical-scroll-proportion="0.0">
<state line="38" column="88" selection-start="1732" selection-end="1732" vertical-scroll-proportion="0.63065696">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/general/TranslationContext.java">
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/BindingUtils.java">
<provider selected="true" editor-type-id="text-editor">
<state line="110" column="15" selection-start="4403" selection-end="4403" vertical-scroll-proportion="0.0">
<state line="180" column="33" selection-start="8442" selection-end="8442" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/general/TranslatorVisitor.java">
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/declarations/ExtractionVisitor.java">
<provider selected="true" editor-type-id="text-editor">
<state line="22" column="0" selection-start="824" selection-end="824" vertical-scroll-proportion="0.0">
<state line="53" column="3" selection-start="1999" selection-end="2170" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/initializer/AbstractInitializerTranslator.java">
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/generate/CodeGenerator.java">
<provider selected="true" editor-type-id="text-editor">
<state line="17" column="22" selection-start="645" selection-end="645" vertical-scroll-proportion="0.0">
<state line="14" column="19" selection-start="401" selection-end="401" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/TranslationUtils.java">
<entry file="file://$PROJECT_DIR$/translator/testFiles/operatorOverloading/cases/compareTo.kt">
<provider selected="true" editor-type-id="text-editor">
<state line="132" column="0" selection-start="6048" selection-end="6048" vertical-scroll-proportion="0.0">
<state line="11" column="0" selection-start="242" selection-end="242" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/declaration/PropertyTranslator.java">
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/OperatorOverloadingTest.java">
<provider selected="true" editor-type-id="text-editor">
<state line="105" column="90" selection-start="3929" selection-end="3929" vertical-scroll-proportion="0.0">
<folding>
<element signature="imports" expanded="true" />
<element signature="e#1214#1237#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/expression/ExpressionVisitor.java">
<provider selected="true" editor-type-id="text-editor">
<state line="248" column="0" selection-start="10977" selection-end="10977" vertical-scroll-proportion="0.0">
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/initializer/ClassInitializerTranslator.java">
<provider selected="true" editor-type-id="text-editor">
<state line="90" column="61" selection-start="3770" selection-end="3770" vertical-scroll-proportion="0.7927007">
<folding>
<element signature="imports" expanded="true" />
<element signature="e#1006#1019#0" expanded="true" />
<element signature="e#3405#3418#0" expanded="true" />
</folding>
<state line="80" column="0" selection-start="1981" selection-end="1981" vertical-scroll-proportion="0.4228395">
<folding />
</state>
</provider>
</entry>
@@ -63,21 +63,22 @@ public final class BindingUtils {
return getDescriptorForExpression(context, declaration, PropertyDescriptor.class);
}
@NotNull
static public PropertySetterDescriptor getPropertySetterDescriptorForProperty(@NotNull BindingContext context,
@NotNull JetProperty property) {
PropertySetterDescriptor result = getPropertyDescriptor(context, property).getSetter();
assert result != null : "Property should have a setter descriptor";
return result;
}
@NotNull
static public PropertyGetterDescriptor getPropertyGetterDescriptorForProperty(@NotNull BindingContext context,
@NotNull JetProperty property) {
PropertyGetterDescriptor result = getPropertyDescriptor(context, property).getGetter();
assert result != null : "Property should have a getter descriptor";
return result;
}
//TODO: possibly remove
// @NotNull
// static public PropertySetterDescriptor getPropertySetterDescriptorForProperty(@NotNull BindingContext context,
// @NotNull JetProperty property) {
// PropertySetterDescriptor result = getPropertyDescriptor(context, property).getSetter();
// assert result != null : "Property should have a setter descriptor";
// return result;
// }
//
// @NotNull
// static public PropertyGetterDescriptor getPropertyGetterDescriptorForProperty(@NotNull BindingContext context,
// @NotNull JetProperty property) {
// PropertyGetterDescriptor result = getPropertyDescriptor(context, property).getGetter();
// assert result != null : "Property should have a getter descriptor";
// return result;
// }
@NotNull
static public JetClass getClassForDescriptor(@NotNull BindingContext context,
@@ -179,14 +180,6 @@ public final class BindingUtils {
return null;
}
static public boolean belongsToNamespace(@NotNull BindingContext context, @NotNull JetProperty property) {
return belongsToNamespace(context, getPropertyDescriptor(context, property));
}
static public boolean belongsToNamespace(@NotNull BindingContext context, @NotNull PropertyDescriptor descriptor) {
return descriptor.getContainingDeclaration() instanceof NamespaceDescriptor;
}
@Nullable
static public ResolvedCall<?> getResolvedCall(@NotNull BindingContext context,
@NotNull JetExpression expression) {
@@ -130,12 +130,4 @@ public final class TranslationUtils {
JsNameRef backingFieldReference = backingFieldReference(context, descriptor);
return AstUtil.newAssignmentStatement(backingFieldReference, parameter.getName().makeRef());
}
@NotNull
public static JsStatement assignmentToBackingFieldFromParameter(@NotNull TranslationContext context,
@NotNull JetProperty property,
@NotNull JsParameter parameter) {
return assignmentToBackingFieldFromParameter
(context, BindingUtils.getPropertyDescriptor(context.bindingContext(), property), parameter);
}
}
@@ -79,11 +79,10 @@ public class OperatorOverloadingTest extends TranslationTest {
testFooBoxIsTrue("notOverload.kt");
}
//TODO: test fails due to issue KT-618
// @Test
// public void compareTo() throws Exception {
// testFooBoxIsTrue("compareTo.kt");
// }
@Test
public void compareTo() throws Exception {
testFooBoxIsTrue("compareTo.kt");
}
@Test
public void plusAndMinusAsAnExpression() throws Exception {
@@ -1,17 +1,11 @@
namespace foo
class A(t : Int) : Comparable<A> {
class A(t : Int) {
var i = t
override fun compareTo(other : A) = (this.i - other.i)
fun compareTo(other : A) = (this.i - other.i)
}
fun box() : Boolean{
return (A(3) > A(2)) && (A(2) >= A(2)) && (A(1) >= A(0)) && (A(2) <= A(2)) && (A(3) <= A(4)) && (A(0) < A(100))
}
fun main(args : Array<String>) {
System.out?.println(box())
}