Added custom getter, setter, class support. Not complete.

This commit is contained in:
Pavel Talanov
2011-11-02 19:34:55 +04:00
parent eca501966a
commit 26b8424d37
19 changed files with 371 additions and 263 deletions
+247 -162
View File
@@ -29,20 +29,7 @@
</component>
<component name="DebuggerManager">
<line_breakpoints>
<breakpoint url="file://$PROJECT_DIR$/src/org/jetbrains/k2js/translate/TranslationContext.java" line="70" class="org.jetbrains.k2js.translate.TranslationContext" package="org.jetbrains.k2js.translate">
<option name="ENABLED" value="true" />
<option name="LOG_ENABLED" value="false" />
<option name="LOG_EXPRESSION_ENABLED" value="false" />
<option name="SUSPEND_POLICY" value="SuspendAll" />
<option name="COUNT_FILTER_ENABLED" value="false" />
<option name="COUNT_FILTER" value="0" />
<option name="CONDITION_ENABLED" value="false" />
<option name="CLASS_FILTERS_ENABLED" value="false" />
<option name="INSTANCE_FILTERS_ENABLED" value="false" />
<option name="CONDITION" value="" />
<option name="LOG_MESSAGE" value="" />
</breakpoint>
<breakpoint url="file://$PROJECT_DIR$/src/org/jetbrains/k2js/translate/DeclarationTranslator.java" line="80" class="org.jetbrains.k2js.translate.DeclarationTranslator.NamespacePropertyDeclaration" package="org.jetbrains.k2js.translate">
<breakpoint url="file://$PROJECT_DIR$/src/org/jetbrains/k2js/translate/DeclarationTranslator.java" line="27" class="org.jetbrains.k2js.translate.DeclarationTranslator" package="org.jetbrains.k2js.translate">
<option name="ENABLED" value="true" />
<option name="LOG_ENABLED" value="false" />
<option name="LOG_EXPRESSION_ENABLED" value="false" />
@@ -95,31 +82,22 @@
<favorites_list name="k2js" />
</component>
<component name="FileEditorManager">
<splitter split-orientation="horizontal" split-proportion="0.4299611">
<splitter split-orientation="horizontal" split-proportion="0.61738">
<split-first>
<leaf>
<file leaf-file-name="DeclarationTranslator.java" pinned="false" current="true" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/org/jetbrains/k2js/translate/DeclarationTranslator.java">
<file leaf-file-name="BindingContext.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/../../Kotlin/jet/compiler/frontend/src/org/jetbrains/jet/lang/resolve/BindingContext.java">
<provider selected="true" editor-type-id="text-editor">
<state line="75" column="30" selection-start="2696" selection-end="2696" vertical-scroll-proportion="1.5930233">
<state line="49" column="30" selection-start="3469" selection-end="3469" vertical-scroll-proportion="-5.923077">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="FunctionTranslator.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/org/jetbrains/k2js/translate/FunctionTranslator.java">
<file leaf-file-name="ClassTranslator.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/org/jetbrains/k2js/translate/ClassTranslator.java">
<provider selected="true" editor-type-id="text-editor">
<state line="38" column="15" selection-start="1475" selection-end="1475" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="K2JsVisitor.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/org/jetbrains/k2js/translate/K2JsVisitor.java">
<provider selected="true" editor-type-id="text-editor">
<state line="18" column="52" selection-start="550" selection-end="550" vertical-scroll-proportion="0.0">
<state line="29" column="10" selection-start="1105" selection-end="1105" vertical-scroll-proportion="0.0">
<folding>
<element signature="imports" expanded="true" />
</folding>
@@ -127,64 +105,77 @@
</provider>
</entry>
</file>
<file leaf-file-name="JetVisitor.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/../../Kotlin/jet/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetVisitor.java">
<file leaf-file-name="MutableClassDescriptor.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/../../Kotlin/jet/compiler/frontend/src/org/jetbrains/jet/lang/descriptors/MutableClassDescriptor.java">
<provider selected="true" editor-type-id="text-editor">
<state line="39" column="35" selection-start="1120" selection-end="1120" vertical-scroll-proportion="-8.692307">
<state line="272" column="0" selection-start="10394" selection-end="10394" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="JetNamespaceBody.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/../../Kotlin/jet/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetNamespaceBody.java">
<file leaf-file-name="JetClass.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/../../Kotlin/jet/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetClass.java">
<provider selected="true" editor-type-id="text-editor">
<state line="11" column="13" selection-start="216" selection-end="216" vertical-scroll-proportion="0.0">
<state line="14" column="13" selection-start="328" selection-end="328" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="AbstractTranslator.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/org/jetbrains/k2js/translate/AbstractTranslator.java">
<file leaf-file-name="ClassDescriptor.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/../../Kotlin/jet/compiler/frontend/src/org/jetbrains/jet/lang/descriptors/ClassDescriptor.java">
<provider selected="true" editor-type-id="text-editor">
<state line="38" column="0" selection-start="977" selection-end="1087" vertical-scroll-proportion="0.0">
<state line="25" column="8" selection-start="784" selection-end="784" 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$/src/org/jetbrains/k2js/translate/TranslationContext.java">
<file leaf-file-name="JetType.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/../../Kotlin/jet/compiler/frontend/src/org/jetbrains/jet/lang/types/JetType.java">
<provider selected="true" editor-type-id="text-editor">
<state line="6" column="36" selection-start="273" selection-end="274" vertical-scroll-proportion="-0.65384614">
<state line="11" column="17" selection-start="271" selection-end="271" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="JsFunction.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/com/google/dart/compiler/backend/js/ast/JsFunction.java">
<file leaf-file-name="DeclarationDescriptor.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/../../Kotlin/jet/compiler/frontend/src/org/jetbrains/jet/lang/descriptors/DeclarationDescriptor.java">
<provider selected="true" editor-type-id="text-editor">
<state line="78" column="45" selection-start="2249" selection-end="2249" vertical-scroll-proportion="0.0">
<state line="10" column="17" selection-start="294" selection-end="294" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="Lists.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/com/google/dart/compiler/util/Lists.java">
<file leaf-file-name="ClassBodyVisitor.java" pinned="false" current="true" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/org/jetbrains/k2js/translate/ClassBodyVisitor.java">
<provider selected="true" editor-type-id="text-editor">
<state line="103" column="11" selection-start="3043" selection-end="3043" vertical-scroll-proportion="0.0">
<folding />
<state line="60" column="78" selection-start="2341" selection-end="2341" vertical-scroll-proportion="0.8633441">
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="JsSourceGenerationVisitor.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/com/google/dart/compiler/backend/js/JsSourceGenerationVisitor.java">
<file leaf-file-name="Namer.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/org/jetbrains/k2js/translate/Namer.java">
<provider selected="true" editor-type-id="text-editor">
<state line="24" column="0" selection-start="837" selection-end="837" vertical-scroll-proportion="0.0">
<state line="24" column="54" selection-start="641" selection-end="641" vertical-scroll-proportion="0.0">
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="DeclarationTranslator.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/org/jetbrains/k2js/translate/DeclarationTranslator.java">
<provider selected="true" editor-type-id="text-editor">
<state line="16" column="13" selection-start="404" selection-end="404" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
@@ -194,11 +185,14 @@
</split-first>
<split-second>
<leaf>
<file leaf-file-name="ExpressionTranslator.java" pinned="false" current="false" current-in-tab="true">
<file leaf-file-name="ExpressionTranslator.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/org/jetbrains/k2js/translate/ExpressionTranslator.java">
<provider selected="true" editor-type-id="text-editor">
<state line="29" column="5" selection-start="876" selection-end="876" vertical-scroll-proportion="0.53543305">
<folding />
<state line="14" column="11" selection-start="460" selection-end="460" vertical-scroll-proportion="0.0">
<folding>
<element signature="method#ExpressionTranslator#0;class#ExpressionTranslator#0" expanded="false" />
<element signature="method#translate#0;class#ExpressionTranslator#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
@@ -217,7 +211,7 @@
<file leaf-file-name="K2JSTranslator.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/org/jetbrains/k2js/K2JSTranslator.java">
<provider selected="true" editor-type-id="text-editor">
<state line="86" column="89" selection-start="3329" selection-end="3329" vertical-scroll-proportion="0.0">
<state line="48" column="28" selection-start="1886" selection-end="1886" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
@@ -235,21 +229,32 @@
<file leaf-file-name="NamespaceTranslator.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/org/jetbrains/k2js/translate/NamespaceTranslator.java">
<provider selected="true" editor-type-id="text-editor">
<state line="38" column="69" selection-start="1402" selection-end="1402" vertical-scroll-proportion="0.0">
<state line="38" column="0" selection-start="1333" selection-end="1333" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="test.kt" pinned="false" current="false" current-in-tab="false">
<file leaf-file-name="test.kt" pinned="false" current="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/test_files/test.kt">
<provider selected="true" editor-type-id="text-editor">
<state line="17" column="42" selection-start="269" selection-end="269" vertical-scroll-proportion="0.0">
<state line="13" column="6" selection-start="151" selection-end="151" vertical-scroll-proportion="0.35934958">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="K2JsVisitor.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/org/jetbrains/k2js/translate/K2JsVisitor.java">
<provider selected="true" editor-type-id="text-editor">
<state line="18" column="52" selection-start="550" selection-end="550" vertical-scroll-proportion="0.0">
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="ContextType.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/org/jetbrains/k2js/translate/ContextType.java">
<provider selected="true" editor-type-id="text-editor">
@@ -262,7 +267,7 @@
<file leaf-file-name="AstUtil.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/com/google/dart/compiler/util/AstUtil.java">
<provider selected="true" editor-type-id="text-editor">
<state line="126" column="20" selection-start="4197" selection-end="4197" vertical-scroll-proportion="0.0">
<state line="30" column="28" selection-start="1015" selection-end="1015" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
@@ -294,22 +299,22 @@
<component name="IdeDocumentHistory">
<option name="changedFiles">
<list>
<option value="$PROJECT_DIR$/src/org/jetbrains/k2js/translate/OperationTranslator.java" />
<option value="$PROJECT_DIR$/src/com/google/dart/compiler/backend/js/ast/JsFunction.java" />
<option value="$PROJECT_DIR$/src/org/jetbrains/k2js/translate/AbstractTranslator.java" />
<option value="$PROJECT_DIR$/src/com/google/dart/compiler/util/AstUtil.java" />
<option value="$PROJECT_DIR$/src/org/jetbrains/k2js/translate/ContextType.java" />
<option value="$PROJECT_DIR$/src/org/jetbrains/k2js/translate/DeclarationTranslator.java" />
<option value="$PROJECT_DIR$/src/org/jetbrains/k2js/translate/NamespaceTranslator.java" />
<option value="$PROJECT_DIR$/src/org/jetbrains/k2js/translate/FunctionTranslator.java" />
<option value="$PROJECT_DIR$/test_files/test.kt" />
<option value="$PROJECT_DIR$/src/org/jetbrains/k2js/K2JSTranslator.java" />
<option value="$PROJECT_DIR$/src/org/jetbrains/k2js/translate/TranslationContext.java" />
<option value="$PROJECT_DIR$/src/org/jetbrains/k2js/translate/ExpressionTranslator.java" />
<option value="$PROJECT_DIR$/src/org/jetbrains/k2js/translate/K2JsVisitor.java" />
<option value="$PROJECT_DIR$/src/org/jetbrains/k2js/translate/ExpressionVisitor.java" />
<option value="$PROJECT_DIR$/src/org/jetbrains/k2js/translate/DeclarationVisitor.java" />
<option value="$PROJECT_DIR$/../../Kotlin/jet/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetVisitor.java" />
<option value="$PROJECT_DIR$/src/org/jetbrains/k2js/translate/ExpressionTranslator.java" />
<option value="$PROJECT_DIR$/src/org/jetbrains/k2js/translate/AbstractTranslator.java" />
<option value="$PROJECT_DIR$/src/com/google/dart/compiler/backend/js/ast/JsInvocation.java" />
<option value="$PROJECT_DIR$/src/org/jetbrains/k2js/translate/DeclarationTranslator.java" />
<option value="$PROJECT_DIR$/src/org/jetbrains/k2js/K2JSTranslator.java" />
<option value="$PROJECT_DIR$/src/org/jetbrains/k2js/translate/TranslationContext.java" />
<option value="$PROJECT_DIR$/src/com/google/dart/compiler/backend/js/ast/JsObjectLiteral.java" />
<option value="$PROJECT_DIR$/src/org/jetbrains/k2js/translate/Namer.java" />
<option value="$PROJECT_DIR$/src/org/jetbrains/k2js/translate/ClassTranslator.java" />
<option value="$PROJECT_DIR$/src/org/jetbrains/k2js/translate/ClassBodyVisitor.java" />
<option value="$PROJECT_DIR$/test_files/test.kt" />
</list>
</option>
</component>
@@ -386,6 +391,20 @@
<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="k2js" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="test_files" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="k2js" />
@@ -440,6 +459,70 @@
<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="frontend" />
<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="frontend" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="src" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="jet" />
<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="frontend" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="src" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="jet" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="lang" />
<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="frontend" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="src" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
</subPane>
</pane>
</panes>
@@ -646,7 +729,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="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.17540108" sideWeight="0.6719057" 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="7" 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.3280943" sideWeight="0.5" 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.3280943" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="JsTestDriver Server" 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="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" />
@@ -706,122 +789,124 @@
<option name="FILTER_TARGETS" value="false" />
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/src/org/jetbrains/k2js/translate/NamespaceTranslator.java">
<entry file="file://$PROJECT_DIR$/../../Kotlin/jet/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetClassBody.java">
<provider selected="true" editor-type-id="text-editor">
<state line="38" column="69" selection-start="1402" selection-end="1402" vertical-scroll-proportion="0.0">
<state line="42" column="35" selection-start="1162" selection-end="1162" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/test/com/google/dart/compiler/backend/js/Test.java">
<entry file="file://$PROJECT_DIR$/../../Kotlin/jet/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetDelegationSpecifierList.java">
<provider selected="true" editor-type-id="text-editor">
<state line="6" column="13" selection-start="215" selection-end="215" vertical-scroll-proportion="0.0">
<state line="26" column="26" selection-start="670" selection-end="670" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/../../Kotlin/jet/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetNamespaceBody.java">
<entry file="file://$PROJECT_DIR$/../../Kotlin/jet/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetDelegationSpecifier.java">
<provider selected="true" editor-type-id="text-editor">
<state line="11" column="13" selection-start="216" selection-end="216" vertical-scroll-proportion="0.0">
<state line="10" column="13" selection-start="232" selection-end="232" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/org/jetbrains/k2js/translate/OperationTranslator.java">
<entry file="file://$PROJECT_DIR$/../../Kotlin/jet/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetDeclaration.java">
<provider selected="true" editor-type-id="text-editor">
<state line="14" column="19" selection-start="414" selection-end="414" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/org/jetbrains/k2js/K2JSTranslator.java">
<provider selected="true" editor-type-id="text-editor">
<state line="86" column="89" selection-start="3329" selection-end="3329" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/org/jetbrains/k2js/translate/TranslationContext.java">
<provider selected="true" editor-type-id="text-editor">
<state line="6" column="36" selection-start="273" selection-end="274" vertical-scroll-proportion="-0.65384614">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/org/jetbrains/k2js/translate/AbstractTranslator.java">
<provider selected="true" editor-type-id="text-editor">
<state line="38" column="0" selection-start="977" selection-end="1087" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/test_files/test.kt">
<provider selected="true" editor-type-id="text-editor">
<state line="17" column="42" selection-start="269" selection-end="269" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/org/jetbrains/k2js/translate/K2JsVisitor.java">
<provider selected="true" editor-type-id="text-editor">
<state line="18" column="52" selection-start="550" selection-end="550" vertical-scroll-proportion="0.0">
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/com/google/dart/compiler/backend/js/ast/JsNameRef.java">
<provider selected="true" editor-type-id="text-editor">
<state line="9" column="25" selection-start="362" selection-end="362" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/../../Kotlin/jet/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetVisitor.java">
<provider selected="true" editor-type-id="text-editor">
<state line="39" column="35" selection-start="1120" selection-end="1120" vertical-scroll-proportion="-8.692307">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/com/google/dart/compiler/backend/js/JsToStringGenerationVisitor.java">
<provider selected="true" editor-type-id="text-editor">
<state line="665" column="0" selection-start="17342" selection-end="17342" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/org/jetbrains/k2js/translate/FunctionTranslator.java">
<provider selected="true" editor-type-id="text-editor">
<state line="38" column="15" selection-start="1475" selection-end="1475" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/org/jetbrains/k2js/translate/ExpressionVisitor.java">
<provider selected="true" editor-type-id="text-editor">
<state line="15" column="57" selection-start="493" selection-end="493" vertical-scroll-proportion="-10.2">
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/org/jetbrains/k2js/translate/ExpressionTranslator.java">
<provider selected="true" editor-type-id="text-editor">
<state line="29" column="5" selection-start="876" selection-end="876" vertical-scroll-proportion="0.53543305">
<state line="11" column="22" selection-start="282" selection-end="282" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/org/jetbrains/k2js/translate/DeclarationTranslator.java">
<provider selected="true" editor-type-id="text-editor">
<state line="75" column="30" selection-start="2696" selection-end="2696" vertical-scroll-proportion="1.5930233">
<state line="16" column="13" selection-start="404" selection-end="404" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/../../Kotlin/jet/compiler/frontend/src/org/jetbrains/jet/lang/descriptors/DeclarationDescriptor.java">
<provider selected="true" editor-type-id="text-editor">
<state line="10" column="17" selection-start="294" selection-end="294" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/../../Kotlin/jet/compiler/frontend/src/org/jetbrains/jet/lang/descriptors/ClassDescriptor.java">
<provider selected="true" editor-type-id="text-editor">
<state line="25" column="8" selection-start="784" selection-end="784" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/../../Kotlin/jet/compiler/frontend/src/org/jetbrains/jet/lang/types/JetType.java">
<provider selected="true" editor-type-id="text-editor">
<state line="11" column="17" selection-start="271" selection-end="271" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/../../Kotlin/jet/compiler/frontend/src/org/jetbrains/jet/lang/resolve/BindingContext.java">
<provider selected="true" editor-type-id="text-editor">
<state line="49" column="30" selection-start="3469" selection-end="3469" vertical-scroll-proportion="-5.923077">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/org/jetbrains/k2js/translate/Namer.java">
<provider selected="true" editor-type-id="text-editor">
<state line="24" column="54" selection-start="641" selection-end="641" vertical-scroll-proportion="0.0">
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/org/jetbrains/k2js/K2JSTranslator.java">
<provider selected="true" editor-type-id="text-editor">
<state line="48" column="28" selection-start="1886" selection-end="1886" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/../../Kotlin/jet/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetClass.java">
<provider selected="true" editor-type-id="text-editor">
<state line="14" column="13" selection-start="328" selection-end="328" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/../../Kotlin/jet/compiler/frontend/src/org/jetbrains/jet/lang/descriptors/MutableClassDescriptor.java">
<provider selected="true" editor-type-id="text-editor">
<state line="272" column="0" selection-start="10394" selection-end="10394" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/org/jetbrains/k2js/translate/ClassTranslator.java">
<provider selected="true" editor-type-id="text-editor">
<state line="29" column="10" selection-start="1105" selection-end="1105" vertical-scroll-proportion="0.0">
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/test_files/test.kt">
<provider selected="true" editor-type-id="text-editor">
<state line="13" column="6" selection-start="151" selection-end="151" vertical-scroll-proportion="0.35934958">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/org/jetbrains/k2js/translate/ClassBodyVisitor.java">
<provider selected="true" editor-type-id="text-editor">
<state line="60" column="78" selection-start="2341" selection-end="2341" vertical-scroll-proportion="0.8633441">
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
</component>
<component name="masterDetails">
<states>
@@ -12,51 +12,51 @@ import java.util.List;
*/
public final class JsInvocation extends JsExpression implements HasArguments {
private final List<JsExpression> args = new ArrayList<JsExpression>();
private JsExpression qualifier;
private final List<JsExpression> args = new ArrayList<JsExpression>();
private JsExpression qualifier;
public JsInvocation() {
}
@Override
public List<JsExpression> getArguments() {
return args;
}
public JsExpression getQualifier() {
return qualifier;
}
@Override
public boolean hasSideEffects() {
return true;
}
@Override
public boolean isDefinitelyNotNull() {
return false;
}
@Override
public boolean isDefinitelyNull() {
return false;
}
public void setQualifier(JsExpression qualifier) {
this.qualifier = qualifier;
}
@Override
public void traverse(JsVisitor v, JsContext ctx) {
if (v.visit(this, ctx)) {
qualifier = v.accept(qualifier);
v.acceptList(args);
public JsInvocation() {
}
v.endVisit(this, ctx);
}
@Override
public NodeKind getKind() {
return NodeKind.INVOKE;
}
@Override
public List<JsExpression> getArguments() {
return args;
}
public JsExpression getQualifier() {
return qualifier;
}
@Override
public boolean hasSideEffects() {
return true;
}
@Override
public boolean isDefinitelyNotNull() {
return false;
}
@Override
public boolean isDefinitelyNull() {
return false;
}
public void setQualifier(JsExpression qualifier) {
this.qualifier = qualifier;
}
@Override
public void traverse(JsVisitor v, JsContext ctx) {
if (v.visit(this, ctx)) {
qualifier = v.accept(qualifier);
v.acceptList(args);
}
v.endVisit(this, ctx);
}
@Override
public NodeKind getKind() {
return NodeKind.INVOKE;
}
}
@@ -12,55 +12,61 @@ import java.util.List;
*/
public final class JsObjectLiteral extends JsLiteral {
private final List<JsPropertyInitializer> props = new ArrayList<JsPropertyInitializer>();
private final List<JsPropertyInitializer> props;
public JsObjectLiteral() {
}
public JsObjectLiteral() {
props = new ArrayList<JsPropertyInitializer>();
}
public List<JsPropertyInitializer> getPropertyInitializers() {
return props;
}
public JsObjectLiteral(List<JsPropertyInitializer> props) {
assert props != null;
this.props = props;
}
@Override
public boolean hasSideEffects() {
for (JsPropertyInitializer prop : props) {
if (prop.hasSideEffects()) {
public List<JsPropertyInitializer> getPropertyInitializers() {
return props;
}
@Override
public boolean hasSideEffects() {
for (JsPropertyInitializer prop : props) {
if (prop.hasSideEffects()) {
return true;
}
}
return false;
}
@Override
public boolean isBooleanFalse() {
return false;
}
@Override
public boolean isBooleanTrue() {
return true;
}
}
return false;
}
@Override
public boolean isBooleanFalse() {
return false;
}
@Override
public boolean isBooleanTrue() {
return true;
}
@Override
public boolean isDefinitelyNotNull() {
return true;
}
@Override
public boolean isDefinitelyNull() {
return false;
}
@Override
public void traverse(JsVisitor v, JsContext ctx) {
if (v.visit(this, ctx)) {
v.acceptWithInsertRemove(props);
@Override
public boolean isDefinitelyNotNull() {
return true;
}
v.endVisit(this, ctx);
}
@Override
public NodeKind getKind() {
return NodeKind.OBJECT;
}
@Override
public boolean isDefinitelyNull() {
return false;
}
@Override
public void traverse(JsVisitor v, JsContext ctx) {
if (v.visit(this, ctx)) {
v.acceptWithInsertRemove(props);
}
v.endVisit(this, ctx);
}
@Override
public NodeKind getKind() {
return NodeKind.OBJECT;
}
}
+1 -1
View File
@@ -45,7 +45,7 @@ public class K2JSTranslator {
public static void main(String[] args) {
System.setProperty("java.awt.headless", "true");
Arguments arguments = new Arguments();
arguments.src = "C:\\Dev\\Projects\\k2js\\test_files\\test.kt";
arguments.src = "C:\\Dev\\Projects\\jet-contrib\\k2js\\test_files\\test.kt";
Disposable root = new Disposable() {
@Override
@@ -36,8 +36,7 @@ public abstract class AbstractTranslator {
@NotNull
protected JsName getJSName(String jetName) {
//TODO dummy implemetation
return new JsName(program().getScope(), jetName, jetName, jetName);
return context.getJSName(jetName);
}
@NotNull
@@ -32,8 +32,9 @@ public class DeclarationTranslator extends AbstractTranslator {
return AstUtil.convertToStatement((new FunctionTranslator(translationContext()))
.translateFunction((JetNamedFunction) declaration));
}
else if (declaration instanceof JetClassOrObject) {
//classCodegen.translate(context, (JetClassOrObject) declaration);
else if (declaration instanceof JetClass) {
ClassTranslator classTranslator = new ClassTranslator(translationContext());
return classTranslator.translateClass((JetClass)declaration);
}
else if (declaration instanceof JetNamespace) {
// JetNamespace childNamespace = (JetNamespace) declaration;
@@ -12,7 +12,7 @@ import org.jetbrains.jet.lexer.JetToken;
import java.util.List;
/**
* Talanov Pavel
* @author Talanov Pavel
*/
class ExpressionTranslator extends AbstractTranslator {
@@ -17,6 +17,8 @@ public class TranslationContext {
private final BindingContext context;
private final JsScope enclosingScope;
private final ContextType type;
private final JsNameRef classObjectReference;
private final JsNameRef classCreationMethodReference;
private TranslationContext(JsNameRef namespace, JsBlock block, JsProgram program,
@@ -32,6 +34,8 @@ public class TranslationContext {
this.context = bindingContext;
this.enclosingScope = enclosingScope;
this.type = type;
this.classObjectReference = new JsNameRef(getJSName("Class"));
this.classCreationMethodReference = AstUtil.newQualifiedNameRef("Class.create");
}
@NotNull
@@ -84,6 +88,11 @@ public class TranslationContext {
return context;
}
@NotNull
public JsNameRef classObjectReference() {
return classObjectReference;
}
@NotNull
public JsProgram program() {
return program;
@@ -104,5 +113,10 @@ public class TranslationContext {
return type;
}
@NotNull
JsNameRef classCreationMethodReference() {
return classCreationMethodReference;
}
}
+11 -8
View File
@@ -5,15 +5,18 @@ val b : Int = 235456
var c : Int = 1324
var myFavouriteName : Int = 1245
fun main() : Int {
return 5
open class B() {
}
fun eval(x : Int, y : String) : Int {
return (1456 - 34) * 5
}
class A() : B() {
var a : Int
get() : Int {
return 4
}
fun olol(abab : Int) : Int {
var a : Int = 5
return a
set() {
}
}