Added Translation class for better instance creation control over the code.
This commit is contained in:
Generated
+180
-128
@@ -6,13 +6,23 @@
|
|||||||
</component>
|
</component>
|
||||||
<component name="ChangeListManager">
|
<component name="ChangeListManager">
|
||||||
<list default="true" id="f02ef53d-47a4-4f5e-a1aa-3df68aae9b20" name="Default" comment="">
|
<list default="true" id="f02ef53d-47a4-4f5e-a1aa-3df68aae9b20" name="Default" comment="">
|
||||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/translator/testFiles/class/cases/incrementProperty.kt" />
|
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/Translation.java" />
|
||||||
|
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/translator/testFiles/function/cases/functionWithTwoParametersCall.kt" />
|
||||||
|
<change type="MOVED" beforePath="C:\Dev\Projects\jet-contrib\k2js\translator\src\org\jetbrains\k2js\translate\OperationTranslator.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/OperatorTable.java" />
|
||||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
|
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
|
||||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/js/src/com/google/dart/compiler/util/AstUtil.java" afterPath="$PROJECT_DIR$/js/src/com/google/dart/compiler/util/AstUtil.java" />
|
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ClassBodyVisitor.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ClassBodyVisitor.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/DeclarationTranslator.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/DeclarationTranslator.java" />
|
||||||
|
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/DeclarationVisitor.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/DeclarationVisitor.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/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/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/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/GenerationState.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/GenerationState.java" />
|
||||||
|
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/InitializerVisitor.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/InitializerVisitor.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/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/PropertyAccessTranslator.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/PropertyAccessTranslator.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/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/FunctionTest.java" afterPath="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/FunctionTest.java" />
|
||||||
</list>
|
</list>
|
||||||
<ignored path="k2js.iws" />
|
<ignored path="k2js.iws" />
|
||||||
<ignored path=".idea/workspace.xml" />
|
<ignored path=".idea/workspace.xml" />
|
||||||
@@ -37,7 +47,7 @@
|
|||||||
</component>
|
</component>
|
||||||
<component name="DebuggerManager">
|
<component name="DebuggerManager">
|
||||||
<line_breakpoints>
|
<line_breakpoints>
|
||||||
<breakpoint url="file://$PROJECT_DIR$/js/src/com/google/dart/compiler/util/AstUtil.java" line="28" class="com.google.dart.compiler.util.AstUtil" package="com.google.dart.compiler.util">
|
<breakpoint url="file://$PROJECT_DIR$/js/src/com/google/dart/compiler/util/AstUtil.java" line="29" class="com.google.dart.compiler.util.AstUtil" package="com.google.dart.compiler.util">
|
||||||
<option name="ENABLED" value="true" />
|
<option name="ENABLED" value="true" />
|
||||||
<option name="LOG_ENABLED" value="false" />
|
<option name="LOG_ENABLED" value="false" />
|
||||||
<option name="LOG_EXPRESSION_ENABLED" value="false" />
|
<option name="LOG_EXPRESSION_ENABLED" value="false" />
|
||||||
@@ -93,15 +103,6 @@
|
|||||||
<splitter split-orientation="horizontal" split-proportion="0.37207702">
|
<splitter split-orientation="horizontal" split-proportion="0.37207702">
|
||||||
<split-first>
|
<split-first>
|
||||||
<leaf>
|
<leaf>
|
||||||
<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="22" column="16" selection-start="462" selection-end="462" vertical-scroll-proportion="0.0">
|
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
</file>
|
|
||||||
<file leaf-file-name="twoClassesWithProperties.kt" pinned="false" current="false" current-in-tab="false">
|
<file leaf-file-name="twoClassesWithProperties.kt" pinned="false" current="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/propertyAccess/cases/twoClassesWithProperties.kt">
|
<entry file="file://$PROJECT_DIR$/translator/testFiles/propertyAccess/cases/twoClassesWithProperties.kt">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
@@ -134,7 +135,7 @@
|
|||||||
<file leaf-file-name="incrementProperty.js" pinned="false" current="false" current-in-tab="false">
|
<file leaf-file-name="incrementProperty.js" pinned="false" current="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/class/out/incrementProperty.js">
|
<entry file="file://$PROJECT_DIR$/translator/testFiles/class/out/incrementProperty.js">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="10" column="45" selection-start="224" selection-end="224" vertical-scroll-proportion="0.0">
|
<state line="10" column="45" selection-start="233" selection-end="233" vertical-scroll-proportion="0.0">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
@@ -149,10 +150,10 @@
|
|||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
</file>
|
</file>
|
||||||
<file leaf-file-name="AstUtil.java" pinned="false" current="false" current-in-tab="true">
|
<file leaf-file-name="AstUtil.java" pinned="false" current="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/js/src/com/google/dart/compiler/util/AstUtil.java">
|
<entry file="file://$PROJECT_DIR$/js/src/com/google/dart/compiler/util/AstUtil.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="261" column="22" selection-start="9087" selection-end="9087" vertical-scroll-proportion="0.74067795">
|
<state line="262" column="22" selection-start="9090" selection-end="9090" vertical-scroll-proportion="0.0">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
@@ -176,10 +177,10 @@
|
|||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
</file>
|
</file>
|
||||||
<file leaf-file-name="FunctionTest.java" pinned="false" current="false" current-in-tab="false">
|
<file leaf-file-name="FunctionTest.java" pinned="false" current="false" current-in-tab="true">
|
||||||
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/FunctionTest.java">
|
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/FunctionTest.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="29" column="16" selection-start="685" selection-end="685" vertical-scroll-proportion="0.0">
|
<state line="80" column="58" selection-start="1974" selection-end="1974" vertical-scroll-proportion="1.1868852">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
@@ -189,92 +190,96 @@
|
|||||||
</split-first>
|
</split-first>
|
||||||
<split-second>
|
<split-second>
|
||||||
<leaf>
|
<leaf>
|
||||||
<file leaf-file-name="K2JSTranslator.java" pinned="false" current="false" current-in-tab="false">
|
<file leaf-file-name="GenerationState.java" pinned="false" current="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/K2JSTranslator.java">
|
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/GenerationState.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="95" column="61" selection-start="3724" selection-end="3724" vertical-scroll-proportion="0.0">
|
<state line="34" column="78" selection-start="1150" selection-end="1150" vertical-scroll-proportion="0.0">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
</file>
|
</file>
|
||||||
<file leaf-file-name="ExpressionVisitor.java" pinned="false" current="false" current-in-tab="false">
|
<file leaf-file-name="Namer.java" pinned="false" current="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ExpressionVisitor.java">
|
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/Namer.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="103" column="49" selection-start="4452" selection-end="4452" vertical-scroll-proportion="-18.576923">
|
<state line="12" column="19" selection-start="262" selection-end="262" vertical-scroll-proportion="0.0">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
</file>
|
</file>
|
||||||
<file leaf-file-name="FunctionTranslator.java" pinned="false" current="false" current-in-tab="false">
|
<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/FunctionTranslator.java">
|
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/NamespaceTranslator.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="42" column="8" selection-start="1801" selection-end="1801" vertical-scroll-proportion="0.0">
|
<state line="39" column="69" selection-start="1420" selection-end="1420" vertical-scroll-proportion="0.0">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
</file>
|
</file>
|
||||||
<file leaf-file-name="JetSimpleNameExpression.java" pinned="false" current="false" current-in-tab="false">
|
<file leaf-file-name="OperatorTable.java" pinned="false" current="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/../../Kotlin/jet/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetSimpleNameExpression.java">
|
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/OperatorTable.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="63" column="0" selection-start="2183" selection-end="2183" vertical-scroll-proportion="0.0">
|
<state line="13" column="32" selection-start="361" selection-end="361" vertical-scroll-proportion="0.0">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
</file>
|
</file>
|
||||||
<file leaf-file-name="PropertyAccessTranslator.java" pinned="false" current="true" current-in-tab="true">
|
<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">
|
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/PropertyAccessTranslator.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="96" column="74" selection-start="4133" selection-end="4133" vertical-scroll-proportion="0.5730337">
|
<state line="56" column="103" selection-start="2377" selection-end="2377" vertical-scroll-proportion="0.0">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
</file>
|
</file>
|
||||||
<file leaf-file-name="ReflectiveCallable.class" pinned="false" current="false" current-in-tab="false">
|
<file leaf-file-name="TranslationContext.java" pinned="false" current="false" current-in-tab="false">
|
||||||
<entry file="jar://$PROJECT_DIR$/translator/lib/junit-4.10.jar!/org/junit/internal/runners/model/ReflectiveCallable.class">
|
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/TranslationContext.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="11" column="40" selection-start="397" selection-end="397" vertical-scroll-proportion="-6.8">
|
<state line="17" column="19" selection-start="647" selection-end="647" vertical-scroll-proportion="0.0">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
</file>
|
</file>
|
||||||
<file leaf-file-name="ParentRunner.class" pinned="false" current="false" current-in-tab="false">
|
<file leaf-file-name="Translation.java" pinned="false" current="false" current-in-tab="false">
|
||||||
<entry file="jar://$PROJECT_DIR$/translator/lib/junit-4.10.jar!/org/junit/runners/ParentRunner.class">
|
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/Translation.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="43" column="25" selection-start="2461" selection-end="2461" vertical-scroll-proportion="-8.52">
|
<state line="35" column="20" selection-start="1156" selection-end="1156" vertical-scroll-proportion="0.0">
|
||||||
|
<folding>
|
||||||
|
<element signature="imports" expanded="true" />
|
||||||
|
</folding>
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
</file>
|
||||||
|
<file leaf-file-name="TranslatorVisitor.java" pinned="false" current="false" current-in-tab="false">
|
||||||
|
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/TranslatorVisitor.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="43" column="59" selection-start="1667" selection-end="1667" vertical-scroll-proportion="0.0">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
</file>
|
</file>
|
||||||
<file leaf-file-name="JUnitCore.class" pinned="false" current="false" current-in-tab="false">
|
<file leaf-file-name="K2JSTranslator.java" pinned="false" current="true" current-in-tab="true">
|
||||||
<entry file="jar://$PROJECT_DIR$/translator/lib/junit-4.10.jar!/org/junit/runner/JUnitCore.class">
|
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/K2JSTranslator.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="30" column="35" selection-start="1439" selection-end="1439" vertical-scroll-proportion="-18.52">
|
<state line="39" column="13" selection-start="1468" selection-end="1468" vertical-scroll-proportion="0.21587302">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
</file>
|
</file>
|
||||||
<file leaf-file-name="BlockJUnit4ClassRunner.class" pinned="false" current="false" current-in-tab="false">
|
<file leaf-file-name="InitializerVisitor.java" pinned="false" current="false" current-in-tab="false">
|
||||||
<entry file="jar://$PROJECT_DIR$/translator/lib/junit-4.10.jar!/org/junit/runners/BlockJUnit4ClassRunner.class">
|
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/InitializerVisitor.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="-0.0">
|
<state line="75" column="91" selection-start="2938" selection-end="2938" vertical-scroll-proportion="0.0">
|
||||||
<folding />
|
<folding>
|
||||||
</state>
|
<element signature="imports" expanded="true" />
|
||||||
</provider>
|
</folding>
|
||||||
</entry>
|
|
||||||
</file>
|
|
||||||
<file leaf-file-name="ClassInheritanceTest.java" pinned="false" current="false" current-in-tab="false">
|
|
||||||
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/ClassInheritanceTest.java">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state line="17" column="16" selection-start="323" selection-end="323" vertical-scroll-proportion="0.0">
|
|
||||||
<folding />
|
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
@@ -300,22 +305,22 @@
|
|||||||
<component name="IdeDocumentHistory">
|
<component name="IdeDocumentHistory">
|
||||||
<option name="changedFiles">
|
<option name="changedFiles">
|
||||||
<list>
|
<list>
|
||||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ClassTranslator.java" />
|
<option value="$PROJECT_DIR$/translator/testFiles/function/cases/functionWithTwoParametersCall.kt" />
|
||||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/BindingUtils.java" />
|
<option value="$PROJECT_DIR$/translator/testFiles/inheritance/cases/creationSequence.kt" />
|
||||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/TranslatorVisitor.java" />
|
|
||||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ExpressionTranslator.java" />
|
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ExpressionTranslator.java" />
|
||||||
|
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ClassTranslator.java" />
|
||||||
|
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/DeclarationTranslator.java" />
|
||||||
|
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ClassBodyVisitor.java" />
|
||||||
|
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/Translation.java" />
|
||||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/DeclarationVisitor.java" />
|
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/DeclarationVisitor.java" />
|
||||||
<option value="$PROJECT_DIR$/translator/testFiles/propertyAccess/cases/namespaceCustomAccessors.kt" />
|
|
||||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/K2JSTranslator.java" />
|
|
||||||
<option value="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/PropertyAccessorTest.java" />
|
|
||||||
<option value="$PROJECT_DIR$/translator/testFiles/propertyAccess/cases/twoClassesWithProperties.kt" />
|
|
||||||
<option value="$PROJECT_DIR$/translator/testFiles/class/cases/Slot.java" />
|
|
||||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ExpressionVisitor.java" />
|
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ExpressionVisitor.java" />
|
||||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/FunctionTranslator.java" />
|
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/FunctionTranslator.java" />
|
||||||
<option value="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/BasicClassTest.java" />
|
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/GenerationState.java" />
|
||||||
<option value="$PROJECT_DIR$/translator/testFiles/class/cases/incrementProperty.kt" />
|
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/NamespaceTranslator.java" />
|
||||||
<option value="$PROJECT_DIR$/js/src/com/google/dart/compiler/util/AstUtil.java" />
|
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/OperatorTable.java" />
|
||||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/PropertyAccessTranslator.java" />
|
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/PropertyAccessTranslator.java" />
|
||||||
|
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/InitializerVisitor.java" />
|
||||||
|
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/TranslatorVisitor.java" />
|
||||||
</list>
|
</list>
|
||||||
</option>
|
</option>
|
||||||
</component>
|
</component>
|
||||||
@@ -494,6 +499,50 @@
|
|||||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||||
</PATH_ELEMENT>
|
</PATH_ELEMENT>
|
||||||
</PATH>
|
</PATH>
|
||||||
|
<PATH>
|
||||||
|
<PATH_ELEMENT>
|
||||||
|
<option name="myItemId" value="k2js" />
|
||||||
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
||||||
|
</PATH_ELEMENT>
|
||||||
|
<PATH_ELEMENT>
|
||||||
|
<option name="myItemId" value="translator" />
|
||||||
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||||
|
</PATH_ELEMENT>
|
||||||
|
<PATH_ELEMENT>
|
||||||
|
<option name="myItemId" value="testFiles" />
|
||||||
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||||
|
</PATH_ELEMENT>
|
||||||
|
<PATH_ELEMENT>
|
||||||
|
<option name="myItemId" value="function" />
|
||||||
|
<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="function" />
|
||||||
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||||
|
</PATH_ELEMENT>
|
||||||
|
<PATH_ELEMENT>
|
||||||
|
<option name="myItemId" value="cases" />
|
||||||
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||||
|
</PATH_ELEMENT>
|
||||||
|
</PATH>
|
||||||
<PATH>
|
<PATH>
|
||||||
<PATH_ELEMENT>
|
<PATH_ELEMENT>
|
||||||
<option name="myItemId" value="k2js" />
|
<option name="myItemId" value="k2js" />
|
||||||
@@ -909,7 +958,7 @@
|
|||||||
</component>
|
</component>
|
||||||
<component name="ToolWindowManager">
|
<component name="ToolWindowManager">
|
||||||
<frame x="-8" y="-8" width="1936" height="1176" extended-state="6" />
|
<frame x="-8" y="-8" width="1936" height="1176" extended-state="6" />
|
||||||
<editor active="true" />
|
<editor active="false" />
|
||||||
<layout>
|
<layout>
|
||||||
<window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32907662" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
<window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32907662" sideWeight="0.5" 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="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" />
|
||||||
@@ -925,7 +974,7 @@
|
|||||||
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3997862" sideWeight="0.6705998" order="0" side_tool="false" content_ui="tabs" />
|
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3997862" sideWeight="0.6705998" order="0" side_tool="false" content_ui="tabs" />
|
||||||
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.2224599" sideWeight="0.66283524" 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.2224599" sideWeight="0.66283524" order="0" side_tool="false" content_ui="tabs" />
|
||||||
<window_info id="Dependency Viewer" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="11" side_tool="false" content_ui="tabs" />
|
<window_info id="Dependency Viewer" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="11" 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.33716476" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
|
<window_info id="Run" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.33716476" sideWeight="0.5" 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="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
|
||||||
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
||||||
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
|
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
|
||||||
@@ -963,7 +1012,7 @@
|
|||||||
<option name="CHECK_COMMIT_MESSAGE_SPELLING" value="true" />
|
<option name="CHECK_COMMIT_MESSAGE_SPELLING" value="true" />
|
||||||
<option name="DEFAULT_PATCH_EXTENSION" value="patch" />
|
<option name="DEFAULT_PATCH_EXTENSION" value="patch" />
|
||||||
<option name="FORCE_NON_EMPTY_COMMENT" value="false" />
|
<option name="FORCE_NON_EMPTY_COMMENT" value="false" />
|
||||||
<option name="LAST_COMMIT_MESSAGE" value="Added syntactic checks to main." />
|
<option name="LAST_COMMIT_MESSAGE" value="Added support for unqualified property reference inside method body." />
|
||||||
<option name="MAKE_NEW_CHANGELIST_ACTIVE" value="true" />
|
<option name="MAKE_NEW_CHANGELIST_ACTIVE" value="true" />
|
||||||
<option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="true" />
|
<option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="true" />
|
||||||
<option name="CHECK_FILES_UP_TO_DATE_BEFORE_COMMIT" value="false" />
|
<option name="CHECK_FILES_UP_TO_DATE_BEFORE_COMMIT" value="false" />
|
||||||
@@ -990,6 +1039,7 @@
|
|||||||
<MESSAGE value="Added default getter/setter support and initializer support." />
|
<MESSAGE value="Added default getter/setter support and initializer support." />
|
||||||
<MESSAGE value="Added class inheritance support and reorganised test classes. Minor impovements include: 1. Support for functions with no body 2. Not equals operator 3. Refactorings." />
|
<MESSAGE value="Added class inheritance support and reorganised test classes. Minor impovements include: 1. Support for functions with no body 2. Not equals operator 3. Refactorings." />
|
||||||
<MESSAGE value="Added syntactic checks to main." />
|
<MESSAGE value="Added syntactic checks to main." />
|
||||||
|
<MESSAGE value="Added support for unqualified property reference inside method body." />
|
||||||
</component>
|
</component>
|
||||||
<component name="XDebuggerManager">
|
<component name="XDebuggerManager">
|
||||||
<breakpoint-manager />
|
<breakpoint-manager />
|
||||||
@@ -999,116 +1049,118 @@
|
|||||||
<option name="FILTER_TARGETS" value="false" />
|
<option name="FILTER_TARGETS" value="false" />
|
||||||
</component>
|
</component>
|
||||||
<component name="editorHistoryManager">
|
<component name="editorHistoryManager">
|
||||||
<entry file="jar://$PROJECT_DIR$/translator/lib/junit-4.10.jar!/org/junit/runners/ParentRunner.class">
|
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ClassBodyVisitor.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="43" column="25" selection-start="2461" selection-end="2461" vertical-scroll-proportion="-8.52">
|
<state line="30" column="52" selection-start="1026" selection-end="1026" vertical-scroll-proportion="0.0">
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="jar://$PROJECT_DIR$/translator/lib/junit-4.10.jar!/org/junit/runners/BlockJUnit4ClassRunner.class">
|
|
||||||
<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="jar://$PROJECT_DIR$/translator/lib/junit-4.10.jar!/org/junit/internal/runners/model/ReflectiveCallable.class">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state line="11" column="40" selection-start="397" selection-end="397" vertical-scroll-proportion="-6.8">
|
|
||||||
<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="14" column="2" selection-start="368" selection-end="368" vertical-scroll-proportion="0.0">
|
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/DeclarationTranslator.java">
|
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/DeclarationTranslator.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="9" column="19" selection-start="244" selection-end="244" vertical-scroll-proportion="0.0">
|
<state line="11" column="4" selection-start="300" selection-end="300" vertical-scroll-proportion="0.0">
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/FunctionTranslator.java">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state line="42" column="8" selection-start="1801" selection-end="1801" vertical-scroll-proportion="0.0">
|
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/js/src/com/google/dart/compiler/backend/js/ast/JsIf.java">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state line="9" column="19" selection-start="335" selection-end="335" vertical-scroll-proportion="0.0">
|
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/DeclarationVisitor.java">
|
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/DeclarationVisitor.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="20" column="108" selection-start="774" selection-end="774" vertical-scroll-proportion="0.0">
|
<state line="15" column="24" selection-start="562" selection-end="562" vertical-scroll-proportion="0.0">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ExpressionTranslator.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="9" column="19" selection-start="238" selection-end="238" vertical-scroll-proportion="0.0">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ExpressionVisitor.java">
|
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ExpressionVisitor.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="103" column="49" selection-start="4452" selection-end="4452" vertical-scroll-proportion="-18.576923">
|
<state line="318" column="94" selection-start="14400" selection-end="14400" vertical-scroll-proportion="0.0">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/propertyAccess/cases/namespaceCustomAccessors.kt">
|
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/FunctionTranslator.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="3" column="41" selection-start="34" selection-end="34" vertical-scroll-proportion="0.0">
|
<state line="65" column="0" selection-start="2768" selection-end="2768" vertical-scroll-proportion="0.0">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/class/out/classInstantiation.js">
|
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/GenerationState.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
|
<state line="34" column="78" selection-start="1150" selection-end="1150" vertical-scroll-proportion="0.0">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/class/out/incrementProperty.js">
|
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/Namer.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="10" column="45" selection-start="224" selection-end="224" vertical-scroll-proportion="0.0">
|
<state line="12" column="19" selection-start="262" selection-end="262" vertical-scroll-proportion="0.0">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/class/cases/incrementProperty.kt">
|
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/NamespaceTranslator.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="0" column="13" selection-start="13" selection-end="13" vertical-scroll-proportion="0.0">
|
<state line="39" column="69" selection-start="1420" selection-end="1420" vertical-scroll-proportion="0.0">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/BasicClassTest.java">
|
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/OperatorTable.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="43" column="16" selection-start="1085" selection-end="1085" vertical-scroll-proportion="-15.64">
|
<state line="13" column="32" selection-start="361" selection-end="361" vertical-scroll-proportion="0.0">
|
||||||
<folding>
|
|
||||||
<element signature="imports" expanded="true" />
|
|
||||||
</folding>
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/js/src/com/google/dart/compiler/util/AstUtil.java">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state line="261" column="22" selection-start="9087" selection-end="9087" vertical-scroll-proportion="0.74067795">
|
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/PropertyAccessTranslator.java">
|
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/PropertyAccessTranslator.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="96" column="74" selection-start="4133" selection-end="4133" vertical-scroll-proportion="0.5730337">
|
<state line="56" column="103" selection-start="2377" selection-end="2377" vertical-scroll-proportion="0.0">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/TranslationContext.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="17" column="19" selection-start="647" selection-end="647" 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="35" column="20" selection-start="1156" selection-end="1156" vertical-scroll-proportion="0.0">
|
||||||
|
<folding>
|
||||||
|
<element signature="imports" expanded="true" />
|
||||||
|
</folding>
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/InitializerVisitor.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="75" column="91" selection-start="2938" selection-end="2938" vertical-scroll-proportion="0.0">
|
||||||
|
<folding>
|
||||||
|
<element signature="imports" expanded="true" />
|
||||||
|
</folding>
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/TranslatorVisitor.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="43" column="59" selection-start="1667" selection-end="1667" vertical-scroll-proportion="0.0">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/K2JSTranslator.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="39" column="13" selection-start="1468" selection-end="1468" vertical-scroll-proportion="0.21587302">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ public final class ClassBodyVisitor extends TranslatorVisitor<List<JsPropertyIni
|
|||||||
// method declaration
|
// method declaration
|
||||||
public List<JsPropertyInitializer> visitNamedFunction(@NotNull JetNamedFunction expression, @NotNull TranslationContext context) {
|
public List<JsPropertyInitializer> visitNamedFunction(@NotNull JetNamedFunction expression, @NotNull TranslationContext context) {
|
||||||
List<JsPropertyInitializer> properties = new ArrayList<JsPropertyInitializer>();
|
List<JsPropertyInitializer> properties = new ArrayList<JsPropertyInitializer>();
|
||||||
properties.add((new FunctionTranslator(context)).translateAsMethod(expression));
|
properties.add(Translation.functionTranslator(context).translateAsMethod(expression));
|
||||||
return properties;
|
return properties;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -138,11 +138,10 @@ public final class ClassBodyVisitor extends TranslatorVisitor<List<JsPropertyIni
|
|||||||
private JsFunction translateAccessorBody(@NotNull JetPropertyAccessor expression,
|
private JsFunction translateAccessorBody(@NotNull JetPropertyAccessor expression,
|
||||||
@NotNull TranslationContext context) {
|
@NotNull TranslationContext context) {
|
||||||
JsFunction methodBody = JsFunction.getAnonymousFunctionWithScope(context.getScopeForElement(expression));
|
JsFunction methodBody = JsFunction.getAnonymousFunctionWithScope(context.getScopeForElement(expression));
|
||||||
ExpressionTranslator expressionTranslator =
|
|
||||||
new ExpressionTranslator(context.newPropertyAccess(expression));
|
|
||||||
JetExpression bodyExpression = expression.getBodyExpression();
|
JetExpression bodyExpression = expression.getBodyExpression();
|
||||||
assert bodyExpression != null : "Custom accessor should have a body.";
|
assert bodyExpression != null : "Custom accessor should have a body.";
|
||||||
JsBlock methodBodyBlock = AstUtil.convertToBlock(expressionTranslator.translate(bodyExpression));
|
JsBlock methodBodyBlock = AstUtil.convertToBlock(
|
||||||
|
Translation.translateExpression(bodyExpression, context.newPropertyAccess(expression)));
|
||||||
methodBody.setBody(methodBodyBlock);
|
methodBody.setBody(methodBodyBlock);
|
||||||
return methodBody;
|
return methodBody;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,7 +19,12 @@ public final class ClassTranslator extends AbstractTranslator {
|
|||||||
@NotNull
|
@NotNull
|
||||||
private final ClassBodyVisitor classBodyVisitor = new ClassBodyVisitor();
|
private final ClassBodyVisitor classBodyVisitor = new ClassBodyVisitor();
|
||||||
|
|
||||||
public ClassTranslator(TranslationContext context) {
|
@NotNull
|
||||||
|
public static ClassTranslator newInstance(@NotNull TranslationContext context) {
|
||||||
|
return new ClassTranslator(context);
|
||||||
|
}
|
||||||
|
|
||||||
|
private ClassTranslator(TranslationContext context) {
|
||||||
super(context);
|
super(context);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,12 @@ public final class DeclarationTranslator extends AbstractTranslator {
|
|||||||
|
|
||||||
private DeclarationVisitor visitor = new DeclarationVisitor();
|
private DeclarationVisitor visitor = new DeclarationVisitor();
|
||||||
|
|
||||||
public DeclarationTranslator(TranslationContext context) {
|
@NotNull
|
||||||
|
public static DeclarationTranslator newInstance(@NotNull TranslationContext context) {
|
||||||
|
return new DeclarationTranslator(context);
|
||||||
|
}
|
||||||
|
|
||||||
|
private DeclarationTranslator(TranslationContext context) {
|
||||||
super(context);
|
super(context);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import org.jetbrains.jet.lang.psi.JetProperty;
|
|||||||
/**
|
/**
|
||||||
* @author Talanov Pavel
|
* @author Talanov Pavel
|
||||||
*/
|
*/
|
||||||
|
//TODO: rework the class
|
||||||
public class DeclarationVisitor extends TranslatorVisitor<JsStatement> {
|
public class DeclarationVisitor extends TranslatorVisitor<JsStatement> {
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
@@ -21,7 +22,7 @@ public class DeclarationVisitor extends TranslatorVisitor<JsStatement> {
|
|||||||
public JsStatement visitProperty(@NotNull JetProperty expression, @NotNull TranslationContext context) {
|
public JsStatement visitProperty(@NotNull JetProperty expression, @NotNull TranslationContext context) {
|
||||||
JsName propertyName = context.declareLocalName(getPropertyName(expression));
|
JsName propertyName = context.declareLocalName(getPropertyName(expression));
|
||||||
JsNameRef jsPropertyNameReference = context.getNamespaceQualifiedReference(propertyName);
|
JsNameRef jsPropertyNameReference = context.getNamespaceQualifiedReference(propertyName);
|
||||||
JsExpression jsInitExpression = translateInitializer(expression, context);
|
JsExpression jsInitExpression = translateInitializerForProperty(expression, context);
|
||||||
JsExpression result;
|
JsExpression result;
|
||||||
if (jsInitExpression != null) {
|
if (jsInitExpression != null) {
|
||||||
result = AstUtil.newAssignment(jsPropertyNameReference, jsInitExpression);
|
result = AstUtil.newAssignment(jsPropertyNameReference, jsInitExpression);
|
||||||
@@ -34,15 +35,13 @@ public class DeclarationVisitor extends TranslatorVisitor<JsStatement> {
|
|||||||
@NotNull
|
@NotNull
|
||||||
@Override
|
@Override
|
||||||
public JsStatement visitClass(@NotNull JetClass expression, @NotNull TranslationContext context) {
|
public JsStatement visitClass(@NotNull JetClass expression, @NotNull TranslationContext context) {
|
||||||
ClassTranslator translator = new ClassTranslator(context);
|
return Translation.classTranslator(context).translateClass(expression);
|
||||||
return translator.translateClass(expression);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
@Override
|
@Override
|
||||||
public JsStatement visitNamedFunction(@NotNull JetNamedFunction expression, @NotNull TranslationContext context) {
|
public JsStatement visitNamedFunction(@NotNull JetNamedFunction expression, @NotNull TranslationContext context) {
|
||||||
FunctionTranslator functionTranslator = new FunctionTranslator(context);
|
return AstUtil.convertToStatement(Translation.functionTranslator(context).translateAsFunction(expression));
|
||||||
return AstUtil.convertToStatement(functionTranslator.translateAsFunction(expression));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,12 @@ public final class ExpressionTranslator extends AbstractTranslator {
|
|||||||
|
|
||||||
final private ExpressionVisitor visitor = new ExpressionVisitor();
|
final private ExpressionVisitor visitor = new ExpressionVisitor();
|
||||||
|
|
||||||
public ExpressionTranslator(@NotNull TranslationContext context) {
|
@NotNull
|
||||||
|
public static ExpressionTranslator newInstance(@NotNull TranslationContext context) {
|
||||||
|
return new ExpressionTranslator(context);
|
||||||
|
}
|
||||||
|
|
||||||
|
private ExpressionTranslator(@NotNull TranslationContext context) {
|
||||||
super(context);
|
super(context);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -93,12 +93,11 @@ public final class ExpressionVisitor extends TranslatorVisitor<JsNode> {
|
|||||||
public JsInvocation translateAsSetterCall(@NotNull JetBinaryExpression expression,
|
public JsInvocation translateAsSetterCall(@NotNull JetBinaryExpression expression,
|
||||||
@NotNull TranslationContext context) {
|
@NotNull TranslationContext context) {
|
||||||
JetToken jetOperationToken = (JetToken) expression.getOperationToken();
|
JetToken jetOperationToken = (JetToken) expression.getOperationToken();
|
||||||
if (!OperationTranslator.isAssignment(jetOperationToken)) {
|
if (!OperatorTable.isAssignment(jetOperationToken)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
PropertyAccessTranslator translator = new PropertyAccessTranslator(context);
|
|
||||||
JetExpression leftExpression = expression.getLeft();
|
JetExpression leftExpression = expression.getLeft();
|
||||||
JsInvocation setterCall = translator.resolveAsPropertySet(leftExpression);
|
JsInvocation setterCall = Translation.propertyAccessTranslator(context).resolveAsPropertySet(leftExpression);
|
||||||
if (setterCall == null) {
|
if (setterCall == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@@ -116,7 +115,7 @@ public final class ExpressionVisitor extends TranslatorVisitor<JsNode> {
|
|||||||
assert rightExpression != null : "Binary expression should have a right expression";
|
assert rightExpression != null : "Binary expression should have a right expression";
|
||||||
JsExpression right = AstUtil.convertToExpression(rightExpression.accept(this, context));
|
JsExpression right = AstUtil.convertToExpression(rightExpression.accept(this, context));
|
||||||
JetToken jetOperationToken = (JetToken) expression.getOperationToken();
|
JetToken jetOperationToken = (JetToken) expression.getOperationToken();
|
||||||
return new JsBinaryOperation(OperationTranslator.getBinaryOperator(jetOperationToken), left, right);
|
return new JsBinaryOperation(OperatorTable.getBinaryOperator(jetOperationToken), left, right);
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO support other cases
|
//TODO support other cases
|
||||||
@@ -140,8 +139,7 @@ public final class ExpressionVisitor extends TranslatorVisitor<JsNode> {
|
|||||||
return nameRef;
|
return nameRef;
|
||||||
}
|
}
|
||||||
|
|
||||||
PropertyAccessTranslator propertyAccessTranslator = new PropertyAccessTranslator(context);
|
JsInvocation getterCall = Translation.propertyAccessTranslator(context).resolveAsPropertyGet(expression);
|
||||||
JsInvocation getterCall = propertyAccessTranslator.resolveAsPropertyGet(expression);
|
|
||||||
if (getterCall != null) {
|
if (getterCall != null) {
|
||||||
return getterCall;
|
return getterCall;
|
||||||
}
|
}
|
||||||
@@ -159,7 +157,7 @@ public final class ExpressionVisitor extends TranslatorVisitor<JsNode> {
|
|||||||
// assume it is a local variable declaration
|
// assume it is a local variable declaration
|
||||||
public JsNode visitProperty(@NotNull JetProperty expression, @NotNull TranslationContext context) {
|
public JsNode visitProperty(@NotNull JetProperty expression, @NotNull TranslationContext context) {
|
||||||
JsName jsPropertyName = context.declareLocalName(getPropertyName(expression));
|
JsName jsPropertyName = context.declareLocalName(getPropertyName(expression));
|
||||||
JsExpression jsInitExpression = translateInitializer(expression, context);
|
JsExpression jsInitExpression = translateInitializerForProperty(expression, context);
|
||||||
return AstUtil.newVar(jsPropertyName, jsInitExpression);
|
return AstUtil.newVar(jsPropertyName, jsInitExpression);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -318,10 +316,7 @@ public final class ExpressionVisitor extends TranslatorVisitor<JsNode> {
|
|||||||
@Nullable
|
@Nullable
|
||||||
private JsInvocation translateAsGetterCall(@NotNull JetDotQualifiedExpression expression,
|
private JsInvocation translateAsGetterCall(@NotNull JetDotQualifiedExpression expression,
|
||||||
@NotNull TranslationContext context) {
|
@NotNull TranslationContext context) {
|
||||||
JsInvocation result;
|
return Translation.propertyAccessTranslator(context).resolveAsPropertyGet(expression);
|
||||||
PropertyAccessTranslator translator = new PropertyAccessTranslator(context);
|
|
||||||
result = translator.resolveAsPropertyGet(expression);
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
@@ -354,5 +349,15 @@ public final class ExpressionVisitor extends TranslatorVisitor<JsNode> {
|
|||||||
return selector;
|
return selector;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//TODO: implement unary operations
|
||||||
|
// @Override
|
||||||
|
// @NotNull
|
||||||
|
// public JsNode visitPrefixExpression(@NotNull JetUnaryExpression expression,
|
||||||
|
// @NotNull TranslationContext context) {
|
||||||
|
// JsExpression baseExpression = AstUtil.convertToExpression(expression.accept(this, context));
|
||||||
|
// expression
|
||||||
|
//
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ package org.jetbrains.k2js.translate;
|
|||||||
import com.google.dart.compiler.backend.js.ast.*;
|
import com.google.dart.compiler.backend.js.ast.*;
|
||||||
import com.google.dart.compiler.util.AstUtil;
|
import com.google.dart.compiler.util.AstUtil;
|
||||||
import com.sun.istack.internal.NotNull;
|
import com.sun.istack.internal.NotNull;
|
||||||
import org.jetbrains.jet.lang.descriptors.FunctionDescriptor;
|
|
||||||
import org.jetbrains.jet.lang.psi.JetExpression;
|
import org.jetbrains.jet.lang.psi.JetExpression;
|
||||||
import org.jetbrains.jet.lang.psi.JetNamedFunction;
|
import org.jetbrains.jet.lang.psi.JetNamedFunction;
|
||||||
import org.jetbrains.jet.lang.psi.JetParameter;
|
import org.jetbrains.jet.lang.psi.JetParameter;
|
||||||
@@ -16,7 +15,12 @@ import java.util.List;
|
|||||||
*/
|
*/
|
||||||
public final class FunctionTranslator extends AbstractTranslator {
|
public final class FunctionTranslator extends AbstractTranslator {
|
||||||
|
|
||||||
public FunctionTranslator(@NotNull TranslationContext context) {
|
@NotNull
|
||||||
|
public static FunctionTranslator newInstance(@NotNull TranslationContext context) {
|
||||||
|
return new FunctionTranslator(context);
|
||||||
|
}
|
||||||
|
|
||||||
|
private FunctionTranslator(@NotNull TranslationContext context) {
|
||||||
super(context);
|
super(context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -51,20 +55,14 @@ public final class FunctionTranslator extends AbstractTranslator {
|
|||||||
JetExpression jetBodyExpression = jetFunction.getBodyExpression();
|
JetExpression jetBodyExpression = jetFunction.getBodyExpression();
|
||||||
//TODO support them ffs
|
//TODO support them ffs
|
||||||
assert jetBodyExpression != null : "Function without body not supported at the moment";
|
assert jetBodyExpression != null : "Function without body not supported at the moment";
|
||||||
JsNode body = (new ExpressionTranslator(functionContext(jetFunction))).translate(jetBodyExpression);
|
JsNode body = Translation.expressionTranslator
|
||||||
|
(translationContext().newFunction(jetFunction)).translate(jetBodyExpression);
|
||||||
if (jetFunction.hasBlockBody()) {
|
if (jetFunction.hasBlockBody()) {
|
||||||
return AstUtil.convertToBlock(body);
|
return AstUtil.convertToBlock(body);
|
||||||
}
|
}
|
||||||
return AstUtil.convertToBlock(new JsReturn(AstUtil.convertToExpression((body))));
|
return AstUtil.convertToBlock(new JsReturn(AstUtil.convertToExpression((body))));
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
|
||||||
private TranslationContext functionContext(@NotNull JetNamedFunction jetFunction) {
|
|
||||||
FunctionDescriptor descriptor =
|
|
||||||
BindingUtils.getFunctionDescriptor(translationContext().bindingContext(), jetFunction);
|
|
||||||
return translationContext().newFunction(descriptor);
|
|
||||||
}
|
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private List<JsParameter> translateParameters(@NotNull List<JetParameter> jetParameters,
|
private List<JsParameter> translateParameters(@NotNull List<JetParameter> jetParameters,
|
||||||
@NotNull JsScope functionScope) {
|
@NotNull JsScope functionScope) {
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ public final class GenerationState {
|
|||||||
NamespaceDescriptor descriptor = BindingUtils.getNamespaceDescriptor(bindingContext, namespace);
|
NamespaceDescriptor descriptor = BindingUtils.getNamespaceDescriptor(bindingContext, namespace);
|
||||||
DeclarationExtractor extractor = new DeclarationExtractor();
|
DeclarationExtractor extractor = new DeclarationExtractor();
|
||||||
extractor.extractDeclarations(descriptor, result.getRootScope());
|
extractor.extractDeclarations(descriptor, result.getRootScope());
|
||||||
(new NamespaceTranslator(TranslationContext.rootContext(result, bindingContext, extractor)))
|
Translation.namespaceTranslator(TranslationContext.rootContext(result, bindingContext, extractor))
|
||||||
.generateAst(namespace);
|
.generateAst(namespace);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -77,8 +77,8 @@ public class InitializerVisitor extends TranslatorVisitor<List<JsStatement>> {
|
|||||||
@NotNull
|
@NotNull
|
||||||
private JsStatement translateInitializer(@NotNull JetProperty property, @NotNull TranslationContext context,
|
private JsStatement translateInitializer(@NotNull JetProperty property, @NotNull TranslationContext context,
|
||||||
@NotNull JetExpression initializer) {
|
@NotNull JetExpression initializer) {
|
||||||
ExpressionTranslator translator = new ExpressionTranslator(context);
|
JsExpression initExpression = AstUtil.convertToExpression(Translation.expressionTranslator(context)
|
||||||
JsExpression initExpression = AstUtil.convertToExpression(translator.translate(initializer));
|
.translate(initializer));
|
||||||
return assignmentToBackingField(property, initExpression, context);
|
return assignmentToBackingField(property, initExpression, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,12 @@ import java.util.List;
|
|||||||
*/
|
*/
|
||||||
public final class NamespaceTranslator extends AbstractTranslator {
|
public final class NamespaceTranslator extends AbstractTranslator {
|
||||||
|
|
||||||
public NamespaceTranslator(@NotNull TranslationContext context) {
|
@NotNull
|
||||||
|
public static NamespaceTranslator newInstance(@NotNull TranslationContext context) {
|
||||||
|
return new NamespaceTranslator(context);
|
||||||
|
}
|
||||||
|
|
||||||
|
private NamespaceTranslator(@NotNull TranslationContext context) {
|
||||||
super(context);
|
super(context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -40,7 +45,7 @@ public final class NamespaceTranslator extends AbstractTranslator {
|
|||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private JsBlock translateDeclarations(@NotNull JetNamespace namespace, @NotNull TranslationContext newContext) {
|
private JsBlock translateDeclarations(@NotNull JetNamespace namespace, @NotNull TranslationContext newContext) {
|
||||||
DeclarationTranslator declarationTranslator = new DeclarationTranslator(newContext);
|
DeclarationTranslator declarationTranslator = Translation.declarationTranslator(newContext);
|
||||||
JsBlock namespaceDeclarations = new JsBlock();
|
JsBlock namespaceDeclarations = new JsBlock();
|
||||||
for (JetDeclaration declaration : namespace.getDeclarations()) {
|
for (JetDeclaration declaration : namespace.getDeclarations()) {
|
||||||
namespaceDeclarations.addStatement(declarationTranslator.translateDeclaration(declaration));
|
namespaceDeclarations.addStatement(declarationTranslator.translateDeclaration(declaration));
|
||||||
|
|||||||
+1
-1
@@ -11,7 +11,7 @@ import java.util.Map;
|
|||||||
/**
|
/**
|
||||||
* @author Talanov Pavel
|
* @author Talanov Pavel
|
||||||
*/
|
*/
|
||||||
public final class OperationTranslator {
|
public final class OperatorTable {
|
||||||
|
|
||||||
|
|
||||||
private static Map<JetToken, JsOperator> map = new HashMap<JetToken, JsOperator>();
|
private static Map<JetToken, JsOperator> map = new HashMap<JetToken, JsOperator>();
|
||||||
@@ -23,7 +23,12 @@ import org.jetbrains.jet.lang.resolve.calls.ResolvedCall;
|
|||||||
//TODO ask for code review. Class has messy code.
|
//TODO ask for code review. Class has messy code.
|
||||||
public final class PropertyAccessTranslator extends AbstractTranslator {
|
public final class PropertyAccessTranslator extends AbstractTranslator {
|
||||||
|
|
||||||
public PropertyAccessTranslator(@NotNull TranslationContext context) {
|
@NotNull
|
||||||
|
public static PropertyAccessTranslator newInstance(@NotNull TranslationContext context) {
|
||||||
|
return new PropertyAccessTranslator(context);
|
||||||
|
}
|
||||||
|
|
||||||
|
private PropertyAccessTranslator(@NotNull TranslationContext context) {
|
||||||
super(context);
|
super(context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -50,8 +55,8 @@ public final class PropertyAccessTranslator extends AbstractTranslator {
|
|||||||
@NotNull
|
@NotNull
|
||||||
private JsInvocation translateReceiverAndReturnAccessorInvocation
|
private JsInvocation translateReceiverAndReturnAccessorInvocation
|
||||||
(@NotNull JetDotQualifiedExpression dotQualifiedExpression, @NotNull JsName accessorName) {
|
(@NotNull JetDotQualifiedExpression dotQualifiedExpression, @NotNull JsName accessorName) {
|
||||||
ExpressionTranslator translator = new ExpressionTranslator(translationContext());
|
JsNode node = Translation.expressionTranslator(translationContext())
|
||||||
JsNode node = translator.translate(dotQualifiedExpression.getReceiverExpression());
|
.translate(dotQualifiedExpression.getReceiverExpression());
|
||||||
JsNameRef result = accessorName.makeRef();
|
JsNameRef result = accessorName.makeRef();
|
||||||
result.setQualifier(AstUtil.convertToExpression(node));
|
result.setQualifier(AstUtil.convertToExpression(node));
|
||||||
return AstUtil.newInvocation(result);
|
return AstUtil.newInvocation(result);
|
||||||
|
|||||||
@@ -0,0 +1,48 @@
|
|||||||
|
package org.jetbrains.k2js.translate;
|
||||||
|
|
||||||
|
import com.google.dart.compiler.backend.js.ast.JsNode;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.jet.lang.psi.JetExpression;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Talanov Pavel
|
||||||
|
* <p/>
|
||||||
|
* This class is a factory for obtaining instances of translators.
|
||||||
|
*/
|
||||||
|
public final class Translation {
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
static public ExpressionTranslator expressionTranslator(@NotNull TranslationContext context) {
|
||||||
|
return ExpressionTranslator.newInstance(context);
|
||||||
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
static public FunctionTranslator functionTranslator(@NotNull TranslationContext context) {
|
||||||
|
return FunctionTranslator.newInstance(context);
|
||||||
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
static public PropertyAccessTranslator propertyAccessTranslator(@NotNull TranslationContext context) {
|
||||||
|
return PropertyAccessTranslator.newInstance(context);
|
||||||
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
static public NamespaceTranslator namespaceTranslator(@NotNull TranslationContext context) {
|
||||||
|
return NamespaceTranslator.newInstance(context);
|
||||||
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
static public ClassTranslator classTranslator(@NotNull TranslationContext context) {
|
||||||
|
return ClassTranslator.newInstance(context);
|
||||||
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
static public DeclarationTranslator declarationTranslator(@NotNull TranslationContext context) {
|
||||||
|
return DeclarationTranslator.newInstance(context);
|
||||||
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
static public JsNode translateExpression(@NotNull JetExpression expression, @NotNull TranslationContext context) {
|
||||||
|
return expressionTranslator(context).translate(expression);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -40,12 +40,13 @@ public class TranslatorVisitor<T> extends JetVisitor<T, TranslationContext> {
|
|||||||
|
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
protected JsExpression translateInitializer(@NotNull JetProperty declaration, @NotNull TranslationContext context) {
|
protected JsExpression translateInitializerForProperty(@NotNull JetProperty declaration,
|
||||||
|
@NotNull TranslationContext context) {
|
||||||
JsExpression jsInitExpression = null;
|
JsExpression jsInitExpression = null;
|
||||||
JetExpression initializer = declaration.getInitializer();
|
JetExpression initializer = declaration.getInitializer();
|
||||||
if (initializer != null) {
|
if (initializer != null) {
|
||||||
jsInitExpression = AstUtil.convertToExpression(
|
jsInitExpression = AstUtil.convertToExpression(Translation.expressionTranslator(context)
|
||||||
(new ExpressionTranslator(context)).translate(initializer));
|
.translate(initializer));
|
||||||
}
|
}
|
||||||
return jsInitExpression;
|
return jsInitExpression;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -80,4 +80,9 @@ public final class FunctionTest extends TranslationTest {
|
|||||||
public void functionUsedBeforeDeclaration() throws Exception {
|
public void functionUsedBeforeDeclaration() throws Exception {
|
||||||
testFooBoxIsTrue("functionUsedBeforeDeclaration.kt");
|
testFooBoxIsTrue("functionUsedBeforeDeclaration.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void functionWithTwoParametersCall() throws Exception {
|
||||||
|
testFooBoxIsTrue("functionWithTwoParametersCall.kt");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,9 @@
|
|||||||
|
namespace foo
|
||||||
|
|
||||||
|
fun sum(param1 : Int, param2 : Int) : Int {
|
||||||
|
return param1 + param2;
|
||||||
|
}
|
||||||
|
|
||||||
|
fun box() : Boolean {
|
||||||
|
return (sum(1, 5) == 6)
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user