| // WITH_STDLIB |
| // WORKS_WHEN_VALUE_CLASS |
| // LANGUAGE: +ValueClasses |
| |
| OPTIONAL_JVM_INLINE_ANNOTATION |
| value class Ucn(private val i: UInt) |
| |
| class PPInput(private val s: ByteArray) { |
| fun peek(n: UInt = 0u): Ucn? = |
| if (n >= s.size.toUInt()) |
| null |
| else |
| Ucn(s[n.toInt()].toUInt()) |
| } |
| |
| fun box(): String { |
| val ppInput = PPInput(byteArrayOf(0.toByte(), 0.toByte(), 0.toByte())) |
| |
| if (ppInput.peek(0u) == null) throw AssertionError() |
| if (ppInput.peek(100u) != null) throw AssertionError() |
| if (ppInput.peek(0u)!!.toString() != "Ucn(i=0)") throw AssertionError(ppInput.peek(0u)!!.toString()) |
| |
| return "OK" |
| } |