Added syntactic checks to main.
This commit is contained in:
Generated
+261
-308
@@ -6,58 +6,34 @@
|
||||
</component>
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="f02ef53d-47a4-4f5e-a1aa-3df68aae9b20" name="Default" comment="">
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/translator/testFiles/inheritance/cases/initializersOfBasicClassExecute.kt" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/translator/testFiles/inheritance/cases/methodOverride.kt" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/translator/testFiles/propertyAccess/cases/customGetter.kt" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/translator/testFiles/propertyAccess/cases/customSetter.kt" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/AbstractClassTest.java" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/BasicClassTest.java" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/ClassInheritanceTest.java" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/PropertyAccessorTest.java" />
|
||||
<change type="DELETED" beforePath="C:\Dev\Projects\jet-contrib\k2js\translator\test\org\jetbrains\k2js\test\ClassTest.java" afterPath="" />
|
||||
<change type="DELETED" beforePath="C:\Dev\Projects\jet-contrib\k2js\translator\test_files\test_cases\assign.js" afterPath="" />
|
||||
<change type="DELETED" beforePath="C:\Dev\Projects\jet-contrib\k2js\translator\test_files\test_cases\classInstantiation.js" afterPath="" />
|
||||
<change type="DELETED" beforePath="C:\Dev\Projects\jet-contrib\k2js\translator\test_files\test_cases\comparison.js" afterPath="" />
|
||||
<change type="DELETED" beforePath="C:\Dev\Projects\jet-contrib\k2js\translator\test_files\test_cases\incrementProperty.jet" afterPath="" />
|
||||
<change type="DELETED" beforePath="C:\Dev\Projects\jet-contrib\k2js\translator\test_files\test_cases\localProperty.js" afterPath="" />
|
||||
<change type="DELETED" beforePath="C:\Dev\Projects\jet-contrib\k2js\translator\test_files\test_cases\prototype.js" afterPath="" />
|
||||
<change type="DELETED" beforePath="C:\Dev\Projects\jet-contrib\k2js\translator\test_files\test_cases\test.js" afterPath="" />
|
||||
<change type="DELETED" beforePath="C:\Dev\Projects\jet-contrib\k2js\translator\test_files\test_cases\testKotlinLib.js" afterPath="" />
|
||||
<change type="MOVED" beforePath="C:\Dev\Projects\jet-contrib\k2js\translator\test_files\test_cases\accessToInstanceProperty.kt" afterPath="$PROJECT_DIR$/translator/testFiles/propertyAccess/cases/accessToInstanceProperty.kt" />
|
||||
<change type="MOVED" beforePath="C:\Dev\Projects\jet-contrib\k2js\translator\test_files\test_cases\assign.jet" afterPath="$PROJECT_DIR$/translator/testFiles/function/cases/assign.jet" />
|
||||
<change type="MOVED" beforePath="C:\Dev\Projects\jet-contrib\k2js\translator\test_files\test_cases\classInstantiation.kt" afterPath="$PROJECT_DIR$/translator/testFiles/class/cases/classInstantiation.kt" />
|
||||
<change type="MOVED" beforePath="C:\Dev\Projects\jet-contrib\k2js\translator\test_files\test_cases\comparison.kt" afterPath="$PROJECT_DIR$/translator/testFiles/function/cases/comparison.kt" />
|
||||
<change type="MOVED" beforePath="C:\Dev\Projects\jet-contrib\k2js\translator\test_files\test_cases\constructorWithParameter.kt" afterPath="$PROJECT_DIR$/translator/testFiles/class/cases/constructorWithParameter.kt" />
|
||||
<change type="MOVED" beforePath="C:\Dev\Projects\jet-contrib\k2js\translator\test_files\test_cases\doWhile.kt" afterPath="$PROJECT_DIR$/translator/testFiles/function/cases/doWhile.kt" />
|
||||
<change type="MOVED" beforePath="C:\Dev\Projects\jet-contrib\k2js\translator\test_files\test_cases\doWhile2.kt" afterPath="$PROJECT_DIR$/translator/testFiles/function/cases/doWhile2.kt" />
|
||||
<change type="MOVED" beforePath="C:\Dev\Projects\jet-contrib\k2js\translator\test_files\test_cases\elseif.kt" afterPath="$PROJECT_DIR$/translator/testFiles/function/cases/elseif.kt" />
|
||||
<change type="MOVED" beforePath="C:\Dev\Projects\jet-contrib\k2js\translator\test_files\test_cases\functionUsedBeforeDeclaration.kt" afterPath="$PROJECT_DIR$/translator/testFiles/function/cases/functionUsedBeforeDeclaration.kt" />
|
||||
<change type="MOVED" beforePath="C:\Dev\Projects\jet-contrib\k2js\translator\test_files\test_cases\if.kt" afterPath="$PROJECT_DIR$/translator/testFiles/function/cases/if.kt" />
|
||||
<change type="MOVED" beforePath="C:\Dev\Projects\jet-contrib\k2js\translator\test_files\test_cases\kotlin_lib.js" afterPath="$PROJECT_DIR$/translator/testFiles/kotlin_lib.js" />
|
||||
<change type="MOVED" beforePath="C:\Dev\Projects\jet-contrib\k2js\translator\test_files\test_cases\localProperty.jet" afterPath="$PROJECT_DIR$/translator/testFiles/function/cases/localProperty.jet" />
|
||||
<change type="MOVED" beforePath="C:\Dev\Projects\jet-contrib\k2js\translator\test_files\test_cases\methodDeclarationAndCall.kt" afterPath="$PROJECT_DIR$/translator/testFiles/class/cases/methodDeclarationAndCall.kt" />
|
||||
<change type="MOVED" beforePath="C:\Dev\Projects\jet-contrib\k2js\translator\test_files\test_cases\setter.kt" afterPath="$PROJECT_DIR$/translator/testFiles/propertyAccess/cases/setter.kt" />
|
||||
<change type="MOVED" beforePath="C:\Dev\Projects\jet-contrib\k2js\translator\test_files\test_cases\stringAssignment.kt" afterPath="$PROJECT_DIR$/translator/testFiles/function/cases/stringAssignment.kt" />
|
||||
<change type="MOVED" beforePath="C:\Dev\Projects\jet-contrib\k2js\translator\test_files\test_cases\stringConstant.kt" afterPath="$PROJECT_DIR$/translator/testFiles/function/cases/stringConstant.kt" />
|
||||
<change type="MOVED" beforePath="C:\Dev\Projects\jet-contrib\k2js\translator\test_files\test_cases\test.kt" afterPath="$PROJECT_DIR$/translator/testFiles/function/cases/test.kt" />
|
||||
<change type="MOVED" beforePath="C:\Dev\Projects\jet-contrib\k2js\translator\test_files\test_cases\twoClassesWithProperties.kt" afterPath="$PROJECT_DIR$/translator/testFiles/propertyAccess/cases/twoClassesWithProperties.kt" />
|
||||
<change type="MOVED" beforePath="C:\Dev\Projects\jet-contrib\k2js\translator\test_files\test_cases\while.kt" afterPath="$PROJECT_DIR$/translator/testFiles/function/cases/while.kt" />
|
||||
<change type="MOVED" beforePath="C:\Dev\Projects\jet-contrib\k2js\translator\test_files\test_cases\while2.kt" afterPath="$PROJECT_DIR$/translator/testFiles/function/cases/while2.kt" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/translator/testFiles/propertyAccess/cases/namespaceCustomAccessors.kt" />
|
||||
<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/K2JSTranslator.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/K2JSTranslator.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/declarations/DeclarationExtractor.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/declarations/DeclarationExtractor.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/declarations/ExtractionVisitor.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/declarations/ExtractionVisitor.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/generate/CodeGenerator.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/generate/CodeGenerator.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/AbstractTranslator.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/AbstractTranslator.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/BindingUtils.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/BindingUtils.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/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/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/Namer.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/Namer.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/OperationTranslator.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/OperationTranslator.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/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/TranslationContext.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/TranslationContext.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/TranslatorVisitor.java" afterPath="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/TranslatorVisitor.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/testFiles/propertyAccess/cases/twoClassesWithProperties.kt" afterPath="$PROJECT_DIR$/translator/testFiles/propertyAccess/cases/twoClassesWithProperties.kt" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/AbstractClassTest.java" afterPath="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/AbstractClassTest.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/test/org/jetbrains/k2js/test/FunctionTest.java" afterPath="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/FunctionTest.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/PropertyAccessorTest.java" afterPath="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/PropertyAccessorTest.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/TranslationTest.java" afterPath="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/TranslationTest.java" />
|
||||
</list>
|
||||
<ignored path="k2js.iws" />
|
||||
@@ -136,9 +112,36 @@
|
||||
<favorites_list name="k2js" />
|
||||
</component>
|
||||
<component name="FileEditorManager">
|
||||
<splitter split-orientation="horizontal" split-proportion="0.577426">
|
||||
<splitter split-orientation="horizontal" split-proportion="0.389271">
|
||||
<split-first>
|
||||
<leaf>
|
||||
<file leaf-file-name="AbstractTranslator.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/AbstractTranslator.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="10" column="22" selection-start="305" selection-end="305" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="BindingUtils.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/BindingUtils.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="39" column="96" selection-start="1490" selection-end="1490" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="ClassTranslator.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ClassTranslator.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="14" column="2" selection-start="368" selection-end="368" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="DeclarationTranslator.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/DeclarationTranslator.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
@@ -151,86 +154,53 @@
|
||||
<file leaf-file-name="DeclarationVisitor.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/DeclarationVisitor.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="17" column="13" selection-start="643" selection-end="643" vertical-scroll-proportion="0.0">
|
||||
<state line="20" column="108" selection-start="774" selection-end="774" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="ExpressionTranslator.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ExpressionTranslator.java">
|
||||
<file leaf-file-name="namespaceCustomAccessors.kt" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/propertyAccess/cases/namespaceCustomAccessors.kt">
|
||||
<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>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="TranslationContext.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/TranslationContext.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="182" column="5" selection-start="6802" selection-end="6802" vertical-scroll-proportion="0.0">
|
||||
<state line="3" column="41" selection-start="34" selection-end="34" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="methodOverride.kt" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/inheritance/cases/methodOverride.kt">
|
||||
<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="14" column="50" selection-start="213" selection-end="213" vertical-scroll-proportion="0.0">
|
||||
<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="JetFunction.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/../../Kotlin/jet/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetFunction.java">
|
||||
<file leaf-file-name="twoClassesWithProperties.kt" pinned="false" current="true" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/propertyAccess/cases/twoClassesWithProperties.kt">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="16" column="22" selection-start="421" selection-end="421" vertical-scroll-proportion="8.76">
|
||||
<state line="12" column="21" selection-start="151" selection-end="151" vertical-scroll-proportion="0.3445946">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="FunctionDescriptor.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/../../Kotlin/jet/compiler/frontend/src/org/jetbrains/jet/lang/descriptors/FunctionDescriptor.java">
|
||||
<file leaf-file-name="namespaceCustomAccessors.js" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/propertyAccess/out/namespaceCustomAccessors.js">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="19" column="55" selection-start="424" selection-end="424" vertical-scroll-proportion="0.0">
|
||||
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="JetNamedFunction.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/../../Kotlin/jet/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetNamedFunction.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="10" column="13" selection-start="228" selection-end="228" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="FunctionTranslator.java" pinned="false" current="false" current-in-tab="true">
|
||||
<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="63" selection-start="1748" selection-end="1748" vertical-scroll-proportion="0.20903225">
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="FunctionTest.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/FunctionTest.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="12" column="19" selection-start="320" selection-end="320" vertical-scroll-proportion="0.0">
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
<state line="29" column="16" selection-start="685" selection-end="685" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
@@ -239,30 +209,46 @@
|
||||
</split-first>
|
||||
<split-second>
|
||||
<leaf>
|
||||
<file leaf-file-name="AbstractClassTest.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/AbstractClassTest.java">
|
||||
<file leaf-file-name="TranslationTest.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/TranslationTest.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="37" column="48" selection-start="1330" selection-end="1330" vertical-scroll-proportion="0.0">
|
||||
<state line="19" column="53" selection-start="467" selection-end="467" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="BasicClassTest.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/BasicClassTest.java">
|
||||
<file leaf-file-name="PropertyAccessTranslator.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/PropertyAccessTranslator.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="31" column="4" selection-start="756" selection-end="756" vertical-scroll-proportion="0.0">
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
<state line="25" column="26" selection-start="1140" selection-end="1140" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="TranslationTest.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/TranslationTest.java">
|
||||
<file leaf-file-name="TranslationContext.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/TranslationContext.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="19" column="53" selection-start="487" selection-end="487" vertical-scroll-proportion="0.0">
|
||||
<state line="17" column="19" selection-start="647" selection-end="647" vertical-scroll-proportion="0.0">
|
||||
<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="42" column="14" selection-start="1529" selection-end="1529" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="ExpressionTranslator.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ExpressionTranslator.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="11" column="68" selection-start="357" selection-end="357" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
@@ -277,26 +263,8 @@
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="PropertyAccessorTest.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/PropertyAccessorTest.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="15" column="0" selection-start="299" selection-end="299" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</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="22" column="16" selection-start="485" selection-end="485" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="initializersOfBasicClassExecute.js" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/inheritance/out/initializersOfBasicClassExecute.js">
|
||||
<file leaf-file-name="customGetter.kt" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/propertyAccess/cases/customGetter.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 />
|
||||
@@ -304,8 +272,8 @@
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="methodOverride.js" pinned="false" current="true" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/inheritance/out/methodOverride.js">
|
||||
<file leaf-file-name="customGetter.js" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/propertyAccess/out/customGetter.js">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
@@ -313,19 +281,19 @@
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="OperationTranslator.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/OperationTranslator.java">
|
||||
<file leaf-file-name="K2JSTranslator.java" pinned="false" current="false" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/K2JSTranslator.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="30" column="56" selection-start="1127" selection-end="1127" vertical-scroll-proportion="0.0">
|
||||
<state line="95" column="61" selection-start="3724" selection-end="3724" vertical-scroll-proportion="1.1260097">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="initializersOfBasicClassExecute.kt" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/inheritance/cases/initializersOfBasicClassExecute.kt">
|
||||
<file leaf-file-name="ExpressionVisitor.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ExpressionVisitor.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
|
||||
<state line="121" column="30" selection-start="5405" selection-end="5405" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
@@ -341,28 +309,33 @@
|
||||
</FindUsagesManager>
|
||||
</component>
|
||||
<component name="Git.Settings">
|
||||
<option name="PREVIOUS_COMMIT_AUTHORS">
|
||||
<array>
|
||||
<option value="Talanov Pavel" />
|
||||
</array>
|
||||
</option>
|
||||
<option name="CHECKOUT_INCLUDE_TAGS" value="false" />
|
||||
<option name="UPDATE_CHANGES_POLICY" value="STASH" />
|
||||
</component>
|
||||
<component name="IdeDocumentHistory">
|
||||
<option name="changedFiles">
|
||||
<list>
|
||||
<option value="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/FunctionTest.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/BindingUtils.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ClassTranslator.java" />
|
||||
<option value="$PROJECT_DIR$/translator/test_files/class/out/customSetter.js" />
|
||||
<option value="$PROJECT_DIR$/translator/test_files/class/cases/inheritance.kt" />
|
||||
<option value="$PROJECT_DIR$/translator/test_files/class/out/inheritance.js" />
|
||||
<option value="$PROJECT_DIR$/translator/test_files/kotlin_lib.js" />
|
||||
<option value="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/ClassTest.java" />
|
||||
<option value="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/TranslationTest.java" />
|
||||
<option value="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/PropertyAccessorTest.java" />
|
||||
<option value="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/BasicClassTest.java" />
|
||||
<option value="$PROJECT_DIR$/translator/testFiles/inheritance/cases/methodOverride.kt" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/OperationTranslator.java" />
|
||||
<option value="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/AbstractClassTest.java" />
|
||||
<option value="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/ClassInheritanceTest.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/FunctionTranslator.java" />
|
||||
<option value="$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/AbstractClassTest.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ClassTranslator.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/BindingUtils.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/TranslatorVisitor.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ExpressionVisitor.java" />
|
||||
<option value="$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ExpressionTranslator.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" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
@@ -405,6 +378,22 @@
|
||||
<sortByType />
|
||||
</navigator>
|
||||
<panes>
|
||||
<pane id="Favorites" />
|
||||
<pane id="Scope" />
|
||||
<pane id="PackagesPane">
|
||||
<subPane>
|
||||
<PATH>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="k2js" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewProjectNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="k2js" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewModuleNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
</subPane>
|
||||
</pane>
|
||||
<pane id="ProjectPane">
|
||||
<subPane>
|
||||
<PATH>
|
||||
@@ -454,6 +443,10 @@
|
||||
<option name="myItemId" value="propertyAccess" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="out" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
<PATH>
|
||||
<PATH_ELEMENT>
|
||||
@@ -521,24 +514,6 @@
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
<PATH>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="k2js" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="translator" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="testFiles" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="function" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
<PATH>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="k2js" />
|
||||
@@ -659,22 +634,6 @@
|
||||
</PATH>
|
||||
</subPane>
|
||||
</pane>
|
||||
<pane id="Scope" />
|
||||
<pane id="Favorites" />
|
||||
<pane id="PackagesPane">
|
||||
<subPane>
|
||||
<PATH>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="k2js" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewProjectNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="k2js" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewModuleNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
</subPane>
|
||||
</pane>
|
||||
</panes>
|
||||
</component>
|
||||
<component name="PropertiesComponent">
|
||||
@@ -690,9 +649,9 @@
|
||||
<property name="GoToClass.toSaveIncludeLibraries" value="false" />
|
||||
<property name="MemberChooser.showClasses" value="true" />
|
||||
<property name="GoToClass.includeLibraries" value="false" />
|
||||
<property name="options.searchVisible" value="true" />
|
||||
<property name="options.splitter.details.proportions" value="0.2" />
|
||||
<property name="dynamic.classpath" value="false" />
|
||||
<property name="options.splitter.details.proportions" value="0.2" />
|
||||
<property name="options.searchVisible" value="true" />
|
||||
</component>
|
||||
<component name="RecentsManager">
|
||||
<key name="CopyClassDialog.RECENTS_KEY">
|
||||
@@ -707,6 +666,54 @@
|
||||
</key>
|
||||
</component>
|
||||
<component name="RunManager" selected="JUnit.All in translator">
|
||||
<configuration default="false" name="AbstractClassTest.twoClassesWithProperties" type="JUnit" factoryName="JUnit" temporary="true">
|
||||
<module name="translator" />
|
||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||
<option name="ALTERNATIVE_JRE_PATH" value="" />
|
||||
<option name="PACKAGE_NAME" value="org.jetbrains.k2js.test" />
|
||||
<option name="MAIN_CLASS_NAME" value="org.jetbrains.k2js.test.AbstractClassTest" />
|
||||
<option name="METHOD_NAME" value="twoClassesWithProperties" />
|
||||
<option name="TEST_OBJECT" value="method" />
|
||||
<option name="VM_PARAMETERS" value="-ea" />
|
||||
<option name="PARAMETERS" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$/translator" />
|
||||
<option name="ENV_VARIABLES" />
|
||||
<option name="PASS_PARENT_ENVS" value="true" />
|
||||
<option name="TEST_SEARCH_SCOPE">
|
||||
<value defaultName="moduleWithDependencies" />
|
||||
</option>
|
||||
<envs />
|
||||
<patterns />
|
||||
<RunnerSettings RunnerId="Debug">
|
||||
<option name="DEBUG_PORT" value="57297" />
|
||||
<option name="TRANSPORT" value="0" />
|
||||
<option name="LOCAL" value="true" />
|
||||
</RunnerSettings>
|
||||
<ConfigurationWrapper RunnerId="Debug" />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="false" name="AbstractClassTest.kotlinJsLibRunsWithRhino" type="JUnit" factoryName="JUnit" temporary="true">
|
||||
<module name="translator" />
|
||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||
<option name="ALTERNATIVE_JRE_PATH" value="" />
|
||||
<option name="PACKAGE_NAME" value="org.jetbrains.k2js.test" />
|
||||
<option name="MAIN_CLASS_NAME" value="org.jetbrains.k2js.test.AbstractClassTest" />
|
||||
<option name="METHOD_NAME" value="kotlinJsLibRunsWithRhino" />
|
||||
<option name="TEST_OBJECT" value="method" />
|
||||
<option name="VM_PARAMETERS" value="-ea" />
|
||||
<option name="PARAMETERS" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$/translator" />
|
||||
<option name="ENV_VARIABLES" />
|
||||
<option name="PASS_PARENT_ENVS" value="true" />
|
||||
<option name="TEST_SEARCH_SCOPE">
|
||||
<value defaultName="moduleWithDependencies" />
|
||||
</option>
|
||||
<envs />
|
||||
<patterns />
|
||||
<RunnerSettings RunnerId="Run" />
|
||||
<ConfigurationWrapper RunnerId="Run" />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="false" name="AbstractClassTest.inheritance" type="JUnit" factoryName="JUnit" temporary="true">
|
||||
<module name="translator" />
|
||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||
@@ -777,54 +784,6 @@
|
||||
<ConfigurationWrapper RunnerId="Run" />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="false" name="AbstractClassTest.kotlinJsLibRunsWithRhino" type="JUnit" factoryName="JUnit" temporary="true">
|
||||
<module name="translator" />
|
||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||
<option name="ALTERNATIVE_JRE_PATH" value="" />
|
||||
<option name="PACKAGE_NAME" value="org.jetbrains.k2js.test" />
|
||||
<option name="MAIN_CLASS_NAME" value="org.jetbrains.k2js.test.AbstractClassTest" />
|
||||
<option name="METHOD_NAME" value="kotlinJsLibRunsWithRhino" />
|
||||
<option name="TEST_OBJECT" value="method" />
|
||||
<option name="VM_PARAMETERS" value="-ea" />
|
||||
<option name="PARAMETERS" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$/translator" />
|
||||
<option name="ENV_VARIABLES" />
|
||||
<option name="PASS_PARENT_ENVS" value="true" />
|
||||
<option name="TEST_SEARCH_SCOPE">
|
||||
<value defaultName="moduleWithDependencies" />
|
||||
</option>
|
||||
<envs />
|
||||
<patterns />
|
||||
<RunnerSettings RunnerId="Run" />
|
||||
<ConfigurationWrapper RunnerId="Run" />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="false" name="AbstractClassTest.twoClassesWithProperties" type="JUnit" factoryName="JUnit" temporary="true">
|
||||
<module name="translator" />
|
||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||
<option name="ALTERNATIVE_JRE_PATH" value="" />
|
||||
<option name="PACKAGE_NAME" value="org.jetbrains.k2js.test" />
|
||||
<option name="MAIN_CLASS_NAME" value="org.jetbrains.k2js.test.AbstractClassTest" />
|
||||
<option name="METHOD_NAME" value="twoClassesWithProperties" />
|
||||
<option name="TEST_OBJECT" value="method" />
|
||||
<option name="VM_PARAMETERS" value="-ea" />
|
||||
<option name="PARAMETERS" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$/translator" />
|
||||
<option name="ENV_VARIABLES" />
|
||||
<option name="PASS_PARENT_ENVS" value="true" />
|
||||
<option name="TEST_SEARCH_SCOPE">
|
||||
<value defaultName="moduleWithDependencies" />
|
||||
</option>
|
||||
<envs />
|
||||
<patterns />
|
||||
<RunnerSettings RunnerId="Debug">
|
||||
<option name="DEBUG_PORT" value="57297" />
|
||||
<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" />
|
||||
@@ -900,11 +859,11 @@
|
||||
</method>
|
||||
</configuration>
|
||||
<list size="5">
|
||||
<item index="0" class="java.lang.String" itemvalue="JUnit.ClassTest.inheritance" />
|
||||
<item index="1" class="java.lang.String" itemvalue="JUnit.All in translator" />
|
||||
<item index="2" class="java.lang.String" itemvalue="JUnit.FunctionTest" />
|
||||
<item index="3" class="java.lang.String" itemvalue="JUnit.ClassTest.kotlinJsLibRunsWithRhino" />
|
||||
<item index="4" class="java.lang.String" itemvalue="JUnit.ClassTest.twoClassesWithProperties" />
|
||||
<item index="0" class="java.lang.String" itemvalue="JUnit.AbstractClassTest.twoClassesWithProperties" />
|
||||
<item index="1" class="java.lang.String" itemvalue="JUnit.AbstractClassTest.kotlinJsLibRunsWithRhino" />
|
||||
<item index="2" class="java.lang.String" itemvalue="JUnit.AbstractClassTest.inheritance" />
|
||||
<item index="3" class="java.lang.String" itemvalue="JUnit.All in translator" />
|
||||
<item index="4" class="java.lang.String" itemvalue="JUnit.FunctionTest" />
|
||||
</list>
|
||||
<configuration name="<template>" type="WebApp" default="true" selected="false">
|
||||
<Host>localhost</Host>
|
||||
@@ -944,23 +903,23 @@
|
||||
<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="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3275862" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.24973261" sideWeight="0.7183908" order="1" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.28544062" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32907662" sideWeight="0.5" order="13" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32854405" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Messages" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.32854405" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Metrics" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3275862" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="true" content_ui="tabs" />
|
||||
<window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" 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.22299466" sideWeight="0.82088125" 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.6714559" 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="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.17911877" 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="false" weight="0.17816092" 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="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="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="10" side_tool="true" content_ui="tabs" />
|
||||
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3275862" sideWeight="0.5" order="1" 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="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="10" side_tool="true" content_ui="tabs" />
|
||||
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
|
||||
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3994253" sideWeight="0.5" order="5" 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.32907662" sideWeight="0.5" order="12" side_tool="false" content_ui="tabs" />
|
||||
@@ -971,8 +930,8 @@
|
||||
</component>
|
||||
<component name="VcsManagerConfiguration">
|
||||
<option name="OFFER_MOVE_TO_ANOTHER_CHANGELIST_ON_PARTIAL_COMMIT" value="true" />
|
||||
<option name="CHECK_CODE_SMELLS_BEFORE_PROJECT_COMMIT" value="true" />
|
||||
<option name="CHECK_NEW_TODO" value="true" />
|
||||
<option name="CHECK_CODE_SMELLS_BEFORE_PROJECT_COMMIT" value="false" />
|
||||
<option name="CHECK_NEW_TODO" value="false" />
|
||||
<option name="myTodoPanelSettings">
|
||||
<value>
|
||||
<are-packages-shown value="false" />
|
||||
@@ -994,11 +953,11 @@
|
||||
<option name="CHECK_COMMIT_MESSAGE_SPELLING" value="true" />
|
||||
<option name="DEFAULT_PATCH_EXTENSION" value="patch" />
|
||||
<option name="FORCE_NON_EMPTY_COMMENT" value="false" />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="Added default getter/setter support and initializer support." />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="Added syntactic checks to main." />
|
||||
<option name="MAKE_NEW_CHANGELIST_ACTIVE" value="true" />
|
||||
<option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="false" />
|
||||
<option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="true" />
|
||||
<option name="CHECK_FILES_UP_TO_DATE_BEFORE_COMMIT" value="false" />
|
||||
<option name="REFORMAT_BEFORE_PROJECT_COMMIT" value="false" />
|
||||
<option name="REFORMAT_BEFORE_PROJECT_COMMIT" value="true" />
|
||||
<option name="REFORMAT_BEFORE_FILE_COMMIT" value="false" />
|
||||
<option name="FILE_HISTORY_DIALOG_COMMENTS_SPLITTER_PROPORTION" value="0.8" />
|
||||
<option name="FILE_HISTORY_DIALOG_SPLITTER_PROPORTION" value="0.5" />
|
||||
@@ -1019,6 +978,8 @@
|
||||
<MESSAGE value="Added DeclarationExtractor logic." />
|
||||
<MESSAGE value="Added a test for extractor." />
|
||||
<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 syntactic checks to main." />
|
||||
</component>
|
||||
<component name="XDebuggerManager">
|
||||
<breakpoint-manager />
|
||||
@@ -1028,122 +989,114 @@
|
||||
<option name="FILTER_TARGETS" value="false" />
|
||||
</component>
|
||||
<component name="editorHistoryManager">
|
||||
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/BasicClassTest.java">
|
||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/propertyAccess/cases/namespaceCustomAccessors.kt">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="31" column="4" selection-start="756" selection-end="756" 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/OperationTranslator.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="30" column="56" selection-start="1127" selection-end="1127" vertical-scroll-proportion="0.0">
|
||||
<state line="3" column="41" selection-start="34" selection-end="34" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/AbstractClassTest.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="37" column="48" selection-start="1330" selection-end="1330" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/PropertyAccessorTest.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="15" column="0" selection-start="299" selection-end="299" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/inheritance/out/initializersOfBasicClassExecute.js">
|
||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/propertyAccess/out/namespaceCustomAccessors.js">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/ClassInheritanceTest.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="22" column="16" selection-start="485" selection-end="485" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/FunctionTest.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="12" column="19" selection-start="320" selection-end="320" vertical-scroll-proportion="0.0">
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/inheritance/cases/methodOverride.kt">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="14" column="50" selection-start="213" selection-end="213" vertical-scroll-proportion="0.0">
|
||||
<state line="29" column="16" selection-start="685" selection-end="685" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/../../Kotlin/jet/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetFunction.java">
|
||||
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/TranslationTest.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="16" column="22" selection-start="421" selection-end="421" vertical-scroll-proportion="8.76">
|
||||
<state line="19" column="53" selection-start="467" selection-end="467" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/../../Kotlin/jet/compiler/frontend/src/org/jetbrains/jet/lang/descriptors/FunctionDescriptor.java">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/PropertyAccessTranslator.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="19" column="55" selection-start="424" selection-end="424" vertical-scroll-proportion="0.0">
|
||||
<state line="25" column="26" selection-start="1140" selection-end="1140" 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/TranslatorVisitor.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="42" column="14" selection-start="1529" selection-end="1529" 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="11" column="68" selection-start="357" selection-end="357" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/propertyAccess/cases/accessToInstanceProperty.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/testFiles/propertyAccess/cases/customGetter.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/testFiles/propertyAccess/out/customGetter.js">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ExpressionVisitor.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="132" column="24" selection-start="5718" selection-end="5718" vertical-scroll-proportion="-6.1923075">
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/../../Kotlin/jet/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetNamedFunction.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="10" column="13" selection-start="228" selection-end="228" vertical-scroll-proportion="0.0">
|
||||
<state line="121" column="30" selection-start="5405" selection-end="5405" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/../../Kotlin/jet/compiler/frontend/src/org/jetbrains/jet/lang/psi/JetReferenceExpression.java">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/K2JSTranslator.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="8" column="27" selection-start="169" selection-end="169" vertical-scroll-proportion="0.0">
|
||||
<state line="95" column="61" selection-start="3724" selection-end="3724" vertical-scroll-proportion="1.1260097">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/FunctionTranslator.java">
|
||||
<entry file="file://$PROJECT_DIR$/translator/test/org/jetbrains/k2js/test/PropertyAccessorTest.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="42" column="63" selection-start="1748" selection-end="1748" vertical-scroll-proportion="0.20903225">
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/inheritance/cases/initializersOfBasicClassExecute.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">
|
||||
<state line="22" column="16" selection-start="462" selection-end="462" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/inheritance/out/methodOverride.js">
|
||||
<entry file="file://$PROJECT_DIR$/translator/src/org/jetbrains/k2js/translate/ClassBodyVisitor.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
|
||||
<state line="84" column="0" selection-start="3663" selection-end="3663" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/translator/testFiles/propertyAccess/cases/twoClassesWithProperties.kt">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="12" column="21" selection-start="151" selection-end="151" vertical-scroll-proportion="0.3445946">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
|
||||
@@ -12,8 +12,6 @@ import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.PsiManager;
|
||||
import com.sampullara.cli.Argument;
|
||||
import org.jetbrains.k2js.generate.CodeGenerator;
|
||||
import org.jetbrains.k2js.translate.GenerationState;
|
||||
import org.jetbrains.jet.JetCoreEnvironment;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.JetControlFlowDataTraceFactory;
|
||||
import org.jetbrains.jet.lang.diagnostics.Diagnostic;
|
||||
@@ -25,6 +23,8 @@ import org.jetbrains.jet.lang.psi.JetNamespace;
|
||||
import org.jetbrains.jet.lang.resolve.AnalyzingUtils;
|
||||
import org.jetbrains.jet.lang.resolve.BindingContext;
|
||||
import org.jetbrains.jet.lang.resolve.java.JavaDefaultImports;
|
||||
import org.jetbrains.k2js.generate.CodeGenerator;
|
||||
import org.jetbrains.k2js.translate.GenerationState;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
@@ -75,16 +75,16 @@ public class K2JSTranslator {
|
||||
Project project = environment.getProject();
|
||||
GenerationState generationState = new GenerationState();
|
||||
List<JetNamespace> namespaces = Lists.newArrayList();
|
||||
if(vFile.isDirectory()) {
|
||||
if (vFile.isDirectory()) {
|
||||
File dir = new File(vFile.getPath());
|
||||
addFiles(environment, project, namespaces, dir);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
PsiFile psiFile = PsiManager.getInstance(project).findFile(vFile);
|
||||
if (psiFile instanceof JetFile) {
|
||||
namespaces.add(((JetFile) psiFile).getRootNamespace());
|
||||
}
|
||||
else {
|
||||
JetNamespace rootNamespace = ((JetFile) psiFile).getRootNamespace();
|
||||
AnalyzingUtils.checkForSyntacticErrors(rootNamespace);
|
||||
namespaces.add(rootNamespace);
|
||||
} else {
|
||||
System.out.print("Not a Kotlin file: " + vFile.getPath());
|
||||
return;
|
||||
}
|
||||
@@ -93,6 +93,8 @@ public class K2JSTranslator {
|
||||
BindingContext bindingContext = AnalyzingUtils.getInstance(JavaDefaultImports.JAVA_DEFAULT_IMPORTS)
|
||||
.analyzeNamespaces(project, namespaces, Predicates.<PsiFile>alwaysTrue(), JetControlFlowDataTraceFactory.EMPTY);
|
||||
|
||||
AnalyzingUtils.throwExceptionOnErrors(bindingContext);
|
||||
|
||||
ErrorCollector errorCollector = new ErrorCollector(bindingContext);
|
||||
errorCollector.report();
|
||||
|
||||
@@ -106,8 +108,7 @@ public class K2JSTranslator {
|
||||
File outputFile = new File(arguments.outputDir);
|
||||
try {
|
||||
generator.generateToFile(program, outputFile);
|
||||
}
|
||||
catch (IOException e) {
|
||||
} catch (IOException e) {
|
||||
System.out.println("Failed to write to specified file");
|
||||
}
|
||||
}
|
||||
@@ -116,7 +117,7 @@ public class K2JSTranslator {
|
||||
}
|
||||
|
||||
private static class ErrorCollector {
|
||||
Multimap<PsiFile,DiagnosticWithTextRange> maps = LinkedHashMultimap.<PsiFile, DiagnosticWithTextRange>create();
|
||||
Multimap<PsiFile, DiagnosticWithTextRange> maps = LinkedHashMultimap.<PsiFile, DiagnosticWithTextRange>create();
|
||||
|
||||
boolean hasErrors;
|
||||
|
||||
@@ -128,17 +129,16 @@ public class K2JSTranslator {
|
||||
|
||||
private void report(Diagnostic diagnostic) {
|
||||
hasErrors |= diagnostic.getSeverity() == Severity.ERROR;
|
||||
if(diagnostic instanceof DiagnosticWithTextRange) {
|
||||
if (diagnostic instanceof DiagnosticWithTextRange) {
|
||||
DiagnosticWithTextRange diagnosticWithTextRange = (DiagnosticWithTextRange) diagnostic;
|
||||
maps.put(diagnosticWithTextRange.getPsiFile(), diagnosticWithTextRange);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
System.out.println(diagnostic.getSeverity().toString() + ": " + diagnostic.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
void report() {
|
||||
if(!maps.isEmpty()) {
|
||||
if (!maps.isEmpty()) {
|
||||
for (PsiFile psiFile : maps.keySet()) {
|
||||
System.out.println(psiFile.getVirtualFile().getPath());
|
||||
Collection<DiagnosticWithTextRange> diagnosticWithTextRanges = maps.get(psiFile);
|
||||
@@ -152,15 +152,14 @@ public class K2JSTranslator {
|
||||
}
|
||||
|
||||
private static void addFiles(JavaCoreEnvironment environment, Project project, List<JetNamespace> namespaces, File dir) {
|
||||
for(File file : dir.listFiles()) {
|
||||
if(!file.isDirectory()) {
|
||||
for (File file : dir.listFiles()) {
|
||||
if (!file.isDirectory()) {
|
||||
VirtualFile virtualFile = environment.getLocalFileSystem().findFileByPath(file.getAbsolutePath());
|
||||
PsiFile psiFile = PsiManager.getInstance(project).findFile(virtualFile);
|
||||
if (psiFile instanceof JetFile) {
|
||||
namespaces.add(((JetFile) psiFile).getRootNamespace());
|
||||
}
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
addFiles(environment, project, namespaces, file);
|
||||
}
|
||||
}
|
||||
@@ -171,15 +170,15 @@ public class K2JSTranslator {
|
||||
File rtJar = null;
|
||||
if (javaHome == null) {
|
||||
ClassLoader systemClassLoader = ClassLoader.getSystemClassLoader();
|
||||
if(systemClassLoader instanceof URLClassLoader) {
|
||||
if (systemClassLoader instanceof URLClassLoader) {
|
||||
URLClassLoader loader = (URLClassLoader) systemClassLoader;
|
||||
for(URL url: loader.getURLs()) {
|
||||
if("file".equals(url.getProtocol())) {
|
||||
if(url.getFile().endsWith("/lib/rt.jar")) {
|
||||
for (URL url : loader.getURLs()) {
|
||||
if ("file".equals(url.getProtocol())) {
|
||||
if (url.getFile().endsWith("/lib/rt.jar")) {
|
||||
rtJar = new File(url.getFile());
|
||||
break;
|
||||
}
|
||||
if(url.getFile().endsWith("/Classes/classes.jar")) {
|
||||
if (url.getFile().endsWith("/Classes/classes.jar")) {
|
||||
rtJar = new File(url.getFile()).getAbsoluteFile();
|
||||
break;
|
||||
}
|
||||
@@ -187,12 +186,11 @@ public class K2JSTranslator {
|
||||
}
|
||||
}
|
||||
|
||||
if(rtJar == null) {
|
||||
if (rtJar == null) {
|
||||
System.out.println("JAVA_HOME environment variable needs to be defined");
|
||||
return null;
|
||||
}
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
rtJar = findRtJar(javaHome);
|
||||
}
|
||||
|
||||
|
||||
@@ -45,6 +45,6 @@ public final class DeclarationExtractor {
|
||||
}
|
||||
|
||||
/*package*/ void putName(@NotNull DeclarationDescriptor descriptor, @NotNull JsName name) {
|
||||
descriptorToNameMap.put(descriptor, name);
|
||||
descriptorToNameMap.put(descriptor, name);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,6 @@ package org.jetbrains.k2js.declarations;
|
||||
|
||||
import com.google.dart.compiler.backend.js.ast.JsName;
|
||||
import com.google.dart.compiler.backend.js.ast.JsScope;
|
||||
import com.intellij.util.xml.PropertyAccessor;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jet.lang.descriptors.*;
|
||||
@@ -13,7 +12,8 @@ import org.jetbrains.k2js.translate.Namer;
|
||||
*/
|
||||
public final class ExtractionVisitor extends DeclarationDescriptorVisitor<Void, JsScope> {
|
||||
|
||||
@NotNull private final DeclarationExtractor extractor;
|
||||
@NotNull
|
||||
private final DeclarationExtractor extractor;
|
||||
|
||||
/*package*/ ExtractionVisitor(@NotNull DeclarationExtractor extractor) {
|
||||
this.extractor = extractor;
|
||||
|
||||
@@ -34,7 +34,7 @@ public final class CodeGenerator {
|
||||
|
||||
private void generateCode(JsProgram program) {
|
||||
JsSourceGenerationVisitor sourceGenerator =
|
||||
new JsSourceGenerationVisitor(output);
|
||||
new JsSourceGenerationVisitor(output);
|
||||
program.traverse(sourceGenerator, null);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,7 +10,8 @@ import org.jetbrains.jet.lang.resolve.BindingContext;
|
||||
*/
|
||||
public abstract class AbstractTranslator {
|
||||
|
||||
@NotNull private final TranslationContext context;
|
||||
@NotNull
|
||||
private final TranslationContext context;
|
||||
|
||||
public AbstractTranslator(@NotNull TranslationContext context) {
|
||||
this.context = context;
|
||||
|
||||
@@ -13,11 +13,12 @@ import java.util.List;
|
||||
|
||||
/**
|
||||
* @author Talanov Pavel
|
||||
*
|
||||
* This class contains some code related to BindingContext use. Intention is not to pollute other classes.
|
||||
* <p/>
|
||||
* This class contains some code related to BindingContext use. Intention is not to pollute other classes.
|
||||
*/
|
||||
public final class BindingUtils {
|
||||
private BindingUtils() {}
|
||||
private BindingUtils() {
|
||||
}
|
||||
|
||||
|
||||
@NotNull
|
||||
@@ -27,7 +28,7 @@ public final class BindingUtils {
|
||||
assert descriptor != null;
|
||||
assert descriptorClass.isInstance(descriptor)
|
||||
: expression.toString() + " expected to have of type" + descriptorClass.toString();
|
||||
return (D)descriptor;
|
||||
return (D) descriptor;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -68,7 +69,7 @@ public final class BindingUtils {
|
||||
|
||||
@NotNull
|
||||
static public PropertySetterDescriptor getPropertySetterDescriptorForProperty(@NotNull BindingContext context,
|
||||
@NotNull JetProperty property) {
|
||||
@NotNull JetProperty property) {
|
||||
PropertySetterDescriptor result = getPropertyDescriptor(context, property).getSetter();
|
||||
assert result != null : "Property should have a setter descriptor";
|
||||
return result;
|
||||
@@ -76,7 +77,7 @@ public final class BindingUtils {
|
||||
|
||||
@NotNull
|
||||
static public PropertyGetterDescriptor getPropertyGetterDescriptorForProperty(@NotNull BindingContext context,
|
||||
@NotNull JetProperty property) {
|
||||
@NotNull JetProperty property) {
|
||||
PropertyGetterDescriptor result = getPropertyDescriptor(context, property).getGetter();
|
||||
assert result != null : "Property should have a getter descriptor";
|
||||
return result;
|
||||
@@ -84,17 +85,17 @@ public final class BindingUtils {
|
||||
|
||||
@NotNull
|
||||
static public List<ClassDescriptor> getSuperclassDescriptors(@NotNull BindingContext context,
|
||||
@NotNull JetClass classDeclaration) {
|
||||
@NotNull JetClass classDeclaration) {
|
||||
ClassDescriptor classDescriptor = getClassDescriptor(context, classDeclaration);
|
||||
Collection<? extends JetType> superclassTypes = classDescriptor.getTypeConstructor().getSupertypes();
|
||||
List<ClassDescriptor> superClassDescriptors = new ArrayList<ClassDescriptor>();
|
||||
for (JetType type : superclassTypes) {
|
||||
DeclarationDescriptor superClassDescriptor =
|
||||
type.getConstructor().getDeclarationDescriptor();
|
||||
type.getConstructor().getDeclarationDescriptor();
|
||||
assert superClassDescriptor instanceof ClassDescriptor
|
||||
: "Superclass descriptor of a type should be of type ClassDescriptor";
|
||||
: "Superclass descriptor of a type should be of type ClassDescriptor";
|
||||
if (isNotAny(superClassDescriptor)) {
|
||||
superClassDescriptors.add((ClassDescriptor)superClassDescriptor);
|
||||
superClassDescriptors.add((ClassDescriptor) superClassDescriptor);
|
||||
}
|
||||
}
|
||||
return superClassDescriptors;
|
||||
@@ -102,7 +103,7 @@ public final class BindingUtils {
|
||||
|
||||
//TODO better implementation?
|
||||
private static boolean isNotAny(@NotNull DeclarationDescriptor superClassDescriptor) {
|
||||
return superClassDescriptor.getName() != "Any";
|
||||
return !superClassDescriptor.getName().equals("Any");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -82,7 +82,7 @@ public final class ClassBodyVisitor extends TranslatorVisitor<List<JsPropertyIni
|
||||
backingFieldRef.setQualifier(new JsThisRef());
|
||||
JsReturn returnExpression = new JsReturn(backingFieldRef);
|
||||
return AstUtil.newFunction
|
||||
(context.enclosingScope(), null, new ArrayList<JsParameter>(), AstUtil.convertToBlock(returnExpression));
|
||||
(context.enclosingScope(), null, new ArrayList<JsParameter>(), AstUtil.convertToBlock(returnExpression));
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -91,7 +91,7 @@ public final class ClassBodyVisitor extends TranslatorVisitor<List<JsPropertyIni
|
||||
PropertySetterDescriptor setterDescriptor =
|
||||
BindingUtils.getPropertySetterDescriptorForProperty(context.bindingContext(), expression);
|
||||
return AstUtil.newNamedMethod(context.getNameForDescriptor(setterDescriptor),
|
||||
generateDefaultSetterFunction(expression, context.newPropertyAccess(setterDescriptor)));
|
||||
generateDefaultSetterFunction(expression, context.newPropertyAccess(setterDescriptor)));
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -100,7 +100,7 @@ public final class ClassBodyVisitor extends TranslatorVisitor<List<JsPropertyIni
|
||||
JsFunction result = new JsFunction(context.enclosingScope());
|
||||
JsParameter defaultParameter = new JsParameter(context.enclosingScope().declareTemporary());
|
||||
JsBinaryOperation assignment = assignmentToBackingFieldFromDefaultParameter
|
||||
(expression, context, defaultParameter);
|
||||
(expression, context, defaultParameter);
|
||||
result.setParameters(Arrays.asList(defaultParameter));
|
||||
result.setBody(AstUtil.convertToBlock(assignment));
|
||||
return result;
|
||||
@@ -108,7 +108,7 @@ public final class ClassBodyVisitor extends TranslatorVisitor<List<JsPropertyIni
|
||||
|
||||
@NotNull
|
||||
private JsBinaryOperation assignmentToBackingFieldFromDefaultParameter
|
||||
(@NotNull JetProperty expression, @NotNull TranslationContext context, @NotNull JsParameter defaultParameter) {
|
||||
(@NotNull JetProperty expression, @NotNull TranslationContext context, @NotNull JsParameter defaultParameter) {
|
||||
JsNameRef backingFieldRef = getBackingFieldName(getPropertyName(expression), context).makeRef();
|
||||
backingFieldRef.setQualifier(new JsThisRef());
|
||||
JsBinaryOperation assignExpression = new JsBinaryOperation(JsBinaryOperator.ASG);
|
||||
|
||||
@@ -3,7 +3,6 @@ package org.jetbrains.k2js.translate;
|
||||
import com.google.dart.compiler.backend.js.ast.*;
|
||||
import com.google.dart.compiler.util.AstUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jet.lang.descriptors.ClassDescriptor;
|
||||
import org.jetbrains.jet.lang.psi.JetClass;
|
||||
|
||||
@@ -14,9 +13,11 @@ import java.util.List;
|
||||
* @author Talanov Pavel
|
||||
*/
|
||||
//TODO ClassTranslator needs heavy improvement
|
||||
// did some improvement
|
||||
public final class ClassTranslator extends AbstractTranslator {
|
||||
|
||||
@NotNull private final ClassBodyVisitor classBodyVisitor = new ClassBodyVisitor();
|
||||
@NotNull
|
||||
private final ClassBodyVisitor classBodyVisitor = new ClassBodyVisitor();
|
||||
|
||||
public ClassTranslator(TranslationContext context) {
|
||||
super(context);
|
||||
@@ -33,7 +34,6 @@ public final class ClassTranslator extends AbstractTranslator {
|
||||
AstUtil.newAssignment(translationContext().getNamespaceQualifiedReference(jsClassName), jsClassDeclaration));
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private void addClassOwnDeclarations(@NotNull JetClass classDeclaration,
|
||||
@NotNull JsInvocation jsClassDeclaration) {
|
||||
JsObjectLiteral jsClassDescription = translateClassDeclarations(classDeclaration);
|
||||
@@ -47,11 +47,11 @@ public final class ClassTranslator extends AbstractTranslator {
|
||||
}
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@NotNull
|
||||
private List<JsNameRef> getSuperclassNameReferences(@NotNull JetClass classDeclaration) {
|
||||
List<JsNameRef> superclassReferences = new ArrayList<JsNameRef>();
|
||||
for (ClassDescriptor superClassDescriptor :
|
||||
BindingUtils.getSuperclassDescriptors(translationContext().bindingContext(), classDeclaration)) {
|
||||
BindingUtils.getSuperclassDescriptors(translationContext().bindingContext(), classDeclaration)) {
|
||||
//TODO should get a full class name here
|
||||
superclassReferences.add(translationContext().getNamespaceQualifiedReference
|
||||
(translationContext().getNameForDescriptor(superClassDescriptor)));
|
||||
|
||||
@@ -21,6 +21,4 @@ public final class DeclarationTranslator extends AbstractTranslator {
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -6,9 +6,7 @@ import com.google.dart.compiler.backend.js.ast.JsNameRef;
|
||||
import com.google.dart.compiler.backend.js.ast.JsStatement;
|
||||
import com.google.dart.compiler.util.AstUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jet.lang.psi.JetClass;
|
||||
import org.jetbrains.jet.lang.psi.JetExpression;
|
||||
import org.jetbrains.jet.lang.psi.JetNamedFunction;
|
||||
import org.jetbrains.jet.lang.psi.JetProperty;
|
||||
|
||||
@@ -27,25 +25,12 @@ public class DeclarationVisitor extends TranslatorVisitor<JsStatement> {
|
||||
JsExpression result;
|
||||
if (jsInitExpression != null) {
|
||||
result = AstUtil.newAssignment(jsPropertyNameReference, jsInitExpression);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
result = jsPropertyNameReference;
|
||||
}
|
||||
return AstUtil.convertToStatement(result);
|
||||
}
|
||||
|
||||
//TODO duplicate code translateInitializer 1
|
||||
@Nullable
|
||||
private JsExpression translateInitializer(@NotNull JetProperty declaration, @NotNull TranslationContext context) {
|
||||
JsExpression jsInitExpression = null;
|
||||
JetExpression initializer = declaration.getInitializer();
|
||||
if (initializer != null) {
|
||||
jsInitExpression = AstUtil.convertToExpression(
|
||||
(new ExpressionTranslator(context)).translate(initializer));
|
||||
}
|
||||
return jsInitExpression;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public JsStatement visitClass(@NotNull JetClass expression, @NotNull TranslationContext context) {
|
||||
|
||||
@@ -9,7 +9,7 @@ import org.jetbrains.jet.lang.psi.JetExpression;
|
||||
*/
|
||||
public final class ExpressionTranslator extends AbstractTranslator {
|
||||
|
||||
final private ExpressionVisitor visitor = new ExpressionVisitor(translationContext());
|
||||
final private ExpressionVisitor visitor = new ExpressionVisitor();
|
||||
|
||||
public ExpressionTranslator(@NotNull TranslationContext context) {
|
||||
super(context);
|
||||
|
||||
@@ -1,21 +1,15 @@
|
||||
package org.jetbrains.k2js.translate;
|
||||
|
||||
import com.google.dart.compiler.backend.js.ast.JsBlock;
|
||||
import com.google.dart.compiler.backend.js.ast.JsExpression;
|
||||
import com.google.dart.compiler.backend.js.ast.*;
|
||||
import com.google.dart.compiler.backend.js.ast.JsReturn;
|
||||
import com.google.dart.compiler.util.AstUtil;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jet.lang.descriptors.CallableDescriptor;
|
||||
import org.jetbrains.jet.lang.descriptors.ConstructorDescriptor;
|
||||
import org.jetbrains.jet.lang.descriptors.PropertyDescriptor;
|
||||
import org.jetbrains.jet.lang.psi.*;
|
||||
import org.jetbrains.jet.lang.resolve.BindingContext;
|
||||
import org.jetbrains.jet.lang.resolve.calls.ResolvedCall;
|
||||
import org.jetbrains.jet.lang.resolve.constants.CompileTimeConstant;
|
||||
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingUtils;
|
||||
import org.jetbrains.jet.lexer.JetToken;
|
||||
import org.jetbrains.jet.lexer.JetTokens;
|
||||
|
||||
@@ -28,39 +22,33 @@ import java.util.List;
|
||||
*/
|
||||
public final class ExpressionVisitor extends TranslatorVisitor<JsNode> {
|
||||
|
||||
public ExpressionVisitor(TranslationContext context) {
|
||||
}
|
||||
|
||||
//TODO method too long
|
||||
@Override
|
||||
@NotNull
|
||||
public JsNode visitConstantExpression(@NotNull JetConstantExpression expression, @NotNull TranslationContext context) {
|
||||
JsExpression result = null;
|
||||
Object value;
|
||||
public JsNode visitConstantExpression(@NotNull JetConstantExpression expression,
|
||||
@NotNull TranslationContext context) {
|
||||
CompileTimeConstant<?> compileTimeValue =
|
||||
context.bindingContext().get(BindingContext.COMPILE_TIME_VALUE, expression);
|
||||
assert compileTimeValue != null;
|
||||
value = compileTimeValue.getValue();
|
||||
Object value = compileTimeValue.getValue();
|
||||
if (value instanceof Integer) {
|
||||
result = context.program().getNumberLiteral((Integer) value);
|
||||
return context.program().getNumberLiteral((Integer) value);
|
||||
}
|
||||
if (value instanceof Boolean) {
|
||||
return context.program().getBooleanLiteral((Boolean) value);
|
||||
}
|
||||
assert result != null;
|
||||
return result;
|
||||
throw new AssertionError("Unsupported constant expression" + expression.toString());
|
||||
}
|
||||
|
||||
@Override
|
||||
@NotNull
|
||||
public JsNode visitBlockExpression(@NotNull JetBlockExpression jetBlock, @NotNull TranslationContext context) {
|
||||
List<JetElement> jetElements = jetBlock.getStatements();
|
||||
List<JetElement> statements = jetBlock.getStatements();
|
||||
JsBlock jsBlock = new JsBlock();
|
||||
TranslationContext newContext = context.newBlock();
|
||||
for (JetElement jetElement : jetElements) {
|
||||
//TODO hack alert
|
||||
JetExpression jetExpression = (JetExpression) jetElement;
|
||||
JsNode jsNode = jetExpression.accept(this, newContext);
|
||||
for (JetElement statement : statements) {
|
||||
assert statement instanceof JetExpression : "Elements in JetBlockExpression " +
|
||||
"should be of type JetExpression";
|
||||
JsNode jsNode = statement.accept(this, newContext);
|
||||
jsBlock.addStatement(AstUtil.convertToStatement(jsNode));
|
||||
}
|
||||
return jsBlock;
|
||||
@@ -100,10 +88,11 @@ public final class ExpressionVisitor extends TranslatorVisitor<JsNode> {
|
||||
return translateAsBinaryOperation(expression, context);
|
||||
}
|
||||
|
||||
//TODO method too long
|
||||
@Nullable
|
||||
public JsInvocation translateAsSetterCall(@NotNull JetBinaryExpression expression,
|
||||
@NotNull TranslationContext context) {
|
||||
JetToken jetOperationToken = (JetToken)expression.getOperationToken();
|
||||
JetToken jetOperationToken = (JetToken) expression.getOperationToken();
|
||||
if (!OperationTranslator.isAssignment(jetOperationToken)) {
|
||||
return null;
|
||||
}
|
||||
@@ -124,16 +113,17 @@ public final class ExpressionVisitor extends TranslatorVisitor<JsNode> {
|
||||
private JsNode translateAsBinaryOperation(@NotNull JetBinaryExpression expression, @NotNull TranslationContext context) {
|
||||
JsExpression left = AstUtil.convertToExpression(expression.getLeft().accept(this, context));
|
||||
JetExpression rightExpression = expression.getRight();
|
||||
assert rightExpression != null : "Selector should not be null";
|
||||
assert rightExpression != null : "Binary expression should have a right exprssion";
|
||||
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);
|
||||
}
|
||||
|
||||
//TODO clearify code
|
||||
//TODO support other cases
|
||||
@Override
|
||||
@NotNull
|
||||
public JsNode visitSimpleNameExpression(JetSimpleNameExpression expression, TranslationContext context) {
|
||||
public JsNode visitSimpleNameExpression(@NotNull JetSimpleNameExpression expression,
|
||||
@NotNull TranslationContext context) {
|
||||
String referencedName = expression.getReferencedName();
|
||||
JsName jsName = context.enclosingScope().findExistingName(referencedName);
|
||||
assert jsName != null : "Undeclared name: " + referencedName;
|
||||
@@ -150,31 +140,17 @@ public final class ExpressionVisitor extends TranslatorVisitor<JsNode> {
|
||||
@Override
|
||||
@NotNull
|
||||
// assume it is a local variable declaration
|
||||
public JsNode visitProperty(JetProperty expression, TranslationContext context) {
|
||||
JsName jsPropertyName = context.declareLocalName(getPropertyName(expression));
|
||||
JsExpression jsInitExpression = translateInitializer(expression, context);
|
||||
return AstUtil.newVar(jsPropertyName, jsInitExpression);
|
||||
public JsNode visitProperty(@NotNull JetProperty expression, @NotNull TranslationContext context) {
|
||||
JsName jsPropertyName = context.declareLocalName(getPropertyName(expression));
|
||||
JsExpression jsInitExpression = translateInitializer(expression, context);
|
||||
return AstUtil.newVar(jsPropertyName, jsInitExpression);
|
||||
}
|
||||
|
||||
//TODO duplicate code translateInitializer 2
|
||||
@Nullable
|
||||
private JsExpression translateInitializer(JetProperty declaration, TranslationContext context) {
|
||||
JsExpression jsInitExpression = null;
|
||||
JetExpression initializer = declaration.getInitializer();
|
||||
if (initializer != null) {
|
||||
jsInitExpression = AstUtil.convertToExpression(
|
||||
(new ExpressionTranslator(context)).translate(initializer));
|
||||
}
|
||||
return jsInitExpression;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
@NotNull
|
||||
public JsNode visitCallExpression(JetCallExpression expression, TranslationContext context) {
|
||||
JsExpression callee = getCallee(expression, context);
|
||||
List<JsExpression> arguments = generateArgumentList(expression.getValueArguments(), context);
|
||||
|
||||
if (isConstructorInvocation(expression, context)) {
|
||||
JsNew constructorCall = new JsNew(callee);
|
||||
constructorCall.setArguments(arguments);
|
||||
@@ -288,7 +264,7 @@ public final class ExpressionVisitor extends TranslatorVisitor<JsNode> {
|
||||
@Override
|
||||
@NotNull
|
||||
public JsNode visitStringTemplateExpression(@NotNull JetStringTemplateExpression expression,
|
||||
@NotNull TranslationContext context) {
|
||||
@NotNull TranslationContext context) {
|
||||
JsStringLiteral stringLiteral = resolveAsStringConstant(expression, context);
|
||||
if (stringLiteral != null) {
|
||||
return stringLiteral;
|
||||
@@ -298,13 +274,13 @@ public final class ExpressionVisitor extends TranslatorVisitor<JsNode> {
|
||||
|
||||
@Nullable
|
||||
private JsStringLiteral resolveAsStringConstant(@NotNull JetStringTemplateExpression expression,
|
||||
@NotNull TranslationContext context) {
|
||||
@NotNull TranslationContext context) {
|
||||
CompileTimeConstant<?> compileTimeValue =
|
||||
context.bindingContext().get(BindingContext.COMPILE_TIME_VALUE, expression);
|
||||
if (compileTimeValue != null) {
|
||||
Object value = compileTimeValue.getValue();
|
||||
assert value instanceof String : "Compile time constant template should be a String constant.";
|
||||
String constantString = (String)value;
|
||||
String constantString = (String) value;
|
||||
return context.program().getStringLiteral(constantString);
|
||||
}
|
||||
return null;
|
||||
@@ -314,7 +290,7 @@ public final class ExpressionVisitor extends TranslatorVisitor<JsNode> {
|
||||
@Override
|
||||
@NotNull
|
||||
public JsNode visitDotQualifiedExpression(@NotNull JetDotQualifiedExpression expression,
|
||||
@NotNull TranslationContext context) {
|
||||
@NotNull TranslationContext context) {
|
||||
JsInvocation getterCall = translateAsGetterCall(expression, context);
|
||||
if (getterCall != null) {
|
||||
return getterCall;
|
||||
@@ -349,18 +325,16 @@ public final class ExpressionVisitor extends TranslatorVisitor<JsNode> {
|
||||
|
||||
@NotNull
|
||||
private JsNode translateAsQualifiedNameReference(@NotNull JsExpression receiver, @NotNull JsNameRef selector) {
|
||||
JsNameRef result = (JsNameRef)selector;
|
||||
result.setQualifier(receiver);
|
||||
return result;
|
||||
selector.setQualifier(receiver);
|
||||
return selector;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private JsNode translateAsQualifiedInvocation(@NotNull JsExpression receiver, @NotNull JsInvocation selector) {
|
||||
JsInvocation result = (JsInvocation)selector;
|
||||
JsExpression qualifier = result.getQualifier();
|
||||
JsNameRef nameRef = (JsNameRef)qualifier;
|
||||
JsExpression qualifier = selector.getQualifier();
|
||||
JsNameRef nameRef = (JsNameRef) qualifier;
|
||||
nameRef.setQualifier(receiver);
|
||||
return result;
|
||||
return selector;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -3,14 +3,11 @@ package org.jetbrains.k2js.translate;
|
||||
import com.google.dart.compiler.backend.js.ast.*;
|
||||
import com.google.dart.compiler.util.AstUtil;
|
||||
import com.sun.istack.internal.NotNull;
|
||||
import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor;
|
||||
import org.jetbrains.jet.lang.descriptors.FunctionDescriptor;
|
||||
import org.jetbrains.jet.lang.psi.JetExpression;
|
||||
import org.jetbrains.jet.lang.psi.JetNamedFunction;
|
||||
import org.jetbrains.jet.lang.psi.JetParameter;
|
||||
import org.jetbrains.jet.lang.resolve.BindingContext;
|
||||
|
||||
import javax.xml.ws.Binding;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@@ -4,21 +4,11 @@
|
||||
package org.jetbrains.k2js.translate;
|
||||
|
||||
import com.google.dart.compiler.backend.js.ast.JsProgram;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import org.jetbrains.jet.lang.cfg.pseudocode.JetControlFlowDataTraceFactory;
|
||||
import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor;
|
||||
import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor;
|
||||
import org.jetbrains.jet.lang.psi.JetFile;
|
||||
import org.jetbrains.jet.lang.psi.JetNamespace;
|
||||
import org.jetbrains.jet.lang.resolve.AnalyzingUtils;
|
||||
import org.jetbrains.jet.lang.resolve.BindingContext;
|
||||
import org.jetbrains.jet.lang.resolve.java.JavaDefaultImports;
|
||||
import org.jetbrains.k2js.declarations.DeclarationExtractor;
|
||||
|
||||
import javax.print.attribute.standard.MediaSize;
|
||||
import javax.xml.ws.Binding;
|
||||
import java.beans.beancontext.BeanContext;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
public final class GenerationState {
|
||||
@@ -41,5 +31,4 @@ public final class GenerationState {
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -11,15 +11,18 @@ import java.util.List;
|
||||
|
||||
/**
|
||||
* @author Talanov Pavel
|
||||
*
|
||||
* This visitor collects all initializers from a given class into JsFunction object.
|
||||
* Note: we do use visitor pattern to preserve the order in which initializers are executed.
|
||||
* <p/>
|
||||
* This visitor collects all initializers from a given class into JsFunction object.
|
||||
* Note: we do use visitor pattern to preserve the order in which initializers are executed.
|
||||
*/
|
||||
public class InitializerVisitor extends TranslatorVisitor<List<JsStatement>> {
|
||||
|
||||
@NotNull private final JsScope initializerMethodScope;
|
||||
@NotNull private final JetClass classDeclaration;
|
||||
@NotNull private final TranslationContext initializerMethodContext;
|
||||
@NotNull
|
||||
private final JsScope initializerMethodScope;
|
||||
@NotNull
|
||||
private final JetClass classDeclaration;
|
||||
@NotNull
|
||||
private final TranslationContext initializerMethodContext;
|
||||
|
||||
public InitializerVisitor(@NotNull JetClass classDeclaration, @NotNull TranslationContext context) {
|
||||
this.initializerMethodScope = new JsScope(context.getScopeForElement(classDeclaration),
|
||||
@@ -81,7 +84,7 @@ public class InitializerVisitor extends TranslatorVisitor<List<JsStatement>> {
|
||||
|
||||
@NotNull
|
||||
JsStatement assignmentToBackingField(@NotNull JetProperty property, @NotNull JsExpression initExpression,
|
||||
@NotNull TranslationContext context) {
|
||||
@NotNull TranslationContext context) {
|
||||
String propertyName = property.getName();
|
||||
assert propertyName != null : "Named property expected.";
|
||||
JsName backingFieldName = getBackingFieldName(propertyName, context);
|
||||
|
||||
@@ -2,7 +2,6 @@ package org.jetbrains.k2js.translate;
|
||||
|
||||
import com.google.dart.compiler.backend.js.ast.JsNameRef;
|
||||
import com.google.dart.compiler.util.AstUtil;
|
||||
import org.jetbrains.jet.lang.psi.JetPropertyAccessor;
|
||||
|
||||
/**
|
||||
* @author Talanov Pavel
|
||||
@@ -23,7 +22,7 @@ public final class Namer {
|
||||
private static final String SETTER_PREFIX = "set_";
|
||||
private static final String GETTER_PREFIX = "get_";
|
||||
private static final String BACKING_FIELD_PREFIX = "$";
|
||||
// public static final String DEFAULT_SETTER_PARAM_NAME = "val";
|
||||
// public static final String DEFAULT_SETTER_PARAM_NAME = "val";
|
||||
|
||||
public static String getClassObjectName() {
|
||||
//TODO dummy representation
|
||||
@@ -33,8 +32,7 @@ public final class Namer {
|
||||
public static String getNameForAccessor(String propertyName, boolean isGetter) {
|
||||
if (isGetter) {
|
||||
return getNameForGetter(propertyName);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
return getNameForSetter(propertyName);
|
||||
}
|
||||
}
|
||||
@@ -69,5 +67,4 @@ public final class Namer {
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -55,7 +55,7 @@ public final class NamespaceTranslator extends AbstractTranslator {
|
||||
|
||||
@NotNull
|
||||
private JsInvocation newNamespace(@NotNull JsName name, @NotNull JsBlock namespaceDeclarations,
|
||||
@NotNull JsFunction dummyFunction) {
|
||||
@NotNull JsFunction dummyFunction) {
|
||||
List<JsParameter> params = new ArrayList<JsParameter>();
|
||||
params.add(new JsParameter(name));
|
||||
dummyFunction.setParameters(params);
|
||||
|
||||
@@ -35,7 +35,7 @@ public final class OperationTranslator {
|
||||
assert JetTokens.OPERATIONS.contains(token) : "Token should represent a binary operation!";
|
||||
JsOperator result = map.get(token);
|
||||
if (result instanceof JsBinaryOperator) {
|
||||
return (JsBinaryOperator)result;
|
||||
return (JsBinaryOperator) result;
|
||||
}
|
||||
throw new AssertionError("Invalid map: should contain token: " + token.toString());
|
||||
}
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
package org.jetbrains.k2js.translate;
|
||||
|
||||
import com.google.dart.compiler.backend.js.ast.*;
|
||||
import com.google.dart.compiler.backend.js.ast.JsInvocation;
|
||||
import com.google.dart.compiler.backend.js.ast.JsName;
|
||||
import com.google.dart.compiler.backend.js.ast.JsNameRef;
|
||||
import com.google.dart.compiler.backend.js.ast.JsNode;
|
||||
import com.google.dart.compiler.util.AstUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -29,7 +32,7 @@ public final class PropertyAccessTranslator extends AbstractTranslator {
|
||||
assert selectorExpression != null : "Selector should not be null.";
|
||||
JsName getterName = getPropertyGetterName(selectorExpression);
|
||||
if (getterName == null) {
|
||||
return null;
|
||||
return null;
|
||||
}
|
||||
return translateReceiverAndReturnAccessorInvocation(expression, getterName);
|
||||
}
|
||||
@@ -49,12 +52,12 @@ public final class PropertyAccessTranslator extends AbstractTranslator {
|
||||
if (!(expression instanceof JetDotQualifiedExpression)) {
|
||||
return null;
|
||||
}
|
||||
JetDotQualifiedExpression dotQualifiedExpression = (JetDotQualifiedExpression)expression;
|
||||
JetDotQualifiedExpression dotQualifiedExpression = (JetDotQualifiedExpression) expression;
|
||||
JetExpression selectorExpression = dotQualifiedExpression.getSelectorExpression();
|
||||
assert selectorExpression != null : "Selector should not be null.";
|
||||
JsName getterName = getPropertySetterName(selectorExpression);
|
||||
if (getterName == null) {
|
||||
return null;
|
||||
return null;
|
||||
}
|
||||
return translateReceiverAndReturnAccessorInvocation(dotQualifiedExpression, getterName);
|
||||
}
|
||||
@@ -92,7 +95,7 @@ public final class PropertyAccessTranslator extends AbstractTranslator {
|
||||
if (resolvedCall != null) {
|
||||
DeclarationDescriptor descriptor = resolvedCall.getCandidateDescriptor();
|
||||
if (descriptor instanceof PropertyDescriptor) {
|
||||
return (PropertyDescriptor)descriptor;
|
||||
return (PropertyDescriptor) descriptor;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
package org.jetbrains.k2js.translate;
|
||||
|
||||
import com.google.dart.compiler.backend.js.ast.*;
|
||||
import com.google.dart.compiler.backend.js.ast.JsName;
|
||||
import com.google.dart.compiler.backend.js.ast.JsNameRef;
|
||||
import com.google.dart.compiler.backend.js.ast.JsProgram;
|
||||
import com.google.dart.compiler.backend.js.ast.JsScope;
|
||||
import com.google.dart.compiler.util.AstUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -22,9 +25,12 @@ public final class TranslationContext {
|
||||
this.namespaceScope = namespaceScope;
|
||||
}
|
||||
|
||||
@NotNull public final JsScope enclosingScope;
|
||||
@NotNull public final JsScope classScope;
|
||||
@NotNull public final JsScope namespaceScope;
|
||||
@NotNull
|
||||
public final JsScope enclosingScope;
|
||||
@NotNull
|
||||
public final JsScope classScope;
|
||||
@NotNull
|
||||
public final JsScope namespaceScope;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -35,12 +41,16 @@ public final class TranslationContext {
|
||||
return new TranslationContext(null, program, bindingContext, scopes, extractor);
|
||||
}
|
||||
|
||||
@NotNull private final JsProgram program;
|
||||
@NotNull private final BindingContext bindingContext;
|
||||
@NotNull private final Scopes scopes;
|
||||
@Nullable private final JsName namespaceName;
|
||||
@NotNull private final DeclarationExtractor extractor;
|
||||
|
||||
@NotNull
|
||||
private final JsProgram program;
|
||||
@NotNull
|
||||
private final BindingContext bindingContext;
|
||||
@NotNull
|
||||
private final Scopes scopes;
|
||||
@Nullable
|
||||
private final JsName namespaceName;
|
||||
@NotNull
|
||||
private final DeclarationExtractor extractor;
|
||||
|
||||
|
||||
private TranslationContext(@Nullable JsName namespaceName, @NotNull JsProgram program,
|
||||
@@ -115,7 +125,6 @@ public final class TranslationContext {
|
||||
}
|
||||
|
||||
|
||||
|
||||
@NotNull
|
||||
public JsNameRef getNamespaceQualifiedReference(JsName name) {
|
||||
if (namespaceName != null) {
|
||||
@@ -170,7 +179,8 @@ public final class TranslationContext {
|
||||
return extractor.getName(descriptor);
|
||||
}
|
||||
|
||||
@NotNull JsName getNameForElement(@NotNull JetElement element) {
|
||||
@NotNull
|
||||
JsName getNameForElement(@NotNull JetElement element) {
|
||||
DeclarationDescriptor descriptor = getDescriptorForElement(element);
|
||||
return getNameForDescriptor(descriptor);
|
||||
}
|
||||
|
||||
@@ -1,15 +1,19 @@
|
||||
package org.jetbrains.k2js.translate;
|
||||
|
||||
import com.google.dart.compiler.backend.js.ast.JsExpression;
|
||||
import com.google.dart.compiler.backend.js.ast.JsName;
|
||||
import com.google.dart.compiler.util.AstUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jet.lang.psi.JetElement;
|
||||
import org.jetbrains.jet.lang.psi.JetExpression;
|
||||
import org.jetbrains.jet.lang.psi.JetProperty;
|
||||
import org.jetbrains.jet.lang.psi.JetVisitor;
|
||||
|
||||
/**
|
||||
* @author Talanov Pavel
|
||||
*
|
||||
* This class is a base class for all visitors. It contains code that is shared among them.
|
||||
* <p/>
|
||||
* This class is a base class for all visitors. It contains code that is shared among them.
|
||||
*/
|
||||
public class TranslatorVisitor<T> extends JetVisitor<T, TranslationContext> {
|
||||
|
||||
@@ -33,4 +37,16 @@ public class TranslatorVisitor<T> extends JetVisitor<T, TranslationContext> {
|
||||
String backingFieldName = Namer.getKotlinBackingFieldName(propertyName);
|
||||
return context.enclosingScope().findExistingName(backingFieldName);
|
||||
}
|
||||
|
||||
|
||||
@Nullable
|
||||
protected JsExpression translateInitializer(@NotNull JetProperty declaration, @NotNull TranslationContext context) {
|
||||
JsExpression jsInitExpression = null;
|
||||
JetExpression initializer = declaration.getInitializer();
|
||||
if (initializer != null) {
|
||||
jsInitExpression = AstUtil.convertToExpression(
|
||||
(new ExpressionTranslator(context)).translate(initializer));
|
||||
}
|
||||
return jsInitExpression;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
package org.jetbrains.k2js.test;
|
||||
|
||||
import org.jetbrains.k2js.translate.TranslationContext;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
import org.mozilla.javascript.Context;
|
||||
import org.mozilla.javascript.Scriptable;
|
||||
|
||||
@@ -17,7 +14,7 @@ public abstract class AbstractClassTest extends TranslationTest {
|
||||
|
||||
private final String KOTLIN_JS_LIB = TEST_FILES + "kotlin_lib.js";
|
||||
|
||||
protected String kotlinLibrartyPath() {
|
||||
protected String kotlinLibraryPath() {
|
||||
return KOTLIN_JS_LIB;
|
||||
}
|
||||
|
||||
@@ -29,13 +26,13 @@ public abstract class AbstractClassTest extends TranslationTest {
|
||||
|
||||
@Override
|
||||
protected void runWithRhino(String inputFile, String namespaceName,
|
||||
String functionName, Object expectedResult) throws Exception {
|
||||
String functionName, Object expectedResult) throws Exception {
|
||||
Context cx = Context.enter();
|
||||
Scriptable scope = cx.initStandardObjects();
|
||||
runFileWithRhino(kotlinLibrartyPath(), cx, scope);
|
||||
runFileWithRhino(kotlinLibraryPath(), cx, scope);
|
||||
runFileWithRhino(inputFile, cx, scope);
|
||||
Object result = extractAndCallFunctionObject(namespaceName, functionName, cx, scope);
|
||||
assertTrue("Result is not what expected!",result.equals(expectedResult));
|
||||
assertTrue("Result is not what expected!", result.equals(expectedResult));
|
||||
String report = namespaceName + "." + functionName + "() = " + Context.toString(result);
|
||||
System.out.println(report);
|
||||
Context.exit();
|
||||
|
||||
@@ -20,7 +20,7 @@ public class BasicClassTest extends AbstractClassTest {
|
||||
public void kotlinJsLibRunsWithRhino() throws Exception {
|
||||
Context context = Context.enter();
|
||||
Scriptable scope = context.initStandardObjects();
|
||||
runFileWithRhino(kotlinLibrartyPath(), context, scope);
|
||||
runFileWithRhino(kotlinLibraryPath(), context, scope);
|
||||
Context.exit();
|
||||
}
|
||||
|
||||
|
||||
@@ -1,14 +1,12 @@
|
||||
package org.jetbrains.k2js.test;
|
||||
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
import org.kohsuke.rngom.digested.Main;
|
||||
|
||||
/**
|
||||
* @author Talanov Pavel
|
||||
*
|
||||
* This class tests basic language features and constructs such as constants, local variables, simple loops,
|
||||
* conditional clauses etc.
|
||||
* <p/>
|
||||
* This class tests basic language features and constructs such as constants, local variables, simple loops,
|
||||
* conditional clauses etc.
|
||||
*/
|
||||
public final class FunctionTest extends TranslationTest {
|
||||
|
||||
|
||||
@@ -39,4 +39,10 @@ public final class PropertyAccessorTest extends AbstractClassTest {
|
||||
testFooBoxIsTrue("customSetter.kt");
|
||||
}
|
||||
|
||||
//TODO test
|
||||
// @Test
|
||||
// public void namespaceCustomAccessors() throws Exception {
|
||||
// testFooBoxIsTrue("namespaceCustomAccessors.kt");
|
||||
// }
|
||||
|
||||
}
|
||||
|
||||
@@ -2,14 +2,14 @@ package org.jetbrains.k2js.test;
|
||||
|
||||
import org.jetbrains.k2js.K2JSTranslator;
|
||||
import org.junit.Before;
|
||||
import org.junit.BeforeClass;
|
||||
import org.mozilla.javascript.Context;
|
||||
import org.mozilla.javascript.Function;
|
||||
import org.mozilla.javascript.NativeObject;
|
||||
import org.mozilla.javascript.Scriptable;
|
||||
|
||||
import java.io.FileReader;
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
|
||||
/**
|
||||
@@ -43,7 +43,7 @@ public abstract class TranslationTest {
|
||||
}
|
||||
|
||||
protected void performTest(String filename, String namespaceName,
|
||||
String functionName, Object expectedResult) throws Exception {
|
||||
String functionName, Object expectedResult) throws Exception {
|
||||
K2JSTranslator.Arguments args = new K2JSTranslator.Arguments();
|
||||
args.src = getInputFilePath(filename);
|
||||
args.outputDir = getOutputFilePath(filename);
|
||||
@@ -64,7 +64,7 @@ public abstract class TranslationTest {
|
||||
}
|
||||
|
||||
protected void runWithRhino(String inputFile, String namespaceName,
|
||||
String functionName, Object expectedResult) throws Exception {
|
||||
String functionName, Object expectedResult) throws Exception {
|
||||
Context cx = Context.enter();
|
||||
FileReader reader = new FileReader(inputFile);
|
||||
try {
|
||||
@@ -82,14 +82,14 @@ public abstract class TranslationTest {
|
||||
}
|
||||
|
||||
protected Object extractAndCallFunctionObject(String namespaceName, String functionName,
|
||||
Context cx, Scriptable scope) {
|
||||
Context cx, Scriptable scope) {
|
||||
Object foo = scope.get(namespaceName, scope);
|
||||
assertTrue(foo instanceof NativeObject);
|
||||
NativeObject namespaceObject = (NativeObject)foo;
|
||||
NativeObject namespaceObject = (NativeObject) foo;
|
||||
Object box = namespaceObject.get(functionName, namespaceObject);
|
||||
assertTrue(box instanceof Function);
|
||||
Object functionArgs[] = {};
|
||||
Function function = (Function)box;
|
||||
Function function = (Function) box;
|
||||
return function.call(cx, scope, scope, functionArgs);
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
namespace foo
|
||||
|
||||
var a : Int
|
||||
get() {
|
||||
return 5
|
||||
}
|
||||
set(b) {
|
||||
|
||||
}
|
||||
|
||||
{
|
||||
$a = 3;
|
||||
}
|
||||
|
||||
fun box() : Boolean {
|
||||
return (a == 5)
|
||||
}
|
||||
@@ -9,5 +9,5 @@ class B() {
|
||||
}
|
||||
|
||||
fun box() : Boolean {
|
||||
return ((A().a == 1) && (B().b == 2);
|
||||
return ((A().a == 1) && (B().b == 2));
|
||||
}
|
||||
Reference in New Issue
Block a user