Report diagnostics about experimentality on unsigned literals

#KT-25580 Fixed
This commit is contained in:
Mikhail Zarechenskiy
2018-08-06 14:03:27 +03:00
parent 55e7def3c1
commit 659289b41a
13 changed files with 134 additions and 14 deletions
@@ -0,0 +1,34 @@
// !USE_EXPERIMENTAL: kotlin.Experimental
// !API_VERSION: 1.3
// !DIAGNOSTICS: -UNUSED_EXPRESSION, -UNUSED_VARIABLE, -UNUSED_PARAMETER
fun test() {
<!EXPERIMENTAL_UNSIGNED_LITERALS!>42u<!>
<!EXPERIMENTAL_UNSIGNED_LITERALS!>21UL<!>
val list = listOf(
<!EXPERIMENTAL_UNSIGNED_LITERALS!>1u<!>,
<!EXPERIMENTAL_UNSIGNED_LITERALS!>0xFFu<!>,
<!EXPERIMENTAL_UNSIGNED_LITERALS!>0xbbU<!>
)
takeAll(
<!EXPERIMENTAL_UNSIGNED_LITERALS!>1u<!>,
<!EXPERIMENTAL_UNSIGNED_LITERALS!>2u<!>,
<!EXPERIMENTAL_UNSIGNED_LITERALS!>3u<!>,
<!EXPERIMENTAL_UNSIGNED_LITERALS!>4u<!>,
<!EXPERIMENTAL_UNSIGNED_LITERALS!>5u<!>
)
@UseExperimental(ExperimentalUnsignedTypes::class) 42u
}
fun takeAll(
b: <!EXPERIMENTAL_API_USAGE!>UByte<!>,
s: <!EXPERIMENTAL_API_USAGE!>UShort<!>,
i: <!EXPERIMENTAL_API_USAGE!>UInt<!>,
l: <!EXPERIMENTAL_API_USAGE!>ULong<!>,
vararg uints: <!EXPERIMENTAL_API_USAGE!>UInt<!>
) {}
const val unsignedConst = <!EXPERIMENTAL_UNSIGNED_LITERALS!>0u<!>
const val unsignedLongConst = <!EXPERIMENTAL_UNSIGNED_LITERALS!>0uL<!>
@@ -0,0 +1,6 @@
package
public const val unsignedConst: kotlin.UInt = 0.toUInt()
public const val unsignedLongConst: kotlin.ULong = 0.toULong()
public fun takeAll(/*0*/ b: kotlin.UByte, /*1*/ s: kotlin.UShort, /*2*/ i: kotlin.UInt, /*3*/ l: kotlin.ULong, /*4*/ vararg uints: kotlin.UInt /*kotlin.UIntArray*/): kotlin.Unit
public fun test(): kotlin.Unit