Files
kotlin-fork/compiler/testData/ir/irText/expressions/signedToUnsignedConversions.kt.txt
T
2021-09-23 06:59:33 +00:00

72 lines
1.4 KiB
Plaintext
Vendored

// FILE: signedToUnsignedConversions_annotation.kt
package kotlin.internal
open annotation class ImplicitIntegerCoercion : Annotation {
constructor() /* primary */ {
super/*Any*/()
/* <init>() */
}
}
// FILE: signedToUnsignedConversions_test.kt
@ImplicitIntegerCoercion
const val IMPLICIT_INT: Int
field = 255
get
@ImplicitIntegerCoercion
const val EXPLICIT_INT: Int
field = 255
get
@ImplicitIntegerCoercion
const val LONG_CONST: Long
field = 255L
get
@ImplicitIntegerCoercion
val NON_CONST: Int
field = 255
get
@ImplicitIntegerCoercion
const val BIGGER_THAN_UBYTE: Int
field = 256
get
@ImplicitIntegerCoercion
const val UINT_CONST: UInt
field = 42
get
fun takeUByte(@ImplicitIntegerCoercion u: UByte) {
}
fun takeUShort(@ImplicitIntegerCoercion u: UShort) {
}
fun takeUInt(@ImplicitIntegerCoercion u: UInt) {
}
fun takeULong(@ImplicitIntegerCoercion u: ULong) {
}
fun takeUBytes(@ImplicitIntegerCoercion vararg u: UByte) {
}
fun takeLong(@ImplicitIntegerCoercion l: Long) {
}
fun test() {
takeUByte(u = <get-IMPLICIT_INT>().toUByte())
takeUByte(u = <get-EXPLICIT_INT>().toUByte())
takeUShort(u = <get-IMPLICIT_INT>().toUShort())
takeUShort(u = <get-BIGGER_THAN_UBYTE>().toUShort())
takeUInt(u = <get-IMPLICIT_INT>().toUInt())
takeULong(u = <get-IMPLICIT_INT>().toULong())
takeUBytes(u = [<get-IMPLICIT_INT>().toUByte(), <get-EXPLICIT_INT>().toUByte(), 42B])
}