supported NativeClass() and NativeFun(String) annotations
This commit is contained in:
Generated
+246
-182
@@ -13,9 +13,14 @@
|
||||
</component>
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="f02ef53d-47a4-4f5e-a1aa-3df68aae9b20" name="Default" comment="">
|
||||
<change type="MOVED" beforePath="C:\Dev\Projects\jet-contrib\k2js\translator\src\org\jetbrains\k2js\translate\context\declaration\JsAnnotationsUtils.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/declaration/AnnotationsUtils.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/declaration/JsAnnotationsUtils.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/declaration/JsAnnotationsUtils.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/jslib/src/jquery/common.kt" afterPath="$PROJECT_DIR$/jslib/src/jquery/common.kt" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/declaration/AbstractDeclarationVisitor.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/declaration/AbstractDeclarationVisitor.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/declaration/DeclarationFacade.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/declaration/DeclarationFacade.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/declaration/KotlinDeclarationVisitor.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/declaration/KotlinDeclarationVisitor.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/declaration/NativeDeclarationVisitor.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/declaration/NativeDeclarationVisitor.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/general/Translation.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/general/Translation.java" />
|
||||
</list>
|
||||
<ignored path="k2js.iws" />
|
||||
<ignored path=".idea/workspace.xml" />
|
||||
@@ -59,6 +64,21 @@
|
||||
<disable_hints />
|
||||
</component>
|
||||
<component name="DebuggerManager">
|
||||
<line_breakpoints>
|
||||
<breakpoint url="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/general/Translation.java" line="101" class="org.jetbrains.k2js.translate.general.Translation" package="org.jetbrains.k2js.translate.general">
|
||||
<option name="ENABLED" value="true" />
|
||||
<option name="LOG_ENABLED" value="false" />
|
||||
<option name="LOG_EXPRESSION_ENABLED" value="false" />
|
||||
<option name="SUSPEND_POLICY" value="SuspendAll" />
|
||||
<option name="COUNT_FILTER_ENABLED" value="false" />
|
||||
<option name="COUNT_FILTER" value="0" />
|
||||
<option name="CONDITION_ENABLED" value="false" />
|
||||
<option name="CLASS_FILTERS_ENABLED" value="false" />
|
||||
<option name="INSTANCE_FILTERS_ENABLED" value="false" />
|
||||
<option name="CONDITION" value="" />
|
||||
<option name="LOG_MESSAGE" value="" />
|
||||
</breakpoint>
|
||||
</line_breakpoints>
|
||||
<breakpoint_any>
|
||||
<breakpoint>
|
||||
<option name="NOTIFY_CAUGHT" value="true" />
|
||||
@@ -115,24 +135,13 @@
|
||||
<favorites_list name="k2js" />
|
||||
</component>
|
||||
<component name="FileEditorManager">
|
||||
<splitter split-orientation="horizontal" split-proportion="0.8926829">
|
||||
<splitter split-orientation="horizontal" split-proportion="0.86455584">
|
||||
<split-first>
|
||||
<leaf>
|
||||
<file leaf-file-name="Declarations.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/declaration/Declarations.java">
|
||||
<file leaf-file-name="AnnotationsUtils.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/declaration/AnnotationsUtils.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="16" column="19" selection-start="536" selection-end="536" vertical-scroll-proportion="0.0">
|
||||
<folding>
|
||||
<element signature="e#1045#1079#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="DeclarationFacade.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/declaration/DeclarationFacade.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="20" column="19" selection-start="734" selection-end="734" vertical-scroll-proportion="0.0">
|
||||
<state line="19" column="0" selection-start="751" selection-end="751" vertical-scroll-proportion="0.0">
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
@@ -140,24 +149,20 @@
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="KotlinDeclarationVisitor.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/declaration/KotlinDeclarationVisitor.java">
|
||||
<file leaf-file-name="common.kt" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/jslib/src/jquery/common.kt">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="41" column="20" selection-start="1640" selection-end="1640" vertical-scroll-proportion="0.0">
|
||||
<folding>
|
||||
<element signature="imports" expanded="false" />
|
||||
</folding>
|
||||
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="JsAnnotationsUtils.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/declaration/JsAnnotationsUtils.java">
|
||||
<file leaf-file-name="annotations.kt" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/jslib/src/core/annotations.kt">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="26" column="66" selection-start="957" selection-end="957" vertical-scroll-proportion="0.0">
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
<state line="3" column="35" selection-start="94" selection-end="94" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
@@ -165,27 +170,16 @@
|
||||
<file leaf-file-name="DeclarationContext.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/declaration/DeclarationContext.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="38" column="30" selection-start="1063" selection-end="1063" vertical-scroll-proportion="0.0">
|
||||
<state line="13" column="0" selection-start="525" selection-end="525" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="NativeDeclarationVisitor.java" pinned="false" current="true" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/declaration/NativeDeclarationVisitor.java">
|
||||
<file leaf-file-name="DeclarationFacade.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/declaration/DeclarationFacade.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="40" column="73" selection-start="1825" selection-end="1825" vertical-scroll-proportion="0.5458015">
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="AbstractDeclarationVisitor.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/declaration/AbstractDeclarationVisitor.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="148" column="102" selection-start="6324" selection-end="6324" vertical-scroll-proportion="-10.461538">
|
||||
<state line="84" column="0" selection-start="3089" selection-end="3089" vertical-scroll-proportion="0.0">
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
@@ -196,25 +190,47 @@
|
||||
<file leaf-file-name="StaticContext.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/StaticContext.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="178" column="21" selection-start="5930" selection-end="5930" vertical-scroll-proportion="0.0">
|
||||
<state line="85" column="0" selection-start="3162" selection-end="3162" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="TranslationContext.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/TranslationContext.java">
|
||||
<file leaf-file-name="Translation.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/general/Translation.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="154" column="31" selection-start="5957" selection-end="5957" vertical-scroll-proportion="0.0">
|
||||
<state line="101" column="0" selection-start="5003" selection-end="5003" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="StandardClasses.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/StandardClasses.java">
|
||||
<file leaf-file-name="NativeDeclarationVisitor.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/declaration/NativeDeclarationVisitor.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="99" column="10" selection-start="3149" selection-end="3149" vertical-scroll-proportion="0.0">
|
||||
<state line="21" column="80" selection-start="898" selection-end="898" vertical-scroll-proportion="0.0">
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="AbstractDeclarationVisitor.java" pinned="false" current="true" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/declaration/AbstractDeclarationVisitor.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="176" column="10" selection-start="7547" selection-end="7547" vertical-scroll-proportion="0.41603053">
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="KotlinDeclarationVisitor.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/declaration/KotlinDeclarationVisitor.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="25" column="0" selection-start="950" selection-end="1114" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
@@ -339,21 +355,21 @@
|
||||
<component name="IdeDocumentHistory">
|
||||
<option name="changedFiles">
|
||||
<list>
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/facade/K2JSTranslator.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/DeclarationVisitor.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/BindingUtils.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/Declarations.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/general/Translation.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/declaration/Declarations.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/declaration/DeclarationFacade.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/StaticContext.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/TranslationUtils.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/TranslationContext.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/StandardClasses.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/declaration/DeclarationVisitor.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/declaration/AbstractDeclarationVisitor.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/declaration/KotlinDeclarationVisitor.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/declaration/JsAnnotationsUtils.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/declaration/AbstractDeclarationVisitor.java" />
|
||||
<option value="$PROJECT_DIR$/../../Kotlin/jet/compiler/frontend/src/org/jetbrains/jet/lang/resolve/AnnotationResolver.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/general/Translation.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/declaration/DeclarationFacade.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/declaration/KotlinDeclarationVisitor.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/declaration/AnnotationsUtils.java" />
|
||||
<option value="$PROJECT_DIR$/jslib/src/core/annotations.kt" />
|
||||
<option value="$PROJECT_DIR$/jslib/src/jquery/common.kt" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/declaration/NativeDeclarationVisitor.java" />
|
||||
</list>
|
||||
</option>
|
||||
@@ -719,6 +735,52 @@
|
||||
<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="jslib" />
|
||||
<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="jslib" />
|
||||
<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="jquery" />
|
||||
<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="jslib" />
|
||||
<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="core" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
</subPane>
|
||||
</pane>
|
||||
<pane id="Favorites" />
|
||||
@@ -762,68 +824,6 @@
|
||||
</key>
|
||||
</component>
|
||||
<component name="RunManager" selected="JUnit.All in jetTests">
|
||||
<configuration default="false" name="ExtensionFunctionTest" type="JUnit" factoryName="JUnit" temporary="true">
|
||||
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
|
||||
<pattern>
|
||||
<option name="PATTERN" value="org.jetbrains.k2js.test.*" />
|
||||
<option name="ENABLED" value="true" />
|
||||
</pattern>
|
||||
</extension>
|
||||
<module name="jetTests" />
|
||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||
<option name="ALTERNATIVE_JRE_PATH" value="" />
|
||||
<option name="PACKAGE_NAME" value="org.jetbrains.k2js.test" />
|
||||
<option name="MAIN_CLASS_NAME" value="org.jetbrains.k2js.test.ExtensionFunctionTest" />
|
||||
<option name="METHOD_NAME" value="extensionLiteralPassedToFunction" />
|
||||
<option name="TEST_OBJECT" value="class" />
|
||||
<option name="VM_PARAMETERS" value="-ea" />
|
||||
<option name="PARAMETERS" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
|
||||
<option name="ENV_VARIABLES" />
|
||||
<option name="PASS_PARENT_ENVS" value="true" />
|
||||
<option name="TEST_SEARCH_SCOPE">
|
||||
<value defaultName="moduleWithDependencies" />
|
||||
</option>
|
||||
<envs />
|
||||
<patterns />
|
||||
<RunnerSettings RunnerId="Run" />
|
||||
<ConfigurationWrapper RunnerId="Run" />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="false" name="ArrayListTest.isEmpty" type="JUnit" factoryName="JUnit" temporary="true">
|
||||
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
|
||||
<pattern>
|
||||
<option name="PATTERN" value="org.jetbrains.k2js.test.*" />
|
||||
<option name="ENABLED" value="true" />
|
||||
</pattern>
|
||||
</extension>
|
||||
<module name="jetTests" />
|
||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||
<option name="ALTERNATIVE_JRE_PATH" value="" />
|
||||
<option name="PACKAGE_NAME" value="org.jetbrains.k2js.test" />
|
||||
<option name="MAIN_CLASS_NAME" value="org.jetbrains.k2js.test.ArrayListTest" />
|
||||
<option name="METHOD_NAME" value="isEmpty" />
|
||||
<option name="TEST_OBJECT" value="method" />
|
||||
<option name="VM_PARAMETERS" value="-ea" />
|
||||
<option name="PARAMETERS" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
|
||||
<option name="ENV_VARIABLES" />
|
||||
<option name="PASS_PARENT_ENVS" value="true" />
|
||||
<option name="TEST_SEARCH_SCOPE">
|
||||
<value defaultName="moduleWithDependencies" />
|
||||
</option>
|
||||
<envs />
|
||||
<patterns />
|
||||
<RunnerSettings RunnerId="Debug">
|
||||
<option name="DEBUG_PORT" value="" />
|
||||
<option name="TRANSPORT" value="0" />
|
||||
<option name="LOCAL" value="true" />
|
||||
</RunnerSettings>
|
||||
<RunnerSettings RunnerId="Run" />
|
||||
<ConfigurationWrapper RunnerId="Debug" />
|
||||
<ConfigurationWrapper RunnerId="Run" />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="false" name="OperationTest.prefixIntOperations" type="JUnit" factoryName="JUnit" temporary="true">
|
||||
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
|
||||
<pattern>
|
||||
@@ -912,6 +912,72 @@
|
||||
<ConfigurationWrapper RunnerId="Run" />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="false" name="StringTest.stringConstant" type="JUnit" factoryName="JUnit" temporary="true">
|
||||
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
|
||||
<pattern>
|
||||
<option name="PATTERN" value="org.jetbrains.k2js.test.*" />
|
||||
<option name="ENABLED" value="true" />
|
||||
</pattern>
|
||||
</extension>
|
||||
<module name="jetTests" />
|
||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||
<option name="ALTERNATIVE_JRE_PATH" value="" />
|
||||
<option name="PACKAGE_NAME" value="org.jetbrains.k2js.test" />
|
||||
<option name="MAIN_CLASS_NAME" value="org.jetbrains.k2js.test.StringTest" />
|
||||
<option name="METHOD_NAME" value="stringConstant" />
|
||||
<option name="TEST_OBJECT" value="method" />
|
||||
<option name="VM_PARAMETERS" value="-ea" />
|
||||
<option name="PARAMETERS" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
|
||||
<option name="ENV_VARIABLES" />
|
||||
<option name="PASS_PARENT_ENVS" value="true" />
|
||||
<option name="TEST_SEARCH_SCOPE">
|
||||
<value defaultName="moduleWithDependencies" />
|
||||
</option>
|
||||
<envs />
|
||||
<patterns />
|
||||
<RunnerSettings RunnerId="Debug">
|
||||
<option name="DEBUG_PORT" value="" />
|
||||
<option name="TRANSPORT" value="0" />
|
||||
<option name="LOCAL" value="true" />
|
||||
</RunnerSettings>
|
||||
<RunnerSettings RunnerId="Run" />
|
||||
<ConfigurationWrapper RunnerId="Debug" />
|
||||
<ConfigurationWrapper RunnerId="Run" />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="false" name="MiscTest.namespaceProperties" type="JUnit" factoryName="JUnit" temporary="true">
|
||||
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
|
||||
<pattern>
|
||||
<option name="PATTERN" value="org.jetbrains.k2js.test.*" />
|
||||
<option name="ENABLED" value="true" />
|
||||
</pattern>
|
||||
</extension>
|
||||
<module name="jetTests" />
|
||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||
<option name="ALTERNATIVE_JRE_PATH" value="" />
|
||||
<option name="PACKAGE_NAME" value="org.jetbrains.k2js.test" />
|
||||
<option name="MAIN_CLASS_NAME" value="org.jetbrains.k2js.test.MiscTest" />
|
||||
<option name="METHOD_NAME" value="namespaceProperties" />
|
||||
<option name="TEST_OBJECT" value="method" />
|
||||
<option name="VM_PARAMETERS" value="-ea" />
|
||||
<option name="PARAMETERS" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
|
||||
<option name="ENV_VARIABLES" />
|
||||
<option name="PASS_PARENT_ENVS" value="true" />
|
||||
<option name="TEST_SEARCH_SCOPE">
|
||||
<value defaultName="moduleWithDependencies" />
|
||||
</option>
|
||||
<envs />
|
||||
<patterns />
|
||||
<RunnerSettings RunnerId="Debug">
|
||||
<option name="DEBUG_PORT" value="" />
|
||||
<option name="TRANSPORT" value="0" />
|
||||
<option name="LOCAL" value="true" />
|
||||
</RunnerSettings>
|
||||
<ConfigurationWrapper RunnerId="Debug" />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="true" type="Remote" factoryName="Remote">
|
||||
<option name="USE_SOCKET_TRANSPORT" value="true" />
|
||||
<option name="SERVER_MODE" value="false" />
|
||||
@@ -1098,11 +1164,11 @@
|
||||
<item index="0" class="java.lang.String" itemvalue="Applet.Applet" />
|
||||
<item index="1" class="java.lang.String" itemvalue="JUnit.tests" />
|
||||
<item index="2" class="java.lang.String" itemvalue="JUnit.All in jetTests" />
|
||||
<item index="3" class="java.lang.String" itemvalue="JUnit.ExtensionFunctionTest" />
|
||||
<item index="4" class="java.lang.String" itemvalue="JUnit.ArrayListTest.isEmpty" />
|
||||
<item index="5" class="java.lang.String" itemvalue="JUnit.OperationTest.prefixIntOperations" />
|
||||
<item index="6" class="java.lang.String" itemvalue="JUnit.WebDemoExamples1Test.isCheck" />
|
||||
<item index="7" class="java.lang.String" itemvalue="JUnit.WebDemoExamples1Test" />
|
||||
<item index="3" class="java.lang.String" itemvalue="JUnit.OperationTest.prefixIntOperations" />
|
||||
<item index="4" class="java.lang.String" itemvalue="JUnit.WebDemoExamples1Test.isCheck" />
|
||||
<item index="5" class="java.lang.String" itemvalue="JUnit.WebDemoExamples1Test" />
|
||||
<item index="6" class="java.lang.String" itemvalue="JUnit.StringTest.stringConstant" />
|
||||
<item index="7" class="java.lang.String" itemvalue="JUnit.MiscTest.namespaceProperties" />
|
||||
</list>
|
||||
<configuration name="<template>" type="WebApp" default="true" selected="false">
|
||||
<Host>localhost</Host>
|
||||
@@ -1191,9 +1257,9 @@
|
||||
<window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32977018" sideWeight="0.6570605" order="4" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3997862" sideWeight="0.6705998" order="0" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.22928914" sideWeight="0.55043226" order="0" side_tool="false" content_ui="combo" />
|
||||
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.15927312" sideWeight="0.55043226" order="2" side_tool="false" content_ui="combo" />
|
||||
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.44956774" sideWeight="0.8530198" order="2" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="CodeWindow" 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="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.0908605" sideWeight="0.7146974" order="2" side_tool="false" content_ui="combo" />
|
||||
<window_info id="ResolveWindow" 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="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" />
|
||||
@@ -1238,7 +1304,7 @@
|
||||
<option name="CREATE_PATCH_EXPAND_DETAILS_DEFAULT" value="true" />
|
||||
<option name="SHOW_FILE_HISTORY_DETAILS" value="true" />
|
||||
<option name="FORCE_NON_EMPTY_COMMENT" value="false" />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="refactoring declaration visitor" />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="adding annotations checks" />
|
||||
<option name="MAKE_NEW_CHANGELIST_ACTIVE" value="true" />
|
||||
<option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="true" />
|
||||
<option name="CHECK_FILES_UP_TO_DATE_BEFORE_COMMIT" value="false" />
|
||||
@@ -1251,7 +1317,6 @@
|
||||
<option name="UPDATE_GROUP_BY_CHANGELIST" value="false" />
|
||||
<option name="SHOW_FILE_HISTORY_AS_TREE" value="false" />
|
||||
<option name="FILE_HISTORY_SPLITTER_PROPORTION" value="0.6" />
|
||||
<MESSAGE value="Very big code migration started. Still in progress. Tests fail." />
|
||||
<MESSAGE value="fix most of the tests" />
|
||||
<MESSAGE value="refactor access translator logic" />
|
||||
<MESSAGE value="refactor qualified expression translation" />
|
||||
@@ -1276,6 +1341,7 @@
|
||||
<MESSAGE value="migrating code" />
|
||||
<MESSAGE value="implementing new declaration logic" />
|
||||
<MESSAGE value="refactoring declaration visitor" />
|
||||
<MESSAGE value="adding annotations checks" />
|
||||
</component>
|
||||
<component name="XDebuggerManager">
|
||||
<breakpoint-manager />
|
||||
@@ -1285,124 +1351,122 @@
|
||||
<option name="FILTER_TARGETS" value="false" />
|
||||
</component>
|
||||
<component name="editorHistoryManager">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/declaration/PropertyTranslator.java">
|
||||
<entry file="file://$PROJECT_DIR$/../../Kotlin/jet/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetConstantExpression.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="25" column="19" selection-start="973" selection-end="973" vertical-scroll-proportion="0.0">
|
||||
<state line="8" column="30" selection-start="167" selection-end="167" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/facade/K2JSTranslator.java">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/utils/BindingUtils.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="79" column="6" selection-start="3282" selection-end="3282" vertical-scroll-proportion="0.0">
|
||||
<state line="271" column="25" selection-start="13454" selection-end="13454" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/WebDemoExamples1Test.java">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/expression/ExpressionVisitor.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="74" column="16" selection-start="2068" selection-end="2068" vertical-scroll-proportion="0.0">
|
||||
<state line="234" column="32" selection-start="10501" selection-end="10501" vertical-scroll-proportion="-13.192307">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/expression/PatternTranslator.java">
|
||||
<entry file="file://$PROJECT_DIR$/../../Kotlin/jet/compiler/frontend/src/org/jetbrains/jet/lang/resolve/AnnotationResolver.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="107" column="0" selection-start="4558" selection-end="4558" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
<state line="142" column="0" selection-start="7118" selection-end="7118" vertical-scroll-proportion="0.0">
|
||||
<folding>
|
||||
<element signature="e#5012#5042#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/StaticContext.java">
|
||||
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/ForTest.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="178" column="21" selection-start="5930" selection-end="5930" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/TranslationContext.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="154" column="31" selection-start="5957" selection-end="5957" vertical-scroll-proportion="0.0">
|
||||
<state line="17" column="16" selection-start="307" selection-end="307" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/StandardClasses.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="99" column="10" selection-start="3149" selection-end="3149" vertical-scroll-proportion="0.0">
|
||||
<state line="16" column="19" selection-start="483" selection-end="483" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/StaticContext.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="85" column="0" selection-start="3162" selection-end="3162" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/general/Translation.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="101" column="0" selection-start="5003" selection-end="5003" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/declaration/DeclarationContext.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="38" column="30" selection-start="1063" selection-end="1063" vertical-scroll-proportion="0.0">
|
||||
<state line="13" column="0" selection-start="525" selection-end="525" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/declaration/DeclarationFacade.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="20" column="19" selection-start="734" selection-end="734" vertical-scroll-proportion="0.0">
|
||||
<state line="84" column="0" selection-start="3089" selection-end="3089" 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/utils/TranslationUtils.java">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/declaration/AnnotationsUtils.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="126" column="10" selection-start="6013" selection-end="6013" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/declaration/Declarations.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="16" column="19" selection-start="536" selection-end="536" vertical-scroll-proportion="0.0">
|
||||
<folding>
|
||||
<element signature="e#1045#1079#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/reference/CallTranslator.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="281" column="59" selection-start="12614" selection-end="12614" vertical-scroll-proportion="0.05074627">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/declaration/AbstractDeclarationVisitor.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="148" column="102" selection-start="6324" selection-end="6324" vertical-scroll-proportion="-10.461538">
|
||||
<state line="19" column="0" selection-start="751" selection-end="751" vertical-scroll-proportion="0.0">
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/jslib/src/core/annotations.kt">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="3" column="35" selection-start="94" selection-end="94" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/jslib/src/jquery/common.kt">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/declaration/KotlinDeclarationVisitor.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="41" column="20" selection-start="1640" selection-end="1640" vertical-scroll-proportion="0.0">
|
||||
<folding>
|
||||
<element signature="imports" expanded="false" />
|
||||
</folding>
|
||||
<state line="25" column="0" selection-start="950" selection-end="1114" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/declaration/JsAnnotationsUtils.java">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/declaration/NativeDeclarationVisitor.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="26" column="66" selection-start="957" selection-end="957" vertical-scroll-proportion="0.0">
|
||||
<state line="21" column="80" selection-start="898" selection-end="898" 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/context/declaration/NativeDeclarationVisitor.java">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/context/declaration/AbstractDeclarationVisitor.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="40" column="73" selection-start="1825" selection-end="1825" vertical-scroll-proportion="0.5458015">
|
||||
<state line="176" column="10" selection-start="7547" selection-end="7547" vertical-scroll-proportion="0.41603053">
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
|
||||
@@ -4,8 +4,10 @@ import js.annotations.*;
|
||||
|
||||
fun JQuery.toString() = ""
|
||||
|
||||
JavascriptNativeClass class JQuery() {
|
||||
NativeClass
|
||||
class JQuery() {
|
||||
fun addClass(className : String) : JQuery = this;
|
||||
fun addClass(f : DomElement.(Int, String)->String) = this;
|
||||
fun attr(attrName : String) = ""
|
||||
fun attr(attrName : String, value : String) = this
|
||||
fun hasClass(className : String) = true
|
||||
@@ -29,9 +31,15 @@ open class DomElement() {
|
||||
|
||||
//val document = object : DomElement() {}
|
||||
|
||||
JavascriptNativeFunction("$") fun jq(selector : String) = JQuery();
|
||||
JavascriptNativeFunction("$") fun jq(selector : String, context : DomElement) = JQuery();
|
||||
JavascriptNativeFunction("$") fun jq(callback : () -> Unit) = JQuery();
|
||||
JavascriptNativeFunction("$") fun jq(obj : JQuery) = JQuery();
|
||||
JavascriptNativeFunction("$") fun jq(el : DomElement) = JQuery();
|
||||
JavascriptNativeFunction("$") fun jq() = JQuery();
|
||||
NativeFun("$")
|
||||
fun jq(selector : String) = JQuery();
|
||||
NativeFun("$")
|
||||
fun jq(selector : String, context : DomElement) = JQuery();
|
||||
NativeFun("$")
|
||||
fun jq(callback : () -> Unit) = JQuery();
|
||||
NativeFun("$")
|
||||
fun jq(obj : JQuery) = JQuery();
|
||||
NativeFun("$")
|
||||
fun jq(el : DomElement) = JQuery();
|
||||
NativeFun("$")
|
||||
fun jq() = JQuery();
|
||||
|
||||
+2
-2
@@ -161,7 +161,7 @@ public abstract class AbstractDeclarationVisitor extends DeclarationDescriptorVi
|
||||
return null;
|
||||
}
|
||||
|
||||
public void traverseNamespace(NamespaceDescriptor descriptor, DeclarationContext context) {
|
||||
public void traverseNamespace(@NotNull NamespaceDescriptor descriptor, @NotNull DeclarationContext context) {
|
||||
if (!accept(descriptor)) {
|
||||
return;
|
||||
}
|
||||
@@ -178,7 +178,7 @@ public abstract class AbstractDeclarationVisitor extends DeclarationDescriptorVi
|
||||
return context.innerDeclaration(namespaceScope, namespaceName);
|
||||
}
|
||||
|
||||
private void declareMembers(@NotNull NamespaceDescriptor descriptor, @NotNull DeclarationContext context) {
|
||||
protected void declareMembers(@NotNull NamespaceDescriptor descriptor, @NotNull DeclarationContext context) {
|
||||
for (DeclarationDescriptor memberDescriptor :
|
||||
descriptor.getMemberScope().getAllDescriptors()) {
|
||||
memberDescriptor.accept(this, context);
|
||||
|
||||
+40
-10
@@ -11,13 +11,29 @@ import org.jetbrains.jet.lang.resolve.DescriptorUtils;
|
||||
/**
|
||||
* @author Pavel Talanov
|
||||
*/
|
||||
public final class JsAnnotationsUtils {
|
||||
public final class AnnotationsUtils {
|
||||
|
||||
private JsAnnotationsUtils() {
|
||||
@NotNull
|
||||
private static final String NATIVE_FUNCTION_ANNOTATION_FQNAME = "js.annotations.NativeFun";
|
||||
@NotNull
|
||||
private static final String NATIVE_CLASS_ANNOTATION_FQNAME = "js.annotations.NativeClass";
|
||||
|
||||
private AnnotationsUtils() {
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static String getNativeName(@NotNull FunctionDescriptor descriptor) {
|
||||
public static String getNativeName(@NotNull DeclarationDescriptor descriptor) {
|
||||
if (descriptor instanceof FunctionDescriptor) {
|
||||
return getNativeNameForFunction((FunctionDescriptor) descriptor);
|
||||
}
|
||||
if (descriptor instanceof ClassDescriptor) {
|
||||
return getNativeNameForClass((ClassDescriptor) descriptor);
|
||||
}
|
||||
throw new AssertionError("Use isNativeDeclaration to check");
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private static String getNativeNameForFunction(@NotNull FunctionDescriptor descriptor) {
|
||||
if (hasNativeFunctionAnnotation(descriptor)) {
|
||||
return getNativeFunctionName(descriptor);
|
||||
}
|
||||
@@ -27,6 +43,19 @@ public final class JsAnnotationsUtils {
|
||||
throw new AssertionError("Use isNativeFunction to check");
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private static String getNativeNameForClass(@NotNull ClassDescriptor descriptor) {
|
||||
if (hasNativeClassAnnotation(descriptor)) {
|
||||
return descriptor.getName();
|
||||
}
|
||||
throw new AssertionError("Use isNativeClass to check");
|
||||
}
|
||||
|
||||
public static boolean isNativeDeclaration(@NotNull DeclarationDescriptor descriptor) {
|
||||
return hasNativeClassAnnotation(descriptor) || hasNativeFunctionAnnotation(descriptor)
|
||||
|| declaredInNativeClass(descriptor);
|
||||
}
|
||||
|
||||
public static boolean isNativeFunction(@NotNull FunctionDescriptor functionDescriptor) {
|
||||
return hasNativeFunctionAnnotation(functionDescriptor) || declaredInNativeClass(functionDescriptor);
|
||||
}
|
||||
@@ -38,21 +67,22 @@ public final class JsAnnotationsUtils {
|
||||
private static boolean declaredInNativeClass(@NotNull DeclarationDescriptor descriptor) {
|
||||
DeclarationDescriptor containingDeclaration = descriptor.getContainingDeclaration();
|
||||
if (!(containingDeclaration instanceof ClassDescriptor)) return false;
|
||||
return hasNativeClassAnnotation((ClassDescriptor) containingDeclaration);
|
||||
return hasNativeClassAnnotation(containingDeclaration);
|
||||
}
|
||||
|
||||
private static boolean hasNativeFunctionAnnotation(@NotNull FunctionDescriptor annotationDescriptor) {
|
||||
return (getAnnotationByName(annotationDescriptor, "js.annotations.JavascriptNativeFunction") != null);
|
||||
//TODO: constants
|
||||
private static boolean hasNativeFunctionAnnotation(@NotNull DeclarationDescriptor descriptor) {
|
||||
return (getAnnotationByName(descriptor, NATIVE_FUNCTION_ANNOTATION_FQNAME) != null);
|
||||
}
|
||||
|
||||
private static boolean hasNativeClassAnnotation(@NotNull ClassDescriptor descriptor) {
|
||||
return (getAnnotationByName(descriptor, "JavascriptNativeClass") != null);
|
||||
private static boolean hasNativeClassAnnotation(@NotNull DeclarationDescriptor descriptor) {
|
||||
return (getAnnotationByName(descriptor, NATIVE_CLASS_ANNOTATION_FQNAME) != null);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private static String getNativeFunctionName(@NotNull DeclarationDescriptor declarationDescriptor) {
|
||||
private static String getNativeFunctionName(@NotNull FunctionDescriptor declarationDescriptor) {
|
||||
AnnotationDescriptor annotationDescriptor =
|
||||
getAnnotationByName(declarationDescriptor, "js.annotations.JavascriptNativeFunction");
|
||||
getAnnotationByName(declarationDescriptor, NATIVE_FUNCTION_ANNOTATION_FQNAME);
|
||||
assert annotationDescriptor != null;
|
||||
Object value = annotationDescriptor.getValueArguments().iterator().next().getValue();
|
||||
assert value instanceof String : "Native function annotation should have one String parameter";
|
||||
+6
-2
@@ -78,8 +78,12 @@ public final class DeclarationFacade {
|
||||
//TODO: decide if is public
|
||||
public void extractDeclarationsFromNamespace(@NotNull NamespaceDescriptor descriptor,
|
||||
@Nullable JsNameRef namespaceQualifier) {
|
||||
KotlinDeclarationVisitor visitor = new KotlinDeclarationVisitor(kotlinDeclarations, true);
|
||||
visitor.traverseNamespace(descriptor, DeclarationContext.rootContext(rootScope, namespaceQualifier));
|
||||
KotlinDeclarationVisitor kotlinDeclarationVisitor = new KotlinDeclarationVisitor(kotlinDeclarations, true);
|
||||
kotlinDeclarationVisitor.traverseNamespace
|
||||
(descriptor, DeclarationContext.rootContext(rootScope, namespaceQualifier));
|
||||
NativeDeclarationVisitor nativeDeclarationVisitor = new NativeDeclarationVisitor(nativeDeclarations);
|
||||
nativeDeclarationVisitor.traverseNamespace
|
||||
(descriptor, DeclarationContext.rootContext(rootScope, null));
|
||||
}
|
||||
|
||||
public void extractDeclarationsFromFiles(@NotNull List<JetFile> files, @NotNull BindingContext context) {
|
||||
|
||||
+3
-1
@@ -5,6 +5,8 @@ import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor;
|
||||
import org.jetbrains.k2js.translate.context.NamingScope;
|
||||
|
||||
import static org.jetbrains.k2js.translate.context.declaration.AnnotationsUtils.isNativeDeclaration;
|
||||
|
||||
/**
|
||||
* @author Pavel Talanov
|
||||
*/
|
||||
@@ -39,6 +41,6 @@ public final class KotlinDeclarationVisitor extends AbstractDeclarationVisitor {
|
||||
|
||||
@Override
|
||||
protected boolean accept(@NotNull DeclarationDescriptor descriptor) {
|
||||
return true;
|
||||
return (!isNativeDeclaration(descriptor));
|
||||
}
|
||||
}
|
||||
|
||||
+19
-7
@@ -8,6 +8,9 @@ import org.jetbrains.jet.lang.descriptors.FunctionDescriptor;
|
||||
import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor;
|
||||
import org.jetbrains.k2js.translate.context.NamingScope;
|
||||
|
||||
import static org.jetbrains.k2js.translate.context.declaration.AnnotationsUtils.isNativeClass;
|
||||
import static org.jetbrains.k2js.translate.context.declaration.AnnotationsUtils.isNativeFunction;
|
||||
|
||||
/**
|
||||
* @author Pavel Talanov
|
||||
*/
|
||||
@@ -21,16 +24,20 @@ public final class NativeDeclarationVisitor extends AbstractDeclarationVisitor {
|
||||
@Override
|
||||
protected NamingScope doDeclareScope(@NotNull DeclarationDescriptor descriptor, @NotNull DeclarationContext context,
|
||||
@NotNull String recommendedName) {
|
||||
//TODO: probably we do
|
||||
/*we dont need to declare any scopes for native declarations*/
|
||||
return context.getScope();
|
||||
//TODO: probably need to keep track
|
||||
if (!(descriptor instanceof ClassDescriptor)) {
|
||||
return context.getScope();
|
||||
}
|
||||
NamingScope innerScope = context.getScope().innerScope(recommendedName);
|
||||
declarations().putScope(descriptor, innerScope);
|
||||
return innerScope;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
protected JsName doDeclareName(@NotNull DeclarationDescriptor descriptor, @NotNull DeclarationContext context,
|
||||
@NotNull String recommendedName) {
|
||||
String nativeName = JsAnnotationsUtils.getNativeName((FunctionDescriptor) descriptor);
|
||||
String nativeName = AnnotationsUtils.getNativeName(descriptor);
|
||||
JsName jsName = context.getScope().
|
||||
declareVariable(descriptor, nativeName, false);
|
||||
jsName.setObfuscatable(false);
|
||||
@@ -45,12 +52,17 @@ public final class NativeDeclarationVisitor extends AbstractDeclarationVisitor {
|
||||
return true;
|
||||
}
|
||||
if (descriptor instanceof FunctionDescriptor) {
|
||||
return JsAnnotationsUtils.isNativeFunction((FunctionDescriptor) descriptor);
|
||||
return isNativeFunction((FunctionDescriptor) descriptor);
|
||||
}
|
||||
if (descriptor instanceof ClassDescriptor) {
|
||||
return JsAnnotationsUtils.isNativeClass((ClassDescriptor) descriptor);
|
||||
return isNativeClass((ClassDescriptor) descriptor);
|
||||
}
|
||||
throw new AssertionError();
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void traverseNamespace(@NotNull NamespaceDescriptor namespace, @NotNull DeclarationContext context) {
|
||||
declareMembers(namespace, context);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -107,7 +107,6 @@ public final class Translation {
|
||||
|
||||
JsNamer namer = new JsPrettyNamer();
|
||||
namer.exec(context.program());
|
||||
|
||||
return context.program();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user