fix test
This commit is contained in:
Generated
+253
-221
@@ -7,17 +7,18 @@
|
||||
<bookmark url="file://$PROJECT_DIR$/translator/testFiles/propertyAccess/cases/safeCallReturnsNullIfFails.kt" line="3" />
|
||||
</component>
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="f02ef53d-47a4-4f5e-a1aa-3df68aae9b20" name="Default" comment="">
|
||||
<change type="DELETED" beforePath="C:\Dev\Projects\jet-contrib\k2js\translator\src\org\jetbrains\k2js\translate\reference\ReferenceProvider.java" afterPath="" />
|
||||
<list default="true" id="f02ef53d-47a4-4f5e-a1aa-3df68aae9b20" name="Default" comment="Work on reference expression. Test fixes to follow.">
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/PsiUtils.java" />
|
||||
<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/declarations/DeclarationVisitor.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/declarations/DeclarationVisitor.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/declarations/Declarations.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/declarations/Declarations.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/PatternTranslator.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/expression/PatternTranslator.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/general/Translation.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/general/Translation.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/general/TranslationContext.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/general/TranslationContext.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/operation/BinaryOperationTranslator.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/operation/BinaryOperationTranslator.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/operation/OperationTranslator.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/operation/OperationTranslator.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/operation/UnaryOperationTranslator.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/operation/UnaryOperationTranslator.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/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/TranslationUtils.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/TranslationUtils.java" />
|
||||
</list>
|
||||
<ignored path="k2js.iws" />
|
||||
@@ -89,19 +90,6 @@
|
||||
<option name="CONDITION" value="" />
|
||||
<option name="LOG_MESSAGE" value="" />
|
||||
</breakpoint>
|
||||
<breakpoint url="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/TranslationUtils.java" line="135" class="org.jetbrains.k2js.translate.utils.TranslationUtils" package="org.jetbrains.k2js.translate.utils">
|
||||
<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>
|
||||
<breakpoint_any>
|
||||
<breakpoint>
|
||||
@@ -162,26 +150,6 @@
|
||||
<splitter split-orientation="horizontal" split-proportion="0.41879195">
|
||||
<split-first>
|
||||
<leaf>
|
||||
<file leaf-file-name="DeclarationVisitor.java" pinned="false" current="false" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/declarations/DeclarationVisitor.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="44" column="7" selection-start="1742" selection-end="1742" vertical-scroll-proportion="0.33848533">
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="MutableClassDescriptor.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/../../Kotlin/jet/compiler/frontend/src/org/jetbrains/jet/lang/descriptors/MutableClassDescriptor.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="284" column="0" selection-start="11305" selection-end="11305" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="PropertyDescriptor.java" pinned="false" current="false" current-in-tab="false">
|
||||
<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">
|
||||
@@ -221,12 +189,23 @@
|
||||
<file leaf-file-name="TraitTest.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/TraitTest.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="27" column="16" selection-start="588" selection-end="588" vertical-scroll-proportion="0.0">
|
||||
<state line="17" column="16" selection-start="304" selection-end="304" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="Declarations.java" pinned="false" current="true" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/declarations/Declarations.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="77" column="72" selection-start="3004" selection-end="3004" vertical-scroll-proportion="0.36939722">
|
||||
<folding>
|
||||
<element signature="e#912#946#0" expanded="true" />
|
||||
</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/general/Aliaser.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
@@ -256,52 +235,32 @@
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="classUsesNamespaceProperties.kt" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/propertyAccess/cases/classUsesNamespaceProperties.kt">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="12" column="78" selection-start="94" selection-end="94" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
</leaf>
|
||||
</split-first>
|
||||
<split-second>
|
||||
<leaf>
|
||||
<file leaf-file-name="ReferenceTranslator.java" pinned="false" current="false" current-in-tab="false">
|
||||
<file leaf-file-name="ReferenceTranslator.java" pinned="false" current="false" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/ReferenceTranslator.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="58" column="13" selection-start="2190" selection-end="2190" vertical-scroll-proportion="0.0">
|
||||
<state line="68" column="0" selection-start="2643" selection-end="2643" vertical-scroll-proportion="0.3323398">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="Declarations.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/declarations/Declarations.java">
|
||||
<file leaf-file-name="UnaryOperationTranslator.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/operation/UnaryOperationTranslator.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="61" column="0" selection-start="2388" selection-end="2388" vertical-scroll-proportion="0.0">
|
||||
<folding>
|
||||
<element signature="e#912#946#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="TranslationUtils.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/TranslationUtils.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="145" column="0" selection-start="6548" selection-end="6548" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="PropertyAccessTest.java" pinned="false" current="true" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/PropertyAccessTest.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="61" column="43" selection-start="1443" selection-end="1443" vertical-scroll-proportion="0.5277778">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="TranslationContext.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/general/TranslationContext.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="170" column="0" selection-start="6259" selection-end="6259" vertical-scroll-proportion="0.0">
|
||||
<state line="128" column="92" selection-start="5282" selection-end="5282" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
@@ -310,7 +269,7 @@
|
||||
<file leaf-file-name="PropertyAccessTranslator.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/PropertyAccessTranslator.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="124" column="67" selection-start="5325" selection-end="5325" vertical-scroll-proportion="18.038462">
|
||||
<state line="105" column="20" selection-start="5187" selection-end="5187" vertical-scroll-proportion="0.0">
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
@@ -321,14 +280,50 @@
|
||||
<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="145" column="35" selection-start="6252" selection-end="6252" vertical-scroll-proportion="0.0">
|
||||
<state line="261" column="93" selection-start="11645" selection-end="11645" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="funDelegation.js" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/trait/out/funDelegation.js">
|
||||
<file leaf-file-name="OperationTranslator.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/operation/OperationTranslator.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="45" column="39" selection-start="1882" selection-end="1882" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="BinaryOperationTranslator.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/operation/BinaryOperationTranslator.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="148" column="102" selection-start="5773" selection-end="5773" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="TranslationUtils.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/TranslationUtils.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="135" column="0" selection-start="6206" selection-end="6206" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="PropertyAccessTest.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/PropertyAccessTest.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="63" column="16" selection-start="1470" selection-end="1470" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="namespaceCustomAccessors.js" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/propertyAccess/out/namespaceCustomAccessors.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 />
|
||||
@@ -336,19 +331,10 @@
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="traitExtendsTrait.js" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/trait/out/traitExtendsTrait.js">
|
||||
<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="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="simpleInitializer.js" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/class/out/simpleInitializer.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">
|
||||
<state line="2" column="25" selection-start="59" selection-end="59" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
@@ -375,22 +361,22 @@
|
||||
<component name="IdeDocumentHistory">
|
||||
<option name="changedFiles">
|
||||
<list>
|
||||
<option value="$PROJECT_DIR$/../../Kotlin/jet/compiler/frontend/src/org/jetbrains/jet/lang/types/JetStandardLibrary.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/declarations/ExtractionVisitor.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/declarations/ExtractionContext.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/declarations/DeclarationContext.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/general/TranslationContext.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/expression/PatternTranslator.java" />
|
||||
<option value="$PROJECT_DIR$/translator/testFiles/class/out/classInstantiation.js" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/general/Translation.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/expression/ExpressionVisitor.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/declarations/DeclarationVisitor.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/declarations/Declarations.java" />
|
||||
<option value="$PROJECT_DIR$/translator/testFiles/class/out/simpleInitializer.js" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/ReferenceProvider.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/BindingUtils.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/general/Translation.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/PsiUtils.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/operation/UnaryOperationTranslator.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/expression/ExpressionVisitor.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/operation/OperationTranslator.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/operation/BinaryOperationTranslator.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/PropertyAccessTranslator.java" />
|
||||
<option value="$PROJECT_DIR$/translator/testFiles/propertyAccess/out/namespaceCustomAccessors.js" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/TranslationUtils.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/ReferenceTranslator.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/declarations/Declarations.java" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
@@ -607,6 +593,50 @@
|
||||
<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="propertyAccess" />
|
||||
<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="propertyAccess" />
|
||||
<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_ELEMENT>
|
||||
<option name="myItemId" value="k2js" />
|
||||
@@ -669,7 +699,7 @@
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="reference" />
|
||||
<option name="myItemId" value="initializer" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
@@ -788,40 +818,6 @@
|
||||
</key>
|
||||
</component>
|
||||
<component name="RunManager" selected="JUnit.All in jetTests">
|
||||
<configuration default="false" name="StandardClassesTest.array" type="JUnit" factoryName="JUnit" temporary="true">
|
||||
<extension name="coverage" enabled="false" merge="false" sample_coverage="true">
|
||||
<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" />
|
||||
<option name="PACKAGE_NAME" value="org.jetbrains.k2js.test" />
|
||||
<option name="MAIN_CLASS_NAME" value="org.jetbrains.k2js.test.StandardClassesTest" />
|
||||
<option name="METHOD_NAME" value="array" />
|
||||
<option name="TEST_OBJECT" value="method" />
|
||||
<option name="VM_PARAMETERS" />
|
||||
<option name="PARAMETERS" />
|
||||
<option name="WORKING_DIRECTORY" value="$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="BasicClassTest.classInstantiation" type="JUnit" factoryName="JUnit" temporary="true">
|
||||
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
|
||||
<pattern>
|
||||
@@ -887,17 +883,17 @@
|
||||
<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" />
|
||||
<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" />
|
||||
<option name="ALTERNATIVE_JRE_PATH" value="" />
|
||||
<option name="PACKAGE_NAME" value="" />
|
||||
<option name="MAIN_CLASS_NAME" />
|
||||
<option name="METHOD_NAME" />
|
||||
<option name="MAIN_CLASS_NAME" value="" />
|
||||
<option name="METHOD_NAME" value="" />
|
||||
<option name="TEST_OBJECT" value="package" />
|
||||
<option name="VM_PARAMETERS" />
|
||||
<option name="PARAMETERS" />
|
||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
||||
<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">
|
||||
@@ -941,6 +937,40 @@
|
||||
<ConfigurationWrapper RunnerId="Debug" />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="false" name="PropertyAccessTest.namespaceCustomAccessors" type="JUnit" factoryName="JUnit" temporary="true">
|
||||
<extension name="coverage" enabled="false" merge="false" sample_coverage="true">
|
||||
<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" />
|
||||
<option name="PACKAGE_NAME" value="org.jetbrains.k2js.test" />
|
||||
<option name="MAIN_CLASS_NAME" value="org.jetbrains.k2js.test.PropertyAccessTest" />
|
||||
<option name="METHOD_NAME" value="namespaceCustomAccessors" />
|
||||
<option name="TEST_OBJECT" value="method" />
|
||||
<option name="VM_PARAMETERS" />
|
||||
<option name="PARAMETERS" />
|
||||
<option name="WORKING_DIRECTORY" value="$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="true" type="Remote" factoryName="Remote">
|
||||
<option name="USE_SOCKET_TRANSPORT" value="true" />
|
||||
<option name="SERVER_MODE" value="false" />
|
||||
@@ -1061,12 +1091,12 @@
|
||||
<method />
|
||||
</configuration>
|
||||
<list size="6">
|
||||
<item index="0" class="java.lang.String" itemvalue="JUnit.StandardClassesTest.array" />
|
||||
<item index="1" class="java.lang.String" itemvalue="JUnit.BasicClassTest.classInstantiation" />
|
||||
<item index="2" class="java.lang.String" itemvalue="JUnit.ClassInheritanceTest.initializersOfBasicClassExecute" />
|
||||
<item index="3" class="java.lang.String" itemvalue="JUnit.tests" />
|
||||
<item index="4" class="java.lang.String" itemvalue="JUnit.All in jetTests" />
|
||||
<item index="5" class="java.lang.String" itemvalue="JUnit.BasicClassTest.SimpleInitializer" />
|
||||
<item index="0" class="java.lang.String" itemvalue="JUnit.BasicClassTest.classInstantiation" />
|
||||
<item index="1" class="java.lang.String" itemvalue="JUnit.ClassInheritanceTest.initializersOfBasicClassExecute" />
|
||||
<item index="2" class="java.lang.String" itemvalue="JUnit.tests" />
|
||||
<item index="3" class="java.lang.String" itemvalue="JUnit.All in jetTests" />
|
||||
<item index="4" class="java.lang.String" itemvalue="JUnit.BasicClassTest.SimpleInitializer" />
|
||||
<item index="5" class="java.lang.String" itemvalue="JUnit.PropertyAccessTest.namespaceCustomAccessors" />
|
||||
</list>
|
||||
<configuration name="<template>" type="WebApp" default="true" selected="false">
|
||||
<Host>localhost</Host>
|
||||
@@ -1184,7 +1214,7 @@
|
||||
<option name="INCLUDE_TEXT_INTO_SHELF" value="false" />
|
||||
<option name="CREATE_PATCH_EXPAND_DETAILS_DEFAULT" value="true" />
|
||||
<option name="FORCE_NON_EMPTY_COMMENT" value="false" />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="Reworked ExtractionVisitor into Declaration visitor." />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="Work on reference expression. Test fixes to follow." />
|
||||
<option name="MAKE_NEW_CHANGELIST_ACTIVE" value="true" />
|
||||
<option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="true" />
|
||||
<option name="CHECK_FILES_UP_TO_DATE_BEFORE_COMMIT" value="false" />
|
||||
@@ -1197,7 +1227,6 @@
|
||||
<option name="UPDATE_GROUP_BY_CHANGELIST" value="false" />
|
||||
<option name="SHOW_FILE_HISTORY_AS_TREE" value="false" />
|
||||
<option name="FILE_HISTORY_SPLITTER_PROPORTION" value="0.6" />
|
||||
<MESSAGE value="Added test for unary operation on int properties." />
|
||||
<MESSAGE value="Refactoring BinaryOperationTranslator." />
|
||||
<MESSAGE value="Binary operation overloading for most cases (except contains, compareTo)." />
|
||||
<MESSAGE value="Added test for operator overloading." />
|
||||
@@ -1222,6 +1251,7 @@
|
||||
<MESSAGE value="Worked on namer." />
|
||||
<MESSAGE value="Include standard library." />
|
||||
<MESSAGE value="Reworked ExtractionVisitor into Declaration visitor." />
|
||||
<MESSAGE value="Work on reference expression. Test fixes to follow." />
|
||||
</component>
|
||||
<component name="XDebuggerManager">
|
||||
<breakpoint-manager />
|
||||
@@ -1231,111 +1261,67 @@
|
||||
<option name="FILTER_TARGETS" value="false" />
|
||||
</component>
|
||||
<component name="editorHistoryManager">
|
||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/class/out/simpleInitializer.js">
|
||||
<entry file="file://$PROJECT_DIR$/../../Kotlin/jet/compiler/frontend/src/org/jetbrains/jet/lang/descriptors/PropertyAccessorDescriptor.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
|
||||
<state line="15" column="22" selection-start="457" selection-end="457" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/OperatorOverloadingTest.java">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/PsiUtils.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="47" column="16" selection-start="1070" selection-end="1070" vertical-scroll-proportion="0.0">
|
||||
<state line="16" column="18" selection-start="420" selection-end="420" 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/TranslationTest.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="2" column="25" selection-start="59" selection-end="59" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/general/Translation.java">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/operation/UnaryOperationTranslator.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="59" column="0" selection-start="2671" selection-end="2857" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/trait/out/funDelegation.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>
|
||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/trait/out/traitExtendsTrait.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>
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/initializer/InitializerVisitor.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="47" column="37" selection-start="1852" selection-end="1852" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/expression/PatternTranslator.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="89" column="84" selection-start="3662" selection-end="3662" vertical-scroll-proportion="0.0">
|
||||
<state line="128" column="92" selection-start="5282" selection-end="5282" 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="145" column="35" selection-start="6252" selection-end="6252" vertical-scroll-proportion="0.0">
|
||||
<state line="261" column="93" selection-start="11645" selection-end="11645" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/declarations/DeclarationVisitor.java">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/operation/OperationTranslator.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="44" column="7" selection-start="1742" selection-end="1742" vertical-scroll-proportion="0.33848533">
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
<state line="45" column="39" selection-start="1882" selection-end="1882" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/operation/BinaryOperationTranslator.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="148" column="102" selection-start="5773" selection-end="5773" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/PropertyAccessTranslator.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="124" column="67" selection-start="5325" selection-end="5325" vertical-scroll-proportion="18.038462">
|
||||
<state line="105" column="20" selection-start="5187" selection-end="5187" 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/declarations/Declarations.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="61" column="0" selection-start="2388" selection-end="2388" vertical-scroll-proportion="0.0">
|
||||
<folding>
|
||||
<element signature="e#912#946#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/general/TranslationContext.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="170" column="0" selection-start="6259" selection-end="6259" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/ReferenceTranslator.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="58" column="13" selection-start="2190" selection-end="2190" 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="145" column="0" selection-start="6548" selection-end="6548" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/kotlinLib/cases/array.js">
|
||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/propertyAccess/out/namespaceCustomAccessors.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 />
|
||||
@@ -1344,11 +1330,57 @@
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/PropertyAccessTest.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="61" column="43" selection-start="1443" selection-end="1443" vertical-scroll-proportion="0.5277778">
|
||||
<state line="63" column="16" selection-start="1470" selection-end="1470" 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="135" column="0" selection-start="6206" selection-end="6206" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/propertyAccess/cases/classUsesNamespaceProperties.kt">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="12" column="78" selection-start="94" selection-end="94" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/declarations/DeclarationVisitor.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="44" column="7" selection-start="1742" selection-end="1742" 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/TraitTest.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="17" column="16" selection-start="304" selection-end="304" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/ReferenceTranslator.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="68" column="0" selection-start="2643" selection-end="2643" vertical-scroll-proportion="0.3323398">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/declarations/Declarations.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="77" column="72" selection-start="3004" selection-end="3004" vertical-scroll-proportion="0.36939722">
|
||||
<folding>
|
||||
<element signature="e#912#946#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</component>
|
||||
<component name="masterDetails">
|
||||
<states>
|
||||
|
||||
@@ -78,7 +78,7 @@ public final class Declarations {
|
||||
}
|
||||
|
||||
/*package*/ void putScope(@NotNull DeclarationDescriptor descriptor, @NotNull JsScope scope) {
|
||||
assert !descriptorToScopeMap.containsKey(descriptor) : "Already contains that key!";
|
||||
// assert !descriptorToScopeMap.containsKey(descriptor) : "Already contains that key!";
|
||||
descriptorToScopeMap.put(descriptor, scope);
|
||||
}
|
||||
|
||||
@@ -89,7 +89,7 @@ public final class Declarations {
|
||||
}
|
||||
|
||||
/*package*/ void putQualifier(@NotNull DeclarationDescriptor descriptor, @Nullable JsNameRef qualifier) {
|
||||
assert !descriptorToQualifierMap.containsKey(descriptor) : "Already contains that key!";
|
||||
// assert !descriptorToQualifierMap.containsKey(descriptor) : "Already contains that key!";
|
||||
descriptorToQualifierMap.put(descriptor, qualifier);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -258,9 +258,8 @@ public final class ExpressionVisitor extends TranslatorVisitor<JsNode> {
|
||||
@NotNull
|
||||
private JsExpression translateQualifiedExpression(@NotNull JetQualifiedExpression expression,
|
||||
@NotNull TranslationContext context) {
|
||||
PropertyAccessTranslator propertyAccessTranslator = Translation.propertyAccessTranslator(context);
|
||||
if (propertyAccessTranslator.canBePropertyGetterCall(expression)) {
|
||||
return propertyAccessTranslator.translateAsPropertyGetterCall(expression);
|
||||
if (PropertyAccessTranslator.canBePropertyGetterCall(expression, context)) {
|
||||
return PropertyAccessTranslator.translateAsPropertyGetterCall(expression, context);
|
||||
}
|
||||
return translateAsQualifiedAccess(expression, context);
|
||||
}
|
||||
|
||||
@@ -17,7 +17,6 @@ import org.jetbrains.k2js.translate.expression.PatternTranslator;
|
||||
import org.jetbrains.k2js.translate.expression.WhenTranslator;
|
||||
import org.jetbrains.k2js.translate.initializer.ClassInitializerTranslator;
|
||||
import org.jetbrains.k2js.translate.initializer.NamespaceInitializerTranslator;
|
||||
import org.jetbrains.k2js.translate.reference.PropertyAccessTranslator;
|
||||
import org.jetbrains.k2js.translate.utils.BindingUtils;
|
||||
|
||||
/**
|
||||
@@ -34,11 +33,6 @@ public final class Translation {
|
||||
return FunctionTranslator.newInstance(function, context);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
static public PropertyAccessTranslator propertyAccessTranslator(@NotNull TranslationContext context) {
|
||||
return PropertyAccessTranslator.newInstance(context);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
static public JsStatement translateNamespace(@NotNull JetNamespace namespace,
|
||||
@NotNull TranslationContext context) {
|
||||
@@ -56,11 +50,6 @@ public final class Translation {
|
||||
return PatternTranslator.newInstance(context);
|
||||
}
|
||||
|
||||
// @NotNull
|
||||
// static public ReferenceTranslator referenceTranslator(@NotNull TranslationContext context) {
|
||||
// return ReferenceTranslator.translateSimpleName(context);
|
||||
// }
|
||||
|
||||
@NotNull
|
||||
static public JsNode translateExpression(@NotNull JetExpression expression, @NotNull TranslationContext context) {
|
||||
return expression.accept(new ExpressionVisitor(), context);
|
||||
|
||||
+2
-2
@@ -145,8 +145,8 @@ public final class BinaryOperationTranslator extends OperationTranslator {
|
||||
|
||||
@NotNull
|
||||
public JsInvocation setterCall(@NotNull JsExpression assignTo) {
|
||||
PropertyAccessTranslator propertyAccessTranslator = Translation.propertyAccessTranslator(context());
|
||||
JsInvocation setterCall = propertyAccessTranslator.translateAsPropertySetterCall(expression.getLeft());
|
||||
JsInvocation setterCall =
|
||||
PropertyAccessTranslator.translateAsPropertySetterCall(expression.getLeft(), context());
|
||||
setterCall.setArguments(assignTo);
|
||||
return setterCall;
|
||||
}
|
||||
|
||||
@@ -10,8 +10,8 @@ import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor;
|
||||
import org.jetbrains.jet.lang.psi.JetExpression;
|
||||
import org.jetbrains.jet.lang.psi.JetSimpleNameExpression;
|
||||
import org.jetbrains.k2js.translate.general.AbstractTranslator;
|
||||
import org.jetbrains.k2js.translate.general.Translation;
|
||||
import org.jetbrains.k2js.translate.general.TranslationContext;
|
||||
import org.jetbrains.k2js.translate.reference.PropertyAccessTranslator;
|
||||
import org.jetbrains.k2js.translate.utils.BindingUtils;
|
||||
|
||||
/**
|
||||
@@ -42,7 +42,7 @@ public class OperationTranslator extends AbstractTranslator {
|
||||
}
|
||||
|
||||
protected boolean isPropertyAccess(@NotNull JetExpression expression) {
|
||||
return Translation.propertyAccessTranslator(context()).canBePropertyAccess(expression);
|
||||
return PropertyAccessTranslator.canBePropertyAccess(expression, context());
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -124,9 +124,9 @@ public final class UnaryOperationTranslator extends OperationTranslator {
|
||||
@NotNull
|
||||
private JsExpression propertyReassignment(@NotNull JsExpression toCallMethodUpon) {
|
||||
JetExpression jetBaseExpression = getBaseExpression();
|
||||
PropertyAccessTranslator propertyAccessTranslator = Translation.propertyAccessTranslator(context());
|
||||
JsInvocation setterCall = propertyAccessTranslator.translateAsPropertySetterCall(jetBaseExpression);
|
||||
assert propertyAccessTranslator.canBePropertyGetterCall(jetBaseExpression) : "Should be a getter call";
|
||||
JsInvocation setterCall =
|
||||
PropertyAccessTranslator.translateAsPropertySetterCall(jetBaseExpression, context());
|
||||
assert PropertyAccessTranslator.canBePropertyGetterCall(jetBaseExpression, context()) : "Should be a getter call";
|
||||
JsExpression overloadedMethodCallOnPropertyGetter = operationExpression(toCallMethodUpon);
|
||||
setterCall.setArguments(overloadedMethodCallOnPropertyGetter);
|
||||
return setterCall;
|
||||
|
||||
+140
-97
@@ -10,7 +10,6 @@ import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jet.lang.descriptors.PropertyDescriptor;
|
||||
import org.jetbrains.jet.lang.descriptors.PropertyGetterDescriptor;
|
||||
import org.jetbrains.jet.lang.descriptors.PropertySetterDescriptor;
|
||||
import org.jetbrains.jet.lang.psi.JetDotQualifiedExpression;
|
||||
import org.jetbrains.jet.lang.psi.JetExpression;
|
||||
import org.jetbrains.jet.lang.psi.JetQualifiedExpression;
|
||||
import org.jetbrains.jet.lang.psi.JetSimpleNameExpression;
|
||||
@@ -18,152 +17,189 @@ import org.jetbrains.k2js.translate.general.AbstractTranslator;
|
||||
import org.jetbrains.k2js.translate.general.Translation;
|
||||
import org.jetbrains.k2js.translate.general.TranslationContext;
|
||||
import org.jetbrains.k2js.translate.utils.BindingUtils;
|
||||
import org.jetbrains.k2js.translate.utils.PsiUtils;
|
||||
import org.jetbrains.k2js.translate.utils.TranslationUtils;
|
||||
|
||||
/**
|
||||
* @author Talanov Pavel
|
||||
*/
|
||||
//TODO ask for code review. Class has messy code.
|
||||
//TODO Refactor.
|
||||
public final class PropertyAccessTranslator extends AbstractTranslator {
|
||||
|
||||
private static String MESSAGE = "Cannot be accessor call. Use canBeProperty*Call to ensure this method " +
|
||||
"can be called safely.";
|
||||
|
||||
@NotNull
|
||||
public static PropertyAccessTranslator newInstance(@NotNull TranslationContext context) {
|
||||
return new PropertyAccessTranslator(context);
|
||||
}
|
||||
|
||||
private PropertyAccessTranslator(@NotNull TranslationContext context) {
|
||||
super(context);
|
||||
}
|
||||
|
||||
|
||||
//TODO: ask if these methods can be more clear
|
||||
public boolean canBePropertyGetterCall(@NotNull JetExpression expression) {
|
||||
if (expression instanceof JetQualifiedExpression) {
|
||||
JetSimpleNameExpression selector = getNullableSelector((JetQualifiedExpression) expression);
|
||||
if (selector == null) {
|
||||
return false;
|
||||
}
|
||||
return (getNullableGetterName(selector) != null);
|
||||
}
|
||||
if (expression instanceof JetSimpleNameExpression) {
|
||||
return (getNullableGetterName((JetSimpleNameExpression) expression) != null);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean canBePropertyAccess(@NotNull JetExpression expression) {
|
||||
return canBePropertyGetterCall(expression);
|
||||
}
|
||||
|
||||
//TODO: delete?
|
||||
public boolean canBePropertySetterCall(@NotNull JetExpression expression) {
|
||||
if (expression instanceof JetQualifiedExpression) {
|
||||
JetSimpleNameExpression selector = getNullableSelector((JetQualifiedExpression) expression);
|
||||
if (selector == null) {
|
||||
return false;
|
||||
}
|
||||
return (getNullableSetterName(selector) != null);
|
||||
}
|
||||
if (expression instanceof JetSimpleNameExpression) {
|
||||
return (getNullableSetterName((JetSimpleNameExpression) expression) != null);
|
||||
}
|
||||
return false;
|
||||
public static JsInvocation translateAsPropertySetterCall(@NotNull JetQualifiedExpression expression,
|
||||
@NotNull TranslationContext context) {
|
||||
return (new PropertyAccessTranslator(expression, context))
|
||||
.translateAsPropertySetterCall();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public JsInvocation translateAsPropertyGetterCall(@NotNull JetExpression expression) {
|
||||
public static JsInvocation translateAsPropertySetterCall(@NotNull JetSimpleNameExpression expression,
|
||||
@NotNull TranslationContext context) {
|
||||
return (new PropertyAccessTranslator(expression, context))
|
||||
.translateAsPropertySetterCall();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static JsInvocation translateAsPropertySetterCall(@NotNull JetExpression expression,
|
||||
@NotNull TranslationContext context) {
|
||||
if (expression instanceof JetQualifiedExpression) {
|
||||
return resolveAsPropertyGet((JetQualifiedExpression) expression);
|
||||
return translateAsPropertySetterCall((JetQualifiedExpression) expression, context);
|
||||
}
|
||||
if (expression instanceof JetSimpleNameExpression) {
|
||||
return resolveAsPropertyGet((JetSimpleNameExpression) expression);
|
||||
return translateAsPropertySetterCall((JetSimpleNameExpression) expression, context);
|
||||
}
|
||||
throw new AssertionError(MESSAGE);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private JsInvocation resolveAsPropertyGet(@NotNull JetQualifiedExpression expression) {
|
||||
JsName getterName = getNotNullGetterName(getNotNullSelector(expression));
|
||||
return translateReceiverAndReturnAccessorInvocation(expression, getterName);
|
||||
public static JsInvocation translateAsPropertyGetterCall(@NotNull JetQualifiedExpression expression,
|
||||
@NotNull TranslationContext context) {
|
||||
return (new PropertyAccessTranslator(expression, context))
|
||||
.translateAsPropertyGetterCall();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private JsInvocation resolveAsPropertyGet(@NotNull JetSimpleNameExpression expression) {
|
||||
JsName getterName = getNotNullGetterName(expression);
|
||||
JsNameRef getterReference = getAccessorReference(getterName);
|
||||
return AstUtil.newInvocation(getterReference);
|
||||
public static JsInvocation translateAsPropertyGetterCall(@NotNull JetSimpleNameExpression expression,
|
||||
@NotNull TranslationContext context) {
|
||||
return (new PropertyAccessTranslator(expression, context))
|
||||
.translateAsPropertyGetterCall();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private JsNameRef getAccessorReference(@NotNull JsName getterName) {
|
||||
return TranslationUtils.getThisQualifiedNameReference(context(), getterName);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public JsInvocation translateAsPropertySetterCall(@NotNull JetExpression expression) {
|
||||
if (expression instanceof JetDotQualifiedExpression) {
|
||||
return resolveAsPropertySet((JetDotQualifiedExpression) expression);
|
||||
public static JsInvocation translateAsPropertyGetterCall(@NotNull JetExpression expression,
|
||||
@NotNull TranslationContext context) {
|
||||
if (expression instanceof JetQualifiedExpression) {
|
||||
return translateAsPropertyGetterCall((JetQualifiedExpression) expression, context);
|
||||
}
|
||||
if (expression instanceof JetSimpleNameExpression) {
|
||||
return resolveAsPropertySet((JetSimpleNameExpression) expression);
|
||||
return translateAsPropertyGetterCall((JetSimpleNameExpression) expression, context);
|
||||
}
|
||||
throw new AssertionError(MESSAGE);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private JsInvocation resolveAsPropertySet(@NotNull JetDotQualifiedExpression dotQualifiedExpression) {
|
||||
JsName setterName = getNotNullSetterName(getNotNullSelector(dotQualifiedExpression));
|
||||
return translateReceiverAndReturnAccessorInvocation(dotQualifiedExpression, setterName);
|
||||
public static boolean canBePropertyGetterCall(@NotNull JetQualifiedExpression expression,
|
||||
@NotNull TranslationContext context) {
|
||||
JetSimpleNameExpression selector = PsiUtils.getSelectorAsSimpleName(expression);
|
||||
if (selector == null) {
|
||||
return false;
|
||||
}
|
||||
return canBePropertyGetterCall(selector, context);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private JsInvocation resolveAsPropertySet(@NotNull JetSimpleNameExpression expression) {
|
||||
JsName setterName = getNotNullSetterName(expression);
|
||||
JsNameRef setterReference = getAccessorReference(setterName);
|
||||
return AstUtil.newInvocation(setterReference);
|
||||
public static boolean canBePropertyGetterCall(@NotNull JetSimpleNameExpression expression,
|
||||
@NotNull TranslationContext context) {
|
||||
return (BindingUtils.getPropertyDescriptorForSimpleName(context.bindingContext(), expression) != null);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private JsInvocation translateReceiverAndReturnAccessorInvocation
|
||||
(@NotNull JetQualifiedExpression qualifiedExpression, @NotNull JsName accessorName) {
|
||||
JsExpression qualifier = Translation.translateAsExpression
|
||||
(qualifiedExpression.getReceiverExpression(), context());
|
||||
JsNameRef result = accessorName.makeRef();
|
||||
AstUtil.setQualifier(result, qualifier);
|
||||
return AstUtil.newInvocation(result);
|
||||
public static boolean canBePropertyGetterCall(@NotNull JetExpression expression,
|
||||
@NotNull TranslationContext context) {
|
||||
if (expression instanceof JetQualifiedExpression) {
|
||||
return canBePropertyGetterCall((JetQualifiedExpression) expression, context);
|
||||
}
|
||||
if (expression instanceof JetSimpleNameExpression) {
|
||||
return canBePropertyGetterCall((JetSimpleNameExpression) expression, context);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean canBePropertyAccess(@NotNull JetExpression expression,
|
||||
@NotNull TranslationContext context) {
|
||||
return canBePropertyGetterCall(expression, context);
|
||||
}
|
||||
|
||||
|
||||
@NotNull
|
||||
private final JetSimpleNameExpression expression;
|
||||
@Nullable
|
||||
private JetSimpleNameExpression getNullableSelector(@NotNull JetQualifiedExpression expression) {
|
||||
JetExpression selectorExpression = expression.getSelectorExpression();
|
||||
assert selectorExpression != null : "Selector should not be null.";
|
||||
if (!(selectorExpression instanceof JetSimpleNameExpression)) {
|
||||
return null;
|
||||
private final JetExpression qualifier;
|
||||
@NotNull
|
||||
private final PropertyDescriptor propertyDescriptor;
|
||||
|
||||
private PropertyAccessTranslator(@NotNull JetSimpleNameExpression simpleName,
|
||||
@NotNull TranslationContext context) {
|
||||
super(context);
|
||||
this.expression = simpleName;
|
||||
this.qualifier = null;
|
||||
this.propertyDescriptor = getNotNullPropertyDescriptor();
|
||||
}
|
||||
|
||||
private PropertyAccessTranslator(@NotNull JetQualifiedExpression qualifiedExpression,
|
||||
@NotNull TranslationContext context) {
|
||||
super(context);
|
||||
this.expression = getNotNullSelector(qualifiedExpression);
|
||||
this.qualifier = qualifiedExpression.getReceiverExpression();
|
||||
this.propertyDescriptor = getNotNullPropertyDescriptor();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public JsInvocation translateAsPropertyGetterCall() {
|
||||
JsName getterName = getNotNullGetterName();
|
||||
return qualifiedAccessorInvocation(getterName);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private JsInvocation qualifiedAccessorInvocation(@NotNull JsName accessorName) {
|
||||
JsNameRef accessorReference = accessorName.makeRef();
|
||||
AstUtil.setQualifier(accessorReference, translateQualifier());
|
||||
return AstUtil.newInvocation(accessorReference);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private JsExpression defaultQualifier() {
|
||||
if (BindingUtils.isOwnedByClass(propertyDescriptor)) {
|
||||
return TranslationUtils.getThisQualifier(context());
|
||||
}
|
||||
return (JetSimpleNameExpression) selectorExpression;
|
||||
assert BindingUtils.isOwnedByNamespace(propertyDescriptor)
|
||||
: "Property can be a member of class or a namespace.";
|
||||
//NOTE: qualifier for descriptor and it's accessor should be equal
|
||||
return context().declarations().getQualifier(propertyDescriptor);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public JsInvocation translateAsPropertySetterCall() {
|
||||
JsName setterName = getNotNullSetterName();
|
||||
return qualifiedAccessorInvocation(setterName);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private JsExpression translateQualifier() {
|
||||
if (qualifier != null) {
|
||||
return Translation.translateAsExpression(qualifier, context());
|
||||
}
|
||||
return defaultQualifier();
|
||||
}
|
||||
|
||||
|
||||
@NotNull
|
||||
private JetSimpleNameExpression getNotNullSelector(@NotNull JetQualifiedExpression expression) {
|
||||
JetSimpleNameExpression selectorExpression = getNullableSelector(expression);
|
||||
private static JetSimpleNameExpression getNotNullSelector(@NotNull JetQualifiedExpression qualifiedExpression) {
|
||||
JetSimpleNameExpression selectorExpression = PsiUtils.getSelectorAsSimpleName(qualifiedExpression);
|
||||
assert selectorExpression != null : MESSAGE;
|
||||
return selectorExpression;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private JsName getNotNullGetterName(@NotNull JetSimpleNameExpression selectorExpression) {
|
||||
JsName getterName = getNullableGetterName(selectorExpression);
|
||||
private JsName getNotNullGetterName() {
|
||||
JsName getterName = getNullableGetterName();
|
||||
assert getterName != null : MESSAGE;
|
||||
return getterName;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private JsName getNullableGetterName(@NotNull JetSimpleNameExpression expression) {
|
||||
PropertyDescriptor property = getPropertyDescriptor(expression);
|
||||
private JsName getNullableGetterName() {
|
||||
PropertyGetterDescriptor getter = getGetterDescriptor();
|
||||
|
||||
if (getter == null) return null;
|
||||
|
||||
return context().getNameForDescriptor(getter);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private PropertyGetterDescriptor getGetterDescriptor() {
|
||||
PropertyDescriptor property = getNullablePropertyDescriptor();
|
||||
if (property == null) {
|
||||
return null;
|
||||
}
|
||||
@@ -171,19 +207,19 @@ public final class PropertyAccessTranslator extends AbstractTranslator {
|
||||
if (getter == null) {
|
||||
return null;
|
||||
}
|
||||
return context().getNameForDescriptor(getter);
|
||||
return getter;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private JsName getNotNullSetterName(@NotNull JetSimpleNameExpression selectorExpression) {
|
||||
JsName setterName = getNullableSetterName(selectorExpression);
|
||||
private JsName getNotNullSetterName() {
|
||||
JsName setterName = getNullableSetterName();
|
||||
assert setterName != null : MESSAGE;
|
||||
return setterName;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private JsName getNullableSetterName(@NotNull JetSimpleNameExpression expression) {
|
||||
PropertyDescriptor property = getPropertyDescriptor(expression);
|
||||
private JsName getNullableSetterName() {
|
||||
PropertyDescriptor property = getNullablePropertyDescriptor();
|
||||
if (property == null) {
|
||||
return null;
|
||||
}
|
||||
@@ -195,7 +231,14 @@ public final class PropertyAccessTranslator extends AbstractTranslator {
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private PropertyDescriptor getPropertyDescriptor(@NotNull JetSimpleNameExpression expression) {
|
||||
private PropertyDescriptor getNullablePropertyDescriptor() {
|
||||
return BindingUtils.getPropertyDescriptorForSimpleName(context().bindingContext(), expression);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private PropertyDescriptor getNotNullPropertyDescriptor() {
|
||||
PropertyDescriptor propertyDescriptor = getNullablePropertyDescriptor();
|
||||
assert propertyDescriptor != null;
|
||||
return propertyDescriptor;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,7 +8,6 @@ import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor;
|
||||
import org.jetbrains.jet.lang.psi.JetSimpleNameExpression;
|
||||
import org.jetbrains.jet.lexer.JetTokens;
|
||||
import org.jetbrains.k2js.translate.general.AbstractTranslator;
|
||||
import org.jetbrains.k2js.translate.general.Translation;
|
||||
import org.jetbrains.k2js.translate.general.TranslationContext;
|
||||
import org.jetbrains.k2js.translate.utils.BindingUtils;
|
||||
import org.jetbrains.k2js.translate.utils.TranslationUtils;
|
||||
@@ -38,9 +37,9 @@ public class ReferenceTranslator extends AbstractTranslator {
|
||||
|
||||
@NotNull
|
||||
public JsExpression translateSimpleName() {
|
||||
tryResolveAsPropertyAccess();
|
||||
tryResolveAsThisQualifiedExpression();
|
||||
tryResolveAsAliasReference();
|
||||
tryResolveAsPropertyAccess();
|
||||
tryResolveAsGlobalReference();
|
||||
tryResolveAsLocalReference();
|
||||
if (result != null) {
|
||||
@@ -62,7 +61,12 @@ public class ReferenceTranslator extends AbstractTranslator {
|
||||
|
||||
if (!requiresThisQualifier(simpleName, referencedName)) return;
|
||||
|
||||
result = TranslationUtils.getThisQualifiedNameReference(context(), referencedName);
|
||||
if (BindingUtils.isOwnedByClass(referencedDescriptor)) {
|
||||
result = TranslationUtils.getThisQualifiedNameReference(context(), referencedName);
|
||||
}
|
||||
if (BindingUtils.isOwnedByNamespace(referencedDescriptor)) {
|
||||
result = TranslationUtils.getQualifiedReference(context(), referencedDescriptor);
|
||||
}
|
||||
}
|
||||
|
||||
private boolean requiresThisQualifier(@NotNull JetSimpleNameExpression expression,
|
||||
@@ -94,11 +98,9 @@ public class ReferenceTranslator extends AbstractTranslator {
|
||||
private void tryResolveAsPropertyAccess() {
|
||||
if (alreadyResolved()) return;
|
||||
|
||||
PropertyAccessTranslator propertyAccessTranslator = Translation.propertyAccessTranslator(context());
|
||||
if (!PropertyAccessTranslator.canBePropertyGetterCall(simpleName, context())) return;
|
||||
|
||||
if (!propertyAccessTranslator.canBePropertyGetterCall(simpleName)) return;
|
||||
|
||||
result = propertyAccessTranslator.translateAsPropertyGetterCall(simpleName);
|
||||
result = PropertyAccessTranslator.translateAsPropertyGetterCall(simpleName, context());
|
||||
}
|
||||
|
||||
private void tryResolveAsGlobalReference() {
|
||||
|
||||
@@ -7,6 +7,7 @@ import org.jetbrains.jet.lang.descriptors.*;
|
||||
import org.jetbrains.jet.lang.psi.*;
|
||||
import org.jetbrains.jet.lang.resolve.BindingContext;
|
||||
import org.jetbrains.jet.lang.resolve.calls.ResolvedCall;
|
||||
import org.jetbrains.jet.lang.types.JetStandardClasses;
|
||||
import org.jetbrains.jet.lang.types.JetType;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -88,6 +89,7 @@ public final class BindingUtils {
|
||||
return (JetClass) result;
|
||||
}
|
||||
|
||||
//TODO: delete?
|
||||
@Nullable
|
||||
static public JetDeclaration getDeclarationForDescriptor(@NotNull BindingContext context,
|
||||
@NotNull DeclarationDescriptor descriptor) {
|
||||
@@ -174,9 +176,8 @@ public final class BindingUtils {
|
||||
return context.get(BindingContext.REFERENCE_TARGET, reference);
|
||||
}
|
||||
|
||||
//TODO better implementation?
|
||||
static private boolean isNotAny(@NotNull DeclarationDescriptor superClassDescriptor) {
|
||||
return !superClassDescriptor.getName().equals("Any");
|
||||
return !superClassDescriptor.equals(JetStandardClasses.getAny());
|
||||
}
|
||||
|
||||
//TODO move unrelated utils to other class
|
||||
@@ -190,8 +191,16 @@ public final class BindingUtils {
|
||||
return null;
|
||||
}
|
||||
|
||||
static public boolean isOwnedByNamespace(@NotNull DeclarationDescriptor descriptor) {
|
||||
return (descriptor.getContainingDeclaration() instanceof NamespaceDescriptor);
|
||||
}
|
||||
|
||||
//TODO: refactor
|
||||
static public boolean isOwnedByClass(@NotNull DeclarationDescriptor descriptor) {
|
||||
return (descriptor.getContainingDeclaration() instanceof ClassDescriptor);
|
||||
}
|
||||
|
||||
|
||||
//TODO: refactor, check with getDescriptorForReferenceExpression
|
||||
@Nullable
|
||||
public static PropertyDescriptor getPropertyDescriptorForSimpleName(@NotNull BindingContext context,
|
||||
@NotNull JetSimpleNameExpression expression) {
|
||||
@@ -224,4 +233,5 @@ public final class BindingUtils {
|
||||
assert result != null;
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
package org.jetbrains.k2js.translate.utils;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jet.lang.psi.JetExpression;
|
||||
import org.jetbrains.jet.lang.psi.JetQualifiedExpression;
|
||||
import org.jetbrains.jet.lang.psi.JetSimpleNameExpression;
|
||||
|
||||
/**
|
||||
* @author Talanov Pavel
|
||||
*/
|
||||
public final class PsiUtils {
|
||||
|
||||
private PsiUtils() {
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public static JetSimpleNameExpression getSelectorAsSimpleName(@NotNull JetQualifiedExpression expression) {
|
||||
JetExpression selectorExpression = expression.getSelectorExpression();
|
||||
assert selectorExpression != null : "Selector should not be null.";
|
||||
if (!(selectorExpression instanceof JetSimpleNameExpression)) {
|
||||
return null;
|
||||
}
|
||||
return (JetSimpleNameExpression) selectorExpression;
|
||||
}
|
||||
}
|
||||
@@ -152,14 +152,13 @@ public final class TranslationUtils {
|
||||
public static JsNameRef getThisQualifiedNameReference(@NotNull TranslationContext context,
|
||||
@NotNull JsName name) {
|
||||
JsExpression qualifier = getThisQualifier(context);
|
||||
|
||||
JsNameRef reference = name.makeRef();
|
||||
AstUtil.setQualifier(reference, qualifier);
|
||||
return reference;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private static JsExpression getThisQualifier(@NotNull TranslationContext context) {
|
||||
public static JsExpression getThisQualifier(@NotNull TranslationContext context) {
|
||||
JsExpression qualifier;
|
||||
if (context.aliaser().hasAliasForThis()) {
|
||||
qualifier = context.aliaser().getAliasForThis();
|
||||
|
||||
Reference in New Issue
Block a user