KT-16264 Forbid usage of _ without backticks

Forbid underscore-only (_, __, ___, ...) names as callees and as types.

If CHECK_TYPE directive is on, filter out UNDERSCORE_USAGE_WITHOUT_BACKTICKS messages.
This commit is contained in:
Dmitry Petrov
2017-03-28 17:15:23 +03:00
parent 0a3c031528
commit caae6ff2ec
22 changed files with 317 additions and 19 deletions
@@ -0,0 +1,41 @@
package
public val testCallableRef: kotlin.reflect.KFunction0<kotlin.Unit>
public val testCallableRef2: kotlin.reflect.KFunction0<kotlin.Unit>
public val testCallableRefLHSObject: kotlin.reflect.KFunction0<kotlin.String>
public val testCallableRefLHSObject2: kotlin.reflect.KFunction0<kotlin.String>
public val testQualified: kotlin.Int = 42
public val testQualified2: kotlin.Int = 42
public val testQualifier: kotlin.Int = 42
public val testQualifier2: kotlin.Int = 42
public val testQualifier3: kotlin.Int = 4
public val testQualifier4: kotlin.Int = 4
public fun __(): kotlin.Unit
public fun test(/*0*/ _: kotlin.Int): kotlin.Unit
public fun testCall(): kotlin.Unit
public fun testCallableRefLHSValue(/*0*/ _: kotlin.Any): kotlin.reflect.KFunction0<kotlin.String>
public fun testCallableRefLHSValue2(/*0*/ _: kotlin.Any): kotlin.reflect.KFunction0<kotlin.String>
public object Host {
private constructor Host()
public final val _: kotlin.Int = 42
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 object __ {
private constructor __()
public final val bar: kotlin.Int = 4
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 object ___ {
private constructor ___()
public final val test: kotlin.Int = 42
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
}