Replace hashCode usages in tests where it was supposed to fail on nullable receiver

Related to #KT-25039
This commit is contained in:
Ilya Gorbunov
2018-09-07 04:23:34 +03:00
parent 48fd8a63ee
commit 903976d9af
27 changed files with 35 additions and 28 deletions
+3 -2
View File
@@ -1,5 +1,6 @@
>>> val x: Pair<Any?, Any?> = null to null >>> val x: Pair<Any?, Any?> = null to null
>>> if (x.first != null) x.first.hashCode() >>> fun Any.string() = this as String
>>> if (x.first != null) x.first.string()
error: smart cast to 'Any' is impossible, because 'x.first' is a public API property declared in different module error: smart cast to 'Any' is impossible, because 'x.first' is a public API property declared in different module
if (x.first != null) x.first.hashCode() if (x.first != null) x.first.string()
^ ^
@@ -1,3 +1,3 @@
fun A.AA.ext() { fun A.AA.ext() {
x.hashCode() x.length
} }
@@ -1,3 +1,3 @@
fun A.AA.ext() { fun A.AA.ext() {
x?.hashCode() x?.length
} }
@@ -1,3 +1,3 @@
fun explicitRef() { fun explicitRef() {
A.AA.x.hashCode() A.AA.x.length
} }
@@ -1,3 +1,3 @@
fun explicitRef() { fun explicitRef() {
A.AA.x?.hashCode() A.AA.x?.length
} }
@@ -1,3 +1,3 @@
fun implicitRef() { fun implicitRef() {
A.x.hashCode() A.x.length
} }
@@ -1,3 +1,3 @@
fun implicitRef() { fun implicitRef() {
A.x?.hashCode() A.x?.length
} }
@@ -1,5 +1,5 @@
import A.AA.x import A.AA.x
fun importedMember() { fun importedMember() {
x.hashCode() x.length
} }
@@ -1,5 +1,5 @@
import A.AA.x import A.AA.x
fun importedMember() { fun importedMember() {
x?.hashCode() x?.length
} }
@@ -1,3 +1,3 @@
fun A.AA.ext() { fun A.AA.ext() {
x.hashCode() x.length
} }
@@ -1,3 +1,3 @@
fun A.AA.ext() { fun A.AA.ext() {
x?.hashCode() x?.length
} }
@@ -1,3 +1,3 @@
fun explicitRef() { fun explicitRef() {
A.AA.x.hashCode() A.AA.x.length
} }
@@ -1,3 +1,3 @@
fun explicitRef() { fun explicitRef() {
A.AA.x?.hashCode() A.AA.x?.length
} }
@@ -1,3 +1,3 @@
fun implicitRef() { fun implicitRef() {
A.x.hashCode() A.x.length
} }
@@ -1,3 +1,3 @@
fun implicitRef() { fun implicitRef() {
A.x?.hashCode() A.x?.length
} }
@@ -1,5 +1,5 @@
import A.AA.x import A.AA.x
fun importedMember() { fun importedMember() {
x.hashCode() x.length
} }
@@ -1,5 +1,5 @@
import A.AA.x import A.AA.x
fun importedMember() { fun importedMember() {
x?.hashCode() x?.length
} }
@@ -4,4 +4,6 @@ enum class Enum(x: String) {
val becameNullable: Any = x val becameNullable: Any = x
val unchanged: Any = x val unchanged: Any = x
} }
fun Any.string() = this as String
@@ -4,4 +4,6 @@ enum class Enum(x: String) {
val becameNullable: Any? = x val becameNullable: Any? = x
val unchanged: Any = x val unchanged: Any = x
} }
fun Any.string() = this as String
@@ -1,5 +1,5 @@
import Enum.* import Enum.*
fun useBecameNullable(e: Enum) { fun useBecameNullable(e: Enum) {
println(e.becameNullable.hashCode()) println(e.becameNullable.string())
} }
@@ -1,5 +1,5 @@
import Enum.* import Enum.*
fun useBecameNullable(e: Enum) { fun useBecameNullable(e: Enum) {
println(e.becameNullable?.hashCode()) println(e.becameNullable?.string())
} }
@@ -1,5 +1,5 @@
import Enum.* import Enum.*
fun useUnchanged(e: Enum) { fun useUnchanged(e: Enum) {
println(e.unchanged.hashCode()) println(e.unchanged.string())
} }
@@ -1 +1,3 @@
class B : A() class B : A()
fun Any.string() = this as String
@@ -1,3 +1,3 @@
fun useA() { fun useA() {
getA().x.hashCode() getA().x.string()
} }
@@ -1,3 +1,3 @@
fun useA() { fun useA() {
getA().x?.hashCode() getA().x?.string()
} }
@@ -1,3 +1,3 @@
fun useB() { fun useB() {
getB().x.hashCode() getB().x.string()
} }
@@ -1,3 +1,3 @@
fun useB() { fun useB() {
getB().x?.hashCode() getB().x?.string()
} }