[FE 1.0] Report warning about conflict in inherited members from deserialized dependencies
^KT-51194 ^KT-51223 Fixed
This commit is contained in:
committed by
teamcity
parent
c6994768d7
commit
0eb526a8b4
+28
@@ -15340,6 +15340,34 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nested
|
||||||
|
@TestMetadata("compiler/testData/codegen/box/differentDependencyVersion")
|
||||||
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
public class DifferentDependencyVersion {
|
||||||
|
@Test
|
||||||
|
public void testAllFilesPresentInDifferentDependencyVersion() throws Exception {
|
||||||
|
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/differentDependencyVersion"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("kt51194_java.kt")
|
||||||
|
public void testKt51194_java() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/differentDependencyVersion/kt51194_java.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("kt51194_javaAndKotlin.kt")
|
||||||
|
public void testKt51194_javaAndKotlin() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/differentDependencyVersion/kt51194_javaAndKotlin.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("kt51194_kotlin.kt")
|
||||||
|
public void testKt51194_kotlin() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/differentDependencyVersion/kt51194_kotlin.kt");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Nested
|
@Nested
|
||||||
@TestMetadata("compiler/testData/codegen/box/directInvokeOptimization")
|
@TestMetadata("compiler/testData/codegen/box/directInvokeOptimization")
|
||||||
@TestDataPath("$PROJECT_ROOT")
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
|||||||
@@ -597,6 +597,8 @@ public interface Errors {
|
|||||||
|
|
||||||
DiagnosticFactory2<KtClassOrObject, ClassDescriptor, Collection<CallableMemberDescriptor>> CONFLICTING_INHERITED_MEMBERS =
|
DiagnosticFactory2<KtClassOrObject, ClassDescriptor, Collection<CallableMemberDescriptor>> CONFLICTING_INHERITED_MEMBERS =
|
||||||
DiagnosticFactory2.create(ERROR, DECLARATION_NAME);
|
DiagnosticFactory2.create(ERROR, DECLARATION_NAME);
|
||||||
|
DiagnosticFactory2<KtClassOrObject, ClassDescriptor, Collection<CallableMemberDescriptor>> CONFLICTING_INHERITED_MEMBERS_WARNING =
|
||||||
|
DiagnosticFactory2.create(WARNING, DECLARATION_NAME);
|
||||||
DiagnosticFactory2<KtClassOrObject, KtClassOrObject, CallableMemberDescriptor> ABSTRACT_MEMBER_NOT_IMPLEMENTED =
|
DiagnosticFactory2<KtClassOrObject, KtClassOrObject, CallableMemberDescriptor> ABSTRACT_MEMBER_NOT_IMPLEMENTED =
|
||||||
DiagnosticFactory2.create(ERROR, DECLARATION_NAME);
|
DiagnosticFactory2.create(ERROR, DECLARATION_NAME);
|
||||||
DiagnosticFactory2<KtClassOrObject, KtClassOrObject, CallableMemberDescriptor> ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED =
|
DiagnosticFactory2<KtClassOrObject, KtClassOrObject, CallableMemberDescriptor> ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED =
|
||||||
|
|||||||
+1
@@ -887,6 +887,7 @@ public class DefaultErrorMessages {
|
|||||||
FQ_NAMES_IN_TYPES);
|
FQ_NAMES_IN_TYPES);
|
||||||
|
|
||||||
MAP.put(CONFLICTING_INHERITED_MEMBERS, "{0} inherits conflicting members: {1}", NAME, CommonRenderers.commaSeparated(FQ_NAMES_IN_TYPES));
|
MAP.put(CONFLICTING_INHERITED_MEMBERS, "{0} inherits conflicting members: {1}", NAME, CommonRenderers.commaSeparated(FQ_NAMES_IN_TYPES));
|
||||||
|
MAP.put(CONFLICTING_INHERITED_MEMBERS_WARNING, "{0} inherits conflicting members: {1}; This warning will became error in future releases. See https://youtrack.jetbrains.com/issue/KT-51194", NAME, CommonRenderers.commaSeparated(FQ_NAMES_IN_TYPES));
|
||||||
MAP.put(ABSTRACT_MEMBER_NOT_IMPLEMENTED, "{0} is not abstract and does not implement abstract member {1}", RENDER_CLASS_OR_OBJECT,
|
MAP.put(ABSTRACT_MEMBER_NOT_IMPLEMENTED, "{0} is not abstract and does not implement abstract member {1}", RENDER_CLASS_OR_OBJECT,
|
||||||
FQ_NAMES_IN_TYPES);
|
FQ_NAMES_IN_TYPES);
|
||||||
MAP.put(ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED, "{0} is not abstract and does not implement abstract base class member {1}",
|
MAP.put(ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED, "{0} is not abstract and does not implement abstract base class member {1}",
|
||||||
|
|||||||
+18
@@ -21,6 +21,7 @@ import org.jetbrains.kotlin.descriptors.*
|
|||||||
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor.Kind.DELEGATION
|
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor.Kind.DELEGATION
|
||||||
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor.Kind.FAKE_OVERRIDE
|
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor.Kind.FAKE_OVERRIDE
|
||||||
import org.jetbrains.kotlin.descriptors.impl.ClassConstructorDescriptorImpl
|
import org.jetbrains.kotlin.descriptors.impl.ClassConstructorDescriptorImpl
|
||||||
|
import org.jetbrains.kotlin.descriptors.impl.FunctionDescriptorImpl
|
||||||
import org.jetbrains.kotlin.diagnostics.DiagnosticSink
|
import org.jetbrains.kotlin.diagnostics.DiagnosticSink
|
||||||
import org.jetbrains.kotlin.diagnostics.Errors
|
import org.jetbrains.kotlin.diagnostics.Errors
|
||||||
import org.jetbrains.kotlin.diagnostics.reportOnDeclarationAs
|
import org.jetbrains.kotlin.diagnostics.reportOnDeclarationAs
|
||||||
@@ -254,6 +255,23 @@ open class LazyClassMemberScope(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
for (descriptor in result) {
|
||||||
|
if (descriptor !is FunctionDescriptorImpl) continue
|
||||||
|
for (overriddenFunction in descriptor.overriddenDescriptors) {
|
||||||
|
if (overriddenFunction !is FunctionDescriptorImpl) continue
|
||||||
|
val conflictedDescriptor = overriddenFunction.getUserData(DeserializedDeclarationsFromSupertypeConflictDataKey) ?: continue
|
||||||
|
reportOnDeclarationAs<KtClassOrObject>(
|
||||||
|
trace,
|
||||||
|
thisDescriptor
|
||||||
|
) { ktClassOrObject ->
|
||||||
|
Errors.CONFLICTING_INHERITED_MEMBERS_WARNING.on(
|
||||||
|
ktClassOrObject,
|
||||||
|
thisDescriptor,
|
||||||
|
listOf(overriddenFunction, conflictedDescriptor)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
OverrideResolver.resolveUnknownVisibilities(result, trace)
|
OverrideResolver.resolveUnknownVisibilities(result, trace)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,29 @@
|
|||||||
|
// TARGET_BACKEND: JVM
|
||||||
|
// ISSUE: KT-51194
|
||||||
|
|
||||||
|
// MODULE: coreLib_1
|
||||||
|
// FILE: Base.java
|
||||||
|
public interface Base {
|
||||||
|
Object foo();
|
||||||
|
}
|
||||||
|
|
||||||
|
// MODULE: lib(coreLib_1)
|
||||||
|
// FILE: Derived.java
|
||||||
|
public abstract class Derived implements Base {
|
||||||
|
@Override
|
||||||
|
public Object foo() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// MODULE: coreLib_2
|
||||||
|
// FILE: Base.java
|
||||||
|
public interface Base {
|
||||||
|
<T> T foo();
|
||||||
|
}
|
||||||
|
|
||||||
|
// MODULE: main(coreLib_2, lib)
|
||||||
|
// FILE: main.kt
|
||||||
|
class Implementation : Derived()
|
||||||
|
|
||||||
|
fun box() = "OK"
|
||||||
+30
@@ -0,0 +1,30 @@
|
|||||||
|
// TARGET_BACKEND: JVM
|
||||||
|
// ISSUE: KT-51194
|
||||||
|
// DIAGNOSTICS: +CONFLICTING_INHERITED_MEMBERS_WARNING
|
||||||
|
// IGNORE_BACKEND_FIR: JVM_IR
|
||||||
|
// FIR status: FIR correctly reports CONFLICTING_INHERITED_MEMBERS, so this test should not pass design
|
||||||
|
// For details see related issue
|
||||||
|
|
||||||
|
// MODULE: coreLib_1
|
||||||
|
// FILE: Base.java
|
||||||
|
public interface Base {
|
||||||
|
Object foo();
|
||||||
|
}
|
||||||
|
|
||||||
|
// MODULE: lib(coreLib_1)
|
||||||
|
// FILE: Derived.kt
|
||||||
|
abstract class Derived : Base {
|
||||||
|
override fun foo(): Any? = null
|
||||||
|
}
|
||||||
|
|
||||||
|
// MODULE: coreLib_2
|
||||||
|
// FILE: Base.java
|
||||||
|
public interface Base {
|
||||||
|
<T> T foo();
|
||||||
|
}
|
||||||
|
|
||||||
|
// MODULE: main(coreLib_2, lib)
|
||||||
|
// FILE: main.kt
|
||||||
|
<!CONFLICTING_INHERITED_MEMBERS_WARNING!>class Implementation<!> : Derived()
|
||||||
|
|
||||||
|
fun box() = "OK"
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
// TARGET_BACKEND: JVM
|
||||||
|
// ISSUE: KT-51194
|
||||||
|
// DIAGNOSTICS: +CONFLICTING_INHERITED_MEMBERS_WARNING
|
||||||
|
// IGNORE_BACKEND_FIR: JVM_IR
|
||||||
|
// FIR status: FIR correctly reports CONFLICTING_INHERITED_MEMBERS, so this test should not pass design
|
||||||
|
// For details see related issue
|
||||||
|
|
||||||
|
// MODULE: coreLib_1
|
||||||
|
// FILE: Base.kt
|
||||||
|
interface Base {
|
||||||
|
fun foo(): Any?
|
||||||
|
}
|
||||||
|
|
||||||
|
// MODULE: lib(coreLib_1)
|
||||||
|
// FILE: Derived.kt
|
||||||
|
abstract class Derived : Base {
|
||||||
|
override fun foo(): Any? = null
|
||||||
|
}
|
||||||
|
|
||||||
|
// MODULE: coreLib_2
|
||||||
|
// FILE: Base.kt
|
||||||
|
interface Base {
|
||||||
|
fun <T> foo(): T
|
||||||
|
}
|
||||||
|
|
||||||
|
// MODULE: main(coreLib_2, lib)
|
||||||
|
// FILE: main.kt
|
||||||
|
<!CONFLICTING_INHERITED_MEMBERS_WARNING!>class Implementation<!> : Derived()
|
||||||
|
|
||||||
|
fun box() = "OK"
|
||||||
+28
@@ -15220,6 +15220,34 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nested
|
||||||
|
@TestMetadata("compiler/testData/codegen/box/differentDependencyVersion")
|
||||||
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
public class DifferentDependencyVersion {
|
||||||
|
@Test
|
||||||
|
public void testAllFilesPresentInDifferentDependencyVersion() throws Exception {
|
||||||
|
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/differentDependencyVersion"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("kt51194_java.kt")
|
||||||
|
public void testKt51194_java() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/differentDependencyVersion/kt51194_java.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("kt51194_javaAndKotlin.kt")
|
||||||
|
public void testKt51194_javaAndKotlin() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/differentDependencyVersion/kt51194_javaAndKotlin.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("kt51194_kotlin.kt")
|
||||||
|
public void testKt51194_kotlin() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/differentDependencyVersion/kt51194_kotlin.kt");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Nested
|
@Nested
|
||||||
@TestMetadata("compiler/testData/codegen/box/directInvokeOptimization")
|
@TestMetadata("compiler/testData/codegen/box/directInvokeOptimization")
|
||||||
@TestDataPath("$PROJECT_ROOT")
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
|||||||
+28
@@ -15340,6 +15340,34 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nested
|
||||||
|
@TestMetadata("compiler/testData/codegen/box/differentDependencyVersion")
|
||||||
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
public class DifferentDependencyVersion {
|
||||||
|
@Test
|
||||||
|
public void testAllFilesPresentInDifferentDependencyVersion() throws Exception {
|
||||||
|
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/differentDependencyVersion"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("kt51194_java.kt")
|
||||||
|
public void testKt51194_java() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/differentDependencyVersion/kt51194_java.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("kt51194_javaAndKotlin.kt")
|
||||||
|
public void testKt51194_javaAndKotlin() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/differentDependencyVersion/kt51194_javaAndKotlin.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("kt51194_kotlin.kt")
|
||||||
|
public void testKt51194_kotlin() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/differentDependencyVersion/kt51194_kotlin.kt");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Nested
|
@Nested
|
||||||
@TestMetadata("compiler/testData/codegen/box/directInvokeOptimization")
|
@TestMetadata("compiler/testData/codegen/box/directInvokeOptimization")
|
||||||
@TestDataPath("$PROJECT_ROOT")
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
|||||||
+28
@@ -12495,6 +12495,34 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("compiler/testData/codegen/box/differentDependencyVersion")
|
||||||
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
@RunWith(JUnit3RunnerWithInners.class)
|
||||||
|
public static class DifferentDependencyVersion extends AbstractLightAnalysisModeTest {
|
||||||
|
private void runTest(String testDataFilePath) throws Exception {
|
||||||
|
KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM, testDataFilePath);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testAllFilesPresentInDifferentDependencyVersion() throws Exception {
|
||||||
|
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/differentDependencyVersion"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("kt51194_java.kt")
|
||||||
|
public void testKt51194_java() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/differentDependencyVersion/kt51194_java.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("kt51194_javaAndKotlin.kt")
|
||||||
|
public void testKt51194_javaAndKotlin() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/differentDependencyVersion/kt51194_javaAndKotlin.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("kt51194_kotlin.kt")
|
||||||
|
public void testKt51194_kotlin() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/differentDependencyVersion/kt51194_kotlin.kt");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("compiler/testData/codegen/box/directInvokeOptimization")
|
@TestMetadata("compiler/testData/codegen/box/directInvokeOptimization")
|
||||||
@TestDataPath("$PROJECT_ROOT")
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
@RunWith(JUnit3RunnerWithInners.class)
|
@RunWith(JUnit3RunnerWithInners.class)
|
||||||
|
|||||||
@@ -86,3 +86,5 @@ fun DeclarationDescriptor.containingPackage(): FqName? {
|
|||||||
require(container is PackageFragmentDescriptor?)
|
require(container is PackageFragmentDescriptor?)
|
||||||
return container?.fqName
|
return container?.fqName
|
||||||
}
|
}
|
||||||
|
|
||||||
|
object DeserializedDeclarationsFromSupertypeConflictDataKey : CallableDescriptor.UserDataKey<CallableMemberDescriptor>
|
||||||
|
|||||||
+4
-1
@@ -9,6 +9,7 @@ import org.jetbrains.kotlin.descriptors.*
|
|||||||
import org.jetbrains.kotlin.descriptors.annotations.Annotations
|
import org.jetbrains.kotlin.descriptors.annotations.Annotations
|
||||||
import org.jetbrains.kotlin.descriptors.impl.AbstractClassDescriptor
|
import org.jetbrains.kotlin.descriptors.impl.AbstractClassDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.impl.EnumEntrySyntheticClassDescriptor
|
import org.jetbrains.kotlin.descriptors.impl.EnumEntrySyntheticClassDescriptor
|
||||||
|
import org.jetbrains.kotlin.descriptors.impl.FunctionDescriptorImpl
|
||||||
import org.jetbrains.kotlin.descriptors.impl.ReceiverParameterDescriptorImpl
|
import org.jetbrains.kotlin.descriptors.impl.ReceiverParameterDescriptorImpl
|
||||||
import org.jetbrains.kotlin.incremental.components.LookupLocation
|
import org.jetbrains.kotlin.incremental.components.LookupLocation
|
||||||
import org.jetbrains.kotlin.incremental.components.NoLookupLocation
|
import org.jetbrains.kotlin.incremental.components.NoLookupLocation
|
||||||
@@ -327,7 +328,9 @@ class DeserializedClassDescriptor(
|
|||||||
fromSuper: CallableMemberDescriptor,
|
fromSuper: CallableMemberDescriptor,
|
||||||
fromCurrent: CallableMemberDescriptor
|
fromCurrent: CallableMemberDescriptor
|
||||||
) {
|
) {
|
||||||
// TODO report conflicts
|
if (fromCurrent is FunctionDescriptorImpl) {
|
||||||
|
fromCurrent.putInUserDataMap(DeserializedDeclarationsFromSupertypeConflictDataKey, fromSuper)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
+10
@@ -11766,6 +11766,16 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nested
|
||||||
|
@TestMetadata("compiler/testData/codegen/box/differentDependencyVersion")
|
||||||
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
public class DifferentDependencyVersion {
|
||||||
|
@Test
|
||||||
|
public void testAllFilesPresentInDifferentDependencyVersion() throws Exception {
|
||||||
|
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/differentDependencyVersion"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Nested
|
@Nested
|
||||||
@TestMetadata("compiler/testData/codegen/box/directInvokeOptimization")
|
@TestMetadata("compiler/testData/codegen/box/directInvokeOptimization")
|
||||||
@TestDataPath("$PROJECT_ROOT")
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
|||||||
+10
@@ -11808,6 +11808,16 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nested
|
||||||
|
@TestMetadata("compiler/testData/codegen/box/differentDependencyVersion")
|
||||||
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
public class DifferentDependencyVersion {
|
||||||
|
@Test
|
||||||
|
public void testAllFilesPresentInDifferentDependencyVersion() throws Exception {
|
||||||
|
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/differentDependencyVersion"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Nested
|
@Nested
|
||||||
@TestMetadata("compiler/testData/codegen/box/directInvokeOptimization")
|
@TestMetadata("compiler/testData/codegen/box/directInvokeOptimization")
|
||||||
@TestDataPath("$PROJECT_ROOT")
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
|||||||
+13
@@ -9767,6 +9767,19 @@ public class IrCodegenBoxWasmTestGenerated extends AbstractIrCodegenBoxWasmTest
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("compiler/testData/codegen/box/differentDependencyVersion")
|
||||||
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
@RunWith(JUnit3RunnerWithInners.class)
|
||||||
|
public static class DifferentDependencyVersion extends AbstractIrCodegenBoxWasmTest {
|
||||||
|
private void runTest(String testDataFilePath) throws Exception {
|
||||||
|
KotlinTestUtils.runTest0(this::doTest, TargetBackend.WASM, testDataFilePath);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testAllFilesPresentInDifferentDependencyVersion() throws Exception {
|
||||||
|
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/differentDependencyVersion"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.WASM, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("compiler/testData/codegen/box/directInvokeOptimization")
|
@TestMetadata("compiler/testData/codegen/box/directInvokeOptimization")
|
||||||
@TestDataPath("$PROJECT_ROOT")
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
@RunWith(JUnit3RunnerWithInners.class)
|
@RunWith(JUnit3RunnerWithInners.class)
|
||||||
|
|||||||
Generated
+12
@@ -12740,6 +12740,18 @@ public class ExternalTestGenerated extends AbstractExternalNativeBlackBoxTest {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nested
|
||||||
|
@TestMetadata("compiler/testData/codegen/box/differentDependencyVersion")
|
||||||
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
@Tag("external")
|
||||||
|
@UseExtTestCaseGroupProvider()
|
||||||
|
public class DifferentDependencyVersion {
|
||||||
|
@Test
|
||||||
|
public void testAllFilesPresentInDifferentDependencyVersion() throws Exception {
|
||||||
|
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/differentDependencyVersion"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Nested
|
@Nested
|
||||||
@TestMetadata("compiler/testData/codegen/box/directInvokeOptimization")
|
@TestMetadata("compiler/testData/codegen/box/directInvokeOptimization")
|
||||||
@TestDataPath("$PROJECT_ROOT")
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
|||||||
Reference in New Issue
Block a user