Add correct equals/hashCode to KtSymbolBasedAbstractTypeConstructor

Previously there were no equals/hashCode implementation.
Because of that subtyping not working properly. That is because in
subtyping we have checks that type constructors are equals

Also toString was added so now it is a bit easier to debug code
involving the KtSymbolBasedAbstractTypeConstructor
This commit is contained in:
Stanislav Erokhin
2021-05-10 11:20:51 +02:00
parent dc1ce19db9
commit 335c5a03b6
17 changed files with 13 additions and 17 deletions
@@ -1,4 +1,3 @@
// IGNORE_FE10_BINDING_BY_FIR
fun foo() {
val c = Container()
c.cont<caret>ains(1)
@@ -1,4 +1,3 @@
// IGNORE_FE10_BINDING_BY_FIR
fun foo() {
val c = Container()
1 in c
@@ -1,4 +1,3 @@
// IGNORE_FE10_BINDING_BY_FIR
fun <T> doSomething(a: T) {}
fun test() {
@@ -1,4 +1,3 @@
// IGNORE_FE10_BINDING_BY_FIR
fun <T> doSomething(a: T) {}
fun test() {
@@ -1,4 +1,3 @@
// IGNORE_FE10_BINDING_BY_FIR
fun test() {
class Test()
operator fun Test.contains(a: Int) : Boolean = true
@@ -1,4 +1,3 @@
// IGNORE_FE10_BINDING_BY_FIR
fun test() {
class Test()
operator fun Test.contains(a: Int) : Boolean = true
@@ -1,4 +1,3 @@
// IGNORE_FE10_BINDING_BY_FIR
fun test() {
class Test{
operator fun contains(a: Int) : Boolean = true
@@ -1,4 +1,3 @@
// IGNORE_FE10_BINDING_BY_FIR
fun test() {
class Test{
operator fun contains(a: Int) : Boolean = true
@@ -1,4 +1,3 @@
// IGNORE_FE10_BINDING_BY_FIR
class C {
companion object {
operator fun contains(s: String) = true
@@ -1,4 +1,3 @@
// IGNORE_FE10_BINDING_BY_FIR
class C {
companion object {
operator fun contains(s: String) = true
@@ -1,4 +1,3 @@
// IGNORE_FE10_BINDING_BY_FIR
fun test() {
class Test{
operator fun contains(a: Int) : Boolean = true
@@ -1,4 +1,3 @@
// IGNORE_FE10_BINDING_BY_FIR
fun test() {
class Test{
operator fun contains(a: Int) : Boolean = true
@@ -1,4 +1,3 @@
// IGNORE_FE10_BINDING_BY_FIR
@Suppress("INAPPLICABLE_OPERATOR_MODIFIER")
public operator fun CharSequence.contains(other: CharSequence, ignoreCase: Boolean = false): Boolean = false
fun test() {
@@ -1,4 +1,3 @@
// IGNORE_FE10_BINDING_BY_FIR
@Suppress("INAPPLICABLE_OPERATOR_MODIFIER")
public operator fun CharSequence.contains(other: CharSequence, ignoreCase: Boolean = false): Boolean = false
fun test() {
@@ -1,4 +1,3 @@
// IGNORE_FE10_BINDING_BY_FIR
fun test() {
class Test{
operator fun <T> contains(a: T): Boolean = false
@@ -1,4 +1,3 @@
// IGNORE_FE10_BINDING_BY_FIR
fun test() {
class Test{
operator fun <T> contains(a: T): Boolean = false