72 lines
1.4 KiB
Plaintext
Vendored
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])
|
|
}
|