Deprecate meaningless or vague-defined operations with Char operands.

Change expected test output.
This commit is contained in:
Ilya Gorbunov
2015-05-26 19:04:07 +03:00
parent c6abf75856
commit 84ca26719d
9 changed files with 256 additions and 170 deletions
@@ -2,17 +2,17 @@
class A(val a:Int) {
inner class B() {
fun Char.xx() : Double.() -> Any {
checkSubtype<Char>(this)
fun Byte.xx() : Double.() -> Any {
checkSubtype<Byte>(this)
val <!UNUSED_VARIABLE!>a<!>: Double.() -> Unit = {
checkSubtype<Double>(this)
checkSubtype<Char>(this@xx)
checkSubtype<Byte>(this@xx)
checkSubtype<B>(this@B)
checkSubtype<A>(this@A)
}
val <!UNUSED_VARIABLE!>b<!>: Double.() -> Unit = a@{ checkSubtype<Double>(this@a) + checkSubtype<Char>(this@xx) }
val <!UNUSED_VARIABLE!>c<!> = a@{ -> <!NO_THIS!>this@a<!> <!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>+<!> checkSubtype<Char>(this@xx) }
return (a@{checkSubtype<Double>(this@a) + checkSubtype<Char>(this@xx)})
val <!UNUSED_VARIABLE!>b<!>: Double.() -> Unit = a@{ checkSubtype<Double>(this@a) + checkSubtype<Byte>(this@xx) }
val <!UNUSED_VARIABLE!>c<!> = a@{ -> <!NO_THIS!>this@a<!> <!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>+<!> checkSubtype<Byte>(this@xx) }
return (a@{checkSubtype<Double>(this@a) + checkSubtype<Byte>(this@xx)})
}
}
}
@@ -12,6 +12,6 @@ internal final class A {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
internal final fun kotlin.Char.xx(): kotlin.Double.() -> kotlin.Any
internal final fun kotlin.Byte.xx(): kotlin.Double.() -> kotlin.Any
}
}