fix most of the tests
This commit is contained in:
Generated
+262
-294
@@ -11,42 +11,22 @@
|
|||||||
<component name="BookmarkManager">
|
<component name="BookmarkManager">
|
||||||
<bookmark url="file://$PROJECT_DIR$/translator/testFiles/propertyAccess/cases/safeCallReturnsNullIfFails.kt" line="3" />
|
<bookmark url="file://$PROJECT_DIR$/translator/testFiles/propertyAccess/cases/safeCallReturnsNullIfFails.kt" line="3" />
|
||||||
<bookmark url="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/K2JSTranslator.java" line="85" />
|
<bookmark url="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/K2JSTranslator.java" line="85" />
|
||||||
|
<bookmark url="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/DescriptorUtils.java" line="151" mnemonic="2" />
|
||||||
</component>
|
</component>
|
||||||
<component name="ChangeListManager">
|
<component name="ChangeListManager">
|
||||||
<list default="true" id="f02ef53d-47a4-4f5e-a1aa-3df68aae9b20" name="Default" comment="">
|
<list default="true" id="f02ef53d-47a4-4f5e-a1aa-3df68aae9b20" name="Default" comment="">
|
||||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/translator/testFiles/kotlinLib/cases/hashMap.js" />
|
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/translator/testFiles/extensionFunction/cases/generic.kt" />
|
||||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/translator/testFiles/libImplementations/jshashset.js" />
|
<change type="DELETED" beforePath="C:\Dev\Projects\jet-contrib\k2js\translator\testFiles\examples\cases\enclosingThis.jet" afterPath="" />
|
||||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/translator/testFiles/libImplementations/jshashset_src.js" />
|
|
||||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/translator/testFiles/libImplementations/jshashtable-2.1.js" />
|
|
||||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/translator/testFiles/libImplementations/jshashtable-2.1_src.js" />
|
|
||||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/translator/testFiles/libImplementations/prototype.js" />
|
|
||||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/translator/testFiles/webDemoExamples2/cases/builder.kt" />
|
|
||||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/translator/testFiles/webDemoExamples2/cases/life.kt" />
|
|
||||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/translator/testFiles/webDemoExamples2/expected/bottles2.out" />
|
|
||||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/translator/testFiles/webDemoExamples2/expected/builder.out" />
|
|
||||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/translator/testFiles/webDemoExamples2/expected/life.out" />
|
|
||||||
<change type="DELETED" beforePath="C:\Dev\Projects\jet-contrib\k2js\translator\testFiles\prototype.js" afterPath="" />
|
|
||||||
<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$/translator/src/org/jetbrains/k2js/translate/context/Aliaser.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/Aliaser.java" />
|
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/Aliaser.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/Aliaser.java" />
|
||||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/StandardClasses.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/StandardClasses.java" />
|
|
||||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/TranslationContext.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/TranslationContext.java" />
|
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/TranslationContext.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/TranslationContext.java" />
|
||||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/declaration/NamespaceTranslator.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/declaration/NamespaceTranslator.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/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/expression/FunctionTranslator.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/expression/FunctionTranslator.java" />
|
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/expression/FunctionTranslator.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/expression/FunctionTranslator.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/reference/CallTranslator.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/CallTranslator.java" />
|
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/CallTranslator.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/CallTranslator.java" />
|
||||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/PropertyAccessTranslator.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/PropertyAccessTranslator.java" />
|
|
||||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/ReferenceAccessTranslator.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/ReferenceAccessTranslator.java" />
|
|
||||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/ReferenceTranslator.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/ReferenceTranslator.java" />
|
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/ReferenceTranslator.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/ReferenceTranslator.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/DescriptorUtils.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/DescriptorUtils.java" />
|
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/DescriptorUtils.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/DescriptorUtils.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/translate/utils/TranslationUtils.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/TranslationUtils.java" />
|
||||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/testFiles/kotlin_lib.js" afterPath="$PROJECT_DIR$/translator/testFiles/kotlin_lib.js" />
|
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/ExtensionFunctionTest.java" afterPath="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/ExtensionFunctionTest.java" />
|
||||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/testFiles/webDemoExamples2/cases/bottles.kt" afterPath="$PROJECT_DIR$/translator/testFiles/webDemoExamples2/cases/bottles.kt" />
|
|
||||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/testFiles/webDemoExamples2/expected/bottles.out" afterPath="$PROJECT_DIR$/translator/testFiles/webDemoExamples2/expected/bottles.out" />
|
|
||||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/KotlinLibTest.java" afterPath="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/KotlinLibTest.java" />
|
|
||||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/RhinoSystemOutputChecker.java" afterPath="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/RhinoSystemOutputChecker.java" />
|
|
||||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/WebDemoExamples2Test.java" afterPath="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/WebDemoExamples2Test.java" />
|
|
||||||
</list>
|
</list>
|
||||||
<ignored path="k2js.iws" />
|
<ignored path="k2js.iws" />
|
||||||
<ignored path=".idea/workspace.xml" />
|
<ignored path=".idea/workspace.xml" />
|
||||||
@@ -169,7 +149,7 @@
|
|||||||
<option name="CONDITION" value="" />
|
<option name="CONDITION" value="" />
|
||||||
<option name="LOG_MESSAGE" value="" />
|
<option name="LOG_MESSAGE" value="" />
|
||||||
</breakpoint>
|
</breakpoint>
|
||||||
<breakpoint url="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/operation/BinaryOperationTranslator.java" line="89" class="org.jetbrains.k2js.translate.operation.BinaryOperationTranslator" package="org.jetbrains.k2js.translate.operation">
|
<breakpoint url="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/BindingUtils.java" line="195" class="org.jetbrains.k2js.translate.utils.BindingUtils" package="org.jetbrains.k2js.translate.utils">
|
||||||
<option name="ENABLED" value="true" />
|
<option name="ENABLED" value="true" />
|
||||||
<option name="LOG_ENABLED" value="false" />
|
<option name="LOG_ENABLED" value="false" />
|
||||||
<option name="LOG_EXPRESSION_ENABLED" value="false" />
|
<option name="LOG_EXPRESSION_ENABLED" value="false" />
|
||||||
@@ -182,20 +162,7 @@
|
|||||||
<option name="CONDITION" value="" />
|
<option name="CONDITION" value="" />
|
||||||
<option name="LOG_MESSAGE" value="" />
|
<option name="LOG_MESSAGE" value="" />
|
||||||
</breakpoint>
|
</breakpoint>
|
||||||
<breakpoint url="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/CallTranslator.java" line="206" class="org.jetbrains.k2js.translate.reference.CallTranslator" package="org.jetbrains.k2js.translate.reference">
|
<breakpoint url="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/PropertyAccessTranslator.java" line="180" class="org.jetbrains.k2js.translate.reference.PropertyAccessTranslator" package="org.jetbrains.k2js.translate.reference">
|
||||||
<option name="ENABLED" value="true" />
|
|
||||||
<option name="LOG_ENABLED" value="false" />
|
|
||||||
<option name="LOG_EXPRESSION_ENABLED" value="false" />
|
|
||||||
<option name="SUSPEND_POLICY" value="SuspendAll" />
|
|
||||||
<option name="COUNT_FILTER_ENABLED" value="false" />
|
|
||||||
<option name="COUNT_FILTER" value="0" />
|
|
||||||
<option name="CONDITION_ENABLED" value="false" />
|
|
||||||
<option name="CLASS_FILTERS_ENABLED" value="false" />
|
|
||||||
<option name="INSTANCE_FILTERS_ENABLED" value="false" />
|
|
||||||
<option name="CONDITION" value="" />
|
|
||||||
<option name="LOG_MESSAGE" value="" />
|
|
||||||
</breakpoint>
|
|
||||||
<breakpoint url="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/CallTranslator.java" line="218" class="org.jetbrains.k2js.translate.reference.CallTranslator" package="org.jetbrains.k2js.translate.reference">
|
|
||||||
<option name="ENABLED" value="true" />
|
<option name="ENABLED" value="true" />
|
||||||
<option name="LOG_ENABLED" value="false" />
|
<option name="LOG_ENABLED" value="false" />
|
||||||
<option name="LOG_EXPRESSION_ENABLED" value="false" />
|
<option name="LOG_EXPRESSION_ENABLED" value="false" />
|
||||||
@@ -284,19 +251,47 @@
|
|||||||
<file leaf-file-name="CallTranslator.java" pinned="false" current="true" current-in-tab="true">
|
<file leaf-file-name="CallTranslator.java" pinned="false" current="true" current-in-tab="true">
|
||||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/CallTranslator.java">
|
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/CallTranslator.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="286" column="58" selection-start="12986" selection-end="12986" vertical-scroll-proportion="0.7650794">
|
<state line="237" column="9" selection-start="11016" selection-end="11016" vertical-scroll-proportion="0.4638365">
|
||||||
<folding>
|
<folding>
|
||||||
<element signature="e#6663#6677#0" expanded="true" />
|
<element signature="e#6606#6620#0" expanded="true" />
|
||||||
<element signature="e#7148#7162#0" expanded="true" />
|
<element signature="e#7091#7105#0" expanded="true" />
|
||||||
|
<element signature="e#10719#10733#0" expanded="true" />
|
||||||
</folding>
|
</folding>
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
</file>
|
</file>
|
||||||
<file leaf-file-name="loopClosure.kt" pinned="false" current="false" current-in-tab="false">
|
<file leaf-file-name="TranslationUtils.java" pinned="false" current="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/expression/function/cases/loopClosure.kt">
|
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/TranslationUtils.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="16" column="46" selection-start="220" selection-end="220" vertical-scroll-proportion="0.0">
|
<state line="112" column="20" selection-start="5289" selection-end="5289" vertical-scroll-proportion="0.0">
|
||||||
|
<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">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="390" column="67" selection-start="17669" selection-end="17669" vertical-scroll-proportion="0.0">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
</file>
|
||||||
|
<file leaf-file-name="extensionUsedInsideClass.kt" pinned="false" current="false" current-in-tab="false">
|
||||||
|
<entry file="file://$PROJECT_DIR$/translator/testFiles/extensionFunction/cases/extensionUsedInsideClass.kt">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="3" column="17" selection-start="53" selection-end="53" vertical-scroll-proportion="0.0">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
</file>
|
||||||
|
<file leaf-file-name="extensionInsideFunctionLiteral.kt" pinned="false" current="false" current-in-tab="false">
|
||||||
|
<entry file="file://$PROJECT_DIR$/translator/testFiles/extensionFunction/cases/extensionInsideFunctionLiteral.kt">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="21" column="27" selection-start="305" selection-end="305" vertical-scroll-proportion="0.0">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
@@ -305,14 +300,41 @@
|
|||||||
<file leaf-file-name="PropertyAccessTranslator.java" pinned="false" current="false" current-in-tab="false">
|
<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">
|
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/PropertyAccessTranslator.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="24" column="88" selection-start="1366" selection-end="1366" vertical-scroll-proportion="0.0">
|
<state line="180" column="0" selection-start="8214" selection-end="8214" vertical-scroll-proportion="0.0">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
</file>
|
||||||
|
<file leaf-file-name="ExtensionFunctionTest.java" pinned="false" current="false" current-in-tab="false">
|
||||||
|
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/ExtensionFunctionTest.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="31" column="16" selection-start="731" selection-end="731" vertical-scroll-proportion="0.0">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
</file>
|
||||||
|
<file leaf-file-name="Aliaser.java" pinned="false" current="false" current-in-tab="false">
|
||||||
|
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/Aliaser.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="30" column="21" selection-start="870" selection-end="870" vertical-scroll-proportion="0.0">
|
||||||
<folding>
|
<folding>
|
||||||
<element signature="imports" expanded="true" />
|
<element signature="e#741#779#0" expanded="true" />
|
||||||
</folding>
|
</folding>
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
</file>
|
</file>
|
||||||
|
<file leaf-file-name="FunctionTranslator.java" pinned="false" current="false" current-in-tab="false">
|
||||||
|
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/expression/FunctionTranslator.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="189" column="48" selection-start="8152" selection-end="8152" vertical-scroll-proportion="0.0">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
</file>
|
||||||
<file leaf-file-name="BasicClassTest.java" pinned="false" current="false" current-in-tab="false">
|
<file leaf-file-name="BasicClassTest.java" pinned="false" current="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/BasicClassTest.java">
|
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/BasicClassTest.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
@@ -322,60 +344,6 @@
|
|||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
</file>
|
</file>
|
||||||
<file leaf-file-name="ClassInheritanceTest.java" pinned="false" current="false" current-in-tab="false">
|
|
||||||
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/ClassInheritanceTest.java">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state line="32" column="16" selection-start="732" selection-end="732" vertical-scroll-proportion="0.0">
|
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
</file>
|
|
||||||
<file leaf-file-name="incrementProperty.kt" pinned="false" current="false" current-in-tab="false">
|
|
||||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/class/cases/incrementProperty.kt">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
|
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
</file>
|
|
||||||
<file leaf-file-name="incrementProperty.js" pinned="false" current="false" current-in-tab="false">
|
|
||||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/class/out/incrementProperty.js">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
|
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
</file>
|
|
||||||
<file leaf-file-name="FunctionTest.java" pinned="false" current="false" current-in-tab="false">
|
|
||||||
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/FunctionTest.java">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state line="37" column="16" selection-start="833" selection-end="833" vertical-scroll-proportion="0.0">
|
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
</file>
|
|
||||||
<file leaf-file-name="DescriptorUtils.java" pinned="false" current="false" current-in-tab="false">
|
|
||||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/DescriptorUtils.java">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state line="159" column="9" selection-start="6516" selection-end="6516" vertical-scroll-proportion="0.0">
|
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
</file>
|
|
||||||
<file leaf-file-name="FunctionTranslator.java" pinned="false" current="false" current-in-tab="false">
|
|
||||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/expression/FunctionTranslator.java">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state line="73" column="20" selection-start="3085" selection-end="3085" vertical-scroll-proportion="0.0">
|
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
</file>
|
|
||||||
</leaf>
|
</leaf>
|
||||||
</split-first>
|
</split-first>
|
||||||
<split-second>
|
<split-second>
|
||||||
@@ -392,7 +360,7 @@
|
|||||||
<file leaf-file-name="OperatorOverloadingTest.java" pinned="false" current="false" current-in-tab="true">
|
<file leaf-file-name="OperatorOverloadingTest.java" pinned="false" current="false" current-in-tab="true">
|
||||||
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/OperatorOverloadingTest.java">
|
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/OperatorOverloadingTest.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="77" column="16" selection-start="1898" selection-end="1898" vertical-scroll-proportion="0.6597938">
|
<state line="74" column="15" selection-start="1870" selection-end="1870" vertical-scroll-proportion="0.5478615">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
@@ -496,21 +464,21 @@
|
|||||||
<component name="IdeDocumentHistory">
|
<component name="IdeDocumentHistory">
|
||||||
<option name="changedFiles">
|
<option name="changedFiles">
|
||||||
<list>
|
<list>
|
||||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/StandardClasses.java" />
|
|
||||||
<option value="$PROJECT_DIR$/translator/testFiles/webDemoExamples2/cases/builder.kt" />
|
|
||||||
<option value="$PROJECT_DIR$/translator/testFiles/webDemoExamples2/out/builder.js" />
|
|
||||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/TranslationContext.java" />
|
|
||||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/BindingUtils.java" />
|
|
||||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/ReferenceAccessTranslator.java" />
|
|
||||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/expression/ExpressionVisitor.java" />
|
|
||||||
<option value="$PROJECT_DIR$/translator/testFiles/class/out/methodDeclarationAndCall.js" />
|
<option value="$PROJECT_DIR$/translator/testFiles/class/out/methodDeclarationAndCall.js" />
|
||||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/Aliaser.java" />
|
|
||||||
<option value="$PROJECT_DIR$/translator/testFiles/class/out/constructorWithParameter.js" />
|
<option value="$PROJECT_DIR$/translator/testFiles/class/out/constructorWithParameter.js" />
|
||||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/ReferenceTranslator.java" />
|
|
||||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/TranslationUtils.java" />
|
|
||||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/DescriptorUtils.java" />
|
|
||||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/expression/FunctionTranslator.java" />
|
|
||||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/PropertyAccessTranslator.java" />
|
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/PropertyAccessTranslator.java" />
|
||||||
|
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/ReferenceTranslator.java" />
|
||||||
|
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/DescriptorUtils.java" />
|
||||||
|
<option value="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/ExtensionFunctionTest.java" />
|
||||||
|
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/TranslationContext.java" />
|
||||||
|
<option value="$PROJECT_DIR$/translator/testFiles/extensionFunction/out/intExtension.js" />
|
||||||
|
<option value="$PROJECT_DIR$/translator/testFiles/extensionFunction/cases/generic.kt" />
|
||||||
|
<option value="$PROJECT_DIR$/translator/testFiles/extensionFunction/out/extensionUsedInsideClass.js" />
|
||||||
|
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/expression/FunctionTranslator.java" />
|
||||||
|
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/Aliaser.java" />
|
||||||
|
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/TranslationUtils.java" />
|
||||||
|
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/expression/ExpressionVisitor.java" />
|
||||||
|
<option value="$PROJECT_DIR$/translator/testFiles/extensionFunction/cases/extensionUsedInsideClass.kt" />
|
||||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/CallTranslator.java" />
|
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/CallTranslator.java" />
|
||||||
</list>
|
</list>
|
||||||
</option>
|
</option>
|
||||||
@@ -647,7 +615,7 @@
|
|||||||
<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_ELEMENT>
|
<PATH_ELEMENT>
|
||||||
<option name="myItemId" value="class" />
|
<option name="myItemId" value="extensionFunction" />
|
||||||
<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_ELEMENT>
|
<PATH_ELEMENT>
|
||||||
@@ -669,7 +637,7 @@
|
|||||||
<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_ELEMENT>
|
<PATH_ELEMENT>
|
||||||
<option name="myItemId" value="class" />
|
<option name="myItemId" value="extensionFunction" />
|
||||||
<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_ELEMENT>
|
<PATH_ELEMENT>
|
||||||
@@ -677,6 +645,24 @@
|
|||||||
<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="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="testFiles" />
|
||||||
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||||
|
</PATH_ELEMENT>
|
||||||
|
<PATH_ELEMENT>
|
||||||
|
<option name="myItemId" value="expression" />
|
||||||
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||||
|
</PATH_ELEMENT>
|
||||||
|
</PATH>
|
||||||
<PATH>
|
<PATH>
|
||||||
<PATH_ELEMENT>
|
<PATH_ELEMENT>
|
||||||
<option name="myItemId" value="k2js" />
|
<option name="myItemId" value="k2js" />
|
||||||
@@ -982,8 +968,74 @@
|
|||||||
</UpdatedFiles>
|
</UpdatedFiles>
|
||||||
</UpdateInfo>
|
</UpdateInfo>
|
||||||
</component>
|
</component>
|
||||||
<component name="RunManager" selected="JUnit.BasicClassTest.incrementProperty">
|
<component name="RunManager" selected="JUnit.tests">
|
||||||
<configuration default="false" name="BasicClassTest.classInstantiation" type="JUnit" factoryName="JUnit" temporary="true">
|
<configuration default="false" name="ExtensionFunctionTest.intExtension" type="JUnit" factoryName="JUnit" temporary="true">
|
||||||
|
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
|
||||||
|
<pattern>
|
||||||
|
<option name="PATTERN" value="org.jetbrains.k2js.*" />
|
||||||
|
<option name="ENABLED" value="true" />
|
||||||
|
</pattern>
|
||||||
|
</extension>
|
||||||
|
<module name="translator" />
|
||||||
|
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||||
|
<option name="ALTERNATIVE_JRE_PATH" value="" />
|
||||||
|
<option name="PACKAGE_NAME" value="org.jetbrains.k2js.test" />
|
||||||
|
<option name="MAIN_CLASS_NAME" value="org.jetbrains.k2js.test.ExtensionFunctionTest" />
|
||||||
|
<option name="METHOD_NAME" value="intExtension" />
|
||||||
|
<option name="TEST_OBJECT" value="method" />
|
||||||
|
<option name="VM_PARAMETERS" value="-ea" />
|
||||||
|
<option name="PARAMETERS" value="" />
|
||||||
|
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
|
||||||
|
<option name="ENV_VARIABLES" />
|
||||||
|
<option name="PASS_PARENT_ENVS" value="true" />
|
||||||
|
<option name="TEST_SEARCH_SCOPE">
|
||||||
|
<value defaultName="singleModule" />
|
||||||
|
</option>
|
||||||
|
<envs />
|
||||||
|
<dir value="$PROJECT_DIR$/translator" />
|
||||||
|
<patterns />
|
||||||
|
<RunnerSettings RunnerId="Debug">
|
||||||
|
<option name="DEBUG_PORT" value="" />
|
||||||
|
<option name="TRANSPORT" value="0" />
|
||||||
|
<option name="LOCAL" value="true" />
|
||||||
|
</RunnerSettings>
|
||||||
|
<ConfigurationWrapper RunnerId="Debug" />
|
||||||
|
<method />
|
||||||
|
</configuration>
|
||||||
|
<configuration default="false" name="ExtensionFunctionTest.extensionWithImplicitReceiver" type="JUnit" factoryName="JUnit" temporary="true">
|
||||||
|
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
|
||||||
|
<pattern>
|
||||||
|
<option name="PATTERN" value="org.jetbrains.k2js.*" />
|
||||||
|
<option name="ENABLED" value="true" />
|
||||||
|
</pattern>
|
||||||
|
</extension>
|
||||||
|
<module name="translator" />
|
||||||
|
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||||
|
<option name="ALTERNATIVE_JRE_PATH" value="" />
|
||||||
|
<option name="PACKAGE_NAME" value="org.jetbrains.k2js.test" />
|
||||||
|
<option name="MAIN_CLASS_NAME" value="org.jetbrains.k2js.test.ExtensionFunctionTest" />
|
||||||
|
<option name="METHOD_NAME" value="extensionWithImplicitReceiver" />
|
||||||
|
<option name="TEST_OBJECT" value="method" />
|
||||||
|
<option name="VM_PARAMETERS" value="-ea" />
|
||||||
|
<option name="PARAMETERS" value="" />
|
||||||
|
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
|
||||||
|
<option name="ENV_VARIABLES" />
|
||||||
|
<option name="PASS_PARENT_ENVS" value="true" />
|
||||||
|
<option name="TEST_SEARCH_SCOPE">
|
||||||
|
<value defaultName="singleModule" />
|
||||||
|
</option>
|
||||||
|
<envs />
|
||||||
|
<dir value="$PROJECT_DIR$/translator" />
|
||||||
|
<patterns />
|
||||||
|
<RunnerSettings RunnerId="Debug">
|
||||||
|
<option name="DEBUG_PORT" value="" />
|
||||||
|
<option name="TRANSPORT" value="0" />
|
||||||
|
<option name="LOCAL" value="true" />
|
||||||
|
</RunnerSettings>
|
||||||
|
<ConfigurationWrapper RunnerId="Debug" />
|
||||||
|
<method />
|
||||||
|
</configuration>
|
||||||
|
<configuration default="false" name="ExtensionFunctionTest.extensionInsideFunctionLiteral" type="JUnit" factoryName="JUnit" temporary="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>
|
||||||
<option name="PATTERN" value="org.jetbrains.k2js.test.*" />
|
<option name="PATTERN" value="org.jetbrains.k2js.test.*" />
|
||||||
@@ -992,14 +1044,14 @@
|
|||||||
</extension>
|
</extension>
|
||||||
<module name="jetTests" />
|
<module name="jetTests" />
|
||||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||||
<option name="ALTERNATIVE_JRE_PATH" />
|
<option name="ALTERNATIVE_JRE_PATH" value="" />
|
||||||
<option name="PACKAGE_NAME" value="org.jetbrains.k2js.test" />
|
<option name="PACKAGE_NAME" value="org.jetbrains.k2js.test" />
|
||||||
<option name="MAIN_CLASS_NAME" value="org.jetbrains.k2js.test.BasicClassTest" />
|
<option name="MAIN_CLASS_NAME" value="org.jetbrains.k2js.test.ExtensionFunctionTest" />
|
||||||
<option name="METHOD_NAME" value="classInstantiation" />
|
<option name="METHOD_NAME" value="extensionInsideFunctionLiteral" />
|
||||||
<option name="TEST_OBJECT" value="method" />
|
<option name="TEST_OBJECT" value="method" />
|
||||||
<option name="VM_PARAMETERS" />
|
<option name="VM_PARAMETERS" value="-ea" />
|
||||||
<option name="PARAMETERS" />
|
<option name="PARAMETERS" value="" />
|
||||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
|
||||||
<option name="ENV_VARIABLES" />
|
<option name="ENV_VARIABLES" />
|
||||||
<option name="PASS_PARENT_ENVS" value="true" />
|
<option name="PASS_PARENT_ENVS" value="true" />
|
||||||
<option name="TEST_SEARCH_SCOPE">
|
<option name="TEST_SEARCH_SCOPE">
|
||||||
@@ -1012,59 +1064,45 @@
|
|||||||
<option name="TRANSPORT" value="0" />
|
<option name="TRANSPORT" value="0" />
|
||||||
<option name="LOCAL" value="true" />
|
<option name="LOCAL" value="true" />
|
||||||
</RunnerSettings>
|
</RunnerSettings>
|
||||||
<RunnerSettings RunnerId="Run" />
|
|
||||||
<ConfigurationWrapper RunnerId="Debug" />
|
<ConfigurationWrapper RunnerId="Debug" />
|
||||||
<ConfigurationWrapper RunnerId="Run" />
|
|
||||||
<method />
|
<method />
|
||||||
</configuration>
|
</configuration>
|
||||||
<configuration default="false" name="BasicClassTest.constructorWithParameter" type="JUnit" factoryName="JUnit" temporary="true">
|
<configuration default="false" name="All in jetTests" type="JUnit" factoryName="JUnit" temporary="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>
|
<module name="jetTests" />
|
||||||
<option name="PATTERN" value="org.jetbrains.k2js.*" />
|
|
||||||
<option name="ENABLED" value="true" />
|
|
||||||
</pattern>
|
|
||||||
</extension>
|
|
||||||
<module name="translator" />
|
|
||||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||||
<option name="ALTERNATIVE_JRE_PATH" value="" />
|
<option name="ALTERNATIVE_JRE_PATH" value="" />
|
||||||
<option name="PACKAGE_NAME" value="org.jetbrains.k2js.test" />
|
<option name="PACKAGE_NAME" value="" />
|
||||||
<option name="MAIN_CLASS_NAME" value="org.jetbrains.k2js.test.BasicClassTest" />
|
<option name="MAIN_CLASS_NAME" value="" />
|
||||||
<option name="METHOD_NAME" value="constructorWithParameter" />
|
<option name="METHOD_NAME" value="" />
|
||||||
<option name="TEST_OBJECT" value="method" />
|
<option name="TEST_OBJECT" value="package" />
|
||||||
<option name="VM_PARAMETERS" value="-ea" />
|
<option name="VM_PARAMETERS" value="-ea" />
|
||||||
<option name="PARAMETERS" value="" />
|
<option name="PARAMETERS" value="" />
|
||||||
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
|
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
|
||||||
<option name="ENV_VARIABLES" />
|
<option name="ENV_VARIABLES" />
|
||||||
<option name="PASS_PARENT_ENVS" value="true" />
|
<option name="PASS_PARENT_ENVS" value="true" />
|
||||||
<option name="TEST_SEARCH_SCOPE">
|
<option name="TEST_SEARCH_SCOPE">
|
||||||
<value defaultName="singleModule" />
|
<value defaultName="moduleWithDependencies" />
|
||||||
</option>
|
</option>
|
||||||
<envs />
|
<envs />
|
||||||
<dir value="$PROJECT_DIR$/translator" />
|
|
||||||
<patterns />
|
<patterns />
|
||||||
<RunnerSettings RunnerId="Debug">
|
|
||||||
<option name="DEBUG_PORT" value="" />
|
|
||||||
<option name="TRANSPORT" value="0" />
|
|
||||||
<option name="LOCAL" value="true" />
|
|
||||||
</RunnerSettings>
|
|
||||||
<RunnerSettings RunnerId="Run" />
|
<RunnerSettings RunnerId="Run" />
|
||||||
<ConfigurationWrapper RunnerId="Debug" />
|
|
||||||
<ConfigurationWrapper RunnerId="Run" />
|
<ConfigurationWrapper RunnerId="Run" />
|
||||||
<method />
|
<method />
|
||||||
</configuration>
|
</configuration>
|
||||||
<configuration default="false" name="FunctionTest.functionUsedBeforeDeclaration" type="JUnit" factoryName="JUnit" temporary="true">
|
<configuration default="false" name="ExtensionFunctionTest.extensionUsedInsideClass" type="JUnit" factoryName="JUnit" temporary="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>
|
||||||
<option name="PATTERN" value="org.jetbrains.k2js.*" />
|
<option name="PATTERN" value="org.jetbrains.k2js.test.*" />
|
||||||
<option name="ENABLED" value="true" />
|
<option name="ENABLED" value="true" />
|
||||||
</pattern>
|
</pattern>
|
||||||
</extension>
|
</extension>
|
||||||
<module name="translator" />
|
<module name="jetTests" />
|
||||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||||
<option name="ALTERNATIVE_JRE_PATH" value="" />
|
<option name="ALTERNATIVE_JRE_PATH" value="" />
|
||||||
<option name="PACKAGE_NAME" value="org.jetbrains.k2js.test" />
|
<option name="PACKAGE_NAME" value="org.jetbrains.k2js.test" />
|
||||||
<option name="MAIN_CLASS_NAME" value="org.jetbrains.k2js.test.FunctionTest" />
|
<option name="MAIN_CLASS_NAME" value="org.jetbrains.k2js.test.ExtensionFunctionTest" />
|
||||||
<option name="METHOD_NAME" value="functionUsedBeforeDeclaration" />
|
<option name="METHOD_NAME" value="extensionUsedInsideClass" />
|
||||||
<option name="TEST_OBJECT" value="method" />
|
<option name="TEST_OBJECT" value="method" />
|
||||||
<option name="VM_PARAMETERS" value="-ea" />
|
<option name="VM_PARAMETERS" value="-ea" />
|
||||||
<option name="PARAMETERS" value="" />
|
<option name="PARAMETERS" value="" />
|
||||||
@@ -1072,80 +1110,9 @@
|
|||||||
<option name="ENV_VARIABLES" />
|
<option name="ENV_VARIABLES" />
|
||||||
<option name="PASS_PARENT_ENVS" value="true" />
|
<option name="PASS_PARENT_ENVS" value="true" />
|
||||||
<option name="TEST_SEARCH_SCOPE">
|
<option name="TEST_SEARCH_SCOPE">
|
||||||
<value defaultName="singleModule" />
|
<value defaultName="moduleWithDependencies" />
|
||||||
</option>
|
</option>
|
||||||
<envs />
|
<envs />
|
||||||
<dir value="$PROJECT_DIR$/translator" />
|
|
||||||
<patterns />
|
|
||||||
<RunnerSettings RunnerId="Debug">
|
|
||||||
<option name="DEBUG_PORT" value="" />
|
|
||||||
<option name="TRANSPORT" value="0" />
|
|
||||||
<option name="LOCAL" value="true" />
|
|
||||||
</RunnerSettings>
|
|
||||||
<RunnerSettings RunnerId="Run" />
|
|
||||||
<ConfigurationWrapper RunnerId="Debug" />
|
|
||||||
<ConfigurationWrapper RunnerId="Run" />
|
|
||||||
<method />
|
|
||||||
</configuration>
|
|
||||||
<configuration default="false" name="FunctionTest.loopClosure" type="JUnit" factoryName="JUnit" temporary="true">
|
|
||||||
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
|
|
||||||
<pattern>
|
|
||||||
<option name="PATTERN" value="org.jetbrains.k2js.*" />
|
|
||||||
<option name="ENABLED" value="true" />
|
|
||||||
</pattern>
|
|
||||||
</extension>
|
|
||||||
<module name="translator" />
|
|
||||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
|
||||||
<option name="ALTERNATIVE_JRE_PATH" value="" />
|
|
||||||
<option name="PACKAGE_NAME" value="org.jetbrains.k2js.test" />
|
|
||||||
<option name="MAIN_CLASS_NAME" value="org.jetbrains.k2js.test.FunctionTest" />
|
|
||||||
<option name="METHOD_NAME" value="loopClosure" />
|
|
||||||
<option name="TEST_OBJECT" value="method" />
|
|
||||||
<option name="VM_PARAMETERS" value="-ea" />
|
|
||||||
<option name="PARAMETERS" value="" />
|
|
||||||
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
|
|
||||||
<option name="ENV_VARIABLES" />
|
|
||||||
<option name="PASS_PARENT_ENVS" value="true" />
|
|
||||||
<option name="TEST_SEARCH_SCOPE">
|
|
||||||
<value defaultName="singleModule" />
|
|
||||||
</option>
|
|
||||||
<envs />
|
|
||||||
<dir value="$PROJECT_DIR$/translator" />
|
|
||||||
<patterns />
|
|
||||||
<RunnerSettings RunnerId="Debug">
|
|
||||||
<option name="DEBUG_PORT" value="" />
|
|
||||||
<option name="TRANSPORT" value="0" />
|
|
||||||
<option name="LOCAL" value="true" />
|
|
||||||
</RunnerSettings>
|
|
||||||
<RunnerSettings RunnerId="Run" />
|
|
||||||
<ConfigurationWrapper RunnerId="Debug" />
|
|
||||||
<ConfigurationWrapper RunnerId="Run" />
|
|
||||||
<method />
|
|
||||||
</configuration>
|
|
||||||
<configuration default="false" name="BasicClassTest.incrementProperty" type="JUnit" factoryName="JUnit" temporary="true">
|
|
||||||
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
|
|
||||||
<pattern>
|
|
||||||
<option name="PATTERN" value="org.jetbrains.k2js.*" />
|
|
||||||
<option name="ENABLED" value="true" />
|
|
||||||
</pattern>
|
|
||||||
</extension>
|
|
||||||
<module name="translator" />
|
|
||||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
|
||||||
<option name="ALTERNATIVE_JRE_PATH" value="" />
|
|
||||||
<option name="PACKAGE_NAME" value="org.jetbrains.k2js.test" />
|
|
||||||
<option name="MAIN_CLASS_NAME" value="org.jetbrains.k2js.test.BasicClassTest" />
|
|
||||||
<option name="METHOD_NAME" value="incrementProperty" />
|
|
||||||
<option name="TEST_OBJECT" value="method" />
|
|
||||||
<option name="VM_PARAMETERS" value="-ea" />
|
|
||||||
<option name="PARAMETERS" value="" />
|
|
||||||
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
|
|
||||||
<option name="ENV_VARIABLES" />
|
|
||||||
<option name="PASS_PARENT_ENVS" value="true" />
|
|
||||||
<option name="TEST_SEARCH_SCOPE">
|
|
||||||
<value defaultName="singleModule" />
|
|
||||||
</option>
|
|
||||||
<envs />
|
|
||||||
<dir value="$PROJECT_DIR$/translator" />
|
|
||||||
<patterns />
|
<patterns />
|
||||||
<RunnerSettings RunnerId="Debug">
|
<RunnerSettings RunnerId="Debug">
|
||||||
<option name="DEBUG_PORT" value="" />
|
<option name="DEBUG_PORT" value="" />
|
||||||
@@ -1311,11 +1278,11 @@
|
|||||||
<list size="7">
|
<list size="7">
|
||||||
<item index="0" class="java.lang.String" itemvalue="Applet.Applet" />
|
<item index="0" class="java.lang.String" itemvalue="Applet.Applet" />
|
||||||
<item index="1" class="java.lang.String" itemvalue="JUnit.tests" />
|
<item index="1" class="java.lang.String" itemvalue="JUnit.tests" />
|
||||||
<item index="2" class="java.lang.String" itemvalue="JUnit.BasicClassTest.classInstantiation" />
|
<item index="2" class="java.lang.String" itemvalue="JUnit.ExtensionFunctionTest.intExtension" />
|
||||||
<item index="3" class="java.lang.String" itemvalue="JUnit.BasicClassTest.constructorWithParameter" />
|
<item index="3" class="java.lang.String" itemvalue="JUnit.ExtensionFunctionTest.extensionWithImplicitReceiver" />
|
||||||
<item index="4" class="java.lang.String" itemvalue="JUnit.FunctionTest.functionUsedBeforeDeclaration" />
|
<item index="4" class="java.lang.String" itemvalue="JUnit.ExtensionFunctionTest.extensionInsideFunctionLiteral" />
|
||||||
<item index="5" class="java.lang.String" itemvalue="JUnit.FunctionTest.loopClosure" />
|
<item index="5" class="java.lang.String" itemvalue="JUnit.All in jetTests" />
|
||||||
<item index="6" class="java.lang.String" itemvalue="JUnit.BasicClassTest.incrementProperty" />
|
<item index="6" class="java.lang.String" itemvalue="JUnit.ExtensionFunctionTest.extensionUsedInsideClass" />
|
||||||
</list>
|
</list>
|
||||||
<configuration name="<template>" type="WebApp" default="true" selected="false">
|
<configuration name="<template>" type="WebApp" default="true" selected="false">
|
||||||
<Host>localhost</Host>
|
<Host>localhost</Host>
|
||||||
@@ -1378,7 +1345,7 @@
|
|||||||
<window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
<window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
||||||
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32756963" sideWeight="0.4216996" order="1" side_tool="false" content_ui="tabs" />
|
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32756963" sideWeight="0.4216996" 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" weight="0.24973261" sideWeight="0.7183908" 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" weight="0.24973261" sideWeight="0.7183908" order="1" side_tool="false" content_ui="tabs" />
|
||||||
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.34774256" sideWeight="0.7733832" 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" weight="0.34774256" sideWeight="0.7733832" order="3" side_tool="false" content_ui="tabs" />
|
||||||
<window_info id="IDEtalk Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32949087" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" />
|
<window_info id="IDEtalk Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32949087" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" />
|
||||||
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.29682997" sideWeight="0.14323892" order="11" side_tool="true" content_ui="tabs" />
|
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.29682997" sideWeight="0.14323892" order="11" side_tool="true" content_ui="tabs" />
|
||||||
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
|
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
|
||||||
@@ -1390,8 +1357,8 @@
|
|||||||
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.20363443" sideWeight="0.7588857" order="1" side_tool="true" content_ui="tabs" />
|
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.20363443" sideWeight="0.7588857" order="1" side_tool="true" content_ui="tabs" />
|
||||||
<window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32977018" sideWeight="0.6570605" order="4" side_tool="false" content_ui="tabs" />
|
<window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32977018" sideWeight="0.6570605" 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="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.2383752" sideWeight="0.65225744" 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" weight="0.2383752" sideWeight="0.65802115" order="0" side_tool="false" content_ui="combo" />
|
||||||
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.34197888" sideWeight="0.8530198" order="2" side_tool="false" content_ui="tabs" />
|
<window_info id="Run" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.34197888" sideWeight="0.8530198" order="2" side_tool="false" content_ui="tabs" />
|
||||||
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.0908605" sideWeight="0.7146974" order="2" side_tool="false" content_ui="combo" />
|
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.0908605" sideWeight="0.7146974" order="2" side_tool="false" content_ui="combo" />
|
||||||
<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="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="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" />
|
||||||
@@ -1436,7 +1403,7 @@
|
|||||||
<option name="CREATE_PATCH_EXPAND_DETAILS_DEFAULT" value="true" />
|
<option name="CREATE_PATCH_EXPAND_DETAILS_DEFAULT" value="true" />
|
||||||
<option name="SHOW_FILE_HISTORY_DETAILS" value="true" />
|
<option name="SHOW_FILE_HISTORY_DETAILS" value="true" />
|
||||||
<option name="FORCE_NON_EMPTY_COMMENT" value="false" />
|
<option name="FORCE_NON_EMPTY_COMMENT" value="false" />
|
||||||
<option name="LAST_COMMIT_MESSAGE" value="migrated according to the last when changes" />
|
<option name="LAST_COMMIT_MESSAGE" value="Very big code migration started. Still in progress. Tests fail." />
|
||||||
<option name="MAKE_NEW_CHANGELIST_ACTIVE" value="true" />
|
<option name="MAKE_NEW_CHANGELIST_ACTIVE" value="true" />
|
||||||
<option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="true" />
|
<option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="true" />
|
||||||
<option name="CHECK_FILES_UP_TO_DATE_BEFORE_COMMIT" value="false" />
|
<option name="CHECK_FILES_UP_TO_DATE_BEFORE_COMMIT" value="false" />
|
||||||
@@ -1449,7 +1416,6 @@
|
|||||||
<option name="UPDATE_GROUP_BY_CHANGELIST" value="false" />
|
<option name="UPDATE_GROUP_BY_CHANGELIST" value="false" />
|
||||||
<option name="SHOW_FILE_HISTORY_AS_TREE" value="false" />
|
<option name="SHOW_FILE_HISTORY_AS_TREE" value="false" />
|
||||||
<option name="FILE_HISTORY_SPLITTER_PROPORTION" value="0.6" />
|
<option name="FILE_HISTORY_SPLITTER_PROPORTION" value="0.6" />
|
||||||
<MESSAGE value="more koltin lib clean up." />
|
|
||||||
<MESSAGE value="fixes in module structure. add workaround code for applet. add method needed for applet. " />
|
<MESSAGE value="fixes in module structure. add workaround code for applet. add method needed for applet. " />
|
||||||
<MESSAGE value="refactoring intrinsics" />
|
<MESSAGE value="refactoring intrinsics" />
|
||||||
<MESSAGE value="changed @author tag" />
|
<MESSAGE value="changed @author tag" />
|
||||||
@@ -1474,6 +1440,7 @@
|
|||||||
<MESSAGE value="KT-962: Function is called two times safecall expression now compute receiver only once." />
|
<MESSAGE value="KT-962: Function is called two times safecall expression now compute receiver only once." />
|
||||||
<MESSAGE value="refactor and TODO clean-up" />
|
<MESSAGE value="refactor and TODO clean-up" />
|
||||||
<MESSAGE value="migrated according to the last when changes" />
|
<MESSAGE value="migrated according to the last when changes" />
|
||||||
|
<MESSAGE value="Very big code migration started. Still in progress. Tests fail." />
|
||||||
</component>
|
</component>
|
||||||
<component name="XDebuggerManager">
|
<component name="XDebuggerManager">
|
||||||
<breakpoint-manager />
|
<breakpoint-manager />
|
||||||
@@ -1483,102 +1450,58 @@
|
|||||||
<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$/translator/src/org/jetbrains/k2js/translate/reference/ReferenceTranslator.java">
|
<entry file="file://$PROJECT_DIR$/translator/testFiles/extensionFunction/out/generic.js">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="48" column="0" selection-start="2335" selection-end="2335" vertical-scroll-proportion="0.0">
|
<state line="12" column="29" selection-start="272" selection-end="272" vertical-scroll-proportion="0.0">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/MiscTest.java">
|
<entry file="file://$PROJECT_DIR$/translator/testFiles/extensionFunction/cases/generic.kt">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="31" column="16" selection-start="765" selection-end="765" vertical-scroll-proportion="0.0">
|
<state line="0" column="11" selection-start="11" selection-end="11" vertical-scroll-proportion="0.0">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/ExtensionFunctionTest.java">
|
<entry file="file://$PROJECT_DIR$/translator/testFiles/extensionFunction/out/extensionUsedInsideClass.js">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="16" column="16" selection-start="327" selection-end="327" vertical-scroll-proportion="0.0">
|
<state line="10" column="52" selection-start="223" selection-end="223" vertical-scroll-proportion="0.0">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/TranslationUtils.java">
|
<entry file="file://$PROJECT_DIR$/../../Kotlin/jet/compiler/frontend/src/org/jetbrains/jet/lang/descriptors/PropertyDescriptor.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="205" column="35" selection-start="9730" selection-end="9730" vertical-scroll-proportion="0.0">
|
<state line="165" column="0" selection-start="5642" selection-end="5642" vertical-scroll-proportion="0.0">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/ForTest.java">
|
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/general/AbstractTranslator.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="17" column="16" selection-start="307" selection-end="307" vertical-scroll-proportion="0.0">
|
<state line="26" column="0" selection-start="670" selection-end="670" vertical-scroll-proportion="0.0">
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/../../Kotlin/jet/compiler/frontend/src/org/jetbrains/jet/lang/resolve/scopes/receivers/ReceiverDescriptor.java">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state line="14" column="0" selection-start="347" selection-end="347" vertical-scroll-proportion="0.0">
|
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/DescriptorUtils.java">
|
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/DescriptorUtils.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="159" column="9" selection-start="6516" selection-end="6516" vertical-scroll-proportion="0.0">
|
<state line="151" column="40" selection-start="6074" selection-end="6074" vertical-scroll-proportion="0.0">
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/expression/FunctionTranslator.java">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state line="73" column="20" selection-start="3085" selection-end="3085" vertical-scroll-proportion="0.0">
|
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/FunctionTest.java">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state line="37" column="16" selection-start="833" selection-end="833" vertical-scroll-proportion="0.0">
|
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/expression/function/cases/loopClosure.kt">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state line="16" column="46" selection-start="220" selection-end="220" vertical-scroll-proportion="0.0">
|
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/PropertyAccessTranslator.java">
|
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/PropertyAccessTranslator.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="24" column="88" selection-start="1366" selection-end="1366" vertical-scroll-proportion="0.0">
|
<state line="180" column="0" selection-start="8214" selection-end="8214" vertical-scroll-proportion="0.0">
|
||||||
<folding>
|
|
||||||
<element signature="imports" expanded="true" />
|
|
||||||
</folding>
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/ClassInheritanceTest.java">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state line="32" column="16" selection-start="732" selection-end="732" vertical-scroll-proportion="0.0">
|
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/class/cases/incrementProperty.kt">
|
<entry file="file://$PROJECT_DIR$/translator/testFiles/extensionFunction/cases/extensionInsideFunctionLiteral.kt">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<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="21" column="27" selection-start="305" selection-end="305" vertical-scroll-proportion="0.0">
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/class/out/incrementProperty.js">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
|
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
@@ -1590,12 +1513,57 @@
|
|||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/Aliaser.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="30" column="21" selection-start="870" selection-end="870" vertical-scroll-proportion="0.0">
|
||||||
|
<folding>
|
||||||
|
<element signature="e#741#779#0" expanded="true" />
|
||||||
|
</folding>
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/expression/FunctionTranslator.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="189" column="48" selection-start="8152" selection-end="8152" vertical-scroll-proportion="0.0">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/TranslationUtils.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="112" column="20" selection-start="5289" selection-end="5289" vertical-scroll-proportion="0.0">
|
||||||
|
<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="390" column="67" selection-start="17669" selection-end="17669" vertical-scroll-proportion="0.0">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/ExtensionFunctionTest.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="31" column="16" selection-start="731" selection-end="731" vertical-scroll-proportion="0.0">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/translator/testFiles/extensionFunction/cases/extensionUsedInsideClass.kt">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="3" column="17" selection-start="53" selection-end="53" vertical-scroll-proportion="0.0">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/CallTranslator.java">
|
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/CallTranslator.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="286" column="58" selection-start="12986" selection-end="12986" vertical-scroll-proportion="0.7650794">
|
<state line="237" column="9" selection-start="11016" selection-end="11016" vertical-scroll-proportion="0.4638365">
|
||||||
<folding>
|
<folding>
|
||||||
<element signature="e#6663#6677#0" expanded="true" />
|
<element signature="e#6606#6620#0" expanded="true" />
|
||||||
<element signature="e#7148#7162#0" expanded="true" />
|
<element signature="e#7091#7105#0" expanded="true" />
|
||||||
|
<element signature="e#10719#10733#0" expanded="true" />
|
||||||
</folding>
|
</folding>
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor;
|
|||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Stack;
|
||||||
|
|
||||||
//TODO: code gets duplicated
|
//TODO: code gets duplicated
|
||||||
public class Aliaser {
|
public class Aliaser {
|
||||||
@@ -19,54 +20,46 @@ public class Aliaser {
|
|||||||
@NotNull
|
@NotNull
|
||||||
private final Map<DeclarationDescriptor, JsName> aliasesForDescriptors = new HashMap<DeclarationDescriptor, JsName>();
|
private final Map<DeclarationDescriptor, JsName> aliasesForDescriptors = new HashMap<DeclarationDescriptor, JsName>();
|
||||||
@NotNull
|
@NotNull
|
||||||
private final Map<DeclarationDescriptor, JsName> aliasesForThis = new HashMap<DeclarationDescriptor, JsName>();
|
private final Map<DeclarationDescriptor, Stack<JsName>> aliasesForThis
|
||||||
@NotNull
|
= new HashMap<DeclarationDescriptor, Stack<JsName>>();
|
||||||
private final Map<DeclarationDescriptor, JsName> aliasesForReceiver = new HashMap<DeclarationDescriptor, JsName>();
|
|
||||||
|
|
||||||
private Aliaser() {
|
private Aliaser() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//TODO: refactor
|
||||||
@NotNull
|
@NotNull
|
||||||
public JsNameRef getAliasForThis(@NotNull DeclarationDescriptor descriptor) {
|
public JsNameRef getAliasForThis(@NotNull DeclarationDescriptor descriptor) {
|
||||||
JsName aliasName = aliasesForThis.get(descriptor.getOriginal());
|
Stack<JsName> aliasStack = aliasesForThis.get(descriptor.getOriginal());
|
||||||
|
assert !aliasStack.empty();
|
||||||
|
JsName aliasName = aliasStack.peek();
|
||||||
assert aliasName != null : "This " + descriptor.getOriginal() + " doesn't have an alias.";
|
assert aliasName != null : "This " + descriptor.getOriginal() + " doesn't have an alias.";
|
||||||
return aliasName.makeRef();
|
return aliasName.makeRef();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setAliasForThis(@NotNull DeclarationDescriptor descriptor, @NotNull JsName alias) {
|
public void setAliasForThis(@NotNull DeclarationDescriptor descriptor, @NotNull JsName alias) {
|
||||||
aliasesForThis.put(descriptor.getOriginal(), alias);
|
Stack<JsName> aliasStack = aliasesForThis.get(descriptor.getOriginal());
|
||||||
|
if (aliasStack == null) {
|
||||||
|
aliasStack = new Stack<JsName>();
|
||||||
|
aliasesForThis.put(descriptor, aliasStack);
|
||||||
|
}
|
||||||
|
aliasStack.push(alias);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//TODO: make the reference null
|
||||||
public void removeAliasForThis(@NotNull DeclarationDescriptor descriptor) {
|
public void removeAliasForThis(@NotNull DeclarationDescriptor descriptor) {
|
||||||
JsName removed = aliasesForThis.remove(descriptor.getOriginal());
|
Stack<JsName> aliasStack = aliasesForThis.get(descriptor.getOriginal());
|
||||||
assert removed != null;
|
assert !aliasStack.empty();
|
||||||
|
aliasStack.pop();
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean hasAliasForThis(@NotNull DeclarationDescriptor descriptor) {
|
public boolean hasAliasForThis(@NotNull DeclarationDescriptor descriptor) {
|
||||||
return (aliasesForThis.containsKey(descriptor.getOriginal()));
|
Stack<JsName> aliasStack = aliasesForThis.get(descriptor.getOriginal());
|
||||||
|
if (aliasStack == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return (!aliasStack.empty());
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
|
||||||
public JsNameRef getAliasForReceiver(@NotNull DeclarationDescriptor descriptor) {
|
|
||||||
JsName aliasName = aliasesForReceiver.get(descriptor.getOriginal());
|
|
||||||
assert aliasName != null : "This descriptor doesn't have an alias.";
|
|
||||||
return aliasName.makeRef();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setAliasForReceiver(@NotNull DeclarationDescriptor descriptor, @NotNull JsName alias) {
|
|
||||||
aliasesForReceiver.put(descriptor.getOriginal(), alias);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void removeAliasForReceiver(@NotNull DeclarationDescriptor descriptor) {
|
|
||||||
JsName removed = aliasesForReceiver.remove(descriptor.getOriginal());
|
|
||||||
assert removed != null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean hasAliasForReceiver(@NotNull DeclarationDescriptor descriptor) {
|
|
||||||
return (aliasesForReceiver.containsKey(descriptor.getOriginal()));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
public JsName getAliasForDeclaration(@NotNull DeclarationDescriptor declaration) {
|
public JsName getAliasForDeclaration(@NotNull DeclarationDescriptor declaration) {
|
||||||
JsName alias = aliasesForDescriptors.get(declaration.getOriginal());
|
JsName alias = aliasesForDescriptors.get(declaration.getOriginal());
|
||||||
|
|||||||
@@ -165,9 +165,10 @@ public final class TranslationContext {
|
|||||||
return dynamicContext.declareLocalVariable(declarationDescriptor);
|
return dynamicContext.declareLocalVariable(declarationDescriptor);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//TODO: consider moving somewhere
|
||||||
@NotNull
|
@NotNull
|
||||||
public TemporaryVariable newAliasForThis(@NotNull DeclarationDescriptor descriptor) {
|
public TemporaryVariable newAliasForThis(@NotNull DeclarationDescriptor descriptor) {
|
||||||
JsExpression thisQualifier = TranslationUtils.getThisQualifier(this, descriptor);
|
JsExpression thisQualifier = TranslationUtils.getThisObject(this, descriptor);
|
||||||
TemporaryVariable aliasForThis = dynamicContext.declareTemporary(thisQualifier);
|
TemporaryVariable aliasForThis = dynamicContext.declareTemporary(thisQualifier);
|
||||||
aliaser().setAliasForThis(descriptor, aliasForThis.name());
|
aliaser().setAliasForThis(descriptor, aliasForThis.name());
|
||||||
return aliasForThis;
|
return aliasForThis;
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ import org.jetbrains.k2js.translate.reference.AccessTranslator;
|
|||||||
import org.jetbrains.k2js.translate.reference.CallTranslator;
|
import org.jetbrains.k2js.translate.reference.CallTranslator;
|
||||||
import org.jetbrains.k2js.translate.reference.ReferenceTranslator;
|
import org.jetbrains.k2js.translate.reference.ReferenceTranslator;
|
||||||
import org.jetbrains.k2js.translate.utils.BindingUtils;
|
import org.jetbrains.k2js.translate.utils.BindingUtils;
|
||||||
|
import org.jetbrains.k2js.translate.utils.TranslationUtils;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -373,16 +374,16 @@ public final class ExpressionVisitor extends TranslatorVisitor<JsNode> {
|
|||||||
return Translation.functionTranslator(expression, context).translateAsLiteral();
|
return Translation.functionTranslator(expression, context).translateAsLiteral();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//TODO: refactor
|
||||||
|
//TODO: strange logic. look where it should be applied
|
||||||
@Override
|
@Override
|
||||||
@NotNull
|
@NotNull
|
||||||
public JsNode visitThisExpression(@NotNull JetThisExpression expression,
|
public JsNode visitThisExpression(@NotNull JetThisExpression expression,
|
||||||
@NotNull TranslationContext context) {
|
@NotNull TranslationContext context) {
|
||||||
DeclarationDescriptor descriptor =
|
DeclarationDescriptor descriptor =
|
||||||
getDescriptorForReferenceExpression(context.bindingContext(), expression.getInstanceReference());
|
getDescriptorForReferenceExpression(context.bindingContext(), expression.getInstanceReference());
|
||||||
if (context.aliaser().hasAliasForThis(descriptor)) {
|
return TranslationUtils.getThisObject(context, descriptor);
|
||||||
return context.aliaser().getAliasForThis(descriptor);
|
|
||||||
}
|
|
||||||
return new JsThisRef();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -405,4 +406,4 @@ public final class ExpressionVisitor extends TranslatorVisitor<JsNode> {
|
|||||||
@NotNull TranslationContext context) {
|
@NotNull TranslationContext context) {
|
||||||
return TryTranslator.translate(expression, context);
|
return TryTranslator.translate(expression, context);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3,10 +3,7 @@ package org.jetbrains.k2js.translate.expression;
|
|||||||
import com.google.dart.compiler.backend.js.ast.*;
|
import com.google.dart.compiler.backend.js.ast.*;
|
||||||
import com.google.dart.compiler.util.AstUtil;
|
import com.google.dart.compiler.util.AstUtil;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor;
|
import org.jetbrains.jet.lang.descriptors.*;
|
||||||
import org.jetbrains.jet.lang.descriptors.FunctionDescriptor;
|
|
||||||
import org.jetbrains.jet.lang.descriptors.Modality;
|
|
||||||
import org.jetbrains.jet.lang.descriptors.ValueParameterDescriptor;
|
|
||||||
import org.jetbrains.jet.lang.psi.*;
|
import org.jetbrains.jet.lang.psi.*;
|
||||||
import org.jetbrains.jet.lang.types.JetStandardClasses;
|
import org.jetbrains.jet.lang.types.JetStandardClasses;
|
||||||
import org.jetbrains.jet.lang.types.JetType;
|
import org.jetbrains.jet.lang.types.JetType;
|
||||||
@@ -20,8 +17,7 @@ import java.util.ArrayList;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import static org.jetbrains.k2js.translate.utils.BindingUtils.getFunctionDescriptor;
|
import static org.jetbrains.k2js.translate.utils.BindingUtils.getFunctionDescriptor;
|
||||||
import static org.jetbrains.k2js.translate.utils.DescriptorUtils.getExpectedReceiverDescriptor;
|
import static org.jetbrains.k2js.translate.utils.DescriptorUtils.*;
|
||||||
import static org.jetbrains.k2js.translate.utils.DescriptorUtils.getExpectedThisDescriptor;
|
|
||||||
import static org.jetbrains.k2js.translate.utils.TranslationUtils.functionWithScope;
|
import static org.jetbrains.k2js.translate.utils.TranslationUtils.functionWithScope;
|
||||||
|
|
||||||
|
|
||||||
@@ -70,17 +66,17 @@ public final class FunctionTranslator extends AbstractTranslator {
|
|||||||
return new JsPropertyInitializer(functionName.makeRef(), function);
|
return new JsPropertyInitializer(functionName.makeRef(), function);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//TODO: refactor
|
//TODO: refactor
|
||||||
@NotNull
|
@NotNull
|
||||||
public JsExpression translateAsLiteral() {
|
public JsExpression translateAsLiteral() {
|
||||||
DeclarationDescriptor expectedThisDescriptor = getExpectedThisDescriptor(descriptor);
|
assert getExpectedThisDescriptor(descriptor) == null;
|
||||||
if (expectedThisDescriptor == null) {
|
ClassDescriptor containingClass = getContainingClass(descriptor);
|
||||||
|
if (containingClass == null) {
|
||||||
return generateFunctionObject();
|
return generateFunctionObject();
|
||||||
}
|
}
|
||||||
TemporaryVariable aliasForThis = context().newAliasForThis(expectedThisDescriptor);
|
TemporaryVariable aliasForThis = context().newAliasForThis(containingClass);
|
||||||
JsFunction function = generateFunctionObject();
|
JsFunction function = generateFunctionObject();
|
||||||
context().removeAliasForThis(expectedThisDescriptor);
|
context().removeAliasForThis(containingClass);
|
||||||
return AstUtil.newSequence(aliasForThis.assignmentExpression(), function);
|
return AstUtil.newSequence(aliasForThis.assignmentExpression(), function);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -95,14 +91,16 @@ public final class FunctionTranslator extends AbstractTranslator {
|
|||||||
|
|
||||||
private void restoreContext() {
|
private void restoreContext() {
|
||||||
if (isExtensionFunction()) {
|
if (isExtensionFunction()) {
|
||||||
functionBodyContext.removeAliasForThis(getExpectedReceiverDescriptor(descriptor));
|
DeclarationDescriptor expectedReceiverDescriptor = getExpectedReceiverDescriptor(descriptor);
|
||||||
|
assert expectedReceiverDescriptor != null : "Extension functions should always have receiver descriptors.";
|
||||||
|
functionBodyContext.aliaser().removeAliasForThis(expectedReceiverDescriptor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
private JsFunction createFunctionObject() {
|
private JsFunction createFunctionObject() {
|
||||||
if (isDeclaration()) {
|
if (isDeclaration()) {
|
||||||
return functionWithScope
|
return functionWithScope(context().getScopeForElement((JetDeclaration) functionDeclaration));
|
||||||
(context().getScopeForElement((JetDeclaration) functionDeclaration));
|
|
||||||
}
|
}
|
||||||
if (isLiteral()) {
|
if (isLiteral()) {
|
||||||
//TODO: look into
|
//TODO: look into
|
||||||
@@ -147,8 +145,8 @@ public final class FunctionTranslator extends AbstractTranslator {
|
|||||||
List<JsStatement> statements = bodyBlock.getStatements();
|
List<JsStatement> statements = bodyBlock.getStatements();
|
||||||
int lastIndex = statements.size() - 1;
|
int lastIndex = statements.size() - 1;
|
||||||
JsStatement lastStatement = statements.get(lastIndex);
|
JsStatement lastStatement = statements.get(lastIndex);
|
||||||
statements.set(lastIndex,
|
JsReturn returnStatement = new JsReturn(AstUtil.extractExpressionFromStatement(lastStatement));
|
||||||
new JsReturn(AstUtil.extractExpressionFromStatement(lastStatement)));
|
statements.set(lastIndex, returnStatement);
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
@@ -186,7 +184,8 @@ public final class FunctionTranslator extends AbstractTranslator {
|
|||||||
//TODO: dont do this
|
//TODO: dont do this
|
||||||
JsName receiver = functionBodyContext.jsScope().declareName(RECEIVER_PARAMETER_NAME);
|
JsName receiver = functionBodyContext.jsScope().declareName(RECEIVER_PARAMETER_NAME);
|
||||||
DeclarationDescriptor expectedReceiverDescriptor = getExpectedReceiverDescriptor(descriptor);
|
DeclarationDescriptor expectedReceiverDescriptor = getExpectedReceiverDescriptor(descriptor);
|
||||||
context().aliaser().setAliasForReceiver(expectedReceiverDescriptor, receiver);
|
assert expectedReceiverDescriptor != null;
|
||||||
|
context().aliaser().setAliasForThis(expectedReceiverDescriptor, receiver);
|
||||||
jsParameters.add(new JsParameter(receiver));
|
jsParameters.add(new JsParameter(receiver));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,19 +12,18 @@ import org.jetbrains.jet.lang.resolve.calls.DefaultValueArgument;
|
|||||||
import org.jetbrains.jet.lang.resolve.calls.ResolvedCall;
|
import org.jetbrains.jet.lang.resolve.calls.ResolvedCall;
|
||||||
import org.jetbrains.jet.lang.resolve.calls.ResolvedCallImpl;
|
import org.jetbrains.jet.lang.resolve.calls.ResolvedCallImpl;
|
||||||
import org.jetbrains.jet.lang.resolve.calls.ResolvedValueArgument;
|
import org.jetbrains.jet.lang.resolve.calls.ResolvedValueArgument;
|
||||||
|
import org.jetbrains.jet.lang.resolve.scopes.receivers.ReceiverDescriptor;
|
||||||
import org.jetbrains.k2js.translate.context.TranslationContext;
|
import org.jetbrains.k2js.translate.context.TranslationContext;
|
||||||
import org.jetbrains.k2js.translate.general.AbstractTranslator;
|
import org.jetbrains.k2js.translate.general.AbstractTranslator;
|
||||||
import org.jetbrains.k2js.translate.general.Translation;
|
import org.jetbrains.k2js.translate.general.Translation;
|
||||||
import org.jetbrains.k2js.translate.intrinsic.FunctionIntrinsic;
|
import org.jetbrains.k2js.translate.intrinsic.FunctionIntrinsic;
|
||||||
import org.jetbrains.k2js.translate.utils.DescriptorUtils;
|
|
||||||
import org.jetbrains.k2js.translate.utils.TranslationUtils;
|
import org.jetbrains.k2js.translate.utils.TranslationUtils;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
import static com.google.dart.compiler.util.AstUtil.not;
|
import static com.google.dart.compiler.util.AstUtil.not;
|
||||||
import static org.jetbrains.k2js.translate.utils.BindingUtils.*;
|
import static org.jetbrains.k2js.translate.utils.BindingUtils.*;
|
||||||
import static org.jetbrains.k2js.translate.utils.DescriptorUtils.getVariableDescriptorForVariableAsFunction;
|
import static org.jetbrains.k2js.translate.utils.DescriptorUtils.*;
|
||||||
import static org.jetbrains.k2js.translate.utils.DescriptorUtils.isConstructorDescriptor;
|
|
||||||
import static org.jetbrains.k2js.translate.utils.PsiUtils.*;
|
import static org.jetbrains.k2js.translate.utils.PsiUtils.*;
|
||||||
import static org.jetbrains.k2js.translate.utils.TranslationUtils.*;
|
import static org.jetbrains.k2js.translate.utils.TranslationUtils.*;
|
||||||
|
|
||||||
@@ -187,7 +186,7 @@ public final class CallTranslator extends AbstractTranslator {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
private final JsExpression receiver;
|
private JsExpression receiver;
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private final List<JsExpression> arguments;
|
private final List<JsExpression> arguments;
|
||||||
@@ -227,11 +226,19 @@ public final class CallTranslator extends AbstractTranslator {
|
|||||||
return methodCall();
|
return methodCall();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//TODO: refactor
|
||||||
@NotNull
|
@NotNull
|
||||||
private JsExpression extensionFunctionCall() {
|
private JsExpression extensionFunctionCall() {
|
||||||
List<JsExpression> argumentList = new ArrayList<JsExpression>();
|
List<JsExpression> argumentList = new ArrayList<JsExpression>();
|
||||||
|
if (receiver == null) {
|
||||||
|
DeclarationDescriptor expectedReceiverDescriptor = getExpectedReceiverDescriptor(descriptor);
|
||||||
|
assert expectedReceiverDescriptor != null;
|
||||||
|
receiver = getThisObject(context(), expectedReceiverDescriptor);
|
||||||
|
}
|
||||||
argumentList.add(receiver);
|
argumentList.add(receiver);
|
||||||
argumentList.addAll(arguments);
|
argumentList.addAll(arguments);
|
||||||
|
//Now the rest of the code can work as if it was simple method invocation
|
||||||
|
receiver = null;
|
||||||
return AstUtil.newInvocation(calleeReference(), argumentList);
|
return AstUtil.newInvocation(calleeReference(), argumentList);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -263,7 +270,7 @@ public final class CallTranslator extends AbstractTranslator {
|
|||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private JsExpression calleeReference() {
|
private JsExpression calleeReference() {
|
||||||
if (DescriptorUtils.isVariableDescriptor(descriptor)) {
|
if (isVariableDescriptor(descriptor)) {
|
||||||
//TODO: write tests on this cases
|
//TODO: write tests on this cases
|
||||||
VariableDescriptor variableDescriptor =
|
VariableDescriptor variableDescriptor =
|
||||||
getVariableDescriptorForVariableAsFunction((VariableAsFunctionDescriptor) descriptor);
|
getVariableDescriptorForVariableAsFunction((VariableAsFunctionDescriptor) descriptor);
|
||||||
@@ -282,23 +289,26 @@ public final class CallTranslator extends AbstractTranslator {
|
|||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private JsExpression qualifiedMethodReference(@NotNull DeclarationDescriptor descriptor) {
|
private JsExpression qualifiedMethodReference(@NotNull DeclarationDescriptor descriptor) {
|
||||||
JsExpression methodReference = ReferenceTranslator.translateAsLocalNameReference(descriptor, context());
|
JsExpression thisObject = thisObject();
|
||||||
//TODO: should insert checks for IMPLICIT RECEIVER
|
if (thisObject == null) {
|
||||||
if (isExtensionFunction()) {
|
return ReferenceTranslator.translateAsFQReference(descriptor, context());
|
||||||
return extensionFunctionReference(methodReference);
|
|
||||||
} else if (receiver != null) {
|
|
||||||
AstUtil.setQualifier(methodReference, receiver);
|
|
||||||
}
|
}
|
||||||
|
JsExpression methodReference = ReferenceTranslator.translateAsLocalNameReference(descriptor, context());
|
||||||
|
AstUtil.setQualifier(methodReference, thisObject);
|
||||||
return methodReference;
|
return methodReference;
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@Nullable
|
||||||
private JsExpression extensionFunctionReference(@NotNull JsExpression methodReference) {
|
private JsExpression thisObject() {
|
||||||
JsExpression qualifier = TranslationUtils.getImplicitReceiver(context(), resolvedCall.getReceiverArgument());
|
if (receiver != null) {
|
||||||
if (qualifier != null) {
|
return receiver;
|
||||||
AstUtil.setQualifier(methodReference, qualifier);
|
|
||||||
}
|
}
|
||||||
return methodReference;
|
ReceiverDescriptor thisObject = resolvedCall.getThisObject();
|
||||||
|
if (!thisObject.exists()) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
DeclarationDescriptor expectedThisDescriptor = getDeclarationDescriptorForReceiver(thisObject);
|
||||||
|
return TranslationUtils.getThisObject(context(), expectedThisDescriptor);
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
|
|||||||
@@ -31,8 +31,9 @@ public final class ReferenceTranslator {
|
|||||||
@NotNull
|
@NotNull
|
||||||
public static JsExpression translateAsFQReference(@NotNull DeclarationDescriptor referencedDescriptor,
|
public static JsExpression translateAsFQReference(@NotNull DeclarationDescriptor referencedDescriptor,
|
||||||
@NotNull TranslationContext context) {
|
@NotNull TranslationContext context) {
|
||||||
|
if (!context.hasQualifierForDescriptor(referencedDescriptor)) {
|
||||||
assert context.hasQualifierForDescriptor(referencedDescriptor);
|
return translateAsLocalNameReference(referencedDescriptor, context);
|
||||||
|
}
|
||||||
JsName referencedName = context.getNameForDescriptor(referencedDescriptor);
|
JsName referencedName = context.getNameForDescriptor(referencedDescriptor);
|
||||||
JsExpression qualifier = context.getQualifierForDescriptor(referencedDescriptor);
|
JsExpression qualifier = context.getQualifierForDescriptor(referencedDescriptor);
|
||||||
return AstUtil.qualified(referencedName, qualifier);
|
return AstUtil.qualified(referencedName, qualifier);
|
||||||
|
|||||||
@@ -140,11 +140,17 @@ public final class DescriptorUtils {
|
|||||||
|
|
||||||
//TODO: why callable descriptor
|
//TODO: why callable descriptor
|
||||||
@Nullable
|
@Nullable
|
||||||
public static DeclarationDescriptor getExpectedThisDescriptor(@NotNull CallableDescriptor functionDescriptor) {
|
public static DeclarationDescriptor getExpectedThisDescriptor(@NotNull CallableDescriptor callableDescriptor) {
|
||||||
ReceiverDescriptor receiverParameter = functionDescriptor.getReceiverParameter();
|
ReceiverDescriptor expectedThisObject = callableDescriptor.getExpectedThisObject();
|
||||||
if (!receiverParameter.exists()) {
|
if (!expectedThisObject.exists()) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
return getDeclarationDescriptorForReceiver(expectedThisObject);
|
||||||
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
public static DeclarationDescriptor getDeclarationDescriptorForReceiver
|
||||||
|
(@NotNull ReceiverDescriptor receiverParameter) {
|
||||||
DeclarationDescriptor declarationDescriptor =
|
DeclarationDescriptor declarationDescriptor =
|
||||||
receiverParameter.getType().getConstructor().getDeclarationDescriptor();
|
receiverParameter.getType().getConstructor().getDeclarationDescriptor();
|
||||||
//TODO: WHY assert?
|
//TODO: WHY assert?
|
||||||
@@ -153,14 +159,25 @@ public final class DescriptorUtils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
public static DeclarationDescriptor getExpectedReceiverDescriptor(@NotNull CallableDescriptor functionDescriptor) {
|
public static DeclarationDescriptor getExpectedReceiverDescriptor(@NotNull CallableDescriptor callableDescriptor) {
|
||||||
ReceiverDescriptor receiverParameter = functionDescriptor.getReceiverParameter();
|
ReceiverDescriptor receiverParameter = callableDescriptor.getReceiverParameter();
|
||||||
if (!receiverParameter.exists()) {
|
if (!receiverParameter.exists()) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
DeclarationDescriptor declarationDescriptor =
|
return getDeclarationDescriptorForReceiver(receiverParameter);
|
||||||
functionDescriptor.getReceiverParameter().getType().getConstructor().getDeclarationDescriptor();
|
|
||||||
assert declarationDescriptor != null;
|
|
||||||
return declarationDescriptor.getOriginal();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//TODO: maybe we have similar routine
|
||||||
|
@Nullable
|
||||||
|
public static ClassDescriptor getContainingClass(@NotNull DeclarationDescriptor descriptor) {
|
||||||
|
DeclarationDescriptor containing = descriptor.getContainingDeclaration();
|
||||||
|
while (containing != null) {
|
||||||
|
if (containing instanceof ClassDescriptor) {
|
||||||
|
return (ClassDescriptor) containing;
|
||||||
|
}
|
||||||
|
containing = containing.getContainingDeclaration();
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import com.google.dart.compiler.backend.js.ast.*;
|
|||||||
import com.google.dart.compiler.util.AstUtil;
|
import com.google.dart.compiler.util.AstUtil;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
import org.jetbrains.jet.lang.descriptors.ClassDescriptor;
|
||||||
import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor;
|
import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor;
|
||||||
import org.jetbrains.jet.lang.descriptors.FunctionDescriptor;
|
import org.jetbrains.jet.lang.descriptors.FunctionDescriptor;
|
||||||
import org.jetbrains.jet.lang.descriptors.PropertyDescriptor;
|
import org.jetbrains.jet.lang.descriptors.PropertyDescriptor;
|
||||||
@@ -17,6 +18,7 @@ import java.util.ArrayList;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import static org.jetbrains.k2js.translate.utils.BindingUtils.*;
|
import static org.jetbrains.k2js.translate.utils.BindingUtils.*;
|
||||||
|
import static org.jetbrains.k2js.translate.utils.DescriptorUtils.getExpectedReceiverDescriptor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Pavel Talanov
|
* @author Pavel Talanov
|
||||||
@@ -108,16 +110,27 @@ public final class TranslationUtils {
|
|||||||
return reference;
|
return reference;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//TODO: refactor
|
||||||
@NotNull
|
@NotNull
|
||||||
public static JsExpression getThisQualifier(@NotNull TranslationContext context,
|
public static JsExpression getThisObject(@NotNull TranslationContext context,
|
||||||
@NotNull DeclarationDescriptor correspondingDeclaration) {
|
@NotNull DeclarationDescriptor correspondingDeclaration) {
|
||||||
JsExpression qualifier;
|
JsExpression thisRef = null;
|
||||||
if (context.aliaser().hasAliasForThis(correspondingDeclaration)) {
|
if (correspondingDeclaration instanceof ClassDescriptor) {
|
||||||
qualifier = context.aliaser().getAliasForThis(correspondingDeclaration);
|
if (context.aliaser().hasAliasForThis(correspondingDeclaration)) {
|
||||||
} else {
|
thisRef = context.aliaser().getAliasForThis(correspondingDeclaration);
|
||||||
qualifier = new JsThisRef();
|
}
|
||||||
}
|
}
|
||||||
return qualifier;
|
if (correspondingDeclaration instanceof FunctionDescriptor) {
|
||||||
|
DeclarationDescriptor receiverDescriptor = getExpectedReceiverDescriptor((FunctionDescriptor) correspondingDeclaration);
|
||||||
|
assert receiverDescriptor != null;
|
||||||
|
if (context.aliaser().hasAliasForThis(receiverDescriptor)) {
|
||||||
|
thisRef = context.aliaser().getAliasForThis(receiverDescriptor);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (thisRef != null) {
|
||||||
|
return thisRef;
|
||||||
|
}
|
||||||
|
return new JsThisRef();
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
@@ -196,7 +209,7 @@ public final class TranslationUtils {
|
|||||||
DeclarationDescriptor correspondingDescriptor =
|
DeclarationDescriptor correspondingDescriptor =
|
||||||
receiverDescriptor.getType().getConstructor().getDeclarationDescriptor();
|
receiverDescriptor.getType().getConstructor().getDeclarationDescriptor();
|
||||||
assert correspondingDescriptor != null;
|
assert correspondingDescriptor != null;
|
||||||
return context.aliaser().getAliasForReceiver(correspondingDescriptor);
|
return context.aliaser().getAliasForThis(correspondingDescriptor);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
|
|||||||
@@ -52,4 +52,9 @@ public final class ExtensionFunctionTest extends TranslationTest {
|
|||||||
public void extensionInsideFunctionLiteral() throws Exception {
|
public void extensionInsideFunctionLiteral() throws Exception {
|
||||||
testFooBoxIsTrue("extensionInsideFunctionLiteral.kt");
|
testFooBoxIsTrue("extensionInsideFunctionLiteral.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void genericExtension() throws Exception {
|
||||||
|
testFooBoxIsOk("generic.kt");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +0,0 @@
|
|||||||
class Point(val x:Int, val y:Int) {
|
|
||||||
fun mul() : (scalar:Int)->Point {
|
|
||||||
return { (scalar:Int):Point -> Point(x * scalar, y * scalar) }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
val m = Point(2, 3).mul() : (scalar:Int)->Point
|
|
||||||
|
|
||||||
fun box() : String {
|
|
||||||
val answer = m(5)
|
|
||||||
return if (answer.x == 10 && answer.y == 15) "OK" else "FAIL"
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
package foo
|
||||||
|
|
||||||
|
import java.util.*
|
||||||
|
|
||||||
|
fun <T> ArrayList<T>.findAll(predicate: (T) -> Boolean): ArrayList<T> {
|
||||||
|
val result = ArrayList<T>()
|
||||||
|
for(val t in this) {
|
||||||
|
if (predicate(t)) result.add(t)
|
||||||
|
}
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
fun box(): String {
|
||||||
|
val list: ArrayList<Int> = ArrayList<Int>()
|
||||||
|
|
||||||
|
list.add(2)
|
||||||
|
list.add(3)
|
||||||
|
list.add(5)
|
||||||
|
|
||||||
|
|
||||||
|
val m: ArrayList<Int> = list.findAll<Int>({(name: Int) -> name < 4})
|
||||||
|
return if (m.size() == 2) "OK" else "fail"
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user