[FIR] Implement UNRESOLVED_REFERENCE_WRONG_RECEIVER

This commit is contained in:
Ivan Kochurkin
2021-08-10 16:40:51 +03:00
committed by Space
parent 34cc7e5199
commit 84c5f58cab
129 changed files with 322 additions and 481 deletions
@@ -283,7 +283,7 @@ fun case_12(value_1: Any?, value_2: Any?) {
<!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(value_2?.<!UNRESOLVED_REFERENCE!>toByte<!>())
}
if (funWithReturnsFalse(value_1 !is Float? || value_1 == null || value_2 == null)) {
println(value_1.<!INAPPLICABLE_CANDIDATE!>dec<!>())
println(value_1.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>dec<!>())
<!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(value_2?.<!UNRESOLVED_REFERENCE!>toByte<!>())
}
if (funWithReturnsNotNull(value_1 !is String || value_2 !is Number) == null) {
@@ -299,7 +299,7 @@ fun case_12(value_1: Any?, value_2: Any?) {
// TESTCASE NUMBER: 13
fun case_13(value_1: Any?, value_2: Any?) {
if (!funWithReturnsTrueAndInvertCondition(value_1 is Float? && value_1 != null && value_2 != null)) {
println(value_1.<!INAPPLICABLE_CANDIDATE!>dec<!>())
println(value_1.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>dec<!>())
<!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(value_2?.<!UNRESOLVED_REFERENCE!>toByte<!>())
}
if (funWithReturnsFalseAndInvertCondition(value_1 is String && value_2 is Number)) {
@@ -319,7 +319,7 @@ fun case_13(value_1: Any?, value_2: Any?) {
<!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(value_2?.<!UNRESOLVED_REFERENCE!>toByte<!>())
}
if (funWithReturnsNotNull(value_1 is Float? && value_1 != null && value_2 != null) == null) {
println(value_1.<!INAPPLICABLE_CANDIDATE!>dec<!>())
println(value_1.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>dec<!>())
<!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(value_2?.<!UNRESOLVED_REFERENCE!>toByte<!>())
}
if (funWithReturnsNullAndInvertCondition(value_1 is String && value_2 is Number) != null) {
@@ -331,7 +331,7 @@ fun case_13(value_1: Any?, value_2: Any?) {
<!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(value_2?.<!UNRESOLVED_REFERENCE!>toByte<!>())
}
if (funWithReturnsNull(value_1 is Float? && value_1 != null && value_2 != null) != null) {
println(value_1.<!INAPPLICABLE_CANDIDATE!>dec<!>())
println(value_1.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>dec<!>())
<!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(value_2?.<!UNRESOLVED_REFERENCE!>toByte<!>())
}
}
@@ -343,22 +343,22 @@ class case_14_class {
fun case_14(value_1: Any?, value_2: Number?) {
val o = case_14_class()
if (!funWithReturnsTrueAndInvertCondition(value_1 is Float? && value_1 != null && value_2 != null && o.prop_1 != null)) {
println(value_1.<!INAPPLICABLE_CANDIDATE!>dec<!>())
println(value_1.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>dec<!>())
println(value_2?.toByte())
<!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(o.prop_1<!UNSAFE_CALL!>.<!>plus(3))
}
if (funWithReturnsFalse(value_1 !is Float? || value_1 == null || value_2 == null || o.prop_1 == null || this.prop_1 == null)) {
println(value_1.<!INAPPLICABLE_CANDIDATE!>dec<!>())
println(value_1.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>dec<!>())
println(value_2?.toByte())
<!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(o.prop_1<!UNSAFE_CALL!>.<!>plus(3))
}
if (funWithReturnsNotNull(value_1 !is Float? || value_1 == null || value_2 == null || o.prop_1 == null || this.prop_1 == null) == null) {
println(value_1.<!INAPPLICABLE_CANDIDATE!>dec<!>())
println(value_1.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>dec<!>())
println(value_2?.toByte())
<!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(o.prop_1<!UNSAFE_CALL!>.<!>plus(3))
}
if (funWithReturnsNull(value_1 !is Float? || value_1 == null || value_2 == null || o.prop_1 == null || this.prop_1 == null) != null) {
println(value_1.<!INAPPLICABLE_CANDIDATE!>dec<!>())
println(value_1.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>dec<!>())
println(value_2?.toByte())
<!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(o.prop_1<!UNSAFE_CALL!>.<!>plus(3))
}
@@ -412,25 +412,25 @@ class case_17_class {
fun case_17(value_1: Any?, value_2: Number?) {
val o = case_17_class()
if (contracts.case_17_1(value_1, value_2, o.prop_1, this.prop_1)) {
println(value_1.<!INAPPLICABLE_CANDIDATE!>dec<!>())
println(value_1.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>dec<!>())
println(value_2?.toByte())
<!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(o.prop_1<!UNSAFE_CALL!>.<!>plus(3))
<!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(this.prop_1<!UNSAFE_CALL!>.<!>plus(3))
}
if (contracts.case_17_2(value_1, value_2, o.prop_1, this.prop_1)) {
println(value_1.<!INAPPLICABLE_CANDIDATE!>dec<!>())
println(value_1.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>dec<!>())
println(value_2?.toByte())
<!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(o.prop_1<!UNSAFE_CALL!>.<!>plus(3))
<!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(this.prop_1<!UNSAFE_CALL!>.<!>plus(3))
}
if (contracts.case_17_3(value_1, value_2, o.prop_1, this.prop_1) == null) {
println(value_1.<!INAPPLICABLE_CANDIDATE!>dec<!>())
println(value_1.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>dec<!>())
println(value_2?.toByte())
<!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(o.prop_1<!UNSAFE_CALL!>.<!>plus(3))
<!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(this.prop_1<!UNSAFE_CALL!>.<!>plus(3))
}
if (contracts.case_17_4(value_1, value_2, o.prop_1, this.prop_1) != null) {
println(value_1.<!INAPPLICABLE_CANDIDATE!>dec<!>())
println(value_1.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>dec<!>())
println(value_2?.toByte())
<!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(o.prop_1<!UNSAFE_CALL!>.<!>plus(3))
<!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(this.prop_1<!UNSAFE_CALL!>.<!>plus(3))
@@ -26,7 +26,7 @@ fun case_3(value_1: Any?, value_2: Any?) {
// TESTCASE NUMBER: 4
fun case_4(value_1: Any?, value_2: Number?) {
funWithReturns(value_1 !is Float? || value_1 == null || value_2 == null)
println(value_1.<!INAPPLICABLE_CANDIDATE!>dec<!>())
println(value_1.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>dec<!>())
println(value_2?.toByte())
}
@@ -36,7 +36,7 @@ class case_5_class {
fun case_5(value_1: Any?, value_2: Number?) {
val o = case_5_class()
funWithReturns(value_1 !is Float? || value_1 == null || value_2 == null || o.prop_1 == null)
println(value_1.<!INAPPLICABLE_CANDIDATE!>dec<!>())
println(value_1.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>dec<!>())
println(value_2?.toByte())
<!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(o.prop_1<!UNSAFE_CALL!>.<!>plus(3))
}
@@ -105,19 +105,19 @@ fun case_8(value_1: Any?, value_2: Any?) {
// TESTCASE NUMBER: 9
fun case_9(value_1: Any?, value_2: Number?) {
if (funWithReturnsTrue(value_1 !is Float? || value_1 == null || value_2 == null)) {
println(value_1.<!INAPPLICABLE_CANDIDATE!>dec<!>())
println(value_1.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>dec<!>())
println(value_2?.toByte())
}
if (!funWithReturnsFalse(value_1 !is Float? || value_1 == null || value_2 == null)) {
println(value_1.<!INAPPLICABLE_CANDIDATE!>dec<!>())
println(value_1.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>dec<!>())
println(value_2?.toByte())
}
if (funWithReturnsNotNull(value_1 is Float? && value_1 != null && value_2 != null) == null) {
println(value_1.<!INAPPLICABLE_CANDIDATE!>dec<!>())
println(value_1.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>dec<!>())
println(value_2?.toByte())
}
if (funWithReturnsNull(value_1 is Float? && value_1 != null && value_2 != null) != null) {
println(value_1.<!INAPPLICABLE_CANDIDATE!>dec<!>())
println(value_1.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>dec<!>())
println(value_2?.toByte())
}
}
@@ -129,22 +129,22 @@ class case_10_class {
fun case_10(value_1: Any?, value_2: Number?) {
val o = case_10_class()
if (funWithReturnsTrue(value_1 !is Float? || value_1 == null || value_2 == null || o.prop_1 == null || this.prop_1 == null)) {
println(value_1.<!INAPPLICABLE_CANDIDATE!>dec<!>())
println(value_1.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>dec<!>())
println(value_2?.toByte())
<!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(o.prop_1<!UNSAFE_CALL!>.<!>plus(3))
}
if (!funWithReturnsFalse(value_1 !is Float? || value_1 == null || value_2 == null || o.prop_1 == null || this.prop_1 == null)) {
println(value_1.<!INAPPLICABLE_CANDIDATE!>dec<!>())
println(value_1.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>dec<!>())
println(value_2?.toByte())
<!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(o.prop_1<!UNSAFE_CALL!>.<!>plus(3))
}
if (funWithReturnsNotNull(value_1 !is Float? || value_1 == null || value_2 == null || o.prop_1 == null || this.prop_1 == null) != null) {
println(value_1.<!INAPPLICABLE_CANDIDATE!>dec<!>())
println(value_1.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>dec<!>())
println(value_2?.toByte())
<!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(o.prop_1<!UNSAFE_CALL!>.<!>plus(3))
}
if (funWithReturnsNull(value_1 !is Float? || value_1 == null || value_2 == null || o.prop_1 == null || this.prop_1 == null) == null) {
println(value_1.<!INAPPLICABLE_CANDIDATE!>dec<!>())
println(value_1.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>dec<!>())
println(value_2?.toByte())
<!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(o.prop_1<!UNSAFE_CALL!>.<!>plus(3))
}
@@ -156,5 +156,5 @@ fun case_11(value_1: Any?, value_2: Any?, value_3: Any?) {
funWithReturnsAndInvertCondition(value_1 !is String? || value_2 !is Number && value_3 !is Float)
println(value_1!!.length)
<!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(value_2.<!UNRESOLVED_REFERENCE!>toByte<!>())
println(value_3.<!INAPPLICABLE_CANDIDATE!>dec<!>())
println(value_3.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>dec<!>())
}
@@ -103,7 +103,7 @@ class case_3_class {
fun case_3(value_1: Any?, value_2: Number?) {
val o = case_3_class()
contracts.case_3(value_1, value_2, o.prop_1, this.prop_1)
println(value_1.<!INAPPLICABLE_CANDIDATE!>dec<!>())
println(value_1.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>dec<!>())
println(value_2?.toByte())
<!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(o.prop_1<!UNSAFE_CALL!>.<!>plus(3))
}
@@ -156,22 +156,22 @@ class case_6_class {
fun case_6(value_1: Any?, value_2: Number?) {
val o = case_6_class()
if (contracts.case_6_1(value_1, value_2, o.prop_1, this.prop_1)) {
println(value_1.<!INAPPLICABLE_CANDIDATE!>dec<!>())
println(value_1.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>dec<!>())
println(value_2?.toByte())
<!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(o.prop_1<!UNSAFE_CALL!>.<!>plus(3))
}
if (!contracts.case_6_2(value_1, value_2, o.prop_1, this.prop_1)) {
println(value_1.<!INAPPLICABLE_CANDIDATE!>dec<!>())
println(value_1.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>dec<!>())
println(value_2?.toByte())
<!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(o.prop_1<!UNSAFE_CALL!>.<!>plus(3))
}
if (contracts.case_6_3(value_1, value_2, o.prop_1, this.prop_1) == null) {
println(value_1.<!INAPPLICABLE_CANDIDATE!>dec<!>())
println(value_1.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>dec<!>())
println(value_2?.toByte())
<!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(o.prop_1<!UNSAFE_CALL!>.<!>plus(3))
}
if (contracts.case_6_4(value_1, value_2, o.prop_1, this.prop_1) != null) {
println(value_1.<!INAPPLICABLE_CANDIDATE!>dec<!>())
println(value_1.<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>dec<!>())
println(value_2?.toByte())
<!OVERLOAD_RESOLUTION_AMBIGUITY!>println<!>(o.prop_1<!UNSAFE_CALL!>.<!>plus(3))
}