Improve support for Objective-C methods clashing with methods of Any (#2914)
This commit is contained in:
committed by
GitHub
parent
270a53ac8b
commit
cd4e0af034
@@ -24,6 +24,7 @@ fun run() {
|
||||
testVarargs()
|
||||
testOverrideInit()
|
||||
testMultipleInheritanceClash()
|
||||
testClashingWithAny()
|
||||
|
||||
assertEquals(2, ForwardDeclaredEnum.TWO.value)
|
||||
|
||||
@@ -334,6 +335,30 @@ fun testMultipleInheritanceClash() {
|
||||
assertEquals(clash2, clash2.delegate())
|
||||
}
|
||||
|
||||
fun testClashingWithAny() {
|
||||
assertEquals("description", TestClashingWithAny1().toString())
|
||||
assertEquals("toString", TestClashingWithAny1().toString_())
|
||||
assertEquals("toString_", TestClashingWithAny1().toString__())
|
||||
assertEquals(1, TestClashingWithAny1().hashCode())
|
||||
assertEquals(31, TestClashingWithAny1().hashCode_())
|
||||
assertFalse(TestClashingWithAny1().equals(TestClashingWithAny1()))
|
||||
assertTrue(TestClashingWithAny1().equals_(TestClashingWithAny1()))
|
||||
|
||||
assertEquals("description", TestClashingWithAny2().toString())
|
||||
assertEquals(Unit, TestClashingWithAny2().toString_())
|
||||
assertEquals(2, TestClashingWithAny2().hashCode())
|
||||
assertEquals(Unit, TestClashingWithAny2().hashCode_())
|
||||
assertFalse(TestClashingWithAny2().equals(TestClashingWithAny2()))
|
||||
assertEquals(Unit, TestClashingWithAny2().equals_(42))
|
||||
|
||||
assertEquals("description", TestClashingWithAny3().toString())
|
||||
assertEquals("toString:11", TestClashingWithAny3().toString(11))
|
||||
assertEquals(3, TestClashingWithAny3().hashCode())
|
||||
assertEquals(4, TestClashingWithAny3().hashCode(3))
|
||||
assertFalse(TestClashingWithAny3().equals(TestClashingWithAny3()))
|
||||
assertTrue(TestClashingWithAny3().equals())
|
||||
}
|
||||
|
||||
fun nsArrayOf(vararg elements: Any): NSArray = NSMutableArray().apply {
|
||||
elements.forEach {
|
||||
this.addObject(it as ObjCObject)
|
||||
|
||||
Reference in New Issue
Block a user