Remove old j2k tests
This commit is contained in:
@@ -814,7 +814,6 @@ tasks {
|
|||||||
dependsOn("dist")
|
dependsOn("dist")
|
||||||
dependsOn(
|
dependsOn(
|
||||||
":idea:idea-maven:test",
|
":idea:idea-maven:test",
|
||||||
":j2k:test",
|
|
||||||
":nj2k:test",
|
":nj2k:test",
|
||||||
":idea:jvm-debugger:jvm-debugger-core:test",
|
":idea:jvm-debugger:jvm-debugger-core:test",
|
||||||
":idea:jvm-debugger:jvm-debugger-evaluation:test",
|
":idea:jvm-debugger:jvm-debugger-evaluation:test",
|
||||||
|
|||||||
@@ -54,10 +54,8 @@ import org.jetbrains.kotlin.idea.completion.test.weighers.AbstractBasicCompletio
|
|||||||
import org.jetbrains.kotlin.idea.completion.test.weighers.AbstractSmartCompletionWeigherTest
|
import org.jetbrains.kotlin.idea.completion.test.weighers.AbstractSmartCompletionWeigherTest
|
||||||
import org.jetbrains.kotlin.idea.completion.wheigher.AbstractHighLevelWeigherTest
|
import org.jetbrains.kotlin.idea.completion.wheigher.AbstractHighLevelWeigherTest
|
||||||
import org.jetbrains.kotlin.idea.configuration.AbstractGradleConfigureProjectByChangingFileTest
|
import org.jetbrains.kotlin.idea.configuration.AbstractGradleConfigureProjectByChangingFileTest
|
||||||
import org.jetbrains.kotlin.idea.conversion.copy.AbstractJavaToKotlinCopyPasteConversionTest
|
|
||||||
import org.jetbrains.kotlin.idea.conversion.copy.AbstractLiteralKotlinToKotlinCopyPasteTest
|
import org.jetbrains.kotlin.idea.conversion.copy.AbstractLiteralKotlinToKotlinCopyPasteTest
|
||||||
import org.jetbrains.kotlin.idea.conversion.copy.AbstractLiteralTextToKotlinCopyPasteTest
|
import org.jetbrains.kotlin.idea.conversion.copy.AbstractLiteralTextToKotlinCopyPasteTest
|
||||||
import org.jetbrains.kotlin.idea.conversion.copy.AbstractTextJavaToKotlinCopyPasteConversionTest
|
|
||||||
import org.jetbrains.kotlin.idea.coverage.AbstractKotlinCoverageOutputFilesTest
|
import org.jetbrains.kotlin.idea.coverage.AbstractKotlinCoverageOutputFilesTest
|
||||||
import org.jetbrains.kotlin.idea.debugger.evaluate.AbstractCodeFragmentAutoImportTest
|
import org.jetbrains.kotlin.idea.debugger.evaluate.AbstractCodeFragmentAutoImportTest
|
||||||
import org.jetbrains.kotlin.idea.debugger.evaluate.AbstractCodeFragmentCompletionHandlerTest
|
import org.jetbrains.kotlin.idea.debugger.evaluate.AbstractCodeFragmentCompletionHandlerTest
|
||||||
@@ -153,9 +151,6 @@ import org.jetbrains.kotlin.idea.stubs.AbstractMultiFileHighlightingTest
|
|||||||
import org.jetbrains.kotlin.idea.stubs.AbstractResolveByStubTest
|
import org.jetbrains.kotlin.idea.stubs.AbstractResolveByStubTest
|
||||||
import org.jetbrains.kotlin.idea.stubs.AbstractStubBuilderTest
|
import org.jetbrains.kotlin.idea.stubs.AbstractStubBuilderTest
|
||||||
import org.jetbrains.kotlin.incremental.*
|
import org.jetbrains.kotlin.incremental.*
|
||||||
import org.jetbrains.kotlin.j2k.AbstractJavaToKotlinConverterForWebDemoTest
|
|
||||||
import org.jetbrains.kotlin.j2k.AbstractJavaToKotlinConverterMultiFileTest
|
|
||||||
import org.jetbrains.kotlin.j2k.AbstractJavaToKotlinConverterSingleFileTest
|
|
||||||
import org.jetbrains.kotlin.jps.build.*
|
import org.jetbrains.kotlin.jps.build.*
|
||||||
import org.jetbrains.kotlin.jps.build.dependeciestxt.actualizeMppJpsIncTestCaseDirs
|
import org.jetbrains.kotlin.jps.build.dependeciestxt.actualizeMppJpsIncTestCaseDirs
|
||||||
import org.jetbrains.kotlin.jps.incremental.AbstractJsProtoComparisonTest
|
import org.jetbrains.kotlin.jps.incremental.AbstractJsProtoComparisonTest
|
||||||
@@ -725,13 +720,6 @@ fun main(args: Array<String>) {
|
|||||||
model("dataFlowValueRendering")
|
model("dataFlowValueRendering")
|
||||||
}
|
}
|
||||||
|
|
||||||
testClass<AbstractJavaToKotlinCopyPasteConversionTest> {
|
|
||||||
model("copyPaste/conversion", pattern = """^([^\.]+)\.java$""")
|
|
||||||
}
|
|
||||||
|
|
||||||
testClass<AbstractTextJavaToKotlinCopyPasteConversionTest> {
|
|
||||||
model("copyPaste/plainTextConversion", pattern = """^([^\.]+)\.txt$""")
|
|
||||||
}
|
|
||||||
|
|
||||||
testClass<AbstractLiteralTextToKotlinCopyPasteTest> {
|
testClass<AbstractLiteralTextToKotlinCopyPasteTest> {
|
||||||
model("copyPaste/plainTextLiteral", pattern = """^([^\.]+)\.txt$""")
|
model("copyPaste/plainTextLiteral", pattern = """^([^\.]+)\.txt$""")
|
||||||
@@ -1470,21 +1458,6 @@ fun main(args: Array<String>) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
testGroup("j2k/tests", "j2k/testData") {
|
|
||||||
testClass<AbstractJavaToKotlinConverterSingleFileTest> {
|
|
||||||
model("fileOrElement", extension = "java")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
testGroup("j2k/tests", "j2k/testData") {
|
|
||||||
testClass<AbstractJavaToKotlinConverterMultiFileTest> {
|
|
||||||
model("multiFile", extension = null, recursive = false)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
testGroup("j2k/tests", "j2k/testData") {
|
|
||||||
testClass<AbstractJavaToKotlinConverterForWebDemoTest> {
|
|
||||||
model("fileOrElement", extension = "java")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
testGroup("nj2k/tests", "nj2k/testData") {
|
testGroup("nj2k/tests", "nj2k/testData") {
|
||||||
testClass<AbstractNewJavaToKotlinConverterSingleFileTest> {
|
testClass<AbstractNewJavaToKotlinConverterSingleFileTest> {
|
||||||
|
|||||||
@@ -58,10 +58,8 @@ import org.jetbrains.kotlin.idea.completion.test.handlers.AbstractSmartCompletio
|
|||||||
import org.jetbrains.kotlin.idea.completion.test.weighers.AbstractBasicCompletionWeigherTest
|
import org.jetbrains.kotlin.idea.completion.test.weighers.AbstractBasicCompletionWeigherTest
|
||||||
import org.jetbrains.kotlin.idea.completion.test.weighers.AbstractSmartCompletionWeigherTest
|
import org.jetbrains.kotlin.idea.completion.test.weighers.AbstractSmartCompletionWeigherTest
|
||||||
import org.jetbrains.kotlin.idea.configuration.AbstractGradleConfigureProjectByChangingFileTest
|
import org.jetbrains.kotlin.idea.configuration.AbstractGradleConfigureProjectByChangingFileTest
|
||||||
import org.jetbrains.kotlin.idea.conversion.copy.AbstractJavaToKotlinCopyPasteConversionTest
|
|
||||||
import org.jetbrains.kotlin.idea.conversion.copy.AbstractLiteralKotlinToKotlinCopyPasteTest
|
import org.jetbrains.kotlin.idea.conversion.copy.AbstractLiteralKotlinToKotlinCopyPasteTest
|
||||||
import org.jetbrains.kotlin.idea.conversion.copy.AbstractLiteralTextToKotlinCopyPasteTest
|
import org.jetbrains.kotlin.idea.conversion.copy.AbstractLiteralTextToKotlinCopyPasteTest
|
||||||
import org.jetbrains.kotlin.idea.conversion.copy.AbstractTextJavaToKotlinCopyPasteConversionTest
|
|
||||||
import org.jetbrains.kotlin.idea.coverage.AbstractKotlinCoverageOutputFilesTest
|
import org.jetbrains.kotlin.idea.coverage.AbstractKotlinCoverageOutputFilesTest
|
||||||
import org.jetbrains.kotlin.idea.debugger.evaluate.*
|
import org.jetbrains.kotlin.idea.debugger.evaluate.*
|
||||||
import org.jetbrains.kotlin.idea.debugger.test.sequence.exec.AbstractSequenceTraceTestCase
|
import org.jetbrains.kotlin.idea.debugger.test.sequence.exec.AbstractSequenceTraceTestCase
|
||||||
@@ -132,9 +130,6 @@ import org.jetbrains.kotlin.idea.stubs.AbstractMultiFileHighlightingTest
|
|||||||
import org.jetbrains.kotlin.idea.stubs.AbstractResolveByStubTest
|
import org.jetbrains.kotlin.idea.stubs.AbstractResolveByStubTest
|
||||||
import org.jetbrains.kotlin.idea.stubs.AbstractStubBuilderTest
|
import org.jetbrains.kotlin.idea.stubs.AbstractStubBuilderTest
|
||||||
import org.jetbrains.kotlin.incremental.*
|
import org.jetbrains.kotlin.incremental.*
|
||||||
import org.jetbrains.kotlin.j2k.AbstractJavaToKotlinConverterForWebDemoTest
|
|
||||||
import org.jetbrains.kotlin.j2k.AbstractJavaToKotlinConverterMultiFileTest
|
|
||||||
import org.jetbrains.kotlin.j2k.AbstractJavaToKotlinConverterSingleFileTest
|
|
||||||
//import org.jetbrains.kotlin.jps.build.*
|
//import org.jetbrains.kotlin.jps.build.*
|
||||||
//import org.jetbrains.kotlin.jps.incremental.AbstractJsProtoComparisonTest
|
//import org.jetbrains.kotlin.jps.incremental.AbstractJsProtoComparisonTest
|
||||||
//import org.jetbrains.kotlin.jps.incremental.AbstractJvmProtoComparisonTest
|
//import org.jetbrains.kotlin.jps.incremental.AbstractJvmProtoComparisonTest
|
||||||
@@ -603,14 +598,6 @@ fun main(args: Array<String>) {
|
|||||||
model("dataFlowValueRendering")
|
model("dataFlowValueRendering")
|
||||||
}
|
}
|
||||||
|
|
||||||
testClass<AbstractJavaToKotlinCopyPasteConversionTest> {
|
|
||||||
model("copyPaste/conversion", pattern = """^([^\.]+)\.java$""")
|
|
||||||
}
|
|
||||||
|
|
||||||
testClass<AbstractTextJavaToKotlinCopyPasteConversionTest> {
|
|
||||||
model("copyPaste/plainTextConversion", pattern = """^([^\.]+)\.txt$""")
|
|
||||||
}
|
|
||||||
|
|
||||||
testClass<AbstractLiteralTextToKotlinCopyPasteTest> {
|
testClass<AbstractLiteralTextToKotlinCopyPasteTest> {
|
||||||
model("copyPaste/plainTextLiteral", pattern = """^([^\.]+)\.txt$""")
|
model("copyPaste/plainTextLiteral", pattern = """^([^\.]+)\.txt$""")
|
||||||
}
|
}
|
||||||
@@ -997,21 +984,8 @@ fun main(args: Array<String>) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
testGroup("j2k/tests", "j2k/testData") {
|
|
||||||
testClass<AbstractJavaToKotlinConverterSingleFileTest> {
|
|
||||||
model("fileOrElement", extension = "java")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
testGroup("j2k/tests", "j2k/testData") {
|
|
||||||
testClass<AbstractJavaToKotlinConverterMultiFileTest> {
|
|
||||||
model("multiFile", extension = null, recursive = false)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
testGroup("j2k/tests", "j2k/testData") {
|
|
||||||
testClass<AbstractJavaToKotlinConverterForWebDemoTest> {
|
|
||||||
model("fileOrElement", extension = "java")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
testGroup("nj2k/tests", "nj2k/testData") {
|
testGroup("nj2k/tests", "nj2k/testData") {
|
||||||
testClass<AbstractNewJavaToKotlinConverterSingleFileTest> {
|
testClass<AbstractNewJavaToKotlinConverterSingleFileTest> {
|
||||||
|
|||||||
@@ -1,133 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2010-2015 JetBrains s.r.o.
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package org.jetbrains.kotlin.j2k
|
|
||||||
|
|
||||||
import com.intellij.codeInsight.ContainerProvider
|
|
||||||
import com.intellij.codeInsight.NullableNotNullManager
|
|
||||||
import com.intellij.codeInsight.NullableNotNullManagerImpl
|
|
||||||
import com.intellij.codeInsight.runner.JavaMainMethodProvider
|
|
||||||
import com.intellij.core.CoreApplicationEnvironment
|
|
||||||
import com.intellij.core.JavaCoreApplicationEnvironment
|
|
||||||
import com.intellij.core.JavaCoreProjectEnvironment
|
|
||||||
import com.intellij.lang.MetaLanguage
|
|
||||||
import com.intellij.lang.jvm.facade.JvmElementProvider
|
|
||||||
import com.intellij.openapi.extensions.Extensions
|
|
||||||
import com.intellij.openapi.extensions.ExtensionsArea
|
|
||||||
import com.intellij.openapi.util.Disposer
|
|
||||||
import com.intellij.openapi.util.io.FileUtil
|
|
||||||
import com.intellij.psi.*
|
|
||||||
import com.intellij.psi.augment.PsiAugmentProvider
|
|
||||||
import com.intellij.psi.augment.TypeAnnotationModifier
|
|
||||||
import com.intellij.psi.compiled.ClassFileDecompilers
|
|
||||||
import com.intellij.psi.impl.JavaClassSupersImpl
|
|
||||||
import com.intellij.psi.impl.PsiTreeChangePreprocessor
|
|
||||||
import com.intellij.psi.meta.MetaDataContributor
|
|
||||||
import com.intellij.psi.util.JavaClassSupers
|
|
||||||
import junit.framework.TestCase
|
|
||||||
import org.jetbrains.kotlin.utils.PathUtil
|
|
||||||
import java.io.File
|
|
||||||
import java.net.URLClassLoader
|
|
||||||
|
|
||||||
abstract class AbstractJavaToKotlinConverterForWebDemoTest : TestCase() {
|
|
||||||
val DISPOSABLE = Disposer.newDisposable()
|
|
||||||
|
|
||||||
fun doTest(javaPath: String) {
|
|
||||||
try {
|
|
||||||
val fileContents = FileUtil.loadFile(File(javaPath), true)
|
|
||||||
val javaCoreEnvironment: JavaCoreProjectEnvironment = setUpJavaCoreEnvironment()
|
|
||||||
translateToKotlin(fileContents, javaCoreEnvironment.project)
|
|
||||||
}
|
|
||||||
finally {
|
|
||||||
Disposer.dispose(DISPOSABLE)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fun setUpJavaCoreEnvironment(): JavaCoreProjectEnvironment {
|
|
||||||
// FIXME: There is no `Extensions.cleanRootArea` in 193 platform
|
|
||||||
// Extensions.cleanRootArea(DISPOSABLE)
|
|
||||||
val area = Extensions.getRootArea()
|
|
||||||
|
|
||||||
registerExtensionPoints(area)
|
|
||||||
|
|
||||||
val applicationEnvironment = JavaCoreApplicationEnvironment(DISPOSABLE)
|
|
||||||
val javaCoreEnvironment = object : JavaCoreProjectEnvironment(DISPOSABLE, applicationEnvironment) {
|
|
||||||
override fun preregisterServices() {
|
|
||||||
val projectArea = Extensions.getArea(project)
|
|
||||||
CoreApplicationEnvironment.registerExtensionPoint(projectArea, PsiTreeChangePreprocessor.EP_NAME, PsiTreeChangePreprocessor::class.java)
|
|
||||||
CoreApplicationEnvironment.registerExtensionPoint(projectArea, PsiElementFinder.EP_NAME, PsiElementFinder::class.java)
|
|
||||||
CoreApplicationEnvironment.registerExtensionPoint(projectArea, JvmElementProvider.EP_NAME, JvmElementProvider::class.java)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
javaCoreEnvironment.project.registerService(NullableNotNullManager::class.java, object : NullableNotNullManagerImpl(javaCoreEnvironment.project) {
|
|
||||||
override fun isNullable(owner: PsiModifierListOwner, checkBases: Boolean) = !isNotNull(owner, checkBases)
|
|
||||||
override fun isNotNull(owner: PsiModifierListOwner, checkBases: Boolean) = true
|
|
||||||
override fun hasHardcodedContracts(element: PsiElement): Boolean = false
|
|
||||||
override fun getNullables() = emptyList<String>()
|
|
||||||
override fun setNullables(vararg p0: String) = Unit
|
|
||||||
override fun getNotNulls() = emptyList<String>()
|
|
||||||
override fun setNotNulls(vararg p0: String) = Unit
|
|
||||||
override fun getDefaultNullable() = ""
|
|
||||||
override fun setDefaultNullable(defaultNullable: String) = Unit
|
|
||||||
override fun getDefaultNotNull() = ""
|
|
||||||
override fun setDefaultNotNull(p0: String) = Unit
|
|
||||||
override fun setInstrumentedNotNulls(p0: List<String>) = Unit
|
|
||||||
override fun getInstrumentedNotNulls() = emptyList<String>()
|
|
||||||
})
|
|
||||||
|
|
||||||
applicationEnvironment.application.registerService(JavaClassSupers::class.java, JavaClassSupersImpl::class.java)
|
|
||||||
|
|
||||||
for (root in PathUtil.getJdkClassesRootsFromCurrentJre()) {
|
|
||||||
javaCoreEnvironment.addJarToClassPath(root)
|
|
||||||
}
|
|
||||||
val annotations: File? = findAnnotations()
|
|
||||||
if (annotations != null && annotations.exists()) {
|
|
||||||
javaCoreEnvironment.addJarToClassPath(annotations)
|
|
||||||
}
|
|
||||||
return javaCoreEnvironment
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun registerExtensionPoints(area: ExtensionsArea) {
|
|
||||||
CoreApplicationEnvironment.registerExtensionPoint(area, FileContextProvider.EP_NAME, FileContextProvider::class.java)
|
|
||||||
|
|
||||||
CoreApplicationEnvironment.registerExtensionPoint(area, MetaDataContributor.EP_NAME, MetaDataContributor::class.java)
|
|
||||||
CoreApplicationEnvironment.registerExtensionPoint(area, PsiAugmentProvider.EP_NAME, PsiAugmentProvider::class.java)
|
|
||||||
CoreApplicationEnvironment.registerExtensionPoint(area, JavaMainMethodProvider.EP_NAME, JavaMainMethodProvider::class.java)
|
|
||||||
|
|
||||||
CoreApplicationEnvironment.registerExtensionPoint(area, ContainerProvider.EP_NAME, ContainerProvider::class.java)
|
|
||||||
CoreApplicationEnvironment.registerExtensionPoint(area, ClassFileDecompilers.getInstance().EP_NAME, ClassFileDecompilers.Decompiler::class.java)
|
|
||||||
|
|
||||||
CoreApplicationEnvironment.registerExtensionPoint(area, MetaLanguage.EP_NAME, MetaLanguage::class.java)
|
|
||||||
CoreApplicationEnvironment.registerExtensionPoint(area, JavaModuleSystem.EP_NAME, JavaModuleSystem::class.java)
|
|
||||||
}
|
|
||||||
|
|
||||||
fun findAnnotations(): File? {
|
|
||||||
var classLoader = JavaToKotlinTranslator::class.java.classLoader
|
|
||||||
while (classLoader != null) {
|
|
||||||
val loader = classLoader
|
|
||||||
if (loader is URLClassLoader) {
|
|
||||||
for (url in loader.urLs) {
|
|
||||||
if ("file" == url.protocol && url.file!!.endsWith("/annotations.jar")) {
|
|
||||||
return File(url.file!!)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
classLoader = classLoader.parent
|
|
||||||
}
|
|
||||||
return null
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-132
@@ -1,132 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2010-2015 JetBrains s.r.o.
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package org.jetbrains.kotlin.j2k
|
|
||||||
|
|
||||||
import com.intellij.codeInsight.ContainerProvider
|
|
||||||
import com.intellij.codeInsight.NullableNotNullManager
|
|
||||||
import com.intellij.codeInsight.NullableNotNullManagerImpl
|
|
||||||
import com.intellij.codeInsight.runner.JavaMainMethodProvider
|
|
||||||
import com.intellij.core.CoreApplicationEnvironment
|
|
||||||
import com.intellij.core.JavaCoreApplicationEnvironment
|
|
||||||
import com.intellij.core.JavaCoreProjectEnvironment
|
|
||||||
import com.intellij.lang.MetaLanguage
|
|
||||||
import com.intellij.lang.jvm.facade.JvmElementProvider
|
|
||||||
import com.intellij.openapi.extensions.Extensions
|
|
||||||
import com.intellij.openapi.extensions.ExtensionsArea
|
|
||||||
import com.intellij.openapi.util.Disposer
|
|
||||||
import com.intellij.openapi.util.io.FileUtil
|
|
||||||
import com.intellij.psi.*
|
|
||||||
import com.intellij.psi.augment.PsiAugmentProvider
|
|
||||||
import com.intellij.psi.augment.TypeAnnotationModifier
|
|
||||||
import com.intellij.psi.compiled.ClassFileDecompilers
|
|
||||||
import com.intellij.psi.impl.JavaClassSupersImpl
|
|
||||||
import com.intellij.psi.impl.PsiTreeChangePreprocessor
|
|
||||||
import com.intellij.psi.meta.MetaDataContributor
|
|
||||||
import com.intellij.psi.util.JavaClassSupers
|
|
||||||
import junit.framework.TestCase
|
|
||||||
import org.jetbrains.kotlin.utils.PathUtil
|
|
||||||
import java.io.File
|
|
||||||
import java.net.URLClassLoader
|
|
||||||
|
|
||||||
abstract class AbstractJavaToKotlinConverterForWebDemoTest : TestCase() {
|
|
||||||
val DISPOSABLE = Disposer.newDisposable()
|
|
||||||
|
|
||||||
fun doTest(javaPath: String) {
|
|
||||||
try {
|
|
||||||
val fileContents = FileUtil.loadFile(File(javaPath), true)
|
|
||||||
val javaCoreEnvironment: JavaCoreProjectEnvironment = setUpJavaCoreEnvironment()
|
|
||||||
translateToKotlin(fileContents, javaCoreEnvironment.project)
|
|
||||||
}
|
|
||||||
finally {
|
|
||||||
Disposer.dispose(DISPOSABLE)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fun setUpJavaCoreEnvironment(): JavaCoreProjectEnvironment {
|
|
||||||
// FIXME: There is no `Extensions.cleanRootArea` in 193 platform
|
|
||||||
// Extensions.cleanRootArea(DISPOSABLE)
|
|
||||||
val area = Extensions.getRootArea()
|
|
||||||
|
|
||||||
registerExtensionPoints(area)
|
|
||||||
|
|
||||||
val applicationEnvironment = JavaCoreApplicationEnvironment(DISPOSABLE)
|
|
||||||
val javaCoreEnvironment = object : JavaCoreProjectEnvironment(DISPOSABLE, applicationEnvironment) {
|
|
||||||
override fun preregisterServices() {
|
|
||||||
val projectArea = Extensions.getArea(project)
|
|
||||||
CoreApplicationEnvironment.registerExtensionPoint(projectArea, PsiTreeChangePreprocessor.EP_NAME, PsiTreeChangePreprocessor::class.java)
|
|
||||||
CoreApplicationEnvironment.registerExtensionPoint(projectArea, PsiElementFinder.EP_NAME, PsiElementFinder::class.java)
|
|
||||||
CoreApplicationEnvironment.registerExtensionPoint(projectArea, JvmElementProvider.EP_NAME, JvmElementProvider::class.java)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
javaCoreEnvironment.project.registerService(NullableNotNullManager::class.java, object : NullableNotNullManagerImpl(javaCoreEnvironment.project) {
|
|
||||||
override fun isNullable(owner: PsiModifierListOwner, checkBases: Boolean) = !isNotNull(owner, checkBases)
|
|
||||||
override fun isNotNull(owner: PsiModifierListOwner, checkBases: Boolean) = true
|
|
||||||
override fun hasHardcodedContracts(element: PsiElement): Boolean = false
|
|
||||||
override fun getNullables() = emptyList<String>()
|
|
||||||
override fun setNullables(vararg p0: String) = Unit
|
|
||||||
override fun getNotNulls() = emptyList<String>()
|
|
||||||
override fun setNotNulls(vararg p0: String) = Unit
|
|
||||||
override fun getDefaultNullable() = ""
|
|
||||||
override fun setDefaultNullable(defaultNullable: String) = Unit
|
|
||||||
override fun getDefaultNotNull() = ""
|
|
||||||
override fun setDefaultNotNull(p0: String) = Unit
|
|
||||||
override fun setInstrumentedNotNulls(p0: List<String>) = Unit
|
|
||||||
override fun getInstrumentedNotNulls() = emptyList<String>()
|
|
||||||
})
|
|
||||||
|
|
||||||
applicationEnvironment.application.registerService(JavaClassSupers::class.java, JavaClassSupersImpl::class.java)
|
|
||||||
|
|
||||||
for (root in PathUtil.getJdkClassesRootsFromCurrentJre()) {
|
|
||||||
javaCoreEnvironment.addJarToClassPath(root)
|
|
||||||
}
|
|
||||||
val annotations: File? = findAnnotations()
|
|
||||||
if (annotations != null && annotations.exists()) {
|
|
||||||
javaCoreEnvironment.addJarToClassPath(annotations)
|
|
||||||
}
|
|
||||||
return javaCoreEnvironment
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun registerExtensionPoints(area: ExtensionsArea) {
|
|
||||||
CoreApplicationEnvironment.registerExtensionPoint(area, FileContextProvider.EP_NAME, FileContextProvider::class.java)
|
|
||||||
|
|
||||||
CoreApplicationEnvironment.registerExtensionPoint(area, MetaDataContributor.EP_NAME, MetaDataContributor::class.java)
|
|
||||||
CoreApplicationEnvironment.registerExtensionPoint(area, PsiAugmentProvider.EP_NAME, PsiAugmentProvider::class.java)
|
|
||||||
CoreApplicationEnvironment.registerExtensionPoint(area, JavaMainMethodProvider.EP_NAME, JavaMainMethodProvider::class.java)
|
|
||||||
|
|
||||||
CoreApplicationEnvironment.registerExtensionPoint(area, ContainerProvider.EP_NAME, ContainerProvider::class.java)
|
|
||||||
|
|
||||||
CoreApplicationEnvironment.registerExtensionPoint(area, MetaLanguage.EP_NAME, MetaLanguage::class.java)
|
|
||||||
CoreApplicationEnvironment.registerExtensionPoint(area, JavaModuleSystem.EP_NAME, JavaModuleSystem::class.java)
|
|
||||||
}
|
|
||||||
|
|
||||||
fun findAnnotations(): File? {
|
|
||||||
var classLoader = JavaToKotlinTranslator::class.java.classLoader
|
|
||||||
while (classLoader != null) {
|
|
||||||
val loader = classLoader
|
|
||||||
if (loader is URLClassLoader) {
|
|
||||||
for (url in loader.urLs) {
|
|
||||||
if ("file" == url.protocol && url.file!!.endsWith("/annotations.jar")) {
|
|
||||||
return File(url.file!!)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
classLoader = classLoader.parent
|
|
||||||
}
|
|
||||||
return null
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,17 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2010-2015 JetBrains s.r.o.
|
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||||
*
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.jetbrains.kotlin.j2k
|
package org.jetbrains.kotlin.j2k
|
||||||
|
|||||||
-4761
File diff suppressed because it is too large
Load Diff
-76
@@ -1,76 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
|
||||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package org.jetbrains.kotlin.j2k;
|
|
||||||
|
|
||||||
import com.intellij.testFramework.TestDataPath;
|
|
||||||
import org.jetbrains.kotlin.test.JUnit3RunnerWithInners;
|
|
||||||
import org.jetbrains.kotlin.test.KotlinTestUtils;
|
|
||||||
import org.jetbrains.kotlin.test.util.KtTestUtil;
|
|
||||||
import org.jetbrains.kotlin.test.TestMetadata;
|
|
||||||
import org.junit.runner.RunWith;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.util.regex.Pattern;
|
|
||||||
|
|
||||||
/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.TestsPackage}. DO NOT MODIFY MANUALLY */
|
|
||||||
@SuppressWarnings("all")
|
|
||||||
@TestMetadata("j2k/testData/multiFile")
|
|
||||||
@TestDataPath("$PROJECT_ROOT")
|
|
||||||
@RunWith(JUnit3RunnerWithInners.class)
|
|
||||||
public class JavaToKotlinConverterMultiFileTestGenerated extends AbstractJavaToKotlinConverterMultiFileTest {
|
|
||||||
private void runTest(String testDataFilePath) throws Exception {
|
|
||||||
KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void testAllFilesPresentInMultiFile() throws Exception {
|
|
||||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("j2k/testData/multiFile"), Pattern.compile("^([^\\.]+)$"), null, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
@TestMetadata("AnnotationWithArrayParameter")
|
|
||||||
public void testAnnotationWithArrayParameter() throws Exception {
|
|
||||||
runTest("j2k/testData/multiFile/AnnotationWithArrayParameter/");
|
|
||||||
}
|
|
||||||
|
|
||||||
@TestMetadata("FieldToProperty")
|
|
||||||
public void testFieldToProperty() throws Exception {
|
|
||||||
runTest("j2k/testData/multiFile/FieldToProperty/");
|
|
||||||
}
|
|
||||||
|
|
||||||
@TestMetadata("FunctionalInterfaceAcceptor")
|
|
||||||
public void testFunctionalInterfaceAcceptor() throws Exception {
|
|
||||||
runTest("j2k/testData/multiFile/FunctionalInterfaceAcceptor/");
|
|
||||||
}
|
|
||||||
|
|
||||||
@TestMetadata("GetterAndSetterUsages")
|
|
||||||
public void testGetterAndSetterUsages() throws Exception {
|
|
||||||
runTest("j2k/testData/multiFile/GetterAndSetterUsages/");
|
|
||||||
}
|
|
||||||
|
|
||||||
@TestMetadata("KT11952")
|
|
||||||
public void testKT11952() throws Exception {
|
|
||||||
runTest("j2k/testData/multiFile/KT11952/");
|
|
||||||
}
|
|
||||||
|
|
||||||
@TestMetadata("NullabilityByDFa")
|
|
||||||
public void testNullabilityByDFa() throws Exception {
|
|
||||||
runTest("j2k/testData/multiFile/NullabilityByDFa/");
|
|
||||||
}
|
|
||||||
|
|
||||||
@TestMetadata("ProtectedVisibility")
|
|
||||||
public void testProtectedVisibility() throws Exception {
|
|
||||||
runTest("j2k/testData/multiFile/ProtectedVisibility/");
|
|
||||||
}
|
|
||||||
|
|
||||||
@TestMetadata("ToCompanionObject")
|
|
||||||
public void testToCompanionObject() throws Exception {
|
|
||||||
runTest("j2k/testData/multiFile/ToCompanionObject/");
|
|
||||||
}
|
|
||||||
|
|
||||||
@TestMetadata("ToObject")
|
|
||||||
public void testToObject() throws Exception {
|
|
||||||
runTest("j2k/testData/multiFile/ToObject/");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-4761
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user