builder example working

This commit is contained in:
Pavel Talanov
2012-01-23 19:29:35 +04:00
parent 31aa68c891
commit 2bc768d9cf
4 changed files with 644 additions and 596 deletions
+302 -269
View File
@@ -14,14 +14,11 @@
<bookmark url="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/DescriptorUtils.java" line="151" mnemonic="2" /> <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="refactor qualifi">
<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/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/reference/ArrayAccessTranslator.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/ArrayAccessTranslator.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/expression/QualifiedExpressionTranslator.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/expression/QualifiedExpressionTranslator.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/src/org/jetbrains/k2js/translate/reference/AccessTranslator.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/AccessTranslator.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/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/utils/PsiUtils.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/PsiUtils.java" />
</list> </list>
<ignored path="k2js.iws" /> <ignored path="k2js.iws" />
<ignored path=".idea/workspace.xml" /> <ignored path=".idea/workspace.xml" />
@@ -170,19 +167,6 @@
<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="234" class="org.jetbrains.k2js.translate.reference.CallTranslator" 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>
</line_breakpoints> </line_breakpoints>
<breakpoint_any> <breakpoint_any>
<breakpoint> <breakpoint>
@@ -240,35 +224,26 @@
<favorites_list name="k2js" /> <favorites_list name="k2js" />
</component> </component>
<component name="FileEditorManager"> <component name="FileEditorManager">
<splitter split-orientation="horizontal" split-proportion="0.8652631"> <splitter split-orientation="horizontal" split-proportion="0.50187063">
<split-first> <split-first>
<leaf> <leaf>
<file leaf-file-name="CallTranslator.java" pinned="false" current="false" current-in-tab="false"> <file leaf-file-name="CallTranslator.java" pinned="false" current="false" current-in-tab="false">
<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="76" column="0" selection-start="3399" selection-end="3399" vertical-scroll-proportion="0.0"> <state line="124" column="31" selection-start="6169" selection-end="6169" vertical-scroll-proportion="0.0">
<folding> <folding>
<element signature="e#5848#5862#0" expanded="true" /> <element signature="e#6022#6036#0" expanded="true" />
<element signature="e#6333#6347#0" expanded="true" /> <element signature="e#6507#6521#0" expanded="true" />
<element signature="e#9765#9779#0" expanded="true" /> <element signature="e#9939#9953#0" expanded="true" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="safecallComputesExpressionOnlyOnce.kt" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/testFiles/expression/misc/cases/safecallComputesExpressionOnlyOnce.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="QualifiedExpressionTranslator.java" pinned="false" current="false" current-in-tab="false"> <file leaf-file-name="QualifiedExpressionTranslator.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/expression/QualifiedExpressionTranslator.java"> <entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/expression/QualifiedExpressionTranslator.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state line="91" column="0" selection-start="4690" selection-end="4690" vertical-scroll-proportion="0.0"> <state line="24" column="71" selection-start="956" selection-end="956" vertical-scroll-proportion="0.0">
<folding> <folding>
<element signature="imports" expanded="true" /> <element signature="imports" expanded="true" />
</folding> </folding>
@@ -276,6 +251,24 @@
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="ArrayAccessTranslator.java" pinned="false" current="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/ArrayAccessTranslator.java">
<provider selected="true" editor-type-id="text-editor">
<state line="74" column="10" selection-start="2727" selection-end="2727" vertical-scroll-proportion="0.4326123">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="BindingUtils.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/BindingUtils.java">
<provider selected="true" editor-type-id="text-editor">
<state line="183" column="40" selection-start="8817" selection-end="8817" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="PsiUtils.java" pinned="false" current="false" current-in-tab="false"> <file leaf-file-name="PsiUtils.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/PsiUtils.java"> <entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/PsiUtils.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
@@ -303,28 +296,10 @@
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="ReferenceTranslator.java" pinned="false" current="false" current-in-tab="false"> <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/reference/ReferenceTranslator.java">
<provider selected="true" editor-type-id="text-editor">
<state line="23" column="91" selection-start="1094" selection-end="1094" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
<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">
<provider selected="true" editor-type-id="text-editor">
<state line="32" column="16" selection-start="699" selection-end="699" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="ExpressionVisitor.java" pinned="false" current="true" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/expression/ExpressionVisitor.java"> <entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/expression/ExpressionVisitor.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state line="118" column="57" selection-start="5365" selection-end="5365" vertical-scroll-proportion="0.39779875"> <state line="118" column="57" selection-start="5365" selection-end="5365" vertical-scroll-proportion="0.0">
<folding /> <folding />
</state> </state>
</provider> </provider>
@@ -343,73 +318,46 @@
</split-first> </split-first>
<split-second> <split-second>
<leaf> <leaf>
<file leaf-file-name="kotlin_lib.js" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/testFiles/kotlin_lib.js">
<provider selected="true" editor-type-id="text-editor">
<state line="869" column="43" selection-start="22874" selection-end="22874" vertical-scroll-proportion="-11.653846">
<folding />
</state>
</provider>
</entry>
</file>
<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">
<provider selected="true" editor-type-id="text-editor">
<state line="47" column="16" selection-start="1070" selection-end="1070" vertical-scroll-proportion="0.33197555">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="hashMap.js" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/testFiles/kotlinLib/cases/hashMap.js">
<provider selected="true" editor-type-id="text-editor">
<state line="20" column="18" selection-start="727" selection-end="727" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="life.kt" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/testFiles/webDemoExamples2/cases/life.kt">
<provider selected="true" editor-type-id="text-editor">
<state line="5" column="16" selection-start="143" selection-end="143" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="KotlinLibTest.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/KotlinLibTest.java">
<provider selected="true" editor-type-id="text-editor">
<state line="126" column="16" selection-start="4447" selection-end="4447" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="bottles.kt" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/testFiles/webDemoExamples2/cases/bottles.kt">
<provider selected="true" editor-type-id="text-editor">
<state line="74" column="3" selection-start="2344" selection-end="2344" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="builder.kt" pinned="false" current="false" current-in-tab="false"> <file leaf-file-name="builder.kt" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/testFiles/webDemoExamples2/cases/builder.kt"> <entry file="file://$PROJECT_DIR$/translator/testFiles/webDemoExamples2/cases/builder.kt">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state line="9" column="0" selection-start="320" selection-end="320" vertical-scroll-proportion="0.0"> <state line="64" column="36" selection-start="1587" selection-end="1587" vertical-scroll-proportion="0.0">
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="bottles.out" pinned="false" current="false" current-in-tab="false"> <file leaf-file-name="builder.js" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/testFiles/webDemoExamples2/expected/bottles.out"> <entry file="file://$PROJECT_DIR$/translator/testFiles/webDemoExamples2/out/builder.js">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state line="300" column="0" selection-start="11552" selection-end="11552" vertical-scroll-proportion="0.0"> <state line="2" column="47" selection-start="71" selection-end="77" vertical-scroll-proportion="-1.3076923">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="ECMAScript.js2" pinned="false" current="false" current-in-tab="false">
<entry file="jar://$APPLICATION_HOME_DIR$/plugins/JavaScriptLanguage/lib/JavascriptLanguage.jar!/com/intellij/lang/javascript/index/predefined/ECMAScript.js2">
<provider selected="true" editor-type-id="text-editor">
<state line="32" column="25" selection-start="1449" selection-end="1449" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="kotlin_lib.js" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/testFiles/kotlin_lib.js">
<provider selected="true" editor-type-id="text-editor">
<state line="899" column="31" selection-start="26085" selection-end="26085" vertical-scroll-proportion="-13.423077">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="WebDemoExamples1Test.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/WebDemoExamples1Test.java">
<provider selected="true" editor-type-id="text-editor">
<state line="74" column="16" selection-start="2068" selection-end="2068" vertical-scroll-proportion="0.0">
<folding /> <folding />
</state> </state>
</provider> </provider>
@@ -435,6 +383,33 @@
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="WebDemoExamples2Test.java" pinned="false" current="true" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/WebDemoExamples2Test.java">
<provider selected="true" editor-type-id="text-editor">
<state line="28" column="16" selection-start="566" selection-end="566" vertical-scroll-proportion="0.723127">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="TranslationTest.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/TranslationTest.java">
<provider selected="true" editor-type-id="text-editor">
<state line="129" column="32" selection-start="4104" selection-end="4104" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="RhinoSystemOutputChecker.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/RhinoSystemOutputChecker.java">
<provider selected="true" editor-type-id="text-editor">
<state line="32" column="9" selection-start="1021" selection-end="1021" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
</leaf> </leaf>
</split-second> </split-second>
</splitter> </splitter>
@@ -459,10 +434,6 @@
<component name="IdeDocumentHistory"> <component name="IdeDocumentHistory">
<option name="changedFiles"> <option name="changedFiles">
<list> <list>
<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/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/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/context/Aliaser.java" />
@@ -475,6 +446,10 @@
<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" />
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/expression/QualifiedExpressionTranslator.java" /> <option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/expression/QualifiedExpressionTranslator.java" />
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/expression/ExpressionVisitor.java" /> <option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/expression/ExpressionVisitor.java" />
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/ArrayAccessTranslator.java" />
<option value="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/RhinoSystemOutputChecker.java" />
<option value="$PROJECT_DIR$/translator/testFiles/webDemoExamples2/out/builder.js" />
<option value="$PROJECT_DIR$/translator/testFiles/kotlin_lib.js" />
</list> </list>
</option> </option>
</component> </component>
@@ -596,6 +571,68 @@
<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="webDemoExamples2" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="out" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="k2js" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="translator" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="testFiles" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="webDemoExamples2" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="k2js" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="translator" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="testFiles" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="webDemoExamples2" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="cases" />
<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" />
@@ -1065,95 +1102,7 @@
</UpdatedFiles> </UpdatedFiles>
</UpdateInfo> </UpdateInfo>
</component> </component>
<component name="RunManager" selected="JUnit.All in jetTests"> <component name="RunManager" selected="JUnit.WebDemoExamples2Test">
<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">
<pattern>
<option name="PATTERN" value="org.jetbrains.k2js.test.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
<module name="jetTests" />
<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="extensionInsideFunctionLiteral" />
<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="moduleWithDependencies" />
</option>
<envs />
<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="All in jetTests" type="JUnit" factoryName="JUnit" temporary="true">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
<module name="jetTests" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" value="" />
<option name="PACKAGE_NAME" value="" />
<option name="MAIN_CLASS_NAME" value="" />
<option name="METHOD_NAME" value="" />
<option name="TEST_OBJECT" value="package" />
<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="moduleWithDependencies" />
</option>
<envs />
<patterns />
<RunnerSettings RunnerId="Run" />
<ConfigurationWrapper RunnerId="Run" />
<method />
</configuration>
<configuration default="false" name="ExtensionFunctionTest.extensionUsedInsideClass" 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>
@@ -1219,6 +1168,96 @@
<ConfigurationWrapper RunnerId="Debug" /> <ConfigurationWrapper RunnerId="Debug" />
<method /> <method />
</configuration> </configuration>
<configuration default="false" name="WebDemoExamples2Test.builder" 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.test.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
<module name="jetTests" />
<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.WebDemoExamples2Test" />
<option name="METHOD_NAME" value="builder" />
<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="moduleWithDependencies" />
</option>
<envs />
<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="WebDemoExamples1Test" 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.test.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
<module name="jetTests" />
<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.WebDemoExamples1Test" />
<option name="METHOD_NAME" value="" />
<option name="TEST_OBJECT" value="class" />
<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="moduleWithDependencies" />
</option>
<envs />
<patterns />
<RunnerSettings RunnerId="Run" />
<ConfigurationWrapper RunnerId="Run" />
<method />
</configuration>
<configuration default="false" name="WebDemoExamples2Test" 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.test.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
<module name="jetTests" />
<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.WebDemoExamples2Test" />
<option name="METHOD_NAME" value="" />
<option name="TEST_OBJECT" value="class" />
<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="moduleWithDependencies" />
</option>
<envs />
<patterns />
<RunnerSettings RunnerId="Run" />
<ConfigurationWrapper RunnerId="Run" />
<method />
</configuration>
<configuration default="true" type="Remote" factoryName="Remote"> <configuration default="true" type="Remote" factoryName="Remote">
<option name="USE_SOCKET_TRANSPORT" value="true" /> <option name="USE_SOCKET_TRANSPORT" value="true" />
<option name="SERVER_MODE" value="false" /> <option name="SERVER_MODE" value="false" />
@@ -1375,11 +1414,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.ExtensionFunctionTest.extensionWithImplicitReceiver" /> <item index="2" class="java.lang.String" itemvalue="JUnit.ExtensionFunctionTest.extensionUsedInsideClass" />
<item index="3" class="java.lang.String" itemvalue="JUnit.ExtensionFunctionTest.extensionInsideFunctionLiteral" /> <item index="3" class="java.lang.String" itemvalue="JUnit.WebDemoExamples1Test.isCheck" />
<item index="4" class="java.lang.String" itemvalue="JUnit.All in jetTests" /> <item index="4" class="java.lang.String" itemvalue="JUnit.WebDemoExamples2Test.builder" />
<item index="5" class="java.lang.String" itemvalue="JUnit.ExtensionFunctionTest.extensionUsedInsideClass" /> <item index="5" class="java.lang.String" itemvalue="JUnit.WebDemoExamples1Test" />
<item index="6" class="java.lang.String" itemvalue="JUnit.WebDemoExamples1Test.isCheck" /> <item index="6" class="java.lang.String" itemvalue="JUnit.WebDemoExamples2Test" />
</list> </list>
<configuration name="&lt;template&gt;" type="WebApp" default="true" selected="false"> <configuration name="&lt;template&gt;" type="WebApp" default="true" selected="false">
<Host>localhost</Host> <Host>localhost</Host>
@@ -1455,7 +1494,7 @@
<window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32977018" sideWeight="0.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.65802115" 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="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="Run" active="false" 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" />
@@ -1500,7 +1539,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="refactor access translator logic" /> <option name="LAST_COMMIT_MESSAGE" value="refactor qualified expression translation" />
<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" />
@@ -1536,8 +1575,8 @@
<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." /> <MESSAGE value="Very big code migration started. Still in progress. Tests fail." />
<MESSAGE value="fix most of the tests" /> <MESSAGE value="fix most of the tests" />
<MESSAGE value="refactor qualified expression translation" />
<MESSAGE value="refactor access translator logic" /> <MESSAGE value="refactor access translator logic" />
<MESSAGE value="refactor qualified expression translation" />
</component> </component>
<component name="XDebuggerManager"> <component name="XDebuggerManager">
<breakpoint-manager /> <breakpoint-manager />
@@ -1547,9 +1586,37 @@
<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/test/org/jetbrains/k2js/test/ExtensionFunctionTest.java"> <entry file="jar://$PROJECT_DIR$/translator/lib/js.jar!/org/mozilla/javascript/ScriptRuntime.class">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state line="31" column="16" selection-start="731" selection-end="731" vertical-scroll-proportion="0.0"> <state line="492" column="0" selection-start="34118" selection-end="34118" vertical-scroll-proportion="2.3628762">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/translator/testFiles/kotlinLib/cases/hashMap.js">
<provider selected="true" editor-type-id="text-editor">
<state line="20" column="18" selection-start="727" selection-end="727" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/ArrayAccessTranslator.java">
<provider selected="true" editor-type-id="text-editor">
<state line="74" column="10" selection-start="2727" selection-end="2727" vertical-scroll-proportion="0.4326123">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/translator/testFiles/webDemoExamples2/cases/life.kt">
<provider selected="true" editor-type-id="text-editor">
<state line="5" column="16" selection-start="143" selection-end="143" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/KotlinLibTest.java">
<provider selected="true" editor-type-id="text-editor">
<state line="126" column="16" selection-start="4447" selection-end="4447" vertical-scroll-proportion="0.0">
<folding /> <folding />
</state> </state>
</provider> </provider>
@@ -1561,106 +1628,72 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/translator/testFiles/extensionFunction/cases/extensionUsedInsideClass.kt"> <entry file="file://$PROJECT_DIR$/translator/testFiles/webDemoExamples2/cases/bottles.kt">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state line="3" column="17" selection-start="53" selection-end="53" vertical-scroll-proportion="0.0"> <state line="74" column="3" selection-start="2344" selection-end="2344" vertical-scroll-proportion="0.0">
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/translator/testFiles/webDemoExamples1/cases/isCheck.kt"> <entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/TranslationTest.java">
<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="129" column="32" selection-start="4104" selection-end="4104" vertical-scroll-proportion="0.0">
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/WebDemoExamples2Test.java"> <entry file="file://$PROJECT_DIR$/translator/testFiles/webDemoExamples2/expected/bottles.out">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state line="28" column="16" selection-start="566" selection-end="566" vertical-scroll-proportion="0.0"> <state line="300" column="0" selection-start="11552" selection-end="11552" vertical-scroll-proportion="0.0">
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/translator/testFiles/expression/misc/cases/safecallComputesExpressionOnlyOnce.kt"> <entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/RhinoSystemOutputChecker.java">
<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="32" column="9" selection-start="1021" selection-end="1021" vertical-scroll-proportion="0.0">
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/BasicClassTest.java"> <entry file="file://$PROJECT_DIR$/translator/testFiles/webDemoExamples2/cases/builder.kt">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state line="32" column="16" selection-start="699" selection-end="699" vertical-scroll-proportion="0.0"> <state line="64" column="36" selection-start="1587" selection-end="1587" vertical-scroll-proportion="0.0">
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<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="47" column="16" selection-start="1070" selection-end="1070" vertical-scroll-proportion="0.33197555"> <state line="47" column="16" selection-start="1070" selection-end="1070" 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/ReferenceTranslator.java"> <entry file="jar://$APPLICATION_HOME_DIR$/plugins/JavaScriptLanguage/lib/JavascriptLanguage.jar!/com/intellij/lang/javascript/index/predefined/ECMAScript.js2">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state line="23" column="91" selection-start="1094" selection-end="1094" vertical-scroll-proportion="0.0"> <state line="32" column="25" selection-start="1449" selection-end="1449" 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/webDemoExamples2/out/builder.js">
<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="2" column="47" selection-start="71" selection-end="77" vertical-scroll-proportion="-1.3076923">
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/AccessTranslator.java"> <entry file="file://$PROJECT_DIR$/translator/testFiles/kotlin_lib.js">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state line="20" column="48" selection-start="920" selection-end="920" vertical-scroll-proportion="0.0"> <state line="899" column="31" selection-start="26085" selection-end="26085" vertical-scroll-proportion="-13.423077">
<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/test/org/jetbrains/k2js/test/WebDemoExamples2Test.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state line="89" column="42" selection-start="4636" selection-end="4636" vertical-scroll-proportion="0.0"> <state line="28" column="16" selection-start="566" selection-end="566" vertical-scroll-proportion="0.723127">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/PsiUtils.java">
<provider selected="true" editor-type-id="text-editor">
<state line="31" column="57" selection-start="1007" selection-end="1007" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/CallTranslator.java">
<provider selected="true" editor-type-id="text-editor">
<state line="76" column="0" selection-start="3399" selection-end="3399" vertical-scroll-proportion="0.0">
<folding>
<element signature="e#5848#5862#0" expanded="true" />
<element signature="e#6333#6347#0" expanded="true" />
<element signature="e#9765#9779#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/expression/QualifiedExpressionTranslator.java">
<provider selected="true" editor-type-id="text-editor">
<state line="91" column="0" selection-start="4690" selection-end="4690" vertical-scroll-proportion="0.0">
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/expression/ExpressionVisitor.java">
<provider selected="true" editor-type-id="text-editor">
<state line="118" column="57" selection-start="5365" selection-end="5365" vertical-scroll-proportion="0.39779875">
<folding /> <folding />
</state> </state>
</provider> </provider>
@@ -1,16 +1,15 @@
package org.jetbrains.k2js.translate.reference; package org.jetbrains.k2js.translate.reference;
import com.google.dart.compiler.backend.js.ast.JsExpression; import com.google.dart.compiler.backend.js.ast.JsExpression;
import com.google.dart.compiler.backend.js.ast.JsInvocation;
import com.google.dart.compiler.backend.js.ast.JsNameRef;
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.FunctionDescriptor;
import org.jetbrains.jet.lang.psi.JetArrayAccessExpression; import org.jetbrains.jet.lang.psi.JetArrayAccessExpression;
import org.jetbrains.jet.lang.resolve.calls.ResolvedCall;
import org.jetbrains.k2js.translate.context.TranslationContext; import org.jetbrains.k2js.translate.context.TranslationContext;
import org.jetbrains.k2js.translate.general.Translation; import org.jetbrains.k2js.translate.general.Translation;
import org.jetbrains.k2js.translate.intrinsic.array.ArrayGetIntrinsic; import org.jetbrains.k2js.translate.intrinsic.array.ArrayGetIntrinsic;
import org.jetbrains.k2js.translate.intrinsic.array.ArraySetIntrinsic; import org.jetbrains.k2js.translate.intrinsic.array.ArraySetIntrinsic;
import org.jetbrains.k2js.translate.utils.BindingUtils;
import org.jetbrains.k2js.translate.utils.TranslationUtils; import org.jetbrains.k2js.translate.utils.TranslationUtils;
import java.util.List; import java.util.List;
@@ -30,13 +29,14 @@ public final class ArrayAccessTranslator extends AccessTranslator {
@NotNull @NotNull
private final JetArrayAccessExpression expression; private final JetArrayAccessExpression expression;
@NotNull @NotNull
private final DeclarationDescriptor methodDescriptor; private final FunctionDescriptor methodDescriptor;
private ArrayAccessTranslator(@NotNull JetArrayAccessExpression expression, private ArrayAccessTranslator(@NotNull JetArrayAccessExpression expression,
@NotNull TranslationContext context) { @NotNull TranslationContext context) {
super(context); super(context);
this.expression = expression; this.expression = expression;
this.methodDescriptor = getDescriptorForReferenceExpression(context.bindingContext(), expression); this.methodDescriptor = (FunctionDescriptor)
getDescriptorForReferenceExpression(context.bindingContext(), expression);
} }
@Override @Override
@@ -52,6 +52,7 @@ public final class ArrayAccessTranslator extends AccessTranslator {
return context().intrinsics().isIntrinsic(methodDescriptor); return context().intrinsics().isIntrinsic(methodDescriptor);
} }
//TODO: hide direct access to intrinsics
@NotNull @NotNull
private JsExpression intrinsicGet() { private JsExpression intrinsicGet() {
return ArrayGetIntrinsic.INSTANCE.apply(translateArrayExpression(), translateIndexExpressions(), context()); return ArrayGetIntrinsic.INSTANCE.apply(translateArrayExpression(), translateIndexExpressions(), context());
@@ -74,17 +75,20 @@ public final class ArrayAccessTranslator extends AccessTranslator {
} }
@NotNull @NotNull
private JsExpression overloadedSet(@NotNull JsExpression expression) { private JsExpression overloadedSet(@NotNull JsExpression expressionToSetTo) {
JsInvocation setCall = translateAsAccessMethodCall(); ResolvedCall<?> resolvedCall = BindingUtils.getResolvedCall(context().bindingContext(), expression);
setCall.getArguments().add(expression); List<JsExpression> arguments = translateIndexExpressions();
return setCall; arguments.add(expressionToSetTo);
return CallTranslator.translate(translateArrayExpression(), arguments, resolvedCall,
methodDescriptor, context());
} }
@NotNull @NotNull
private JsInvocation translateAsAccessMethodCall() { private JsExpression translateAsAccessMethodCall() {
JsNameRef accessMethodReference = getAccessMethodReference(); ResolvedCall<?> resolvedCall = BindingUtils.getResolvedCall(context().bindingContext(), expression);
AstUtil.setQualifier(accessMethodReference, translateArrayExpression()); List<JsExpression> arguments = translateIndexExpressions();
return AstUtil.newInvocation(accessMethodReference, translateIndexExpressions()); return CallTranslator.translate(translateArrayExpression(), arguments, resolvedCall,
methodDescriptor, context());
} }
@NotNull @NotNull
@@ -92,11 +96,6 @@ public final class ArrayAccessTranslator extends AccessTranslator {
return TranslationUtils.translateExpressionList(context(), expression.getIndexExpressions()); return TranslationUtils.translateExpressionList(context(), expression.getIndexExpressions());
} }
@NotNull
private JsNameRef getAccessMethodReference() {
return context().getNameForDescriptor(methodDescriptor).makeRef();
}
@NotNull @NotNull
private JsExpression translateArrayExpression() { private JsExpression translateArrayExpression() {
return Translation.translateAsExpression(expression.getArrayExpression(), context()); return Translation.translateAsExpression(expression.getArrayExpression(), context());
@@ -29,8 +29,8 @@ public final class RhinoSystemOutputChecker implements RhinoResultChecker {
String result = getSystemOutput(context, scope); String result = getSystemOutput(context, scope);
String trimmedExpected = trimSpace(expectedResult); String trimmedExpected = trimSpace(expectedResult);
String trimmedActual = trimSpace(result); String trimmedActual = trimSpace(result);
System.out.println(trimmedActual); // System.out.println(trimmedActual);
System.out.println(trimmedExpected); // System.out.println(trimmedExpected);
assertTrue("Returned:\n" + trimmedActual + "END_OF_RETURNED\nExpected:\n" + trimmedExpected assertTrue("Returned:\n" + trimmedActual + "END_OF_RETURNED\nExpected:\n" + trimmedExpected
+ "END_OF_EXPECTED\n", trimmedExpected.equals(trimmedActual)); + "END_OF_EXPECTED\n", trimmedExpected.equals(trimmedActual));
} }
+18 -2
View File
@@ -373,7 +373,11 @@ Kotlin.System = function () {
var print = function (obj) { var print = function (obj) {
if (obj !== undefined) { if (obj !== undefined) {
if (obj == null || typeof obj != "object") {
output += obj; output += obj;
} else {
output += obj.toString();
}
} }
}; };
var println = function (obj) { var println = function (obj) {
@@ -494,7 +498,6 @@ Kotlin.NumberRange = Kotlin.Class.create({initialize:function (start, size, reve
}); });
/** /**
* Copyright 2010 Tim Down. * Copyright 2010 Tim Down.
* *
@@ -892,6 +895,9 @@ Kotlin.StringBuilder = Kotlin.Class.create(
}, },
append:function (obj) { append:function (obj) {
this.string = this.string + obj.toString(); this.string = this.string + obj.toString();
},
toString:function () {
return this.string;
} }
} }
); );
@@ -927,7 +933,7 @@ Kotlin.StringBuilder = Kotlin.Class.create(
*/ */
(function () { (function () {
function HashSet(hashingFunction, equalityFunction) { function HashSet(hashingFunction, equalityFunction) {
var hashTable = new Hashtable(hashingFunction, equalityFunction); var hashTable = new Kotlin.HashTable(hashingFunction, equalityFunction);
this.add = function (o) { this.add = function (o) {
hashTable.put(o, true); hashTable.put(o, true);
@@ -944,6 +950,16 @@ Kotlin.StringBuilder = Kotlin.Class.create(
return hashTable.keys(); return hashTable.keys();
}; };
this.iterator = function () {
var list = new Kotlin.ArrayList();
var values = this.values();
var i = values.length;
while (i--) {
list.add(values[i]);
}
return list.iterator();
};
this.remove = function (o) { this.remove = function (o) {
return hashTable.remove(o) ? o : null; return hashTable.remove(o) ? o : null;
}; };