Names containing only '_' are deprecated (declarations, parameters, import aliases, labels, but not backquoted names)

This commit is contained in:
Mikhail Glukhikh
2015-09-25 14:51:00 +03:00
parent ebfb6c8468
commit 0a0bfdacb1
12 changed files with 130 additions and 10 deletions
+16
View File
@@ -0,0 +1,16 @@
// !DIAGNOSTICS: -DEPRECATED_SYMBOL_WITH_MESSAGE
<!UNDESCORE_IS_DEPRECATED!>import kotlin.Deprecated as ___<!>
@___("") data class Pair(val x: Int, val y: Int)
class <!UNDESCORE_IS_DEPRECATED!>_<!><<!UNDESCORE_IS_DEPRECATED!>________<!>>
val <!UNDESCORE_IS_DEPRECATED!>______<!> = _<Int>()
fun <!UNDESCORE_IS_DEPRECATED!>__<!>(<!UNDESCORE_IS_DEPRECATED!>___<!>: Int, y: _<Int>?): Int {
val (x, <!UNDESCORE_IS_DEPRECATED!>__________<!>) = Pair(___ - 1, 42)
val <!UNDESCORE_IS_DEPRECATED!>____<!> = x
// in backquotes: allowed
val `_` = __________
<!UNDESCORE_IS_DEPRECATED!>__<!>@ return if (y != null) __(____, y) else __(`_`, ______)
}
+23
View File
@@ -0,0 +1,23 @@
package
public val ______: _<kotlin.Int>
public fun __(/*0*/ ___: kotlin.Int, /*1*/ y: _<kotlin.Int>?): kotlin.Int
@kotlin.Deprecated(value = "") @kotlin.data() public final class Pair {
public constructor Pair(/*0*/ x: kotlin.Int, /*1*/ y: kotlin.Int)
public final val x: kotlin.Int
public final val y: kotlin.Int
public final /*synthesized*/ fun component1(): kotlin.Int
public final /*synthesized*/ fun component2(): kotlin.Int
public final /*synthesized*/ fun copy(/*0*/ x: kotlin.Int = ..., /*1*/ y: kotlin.Int = ...): Pair
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
}
public final class _</*0*/ ________> {
public constructor _</*0*/ ________>()
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
}
@@ -4,7 +4,7 @@
// FILE: a.kt
package p
public interface B<T, _> {
public interface B<T, Z> {
public fun foo(a: T?)
}
@@ -12,7 +12,7 @@ public interface B<T, _> {
// FILE: b.kt
package p
public interface C<X, _> : B<X, _> {
public interface C<X, Z> : B<X, Z> {
override fun foo(a: X?)
}
@@ -21,7 +21,7 @@ public interface C<X, _> : B<X, _> {
// FILE: b.kt
package p
public interface B<_, T> {
public interface B<Z, T> {
public fun foo(a: T?)
}
@@ -3,7 +3,7 @@ package
package p {
public interface B</*0*/ T, /*1*/ _> {
public interface B</*0*/ T, /*1*/ Z> {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public abstract fun foo(/*0*/ a: T?): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -17,11 +17,11 @@ package
package p {
public interface B</*0*/ T, /*1*/ _> {
public interface B</*0*/ T, /*1*/ Z> {
// -- Module: <m1> --
}
public interface C</*0*/ X, /*1*/ _> : p.B<X, _> {
public interface C</*0*/ X, /*1*/ Z> : p.B<X, Z> {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public abstract override /*1*/ fun foo(/*0*/ a: X?): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -35,7 +35,7 @@ package
package p {
public interface B</*0*/ _, /*1*/ T> {
public interface B</*0*/ Z, /*1*/ T> {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public abstract fun foo(/*0*/ a: T?): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -51,11 +51,11 @@ public fun </*0*/ Y, /*1*/ Z> test(/*0*/ b: p.B<Y, Z>?): kotlin.Unit
package p {
public interface B</*0*/ _, /*1*/ T> {
public interface B</*0*/ Z, /*1*/ T> {
// -- Module: <m3> --
}
public interface C</*0*/ X, /*1*/ _> : p.B<X, _> {
public interface C</*0*/ X, /*1*/ Z> : p.B<X, Z> {
// -- Module: <m2> --
}
}