Fix name clash in JS implementation of multiplatform extension property
See KT-18756
This commit is contained in:
@@ -0,0 +1,2 @@
|
|||||||
|
header class ClassWithImplByExtension
|
||||||
|
header val ClassWithImplByExtension.extensionVal: Int
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
impl class ClassWithImplByExtension
|
||||||
|
impl val ClassWithImplByExtension.extensionVal: Int
|
||||||
|
get() = 0
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
-- Common --
|
||||||
|
Exit code: OK
|
||||||
|
Output:
|
||||||
|
|
||||||
|
-- JS --
|
||||||
|
Exit code: OK
|
||||||
|
Output:
|
||||||
+6
@@ -96,6 +96,12 @@ public class MultiPlatformIntegrationTestGenerated extends AbstractMultiPlatform
|
|||||||
doTest(fileName);
|
doTest(fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("jsNameClash")
|
||||||
|
public void testJsNameClash() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/multiplatform/jsNameClash/");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("missingOverload")
|
@TestMetadata("missingOverload")
|
||||||
public void testMissingOverload() throws Exception {
|
public void testMissingOverload() throws Exception {
|
||||||
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/multiplatform/missingOverload/");
|
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/multiplatform/missingOverload/");
|
||||||
|
|||||||
+2
-2
@@ -110,10 +110,10 @@ class JsNameClashChecker : SimpleDeclarationChecker {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private val DeclarationDescriptor.isActual: Boolean
|
private val DeclarationDescriptor.isActual: Boolean
|
||||||
get() = this is MemberDescriptor && this.isActual
|
get() = this is MemberDescriptor && this.isActual || this is PropertyAccessorDescriptor && this.correspondingProperty.isActual
|
||||||
|
|
||||||
private val DeclarationDescriptor.isExpect: Boolean
|
private val DeclarationDescriptor.isExpect: Boolean
|
||||||
get() = this is MemberDescriptor && this.isExpect
|
get() = this is MemberDescriptor && this.isExpect || this is PropertyAccessorDescriptor && this.correspondingProperty.isExpect
|
||||||
|
|
||||||
private fun isFakeOverridingNative(descriptor: CallableMemberDescriptor): Boolean {
|
private fun isFakeOverridingNative(descriptor: CallableMemberDescriptor): Boolean {
|
||||||
return descriptor.kind == CallableMemberDescriptor.Kind.FAKE_OVERRIDE &&
|
return descriptor.kind == CallableMemberDescriptor.Kind.FAKE_OVERRIDE &&
|
||||||
|
|||||||
Reference in New Issue
Block a user