Refactoring.
This commit is contained in:
Generated
+258
-341
@@ -8,25 +8,31 @@
|
||||
</component>
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="f02ef53d-47a4-4f5e-a1aa-3df68aae9b20" name="Default" comment="">
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/initializer/AbstractInitializerTranslator.java" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/initializer/ClassInitializerTranslator.java" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/initializer/InitializerVisitor.java" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/initializer/NamespaceInitializerTranslator.java" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/translator/testFiles/class/cases/constructorWithPropertiesAsParameters.kt" />
|
||||
<change type="DELETED" beforePath="C:\Dev\Projects\jet-contrib\k2js\translator\src\org\jetbrains\k2js\translate\ClassInitializerVisitor.java" afterPath="" />
|
||||
<change type="DELETED" beforePath="C:\Dev\Projects\jet-contrib\k2js\translator\src\org\jetbrains\k2js\translate\InitializerGenerator.java" afterPath="" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/declaration/PropertyTranslator.java" />
|
||||
<change type="MOVED" beforePath="C:\Dev\Projects\jet-contrib\k2js\translator\src\org\jetbrains\k2js\translate\ClassDeclarationTranslator.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/declaration/ClassDeclarationTranslator.java" />
|
||||
<change type="MOVED" beforePath="C:\Dev\Projects\jet-contrib\k2js\translator\src\org\jetbrains\k2js\translate\ClassTranslator.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/declaration/ClassTranslator.java" />
|
||||
<change type="MOVED" beforePath="C:\Dev\Projects\jet-contrib\k2js\translator\src\org\jetbrains\k2js\translate\DeclarationBodyVisitor.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/declaration/DeclarationBodyVisitor.java" />
|
||||
<change type="MOVED" beforePath="C:\Dev\Projects\jet-contrib\k2js\translator\src\org\jetbrains\k2js\translate\NamespaceTranslator.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/declaration/NamespaceTranslator.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/translate/AbstractTranslator.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/AbstractTranslator.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/BinaryOperationTranslator.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/BinaryOperationTranslator.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ClassDeclarationTranslator.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ClassDeclarationTranslator.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ClassTranslator.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ClassTranslator.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/DeclarationBodyVisitor.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/DeclarationBodyVisitor.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/BindingUtils.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/BindingUtils.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ExpressionTranslator.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ExpressionTranslator.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ExpressionVisitor.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ExpressionVisitor.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/NamespaceTranslator.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/NamespaceTranslator.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/FunctionTranslator.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/FunctionTranslator.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/OperationTranslator.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/OperationTranslator.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/PatternTranslator.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/PatternTranslator.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/PropertyAccessTranslator.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/PropertyAccessTranslator.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ReferenceTranslator.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ReferenceTranslator.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/Translation.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/Translation.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/TranslationContext.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/TranslationContext.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/TranslationUtils.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/TranslationUtils.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/TranslatorVisitor.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/TranslatorVisitor.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/BasicClassTest.java" afterPath="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/BasicClassTest.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/UnaryOperationTranslator.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/UnaryOperationTranslator.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/WhenTranslator.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/WhenTranslator.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/initializer/AbstractInitializerTranslator.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/initializer/AbstractInitializerTranslator.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/initializer/ClassInitializerTranslator.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/initializer/ClassInitializerTranslator.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/initializer/InitializerVisitor.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/initializer/InitializerVisitor.java" />
|
||||
</list>
|
||||
<ignored path="k2js.iws" />
|
||||
<ignored path=".idea/workspace.xml" />
|
||||
@@ -58,7 +64,7 @@
|
||||
</component>
|
||||
<component name="DebuggerManager">
|
||||
<line_breakpoints>
|
||||
<breakpoint url="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/BindingUtils.java" line="176" class="org.jetbrains.k2js.translate.BindingUtils" package="org.jetbrains.k2js.translate">
|
||||
<breakpoint url="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/BindingUtils.java" line="196" class="org.jetbrains.k2js.translate.BindingUtils" package="org.jetbrains.k2js.translate">
|
||||
<option name="ENABLED" value="true" />
|
||||
<option name="LOG_ENABLED" value="false" />
|
||||
<option name="LOG_EXPRESSION_ENABLED" value="false" />
|
||||
@@ -84,6 +90,19 @@
|
||||
<option name="CONDITION" value="" />
|
||||
<option name="LOG_MESSAGE" value="" />
|
||||
</breakpoint>
|
||||
<breakpoint url="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/declaration/PropertyTranslator.java" line="72" class="org.jetbrains.k2js.translate.declaration.PropertyTranslator" package="org.jetbrains.k2js.translate.declaration">
|
||||
<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>
|
||||
@@ -139,7 +158,7 @@
|
||||
<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/OperationTranslator.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="45" column="0" selection-start="1750" selection-end="1750" vertical-scroll-proportion="0.0">
|
||||
<state line="45" column="0" selection-start="1706" selection-end="1706" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
@@ -167,75 +186,19 @@
|
||||
</split-first>
|
||||
<split-second>
|
||||
<leaf>
|
||||
<file leaf-file-name="ClassInheritanceTest.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/ClassInheritanceTest.java">
|
||||
<file leaf-file-name="DeclarationBodyVisitor.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/declaration/DeclarationBodyVisitor.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="37" column="16" selection-start="872" selection-end="872" vertical-scroll-proportion="0.0">
|
||||
<state line="64" column="16" selection-start="2616" selection-end="2616" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="valuePassedToAncestorConstructor.kt" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/inheritance/cases/valuePassedToAncestorConstructor.kt">
|
||||
<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="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="AbstractInitializerTranslator.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/initializer/AbstractInitializerTranslator.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="47" column="66" selection-start="1886" selection-end="1886" vertical-scroll-proportion="0.0">
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="BasicClassTest.java" pinned="false" current="true" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/BasicClassTest.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="43" column="72" selection-start="1133" selection-end="1133" vertical-scroll-proportion="0.5726375">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="initializationOrder.js" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/inheritance/out/initializationOrder.js">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="10" column="36" selection-start="224" selection-end="224" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="ClassTranslator.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ClassTranslator.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="35" column="22" selection-start="1318" selection-end="1318" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="PropertyAccessorTest.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/PropertyAccessorTest.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="52" column="16" selection-start="1184" selection-end="1184" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="NamespaceTranslator.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/NamespaceTranslator.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="80" column="85" selection-start="3267" selection-end="3267" vertical-scroll-proportion="0.0">
|
||||
<state line="22" column="16" selection-start="442" selection-end="442" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
@@ -244,16 +207,73 @@
|
||||
<file leaf-file-name="Translation.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/Translation.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="37" column="72" selection-start="1514" selection-end="1514" vertical-scroll-proportion="0.0">
|
||||
<state line="84" column="5" selection-start="3538" selection-end="3538" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="TranslationContext.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/TranslationContext.java">
|
||||
<file leaf-file-name="PropertyTranslator.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/declaration/PropertyTranslator.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="86" column="35" selection-start="3339" selection-end="3339" vertical-scroll-proportion="0.0">
|
||||
<state line="53" column="79" selection-start="1989" selection-end="1989" vertical-scroll-proportion="0.0">
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
<element signature="e#943#966#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="BasicClassTest.java" pinned="false" current="true" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/BasicClassTest.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="33" column="16" selection-start="789" selection-end="789" vertical-scroll-proportion="0.33286318">
|
||||
<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/BindingUtils.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="196" column="0" selection-start="9178" selection-end="9178" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="PropertyAccessorTest.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/PropertyAccessorTest.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="32" column="16" selection-start="716" selection-end="716" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="customGetter.js" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/propertyAccess/out/customGetter.js">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="customSetter.js" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/propertyAccess/out/customSetter.js">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="PropertyAccessTranslator.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/PropertyAccessTranslator.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="23" column="19" selection-start="1056" selection-end="1056" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
@@ -280,22 +300,22 @@
|
||||
<component name="IdeDocumentHistory">
|
||||
<option name="changedFiles">
|
||||
<list>
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/AbstractInitializerTranslator.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/NamespaceInitializerTranslator.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ClassInitializerTranslator.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/TranslationContext.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/initializer/InitializerGenerator.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/initializer/NamespaceInitializerTranslator.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/TranslatorVisitor.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/TranslationUtils.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ClassDeclarationTranslator.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ExpressionVisitor.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/initializer/ClassInitializerTranslator.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/initializer/InitializerVisitor.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ClassTranslator.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/NamespaceTranslator.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/Translation.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/initializer/AbstractInitializerTranslator.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ClassTranslator.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/DeclarationBodyVisitor.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/FunctionTranslator.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/TranslationContext.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/TranslatorVisitor.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/BindingUtils.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/declaration/ClassTranslator.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ExpressionVisitor.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/TranslationUtils.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/initializer/InitializerVisitor.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/Translation.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/declaration/DeclarationBodyVisitor.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/declaration/PropertyTranslator.java" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
@@ -404,6 +424,10 @@
|
||||
<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>
|
||||
@@ -427,112 +451,6 @@
|
||||
<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="kotlinLib" />
|
||||
<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="inheritance" />
|
||||
<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="inheritance" />
|
||||
<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" />
|
||||
<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="class" />
|
||||
<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="class" />
|
||||
<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" />
|
||||
@@ -609,7 +527,7 @@
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="initializer" />
|
||||
<option name="myItemId" value="declaration" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
@@ -720,68 +638,6 @@
|
||||
</key>
|
||||
</component>
|
||||
<component name="RunManager" selected="JUnit.All in translator">
|
||||
<configuration default="false" name="OperatorOverloadingTest.unaryOnIntProperty" 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="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.OperatorOverloadingTest" />
|
||||
<option name="METHOD_NAME" value="unaryOnIntProperty" />
|
||||
<option name="TEST_OBJECT" value="method" />
|
||||
<option name="VM_PARAMETERS" value="-ea" />
|
||||
<option name="PARAMETERS" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$/translator" />
|
||||
<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="OperatorOverloadingTest.plusAssignReassign" 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="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.OperatorOverloadingTest" />
|
||||
<option name="METHOD_NAME" value="plusAssignReassign" />
|
||||
<option name="TEST_OBJECT" value="method" />
|
||||
<option name="VM_PARAMETERS" value="-ea" />
|
||||
<option name="PARAMETERS" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$/translator" />
|
||||
<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="OperatorOverloadingTest.compareTo" type="JUnit" factoryName="JUnit" temporary="true">
|
||||
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
|
||||
<pattern>
|
||||
@@ -840,6 +696,70 @@
|
||||
</JSDebuggerConfigurationSettings>
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="false" name="PropertyAccessorTest.customGetter" 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="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.PropertyAccessorTest" />
|
||||
<option name="METHOD_NAME" value="customGetter" />
|
||||
<option name="TEST_OBJECT" value="method" />
|
||||
<option name="VM_PARAMETERS" value="-ea" />
|
||||
<option name="PARAMETERS" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$/translator" />
|
||||
<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="PropertyAccessorTest.customSetter" 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="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.PropertyAccessorTest" />
|
||||
<option name="METHOD_NAME" value="customSetter" />
|
||||
<option name="TEST_OBJECT" value="method" />
|
||||
<option name="VM_PARAMETERS" value="-ea" />
|
||||
<option name="PARAMETERS" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$/translator" />
|
||||
<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="true" type="Remote" factoryName="Remote">
|
||||
<option name="USE_SOCKET_TRANSPORT" value="true" />
|
||||
<option name="SERVER_MODE" value="false" />
|
||||
@@ -936,11 +856,11 @@
|
||||
</method>
|
||||
</configuration>
|
||||
<list size="5">
|
||||
<item index="0" class="java.lang.String" itemvalue="JUnit.OperatorOverloadingTest.unaryOnIntProperty" />
|
||||
<item index="1" class="java.lang.String" itemvalue="JUnit.OperatorOverloadingTest.plusAssignReassign" />
|
||||
<item index="2" class="java.lang.String" itemvalue="JUnit.OperatorOverloadingTest.compareTo" />
|
||||
<item index="3" class="java.lang.String" itemvalue="JUnit.All in translator" />
|
||||
<item index="4" class="java.lang.String" itemvalue="JavaScript Debug.postfixOnProperty.js" />
|
||||
<item index="0" class="java.lang.String" itemvalue="JUnit.OperatorOverloadingTest.compareTo" />
|
||||
<item index="1" class="java.lang.String" itemvalue="JUnit.All in translator" />
|
||||
<item index="2" class="java.lang.String" itemvalue="JavaScript Debug.postfixOnProperty.js" />
|
||||
<item index="3" class="java.lang.String" itemvalue="JUnit.PropertyAccessorTest.customGetter" />
|
||||
<item index="4" class="java.lang.String" itemvalue="JUnit.PropertyAccessorTest.customSetter" />
|
||||
</list>
|
||||
<configuration name="<template>" type="WebApp" default="true" selected="false">
|
||||
<Host>localhost</Host>
|
||||
@@ -1000,21 +920,21 @@
|
||||
<layout>
|
||||
<window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32853025" sideWeight="0.49812934" order="7" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32756963" sideWeight="0.4746125" order="1" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32756963" sideWeight="0.4703367" order="1" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.24973261" sideWeight="0.7183908" order="1" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.28530258" sideWeight="0.7685729" order="3" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.28530258" sideWeight="0.7621593" order="3" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="IDEtalk Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.27185398" sideWeight="0.14270444" order="10" side_tool="true" content_ui="tabs" />
|
||||
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.27185398" sideWeight="0.15232496" order="10" side_tool="true" content_ui="tabs" />
|
||||
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
|
||||
<window_info id="IDEtalk" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32854405" sideWeight="0.5" order="13" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32853025" sideWeight="0.4703367" order="8" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32853025" sideWeight="0.46606094" order="8" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32949087" sideWeight="0.49812934" order="6" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="true" content_ui="tabs" />
|
||||
<window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32977018" sideWeight="0.728146" order="4" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3997862" sideWeight="0.6705998" order="0" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.18332443" sideWeight="0.728146" order="0" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.27185398" sideWeight="0.85355425" order="2" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.27185398" sideWeight="0.8439337" order="2" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Metrics" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3275862" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" />
|
||||
@@ -1058,7 +978,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="Added test for operator overloading." />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="Lots of refactoring and code improvements." />
|
||||
<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" />
|
||||
@@ -1071,7 +991,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 tests and support for binary with type RHS expressions." />
|
||||
<MESSAGE value="Added support for multiple cases in one when entry." />
|
||||
<MESSAGE value="Split expression tests into different categories." />
|
||||
<MESSAGE value="Added support for break expressions in while/do while." />
|
||||
@@ -1096,6 +1015,7 @@
|
||||
<MESSAGE value="Refactoring BinaryOperationTranslator." />
|
||||
<MESSAGE value="Binary operation overloading for most cases (except contains, compareTo)." />
|
||||
<MESSAGE value="Added test for operator overloading." />
|
||||
<MESSAGE value="Lots of refactoring and code improvements." />
|
||||
</component>
|
||||
<component name="XDebuggerManager">
|
||||
<breakpoint-manager />
|
||||
@@ -1105,122 +1025,119 @@
|
||||
<option name="FILTER_TARGETS" value="false" />
|
||||
</component>
|
||||
<component name="editorHistoryManager">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/TranslatorVisitor.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="25" column="0" selection-start="975" selection-end="975" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ReferenceProvider.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="12" column="19" selection-start="394" selection-end="394" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/declaration/ClassTranslator.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="120" column="0" selection-start="5047" selection-end="5197" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/TranslationUtils.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="91" column="18" selection-start="3936" selection-end="3936" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ExpressionVisitor.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="105" column="56" selection-start="4505" selection-end="4505" vertical-scroll-proportion="0.0">
|
||||
<state line="96" column="72" selection-start="4075" selection-end="4075" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/class/out/classInstantiation.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/class/out/propertyAccess.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/ClassInitializerTranslator.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="45" column="64" selection-start="1788" selection-end="1788" vertical-scroll-proportion="0.0">
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
<element signature="e#2117#2130#0" expanded="true" />
|
||||
<element signature="e#3424#3437#0" expanded="true" />
|
||||
</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="83" column="84" selection-start="3447" selection-end="3447" vertical-scroll-proportion="0.0">
|
||||
<state line="47" column="72" selection-start="1857" selection-end="1857" vertical-scroll-proportion="0.0">
|
||||
<folding>
|
||||
<element signature="e#3127#3140#0" expanded="true" />
|
||||
<element signature="e#3100#3113#0" expanded="true" />
|
||||
</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/Translation.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="37" column="16" selection-start="812" selection-end="812" vertical-scroll-proportion="0.0">
|
||||
<state line="84" column="5" selection-start="3538" selection-end="3538" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/inheritance/out/initializationOrder.js">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/declaration/DeclarationBodyVisitor.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="10" column="36" selection-start="224" selection-end="224" vertical-scroll-proportion="0.0">
|
||||
<state line="64" column="16" selection-start="2616" selection-end="2616" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/TranslationContext.java">
|
||||
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/TraitTest.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="86" column="35" selection-start="3339" selection-end="3339" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ClassTranslator.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="35" column="22" selection-start="1318" selection-end="1318" vertical-scroll-proportion="0.0">
|
||||
<state line="22" column="16" selection-start="442" selection-end="442" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/PropertyAccessorTest.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="52" column="16" selection-start="1184" selection-end="1184" vertical-scroll-proportion="0.0">
|
||||
<state line="32" column="16" selection-start="716" selection-end="716" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/NamespaceTranslator.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="80" column="85" selection-start="3267" selection-end="3267" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/Translation.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="37" column="72" selection-start="1514" selection-end="1514" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/ClassInheritanceTest.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="37" column="16" selection-start="872" selection-end="872" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/inheritance/cases/valuePassedToAncestorConstructor.kt">
|
||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/propertyAccess/out/customGetter.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/AbstractInitializerTranslator.java">
|
||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/propertyAccess/out/customSetter.js">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="47" column="66" selection-start="1886" selection-end="1886" vertical-scroll-proportion="0.0">
|
||||
<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/PropertyAccessTranslator.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="23" column="19" selection-start="1056" selection-end="1056" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/BindingUtils.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="196" column="0" selection-start="9178" selection-end="9178" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/declaration/PropertyTranslator.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="53" column="79" selection-start="1989" selection-end="1989" vertical-scroll-proportion="0.0">
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
<element signature="e#943#966#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/BasicClassTest.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="43" column="72" selection-start="1133" selection-end="1133" vertical-scroll-proportion="0.5726375">
|
||||
<state line="33" column="16" selection-start="789" selection-end="789" vertical-scroll-proportion="0.33286318">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
|
||||
@@ -21,7 +21,7 @@ public abstract class AbstractTranslator {
|
||||
}
|
||||
|
||||
@NotNull
|
||||
protected TranslationContext translationContext() {
|
||||
protected TranslationContext context() {
|
||||
return context;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -119,7 +119,7 @@ public final class BinaryOperationTranslator extends OperationTranslator {
|
||||
}
|
||||
|
||||
private JsExpression translateLeftExpression() {
|
||||
return Translation.translateAsExpression(expression.getLeft(), translationContext());
|
||||
return Translation.translateAsExpression(expression.getLeft(), context());
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -132,7 +132,7 @@ public final class BinaryOperationTranslator extends OperationTranslator {
|
||||
private JsExpression translateRightExpression() {
|
||||
JetExpression rightExpression = expression.getRight();
|
||||
assert rightExpression != null : "Binary expression should have a right expression";
|
||||
return Translation.translateAsExpression(rightExpression, translationContext());
|
||||
return Translation.translateAsExpression(rightExpression, context());
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -142,7 +142,7 @@ public final class BinaryOperationTranslator extends OperationTranslator {
|
||||
|
||||
@NotNull
|
||||
public JsInvocation setterCall(@NotNull JsExpression assignTo) {
|
||||
PropertyAccessTranslator propertyAccessTranslator = Translation.propertyAccessTranslator(translationContext());
|
||||
PropertyAccessTranslator propertyAccessTranslator = Translation.propertyAccessTranslator(context());
|
||||
JsInvocation setterCall = propertyAccessTranslator.translateAsPropertySetterCall(expression.getLeft());
|
||||
setterCall.setArguments(assignTo);
|
||||
return setterCall;
|
||||
|
||||
@@ -141,6 +141,22 @@ public final class BindingUtils {
|
||||
return getClassDescriptorForType(getTypeByReference(context, typeReference));
|
||||
}
|
||||
|
||||
@Nullable
|
||||
static public PropertyDescriptor getPropertyDescriptorForConstructorParameter(@NotNull BindingContext context,
|
||||
@NotNull JetParameter parameter) {
|
||||
return context.get(BindingContext.PRIMARY_CONSTRUCTOR_PARAMETER, parameter);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
static public JetProperty getPropertyForDescriptor(@NotNull BindingContext context,
|
||||
@NotNull PropertyDescriptor property) {
|
||||
PsiElement result = context.get(BindingContext.DESCRIPTOR_TO_DECLARATION, property);
|
||||
if (!(result instanceof JetProperty)) {
|
||||
return null;
|
||||
}
|
||||
return (JetProperty) result;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
static public DeclarationDescriptor getDescriptorForReferenceExpression(@NotNull BindingContext context,
|
||||
@NotNull JetReferenceExpression reference) {
|
||||
@@ -164,7 +180,11 @@ public final class BindingUtils {
|
||||
}
|
||||
|
||||
static public boolean belongsToNamespace(@NotNull BindingContext context, @NotNull JetProperty property) {
|
||||
return getPropertyDescriptor(context, property).getContainingDeclaration() instanceof NamespaceDescriptor;
|
||||
return belongsToNamespace(context, getPropertyDescriptor(context, property));
|
||||
}
|
||||
|
||||
static public boolean belongsToNamespace(@NotNull BindingContext context, @NotNull PropertyDescriptor descriptor) {
|
||||
return descriptor.getContainingDeclaration() instanceof NamespaceDescriptor;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
|
||||
@@ -1,166 +0,0 @@
|
||||
package org.jetbrains.k2js.translate;
|
||||
|
||||
import com.google.dart.compiler.backend.js.ast.*;
|
||||
import com.google.dart.compiler.util.AstUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jet.lang.descriptors.PropertyGetterDescriptor;
|
||||
import org.jetbrains.jet.lang.descriptors.PropertySetterDescriptor;
|
||||
import org.jetbrains.jet.lang.psi.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author Talanov Pavel
|
||||
*/
|
||||
public final class DeclarationBodyVisitor extends TranslatorVisitor<List<JsPropertyInitializer>> {
|
||||
|
||||
|
||||
@NotNull
|
||||
public List<JsPropertyInitializer> traverseClass(@NotNull JetClass expression,
|
||||
@NotNull TranslationContext context) {
|
||||
List<JsPropertyInitializer> properties = new ArrayList<JsPropertyInitializer>();
|
||||
for (JetDeclaration declaration : expression.getDeclarations()) {
|
||||
properties.addAll(declaration.accept(this, context));
|
||||
}
|
||||
return properties;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public List<JsPropertyInitializer> traverseNamespace(@NotNull JetNamespace expression,
|
||||
@NotNull TranslationContext context) {
|
||||
List<JsPropertyInitializer> properties = new ArrayList<JsPropertyInitializer>();
|
||||
for (JetDeclaration declaration : expression.getDeclarations()) {
|
||||
properties.addAll(declaration.accept(this, context));
|
||||
}
|
||||
return properties;
|
||||
}
|
||||
|
||||
@Override
|
||||
@NotNull
|
||||
public List<JsPropertyInitializer> visitClass(@NotNull JetClass expression, @NotNull TranslationContext context) {
|
||||
//TODO:
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
@Override
|
||||
@NotNull
|
||||
public List<JsPropertyInitializer> visitNamedFunction(@NotNull JetNamedFunction expression, @NotNull TranslationContext context) {
|
||||
return Arrays.asList(Translation.functionTranslator(context).translateAsMethod(expression));
|
||||
}
|
||||
|
||||
@Override
|
||||
@NotNull
|
||||
public List<JsPropertyInitializer> visitProperty(@NotNull JetProperty expression, @NotNull TranslationContext context) {
|
||||
List<JsPropertyInitializer> methods = new ArrayList<JsPropertyInitializer>();
|
||||
addSetterToMethods(expression, context, methods);
|
||||
addGetterToMethods(expression, context, methods);
|
||||
return methods;
|
||||
}
|
||||
|
||||
private void addGetterToMethods(@NotNull JetProperty expression, @NotNull TranslationContext context,
|
||||
@NotNull List<JsPropertyInitializer> methods) {
|
||||
JetPropertyAccessor getter = expression.getGetter();
|
||||
if (getter != null) {
|
||||
methods.addAll(getter.accept(this, context));
|
||||
} else {
|
||||
methods.add(generateDefaultGetter(expression, context));
|
||||
}
|
||||
}
|
||||
|
||||
private void addSetterToMethods(@NotNull JetProperty expression, @NotNull TranslationContext context,
|
||||
@NotNull List<JsPropertyInitializer> methods) {
|
||||
JetPropertyAccessor setter = expression.getSetter();
|
||||
if (setter != null) {
|
||||
methods.addAll(setter.accept(this, context));
|
||||
} else {
|
||||
if (expression.isVar()) {
|
||||
methods.add(generateDefaultSetter(expression, context));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private JsPropertyInitializer generateDefaultGetter
|
||||
(@NotNull JetProperty expression, @NotNull TranslationContext context) {
|
||||
PropertyGetterDescriptor getterDescriptor =
|
||||
BindingUtils.getPropertyGetterDescriptorForProperty(context.bindingContext(), expression);
|
||||
return AstUtil.newNamedMethod(context.getNameForDescriptor(getterDescriptor),
|
||||
generateDefaultGetterFunction(expression, context.newPropertyAccess(getterDescriptor)));
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private JsFunction generateDefaultGetterFunction(@NotNull JetProperty expression,
|
||||
@NotNull TranslationContext context) {
|
||||
JsReturn returnExpression = new JsReturn(backingFieldReference(expression, context));
|
||||
return AstUtil.newFunction
|
||||
(context.enclosingScope(), null, new ArrayList<JsParameter>(), AstUtil.convertToBlock(returnExpression));
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private JsPropertyInitializer generateDefaultSetter(@NotNull JetProperty expression,
|
||||
@NotNull TranslationContext context) {
|
||||
PropertySetterDescriptor setterDescriptor =
|
||||
BindingUtils.getPropertySetterDescriptorForProperty(context.bindingContext(), expression);
|
||||
return AstUtil.newNamedMethod(context.getNameForDescriptor(setterDescriptor),
|
||||
generateDefaultSetterFunction(expression, context.newPropertyAccess(setterDescriptor)));
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private JsFunction generateDefaultSetterFunction(@NotNull JetProperty expression,
|
||||
@NotNull TranslationContext context) {
|
||||
JsFunction result = new JsFunction(context.enclosingScope());
|
||||
JsParameter defaultParameter = new JsParameter(context.enclosingScope().declareTemporary());
|
||||
JsBinaryOperation assignment = assignmentToBackingFieldFromDefaultParameter
|
||||
(expression, context, defaultParameter);
|
||||
result.setParameters(Arrays.asList(defaultParameter));
|
||||
result.setBody(AstUtil.convertToBlock(assignment));
|
||||
return result;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private JsBinaryOperation assignmentToBackingFieldFromDefaultParameter
|
||||
(@NotNull JetProperty expression, @NotNull TranslationContext context,
|
||||
@NotNull JsParameter defaultParameter) {
|
||||
return AstUtil.newAssignment(backingFieldReference(expression, context), defaultParameter.getName().makeRef());
|
||||
}
|
||||
|
||||
@Override
|
||||
@NotNull
|
||||
public List<JsPropertyInitializer> visitPropertyAccessor(@NotNull JetPropertyAccessor expression,
|
||||
@NotNull TranslationContext context) {
|
||||
List<JsPropertyInitializer> methods = new ArrayList<JsPropertyInitializer>();
|
||||
methods.add(generateMethodForAccessor(expression, context));
|
||||
return methods;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private JsPropertyInitializer generateMethodForAccessor(@NotNull JetPropertyAccessor expression,
|
||||
@NotNull TranslationContext context) {
|
||||
JsFunction methodBody = translateAccessorBody(expression, context);
|
||||
// we know that custom getters and setters always have their descriptors
|
||||
return AstUtil.newNamedMethod(context.getNameForElement(expression), methodBody);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private JsFunction translateAccessorBody(@NotNull JetPropertyAccessor expression,
|
||||
@NotNull TranslationContext context) {
|
||||
JsFunction methodBody = JsFunction.getAnonymousFunctionWithScope(context.getScopeForElement(expression));
|
||||
JetExpression bodyExpression = expression.getBodyExpression();
|
||||
assert bodyExpression != null : "Custom accessor should have a body.";
|
||||
JsBlock methodBodyBlock = AstUtil.convertToBlock(
|
||||
Translation.translateExpression(bodyExpression, context.newPropertyAccess(expression)));
|
||||
methodBody.setBody(methodBodyBlock);
|
||||
return methodBody;
|
||||
}
|
||||
|
||||
@Override
|
||||
@NotNull
|
||||
public List<JsPropertyInitializer> visitAnonymousInitializer(@NotNull JetClassInitializer expression,
|
||||
@NotNull TranslationContext context) {
|
||||
// parsed it in initializer visitor => no additional actions are needed
|
||||
return Collections.emptyList();
|
||||
}
|
||||
}
|
||||
@@ -22,6 +22,6 @@ public final class ExpressionTranslator extends AbstractTranslator {
|
||||
|
||||
@NotNull
|
||||
public JsNode translate(@NotNull JetExpression jetExpression) {
|
||||
return jetExpression.accept(visitor, translationContext());
|
||||
return jetExpression.accept(visitor, context());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -94,7 +94,7 @@ public final class ExpressionVisitor extends TranslatorVisitor<JsNode> {
|
||||
@NotNull
|
||||
// assume it is a local variable declaration
|
||||
public JsNode visitProperty(@NotNull JetProperty expression, @NotNull TranslationContext context) {
|
||||
JsName jsPropertyName = context.declareLocalName(getPropertyName(expression));
|
||||
JsName jsPropertyName = context.declareLocalName(TranslationUtils.getPropertyName(expression));
|
||||
JsExpression jsInitExpression = translateInitializerForProperty(expression, context);
|
||||
return AstUtil.newVar(jsPropertyName, jsInitExpression);
|
||||
}
|
||||
|
||||
@@ -23,14 +23,14 @@ public final class FunctionTranslator extends AbstractTranslator {
|
||||
}
|
||||
|
||||
@NotNull
|
||||
JsPropertyInitializer translateAsMethod(@NotNull JetNamedFunction expression) {
|
||||
JsName functionName = translationContext().getNameForElement(expression);
|
||||
public JsPropertyInitializer translateAsMethod(@NotNull JetNamedFunction expression) {
|
||||
JsName functionName = context().getNameForElement(expression);
|
||||
JsFunction function = generateFunctionObject(expression);
|
||||
return new JsPropertyInitializer(functionName.makeRef(), function);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
JsFunction translateAsLiteral(@NotNull JetFunctionLiteral expression) {
|
||||
public JsFunction translateAsLiteral(@NotNull JetFunctionLiteral expression) {
|
||||
return generateFunctionObject(expression);
|
||||
}
|
||||
|
||||
@@ -45,10 +45,10 @@ public final class FunctionTranslator extends AbstractTranslator {
|
||||
private JsFunction createFunctionObject(JetFunction function) {
|
||||
if (function instanceof JetNamedFunction) {
|
||||
return JsFunction.getAnonymousFunctionWithScope
|
||||
(translationContext().getScopeForElement(function));
|
||||
(context().getScopeForElement(function));
|
||||
}
|
||||
if (function instanceof JetFunctionLiteral) {
|
||||
return new JsFunction(translationContext().enclosingScope());
|
||||
return new JsFunction(context().enclosingScope());
|
||||
}
|
||||
throw new AssertionError("Unsupported type of function.");
|
||||
}
|
||||
@@ -90,10 +90,10 @@ public final class FunctionTranslator extends AbstractTranslator {
|
||||
private TranslationContext functionBodyContext(@NotNull JetFunction function,
|
||||
@NotNull JsScope functionScope) {
|
||||
if (function instanceof JetNamedFunction) {
|
||||
return translationContext().newFunctionDeclaration((JetNamedFunction) function);
|
||||
return context().newFunctionDeclaration((JetNamedFunction) function);
|
||||
}
|
||||
if (function instanceof JetFunctionLiteral) {
|
||||
return translationContext().newFunctionLiteral(functionScope);
|
||||
return context().newFunctionLiteral(functionScope);
|
||||
}
|
||||
throw new AssertionError("Unsupported type of function.");
|
||||
}
|
||||
|
||||
@@ -25,26 +25,26 @@ public class OperationTranslator extends AbstractTranslator {
|
||||
if (operationDescriptor == null) {
|
||||
return null;
|
||||
}
|
||||
if (!translationContext().isDeclared(operationDescriptor)) {
|
||||
if (!context().isDeclared(operationDescriptor)) {
|
||||
return null;
|
||||
}
|
||||
return translationContext().getNameForDescriptor(operationDescriptor).makeRef();
|
||||
return context().getNameForDescriptor(operationDescriptor).makeRef();
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private DeclarationDescriptor getOperationDescriptor(@NotNull JetSimpleNameExpression expression) {
|
||||
return BindingUtils.getDescriptorForReferenceExpression
|
||||
(translationContext().bindingContext(), expression);
|
||||
(context().bindingContext(), expression);
|
||||
}
|
||||
|
||||
protected boolean isPropertyAccess(@NotNull JetExpression expression) {
|
||||
return Translation.propertyAccessTranslator(translationContext()).canBePropertyAccess(expression);
|
||||
return Translation.propertyAccessTranslator(context()).canBePropertyAccess(expression);
|
||||
|
||||
}
|
||||
|
||||
protected boolean isVariableReassignment(@NotNull JetExpression expression) {
|
||||
return BindingUtils.isVariableReassignment
|
||||
(translationContext().bindingContext(), expression);
|
||||
(context().bindingContext(), expression);
|
||||
}
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@ public class OperationTranslator extends AbstractTranslator {
|
||||
private final JsName variableName;
|
||||
|
||||
private TemporaryVariable(@NotNull JsExpression initExpression) {
|
||||
this.variableName = translationContext().enclosingScope().declareTemporary();
|
||||
this.variableName = context().enclosingScope().declareTemporary();
|
||||
this.assignmentExpression = AstUtil.newAssignment(variableName.makeRef(), initExpression);
|
||||
}
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ public final class PatternTranslator extends AbstractTranslator {
|
||||
|
||||
@NotNull
|
||||
public JsExpression translateIsExpression(@NotNull JetIsExpression expression) {
|
||||
JsExpression left = Translation.translateAsExpression(expression.getLeftHandSide(), translationContext());
|
||||
JsExpression left = Translation.translateAsExpression(expression.getLeftHandSide(), context());
|
||||
JetPattern pattern = getPattern(expression);
|
||||
JsExpression resultingExpression = translatePattern(pattern, left);
|
||||
if (expression.isNegated()) {
|
||||
@@ -66,11 +66,11 @@ public final class PatternTranslator extends AbstractTranslator {
|
||||
|
||||
@NotNull
|
||||
private JsExpression addNullCheck(@NotNull JsExpression expressionToMatch, @NotNull JsInvocation isCheck) {
|
||||
return AstUtil.or(TranslationUtils.isNullCheck(translationContext(), expressionToMatch), isCheck);
|
||||
return AstUtil.or(TranslationUtils.isNullCheck(context(), expressionToMatch), isCheck);
|
||||
}
|
||||
|
||||
private boolean isNullable(JetTypePattern pattern) {
|
||||
return BindingUtils.getTypeByReference(translationContext().bindingContext(),
|
||||
return BindingUtils.getTypeByReference(context().bindingContext(),
|
||||
getTypeReference(pattern)).isNullable();
|
||||
}
|
||||
|
||||
@@ -90,10 +90,10 @@ public final class PatternTranslator extends AbstractTranslator {
|
||||
@NotNull
|
||||
private JsNameRef getClassNameReferenceForTypeReference(@NotNull JetTypeReference typeReference) {
|
||||
ClassDescriptor referencedClass = BindingUtils.getClassDescriptorForTypeReference
|
||||
(translationContext().bindingContext(), typeReference);
|
||||
(context().bindingContext(), typeReference);
|
||||
//TODO should reference class by full name here
|
||||
JsName className = translationContext().getNameForDescriptor(referencedClass);
|
||||
return translationContext().getNamespaceQualifiedReference(className);
|
||||
JsName className = context().getNameForDescriptor(referencedClass);
|
||||
return context().getNamespaceQualifiedReference(className);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -101,7 +101,7 @@ public final class PatternTranslator extends AbstractTranslator {
|
||||
JetExpression patternExpression = pattern.getExpression();
|
||||
assert patternExpression != null : "Expression patter should have an expression.";
|
||||
JsExpression expressionToMatchAgainst =
|
||||
Translation.translateAsExpression(patternExpression, translationContext());
|
||||
Translation.translateAsExpression(patternExpression, context());
|
||||
return AstUtil.equals(expressionToMatch, expressionToMatchAgainst);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -89,7 +89,7 @@ public final class PropertyAccessTranslator extends AbstractTranslator {
|
||||
@NotNull
|
||||
private JsInvocation resolveAsPropertyGet(@NotNull JetSimpleNameExpression expression) {
|
||||
JsName getterName = getNotNullGetterName(expression);
|
||||
JsNameRef getterReference = TranslationUtils.getReference(translationContext(), expression, getterName);
|
||||
JsNameRef getterReference = TranslationUtils.getReference(context(), expression, getterName);
|
||||
return AstUtil.newInvocation(getterReference);
|
||||
}
|
||||
|
||||
@@ -113,7 +113,7 @@ public final class PropertyAccessTranslator extends AbstractTranslator {
|
||||
@NotNull
|
||||
private JsInvocation resolveAsPropertySet(@NotNull JetSimpleNameExpression expression) {
|
||||
JsName setterName = getNotNullSetterName(expression);
|
||||
JsNameRef setterReference = Translation.generateCorrectReference(translationContext(), expression, setterName);
|
||||
JsNameRef setterReference = Translation.generateCorrectReference(context(), expression, setterName);
|
||||
return AstUtil.newInvocation(setterReference);
|
||||
}
|
||||
|
||||
@@ -121,7 +121,7 @@ public final class PropertyAccessTranslator extends AbstractTranslator {
|
||||
private JsInvocation translateReceiverAndReturnAccessorInvocation
|
||||
(@NotNull JetQualifiedExpression qualifiedExpression, @NotNull JsName accessorName) {
|
||||
JsExpression qualifier = Translation.translateAsExpression
|
||||
(qualifiedExpression.getReceiverExpression(), translationContext());
|
||||
(qualifiedExpression.getReceiverExpression(), context());
|
||||
JsNameRef result = accessorName.makeRef();
|
||||
AstUtil.setQualifier(result, qualifier);
|
||||
return AstUtil.newInvocation(result);
|
||||
@@ -162,7 +162,7 @@ public final class PropertyAccessTranslator extends AbstractTranslator {
|
||||
if (getter == null) {
|
||||
return null;
|
||||
}
|
||||
return translationContext().getNameForDescriptor(getter);
|
||||
return context().getNameForDescriptor(getter);
|
||||
}
|
||||
|
||||
|
||||
@@ -183,13 +183,13 @@ public final class PropertyAccessTranslator extends AbstractTranslator {
|
||||
if (setter == null) {
|
||||
return null;
|
||||
}
|
||||
return translationContext().getNameForDescriptor(setter);
|
||||
return context().getNameForDescriptor(setter);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private PropertyDescriptor getPropertyDescriptor(@NotNull JetSimpleNameExpression expression) {
|
||||
ResolvedCall<?> resolvedCall =
|
||||
BindingUtils.getResolvedCall(translationContext().bindingContext(), expression);
|
||||
BindingUtils.getResolvedCall(context().bindingContext(), expression);
|
||||
if (resolvedCall != null) {
|
||||
DeclarationDescriptor descriptor = resolvedCall.getCandidateDescriptor();
|
||||
if (descriptor instanceof PropertyDescriptor) {
|
||||
|
||||
@@ -44,7 +44,7 @@ public class ReferenceTranslator extends AbstractTranslator {
|
||||
@Nullable
|
||||
private JsInvocation resolveAsPropertyAccess(@NotNull JetSimpleNameExpression expression) {
|
||||
|
||||
PropertyAccessTranslator propertyAccessTranslator = Translation.propertyAccessTranslator(translationContext());
|
||||
PropertyAccessTranslator propertyAccessTranslator = Translation.propertyAccessTranslator(context());
|
||||
if (propertyAccessTranslator.canBePropertyGetterCall(expression)) {
|
||||
return propertyAccessTranslator.translateAsPropertyGetterCall(expression);
|
||||
}
|
||||
@@ -54,15 +54,15 @@ public class ReferenceTranslator extends AbstractTranslator {
|
||||
@Nullable
|
||||
private JsExpression resolveAsGlobalReference(@NotNull JetSimpleNameExpression expression) {
|
||||
DeclarationDescriptor referencedDescriptor =
|
||||
BindingUtils.getDescriptorForReferenceExpression(translationContext().bindingContext(), expression);
|
||||
BindingUtils.getDescriptorForReferenceExpression(context().bindingContext(), expression);
|
||||
if (referencedDescriptor == null) {
|
||||
return null;
|
||||
}
|
||||
if (!translationContext().isDeclared(referencedDescriptor)) {
|
||||
if (!context().isDeclared(referencedDescriptor)) {
|
||||
return null;
|
||||
}
|
||||
JsName referencedName = translationContext().getNameForDescriptor(referencedDescriptor);
|
||||
return TranslationUtils.getReference(translationContext(), expression, referencedName);
|
||||
JsName referencedName = context().getNameForDescriptor(referencedDescriptor);
|
||||
return TranslationUtils.getReference(context(), expression, referencedName);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@@ -70,7 +70,7 @@ public class ReferenceTranslator extends AbstractTranslator {
|
||||
String name = expression.getReferencedName();
|
||||
assert name != null : "SimpleNameExpression should reference a name";
|
||||
JsName localReferencedName = TranslationUtils.getLocalReferencedName
|
||||
(translationContext(), name);
|
||||
(context(), name);
|
||||
if (localReferencedName == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -6,6 +6,8 @@ import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jet.lang.psi.*;
|
||||
import org.jetbrains.jet.lang.resolve.BindingContext;
|
||||
import org.jetbrains.k2js.declarations.Declarations;
|
||||
import org.jetbrains.k2js.translate.declaration.ClassTranslator;
|
||||
import org.jetbrains.k2js.translate.declaration.NamespaceTranslator;
|
||||
import org.jetbrains.k2js.translate.initializer.ClassInitializerTranslator;
|
||||
import org.jetbrains.k2js.translate.initializer.NamespaceInitializerTranslator;
|
||||
|
||||
|
||||
@@ -186,7 +186,7 @@ public final class TranslationContext {
|
||||
}
|
||||
|
||||
@NotNull
|
||||
JsName getNameForElement(@NotNull JetElement element) {
|
||||
public JsName getNameForElement(@NotNull JetElement element) {
|
||||
DeclarationDescriptor descriptor = getDescriptorForElement(element);
|
||||
return getNameForDescriptor(descriptor);
|
||||
}
|
||||
|
||||
@@ -4,7 +4,9 @@ import com.google.dart.compiler.backend.js.ast.*;
|
||||
import com.google.dart.compiler.util.AstUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jet.lang.descriptors.PropertyDescriptor;
|
||||
import org.jetbrains.jet.lang.psi.JetExpression;
|
||||
import org.jetbrains.jet.lang.psi.JetProperty;
|
||||
import org.jetbrains.jet.lang.psi.JetSimpleNameExpression;
|
||||
import org.jetbrains.jet.lang.psi.ValueArgument;
|
||||
|
||||
@@ -64,5 +66,41 @@ public final class TranslationUtils {
|
||||
return Translation.translateAsExpression(jetExpression, context);
|
||||
}
|
||||
|
||||
//TODO: refactor
|
||||
@NotNull
|
||||
static public JsNameRef backingFieldReference(@NotNull TranslationContext context,
|
||||
@NotNull JetProperty expression) {
|
||||
JsName backingFieldName = getBackingFieldName(getPropertyName(expression), context);
|
||||
if (BindingUtils.belongsToNamespace(context.bindingContext(), expression)) {
|
||||
return context.getNamespaceQualifiedReference(backingFieldName);
|
||||
}
|
||||
return AstUtil.thisQualifiedReference(backingFieldName);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
static public JsNameRef backingFieldReference(@NotNull TranslationContext context,
|
||||
@NotNull PropertyDescriptor descriptor) {
|
||||
JsName backingFieldName = getBackingFieldName(descriptor.getName(), context);
|
||||
if (BindingUtils.belongsToNamespace(context.bindingContext(), descriptor)) {
|
||||
return context.getNamespaceQualifiedReference(backingFieldName);
|
||||
}
|
||||
return AstUtil.thisQualifiedReference(backingFieldName);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
static public String getPropertyName(@NotNull JetProperty expression) {
|
||||
String propertyName = expression.getName();
|
||||
if (propertyName == null) {
|
||||
throw new AssertionError("Property with no name encountered!");
|
||||
}
|
||||
return propertyName;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
static private JsName getBackingFieldName(@NotNull String propertyName, @NotNull TranslationContext context) {
|
||||
String backingFieldName = Namer.getKotlinBackingFieldName(propertyName);
|
||||
return context.enclosingScope().findExistingName(backingFieldName);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
package org.jetbrains.k2js.translate;
|
||||
|
||||
import com.google.dart.compiler.backend.js.ast.JsExpression;
|
||||
import com.google.dart.compiler.backend.js.ast.JsName;
|
||||
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.Nullable;
|
||||
import org.jetbrains.jet.lang.psi.JetElement;
|
||||
@@ -24,31 +21,6 @@ public class TranslatorVisitor<T> extends JetVisitor<T, TranslationContext> {
|
||||
throw new RuntimeException("Unsupported expression encountered:" + expression.toString());
|
||||
}
|
||||
|
||||
@NotNull
|
||||
protected JsNameRef backingFieldReference(@NotNull JetProperty expression, @NotNull TranslationContext context) {
|
||||
JsName backingFieldName = getBackingFieldName(getPropertyName(expression), context);
|
||||
if (BindingUtils.belongsToNamespace(context.bindingContext(), expression)) {
|
||||
return context.getNamespaceQualifiedReference(backingFieldName);
|
||||
}
|
||||
return AstUtil.thisQualifiedReference(backingFieldName);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
protected String getPropertyName(@NotNull JetProperty expression) {
|
||||
String propertyName = expression.getName();
|
||||
if (propertyName == null) {
|
||||
throw new AssertionError("Property with no name encountered!");
|
||||
}
|
||||
return propertyName;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private JsName getBackingFieldName(@NotNull String propertyName, @NotNull TranslationContext context) {
|
||||
String backingFieldName = Namer.getKotlinBackingFieldName(propertyName);
|
||||
return context.enclosingScope().findExistingName(backingFieldName);
|
||||
}
|
||||
|
||||
|
||||
@Nullable
|
||||
protected JsExpression translateInitializerForProperty(@NotNull JetProperty declaration,
|
||||
@NotNull TranslationContext context) {
|
||||
|
||||
@@ -45,7 +45,7 @@ public final class UnaryOperationTranslator extends OperationTranslator {
|
||||
this.expression = expression;
|
||||
this.isPrefix = isPrefix;
|
||||
this.isVariableReassignment = isVariableReassignment(expression);
|
||||
this.isStatement = BindingUtils.isStatement(translationContext().bindingContext(), expression);
|
||||
this.isStatement = BindingUtils.isStatement(context().bindingContext(), expression);
|
||||
this.baseExpression = translateBaseExpression();
|
||||
this.isPropertyAccess = isPropertyAccess(getBaseExpression());
|
||||
this.operationReference = getOverloadedOperationReference(expression.getOperationSign());
|
||||
@@ -120,7 +120,7 @@ public final class UnaryOperationTranslator extends OperationTranslator {
|
||||
@NotNull
|
||||
private JsExpression propertyReassignment(@NotNull JsExpression toCallMethodUpon) {
|
||||
JetExpression jetBaseExpression = getBaseExpression();
|
||||
PropertyAccessTranslator propertyAccessTranslator = Translation.propertyAccessTranslator(translationContext());
|
||||
PropertyAccessTranslator propertyAccessTranslator = Translation.propertyAccessTranslator(context());
|
||||
JsInvocation setterCall = propertyAccessTranslator.translateAsPropertySetterCall(jetBaseExpression);
|
||||
assert propertyAccessTranslator.canBePropertyGetterCall(jetBaseExpression) : "Should be a getter call";
|
||||
JsExpression overloadedMethodCallOnPropertyGetter = operationExpression(toCallMethodUpon);
|
||||
@@ -150,7 +150,7 @@ public final class UnaryOperationTranslator extends OperationTranslator {
|
||||
@NotNull
|
||||
private JsExpression translateBaseExpression() {
|
||||
JetExpression baseExpression = getBaseExpression();
|
||||
return Translation.translateAsExpression(baseExpression, translationContext());
|
||||
return Translation.translateAsExpression(baseExpression, context());
|
||||
}
|
||||
|
||||
private JetExpression getBaseExpression() {
|
||||
@@ -168,7 +168,7 @@ public final class UnaryOperationTranslator extends OperationTranslator {
|
||||
}
|
||||
|
||||
public JsBinaryOperation unaryAsBinary(@NotNull JetToken token, @NotNull JsExpression expression) {
|
||||
JsNumberLiteral oneLiteral = translationContext().program().getNumberLiteral(1);
|
||||
JsNumberLiteral oneLiteral = context().program().getNumberLiteral(1);
|
||||
if (token.equals(JetTokens.PLUSPLUS)) {
|
||||
return new JsBinaryOperation(JsBinaryOperator.ADD, expression, oneLiteral);
|
||||
}
|
||||
|
||||
@@ -55,7 +55,7 @@ public class WhenTranslator extends AbstractTranslator {
|
||||
@NotNull
|
||||
private JsStatement surroundWithDummyIf(@NotNull JsStatement entryStatement) {
|
||||
JsExpression stepNumberEqualsCurrentEntryNumber = new JsBinaryOperation(JsBinaryOperator.EQ,
|
||||
dummyCounterName.makeRef(), translationContext().program().getNumberLiteral(currentEntryNumber));
|
||||
dummyCounterName.makeRef(), context().program().getNumberLiteral(currentEntryNumber));
|
||||
currentEntryNumber++;
|
||||
return new JsIf(stepNumberEqualsCurrentEntryNumber, entryStatement, null);
|
||||
}
|
||||
@@ -71,7 +71,7 @@ public class WhenTranslator extends AbstractTranslator {
|
||||
|
||||
@NotNull
|
||||
private JsVars generateInitStatement() {
|
||||
return AstUtil.newVar(dummyCounterName, translationContext().program().getNumberLiteral(0));
|
||||
return AstUtil.newVar(dummyCounterName, context().program().getNumberLiteral(0));
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -99,7 +99,7 @@ public class WhenTranslator extends AbstractTranslator {
|
||||
private JsStatement translateExpressionToExecute(@NotNull JetWhenEntry entry) {
|
||||
JetExpression expressionToExecute = entry.getExpression();
|
||||
assert expressionToExecute != null : "WhenEntry should have whenExpression to execute.";
|
||||
return Translation.translateAsStatement(expressionToExecute, translationContext());
|
||||
return Translation.translateAsStatement(expressionToExecute, context());
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -146,9 +146,9 @@ public class WhenTranslator extends AbstractTranslator {
|
||||
@NotNull
|
||||
private JsExpression translateCallCondition(@NotNull JetWhenConditionCall condition) {
|
||||
JsExpression suffixExpression =
|
||||
Translation.translateAsExpression(getSuffixExpression(condition), translationContext());
|
||||
Translation.translateAsExpression(getSuffixExpression(condition), context());
|
||||
AstUtil.setQualifier(suffixExpression, expressionToMatch);
|
||||
return AstUtil.equalsTrue(suffixExpression, translationContext().program());
|
||||
return AstUtil.equalsTrue(suffixExpression, context().program());
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -166,7 +166,7 @@ public class WhenTranslator extends AbstractTranslator {
|
||||
|
||||
@NotNull
|
||||
private JsExpression translatePatternCondition(@NotNull JetWhenConditionIsPattern condition) {
|
||||
JsExpression patternMatchExpression = Translation.patternTranslator(translationContext()).
|
||||
JsExpression patternMatchExpression = Translation.patternTranslator(context()).
|
||||
translatePattern(getPattern(condition), expressionToMatch);
|
||||
if (condition.isNegated()) {
|
||||
return AstUtil.negated(patternMatchExpression);
|
||||
@@ -185,6 +185,6 @@ public class WhenTranslator extends AbstractTranslator {
|
||||
private JsExpression translateExpressionToMatch(@NotNull JetWhenExpression expression) {
|
||||
JetExpression subject = expression.getSubjectExpression();
|
||||
assert subject != null : "Subject should not be null.";
|
||||
return Translation.translateAsExpression(subject, translationContext());
|
||||
return Translation.translateAsExpression(subject, context());
|
||||
}
|
||||
}
|
||||
|
||||
+10
-6
@@ -1,4 +1,4 @@
|
||||
package org.jetbrains.k2js.translate;
|
||||
package org.jetbrains.k2js.translate.declaration;
|
||||
|
||||
import com.google.dart.compiler.backend.js.ast.*;
|
||||
import com.google.dart.compiler.util.AstUtil;
|
||||
@@ -7,6 +7,10 @@ import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jet.lang.psi.JetClass;
|
||||
import org.jetbrains.jet.lang.psi.JetDeclaration;
|
||||
import org.jetbrains.jet.lang.psi.JetNamespace;
|
||||
import org.jetbrains.k2js.translate.AbstractTranslator;
|
||||
import org.jetbrains.k2js.translate.Namer;
|
||||
import org.jetbrains.k2js.translate.Translation;
|
||||
import org.jetbrains.k2js.translate.TranslationContext;
|
||||
import org.jetbrains.k2js.utils.ClassSorter;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -35,11 +39,11 @@ public final class ClassDeclarationTranslator extends AbstractTranslator {
|
||||
super(context);
|
||||
this.namespace = namespace;
|
||||
this.localToGlobalClassName = new HashMap<JsName, JsName>();
|
||||
this.dummyFunctionScope = new JsScope(translationContext().enclosingScope(), "class declaration function");
|
||||
this.dummyFunctionScope = new JsScope(context().enclosingScope(), "class declaration function");
|
||||
}
|
||||
|
||||
public void generateDeclarations() {
|
||||
declarationsObject = translationContext().enclosingScope().declareName(Namer.nameForClassesVariable());
|
||||
declarationsObject = context().enclosingScope().declareName(Namer.nameForClassesVariable());
|
||||
assert declarationsObject != null;
|
||||
declarationsStatement =
|
||||
AstUtil.newAssignmentStatement(declarationsObject.makeRef(), generateDummyFunctionInvocation());
|
||||
@@ -97,16 +101,16 @@ public final class ClassDeclarationTranslator extends AbstractTranslator {
|
||||
classes.add((JetClass) declaration);
|
||||
}
|
||||
}
|
||||
return ClassSorter.sortUsingInheritanceOrder(classes, translationContext().bindingContext());
|
||||
return ClassSorter.sortUsingInheritanceOrder(classes, context().bindingContext());
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private JsStatement generateDeclaration(@NotNull JetClass declaration) {
|
||||
JsName globalClassName = translationContext().getNameForElement(declaration);
|
||||
JsName globalClassName = context().getNameForElement(declaration);
|
||||
JsName localClassName = dummyFunctionScope.declareName(globalClassName.getIdent());
|
||||
localToGlobalClassName.put(localClassName, globalClassName);
|
||||
JsInvocation classDeclarationExpression =
|
||||
Translation.translateClassDeclaration(declaration, translationContext());
|
||||
Translation.translateClassDeclaration(declaration, context());
|
||||
return AstUtil.newVar(localClassName, classDeclarationExpression);
|
||||
}
|
||||
}
|
||||
+13
-7
@@ -1,4 +1,4 @@
|
||||
package org.jetbrains.k2js.translate;
|
||||
package org.jetbrains.k2js.translate.declaration;
|
||||
|
||||
import com.google.dart.compiler.backend.js.ast.JsInvocation;
|
||||
import com.google.dart.compiler.backend.js.ast.JsNameRef;
|
||||
@@ -10,6 +10,7 @@ import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jet.lang.descriptors.ClassDescriptor;
|
||||
import org.jetbrains.jet.lang.descriptors.ClassKind;
|
||||
import org.jetbrains.jet.lang.psi.JetClass;
|
||||
import org.jetbrains.k2js.translate.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -69,7 +70,7 @@ public final class ClassTranslator extends AbstractTranslator {
|
||||
private List<JsNameRef> getSuperclassNameReferences() {
|
||||
List<JsNameRef> superclassReferences = new ArrayList<JsNameRef>();
|
||||
List<ClassDescriptor> superclassDescriptors =
|
||||
BindingUtils.getSuperclassDescriptors(translationContext().bindingContext(), classDeclaration);
|
||||
BindingUtils.getSuperclassDescriptors(context().bindingContext(), classDeclaration);
|
||||
addAncestorClass(superclassReferences, superclassDescriptors);
|
||||
addTraits(superclassReferences, superclassDescriptors);
|
||||
return superclassReferences;
|
||||
@@ -96,8 +97,8 @@ public final class ClassTranslator extends AbstractTranslator {
|
||||
@NotNull
|
||||
private JsNameRef getClassReference(@NotNull ClassDescriptor superClassDescriptor) {
|
||||
//TODO should get a full class name here
|
||||
return translationContext().getNamespaceQualifiedReference
|
||||
(translationContext().getNameForDescriptor(superClassDescriptor));
|
||||
return context().getNamespaceQualifiedReference
|
||||
(context().getNameForDescriptor(superClassDescriptor));
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@@ -111,10 +112,15 @@ public final class ClassTranslator extends AbstractTranslator {
|
||||
private JsObjectLiteral translateClassDeclarations() {
|
||||
List<JsPropertyInitializer> propertyList = new ArrayList<JsPropertyInitializer>();
|
||||
if (!classDeclaration.isTrait()) {
|
||||
propertyList.add(Translation.generateClassInitializerMethod(classDeclaration, translationContext()));
|
||||
propertyList.add(Translation.generateClassInitializerMethod(classDeclaration, context()));
|
||||
}
|
||||
propertyList.addAll(declarationBodyVisitor.traverseClass(classDeclaration,
|
||||
translationContext()));
|
||||
// propertyList.addAll(translatePropertiesAsConstructorParameters());
|
||||
propertyList.addAll(declarationBodyVisitor.traverseClass(classDeclaration, context()));
|
||||
return new JsObjectLiteral(propertyList);
|
||||
}
|
||||
//
|
||||
// @NotNull
|
||||
// private List<JsPropertyInitializer> translatePropertiesAsConstructorParameters() {
|
||||
// List<JsPropertyInitializer>
|
||||
// }
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
package org.jetbrains.k2js.translate.declaration;
|
||||
|
||||
import com.google.dart.compiler.backend.js.ast.JsPropertyInitializer;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jet.lang.descriptors.PropertyDescriptor;
|
||||
import org.jetbrains.jet.lang.psi.*;
|
||||
import org.jetbrains.k2js.translate.BindingUtils;
|
||||
import org.jetbrains.k2js.translate.Translation;
|
||||
import org.jetbrains.k2js.translate.TranslationContext;
|
||||
import org.jetbrains.k2js.translate.TranslatorVisitor;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author Talanov Pavel
|
||||
*/
|
||||
public final class DeclarationBodyVisitor extends TranslatorVisitor<List<JsPropertyInitializer>> {
|
||||
|
||||
|
||||
@NotNull
|
||||
public List<JsPropertyInitializer> traverseClass(@NotNull JetClass expression,
|
||||
@NotNull TranslationContext context) {
|
||||
List<JsPropertyInitializer> properties = new ArrayList<JsPropertyInitializer>();
|
||||
for (JetDeclaration declaration : expression.getDeclarations()) {
|
||||
properties.addAll(declaration.accept(this, context));
|
||||
}
|
||||
return properties;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public List<JsPropertyInitializer> traverseNamespace(@NotNull JetNamespace expression,
|
||||
@NotNull TranslationContext context) {
|
||||
List<JsPropertyInitializer> properties = new ArrayList<JsPropertyInitializer>();
|
||||
for (JetDeclaration declaration : expression.getDeclarations()) {
|
||||
properties.addAll(declaration.accept(this, context));
|
||||
}
|
||||
return properties;
|
||||
}
|
||||
|
||||
@Override
|
||||
@NotNull
|
||||
public List<JsPropertyInitializer> visitClass(@NotNull JetClass expression, @NotNull TranslationContext context) {
|
||||
//TODO:
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
@Override
|
||||
@NotNull
|
||||
public List<JsPropertyInitializer> visitNamedFunction(@NotNull JetNamedFunction expression,
|
||||
@NotNull TranslationContext context) {
|
||||
return Arrays.asList(Translation.functionTranslator(context).translateAsMethod(expression));
|
||||
}
|
||||
|
||||
@Override
|
||||
@NotNull
|
||||
public List<JsPropertyInitializer> visitProperty(@NotNull JetProperty expression,
|
||||
@NotNull TranslationContext context) {
|
||||
PropertyDescriptor propertyDescriptor =
|
||||
BindingUtils.getPropertyDescriptor(context.bindingContext(), expression);
|
||||
return PropertyTranslator.translateAccessors(propertyDescriptor, context);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
@NotNull
|
||||
public List<JsPropertyInitializer> visitAnonymousInitializer(@NotNull JetClassInitializer expression,
|
||||
@NotNull TranslationContext context) {
|
||||
// parsed it in initializer visitor => no additional actions are needed
|
||||
return Collections.emptyList();
|
||||
}
|
||||
}
|
||||
+8
-4
@@ -1,9 +1,13 @@
|
||||
package org.jetbrains.k2js.translate;
|
||||
package org.jetbrains.k2js.translate.declaration;
|
||||
|
||||
import com.google.dart.compiler.backend.js.ast.*;
|
||||
import com.google.dart.compiler.util.AstUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jet.lang.psi.JetNamespace;
|
||||
import org.jetbrains.k2js.translate.AbstractTranslator;
|
||||
import org.jetbrains.k2js.translate.Namer;
|
||||
import org.jetbrains.k2js.translate.Translation;
|
||||
import org.jetbrains.k2js.translate.TranslationContext;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -62,7 +66,7 @@ public final class NamespaceTranslator extends AbstractTranslator {
|
||||
addMemberDeclarations(namespaceDeclaration);
|
||||
addClassesDeclarations(namespaceDeclaration);
|
||||
return AstUtil.newAssignmentStatement
|
||||
(translationContext().getNameForElement(namespace).makeRef(), namespaceDeclaration);
|
||||
(context().getNameForElement(namespace).makeRef(), namespaceDeclaration);
|
||||
}
|
||||
|
||||
private void addClassesDeclarations(@NotNull JsInvocation namespaceDeclaration) {
|
||||
@@ -77,8 +81,8 @@ public final class NamespaceTranslator extends AbstractTranslator {
|
||||
@NotNull
|
||||
private JsObjectLiteral translateNamespaceMemberDeclarations() {
|
||||
List<JsPropertyInitializer> propertyList = new ArrayList<JsPropertyInitializer>();
|
||||
propertyList.add(Translation.generateNamespaceInitializerMethod(namespace, translationContext()));
|
||||
propertyList.addAll(new DeclarationBodyVisitor().traverseNamespace(namespace, translationContext()));
|
||||
propertyList.add(Translation.generateNamespaceInitializerMethod(namespace, context()));
|
||||
propertyList.addAll(new DeclarationBodyVisitor().traverseNamespace(namespace, context()));
|
||||
return new JsObjectLiteral(propertyList);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,161 @@
|
||||
package org.jetbrains.k2js.translate.declaration;
|
||||
|
||||
import com.google.dart.compiler.backend.js.ast.*;
|
||||
import com.google.dart.compiler.util.AstUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
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.JetExpression;
|
||||
import org.jetbrains.jet.lang.psi.JetProperty;
|
||||
import org.jetbrains.jet.lang.psi.JetPropertyAccessor;
|
||||
import org.jetbrains.k2js.translate.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author Talanov Pavel
|
||||
*/
|
||||
public final class PropertyTranslator extends AbstractTranslator {
|
||||
|
||||
@NotNull
|
||||
private final PropertyDescriptor property;
|
||||
@NotNull
|
||||
private final List<JsPropertyInitializer> accessors = new ArrayList<JsPropertyInitializer>();
|
||||
@Nullable
|
||||
private final JetProperty declaration;
|
||||
|
||||
static public List<JsPropertyInitializer> translateAccessors(@NotNull PropertyDescriptor descriptor,
|
||||
@NotNull TranslationContext context) {
|
||||
PropertyTranslator propertyTranslator = new PropertyTranslator(descriptor, context);
|
||||
return propertyTranslator.translate();
|
||||
}
|
||||
|
||||
private PropertyTranslator(@NotNull PropertyDescriptor property, @NotNull TranslationContext context) {
|
||||
super(context);
|
||||
this.property = property;
|
||||
this.declaration = BindingUtils.getPropertyForDescriptor(context().bindingContext(), property);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private List<JsPropertyInitializer> translate() {
|
||||
addGetter();
|
||||
if (property.isVar()) {
|
||||
addSetter();
|
||||
}
|
||||
return accessors;
|
||||
}
|
||||
|
||||
private void addGetter() {
|
||||
if (hasCustomGetter()) {
|
||||
accessors.add(translateCustomAccessor(getCustomGetterDeclaration()));
|
||||
} else {
|
||||
accessors.add(generateDefaultGetter());
|
||||
}
|
||||
}
|
||||
|
||||
private void addSetter() {
|
||||
if (hasCustomSetter()) {
|
||||
accessors.add(translateCustomAccessor(getCustomSetterDeclaration()));
|
||||
} else {
|
||||
accessors.add(generateDefaultSetter());
|
||||
}
|
||||
}
|
||||
|
||||
private boolean hasCustomGetter() {
|
||||
return ((declaration != null) && (declaration.getGetter() != null));
|
||||
}
|
||||
|
||||
private boolean hasCustomSetter() {
|
||||
return ((declaration != null) && (declaration.getSetter() != null));
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private JetPropertyAccessor getCustomGetterDeclaration() {
|
||||
assert declaration != null;
|
||||
JetPropertyAccessor getterDeclaration = declaration.getGetter();
|
||||
assert getterDeclaration != null;
|
||||
return getterDeclaration;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private JetPropertyAccessor getCustomSetterDeclaration() {
|
||||
assert declaration != null;
|
||||
JetPropertyAccessor setter = declaration.getSetter();
|
||||
assert setter != null;
|
||||
return setter;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private JsPropertyInitializer generateDefaultGetter() {
|
||||
PropertyGetterDescriptor getterDescriptor = property.getGetter();
|
||||
assert getterDescriptor != null : "Getter descriptor should not be null";
|
||||
return AstUtil.newNamedMethod(context().getNameForDescriptor(getterDescriptor),
|
||||
generateDefaultGetterFunction(getterDescriptor));
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private JsFunction generateDefaultGetterFunction(@NotNull PropertyGetterDescriptor descriptor) {
|
||||
JsReturn returnExpression = new JsReturn(backingFieldReference());
|
||||
JsFunction getterFunction =
|
||||
JsFunction.getAnonymousFunctionWithScope(context().getScopeForDescriptor(descriptor));
|
||||
getterFunction.setBody(AstUtil.convertToBlock(returnExpression));
|
||||
return getterFunction;
|
||||
}
|
||||
|
||||
private JsNameRef backingFieldReference() {
|
||||
return TranslationUtils.backingFieldReference(context(), property);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private JsPropertyInitializer generateDefaultSetter() {
|
||||
PropertySetterDescriptor setterDescriptor = property.getSetter();
|
||||
assert setterDescriptor != null : "Setter descriptor should not be null";
|
||||
return AstUtil.newNamedMethod(context().getNameForDescriptor(setterDescriptor),
|
||||
generateDefaultSetterFunction(setterDescriptor));
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private JsFunction generateDefaultSetterFunction(@NotNull PropertySetterDescriptor propertySetterDescriptor) {
|
||||
JsFunction result = JsFunction.getAnonymousFunctionWithScope(
|
||||
context().getScopeForDescriptor(propertySetterDescriptor));
|
||||
JsParameter defaultParameter =
|
||||
new JsParameter(propertyAccessContext(propertySetterDescriptor).enclosingScope().declareTemporary());
|
||||
JsBinaryOperation assignment = assignmentToBackingFieldFromDefaultParameter(defaultParameter);
|
||||
result.setParameters(Arrays.asList(defaultParameter));
|
||||
result.setBody(AstUtil.convertToBlock(assignment));
|
||||
return result;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private TranslationContext propertyAccessContext(@NotNull PropertySetterDescriptor propertySetterDescriptor) {
|
||||
return context().newPropertyAccess(propertySetterDescriptor);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private JsBinaryOperation assignmentToBackingFieldFromDefaultParameter(@NotNull JsParameter defaultParameter) {
|
||||
return AstUtil.newAssignment(backingFieldReference(), defaultParameter.getName().makeRef());
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private JsPropertyInitializer translateCustomAccessor(@NotNull JetPropertyAccessor expression) {
|
||||
JsFunction methodBody = translateCustomAccessorBody(expression);
|
||||
// we know that custom getters and setters always have their descriptors
|
||||
return AstUtil.newNamedMethod(context().getNameForElement(expression), methodBody);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private JsFunction translateCustomAccessorBody(@NotNull JetPropertyAccessor expression) {
|
||||
JsFunction methodBody = JsFunction.getAnonymousFunctionWithScope(context().getScopeForElement(expression));
|
||||
JetExpression bodyExpression = expression.getBodyExpression();
|
||||
assert bodyExpression != null : "Custom accessor should have a body.";
|
||||
JsBlock methodBodyBlock = AstUtil.convertToBlock(
|
||||
Translation.translateExpression(bodyExpression, context().newPropertyAccess(expression)));
|
||||
methodBody.setBody(methodBodyBlock);
|
||||
return methodBody;
|
||||
}
|
||||
|
||||
}
|
||||
+2
-2
@@ -35,13 +35,13 @@ public abstract class AbstractInitializerTranslator extends AbstractTranslator {
|
||||
@NotNull
|
||||
public JsPropertyInitializer generateInitializeMethod() {
|
||||
JsPropertyInitializer initializer = new JsPropertyInitializer();
|
||||
initializer.setLabelExpr(translationContext().program().getStringLiteral(Namer.INITIALIZE_METHOD_NAME));
|
||||
initializer.setLabelExpr(context().program().getStringLiteral(Namer.INITIALIZE_METHOD_NAME));
|
||||
initializer.setValueExpr(generateInitializerFunction());
|
||||
return initializer;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
protected List<JsStatement> translatePropertyAndAnonymousInitializers(@NotNull JetDeclaration declaration) {
|
||||
return visitor.traverse(declaration, translationContext());
|
||||
return visitor.traverse(declaration, context());
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -55,7 +55,7 @@ public final class ClassInitializerTranslator extends AbstractInitializerTransla
|
||||
@NotNull
|
||||
private List<JsStatement> generateCallToSuperMethod() {
|
||||
List<JsStatement> result = new ArrayList<JsStatement>();
|
||||
if (BindingUtils.hasAncestorClass(translationContext().bindingContext(), classDeclaration)) {
|
||||
if (BindingUtils.hasAncestorClass(context().bindingContext(), classDeclaration)) {
|
||||
JsName superMethodName = initializerMethodScope.declareName(Namer.SUPER_METHOD_NAME);
|
||||
List<JsExpression> arguments = translateArguments();
|
||||
result.add(AstUtil.convertToStatement
|
||||
@@ -67,7 +67,7 @@ public final class ClassInitializerTranslator extends AbstractInitializerTransla
|
||||
@NotNull
|
||||
private List<JsExpression> translateArguments() {
|
||||
JetDelegatorToSuperCall superCall = getSuperCall();
|
||||
return TranslationUtils.translateArgumentList(superCall.getValueArguments(), translationContext());
|
||||
return TranslationUtils.translateArgumentList(superCall.getValueArguments(), context());
|
||||
}
|
||||
|
||||
@NotNull
|
||||
|
||||
@@ -7,6 +7,7 @@ import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jet.lang.psi.*;
|
||||
import org.jetbrains.k2js.translate.Translation;
|
||||
import org.jetbrains.k2js.translate.TranslationContext;
|
||||
import org.jetbrains.k2js.translate.TranslationUtils;
|
||||
import org.jetbrains.k2js.translate.TranslatorVisitor;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -43,7 +44,8 @@ public final class InitializerVisitor extends TranslatorVisitor<List<JsStatement
|
||||
JsStatement assignmentToBackingField(@NotNull JetProperty property, @NotNull JsExpression initExpression,
|
||||
@NotNull TranslationContext context) {
|
||||
|
||||
return AstUtil.newAssignmentStatement(backingFieldReference(property, context), initExpression);
|
||||
return AstUtil.newAssignmentStatement(
|
||||
TranslationUtils.backingFieldReference(context, property), initExpression);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user