// @below-java8-jdk-skip-test
import org.checkerframework.checker.signedness.qual.*;
// Test Java 8 unsigned utils
public class UtilsJava8 {
public void annotatedJDKTests(
@Unsigned long ulong,
@Signed long slong,
@Unsigned int uint,
@Signed int sint,
char[] buf,
String s) {
String resString;
int resInt;
long resLong;
//:: error: (argument.type.incompatible)
resString = Long.toUnsignedString(slong, sint);
resString = Long.toUnsignedString(ulong, sint);
//:: error: (argument.type.incompatible)
resString = Long.toUnsignedString(slong);
resString = Long.toUnsignedString(ulong);
//:: error: (assignment.type.incompatible)
slong = Long.parseUnsignedLong(s, sint);
ulong = Long.parseUnsignedLong(s, sint);
//:: error: (assignment.type.incompatible)
slong = Long.parseUnsignedLong(s);
ulong = Long.parseUnsignedLong(s);
//:: error: (argument.type.incompatible)
resInt = Long.compareUnsigned(slong, slong);
//:: error: (argument.type.incompatible)
resInt = Long.compareUnsigned(slong, ulong);
//:: error: (argument.type.incompatible)
resInt = Long.compareUnsigned(ulong, slong);
resInt = Long.compareUnsigned(ulong, ulong);
//:: error: (argument.type.incompatible)
ulong = Long.divideUnsigned(slong, slong);
//:: error: (argument.type.incompatible)
ulong = Long.divideUnsigned(slong, ulong);
//:: error: (argument.type.incompatible)
ulong = Long.divideUnsigned(ulong, slong);
//:: error: (assignment.type.incompatible)
slong = Long.divideUnsigned(ulong, ulong);
ulong = Long.divideUnsigned(ulong, ulong);
//:: error: (argument.type.incompatible)
ulong = Long.remainderUnsigned(slong, slong);
//:: error: (argument.type.incompatible)
ulong = Long.remainderUnsigned(slong, ulong);
//:: error: (argument.type.incompatible)
ulong = Long.remainderUnsigned(ulong, slong);
//:: error: (assignment.type.incompatible)
slong = Long.remainderUnsigned(ulong, ulong);
ulong = Long.remainderUnsigned(ulong, ulong);
//:: error: (argument.type.incompatible)
resString = Integer.toUnsignedString(sint, sint);
resString = Integer.toUnsignedString(uint, sint);
//:: error: (argument.type.incompatible)
resString = Integer.toUnsignedString(sint);
resString = Integer.toUnsignedString(uint);
//:: error: (assignment.type.incompatible)
sint = Integer.parseUnsignedInt(s, sint);
uint = Integer.parseUnsignedInt(s, sint);
//:: error: (assignment.type.incompatible)
sint = Integer.parseUnsignedInt(s);
uint = Integer.parseUnsignedInt(s);
//:: error: (argument.type.incompatible)
resInt = Integer.compareUnsigned(sint, sint);
//:: error: (argument.type.incompatible)
resInt = Integer.compareUnsigned(sint, uint);
//:: error: (argument.type.incompatible)
resInt = Integer.compareUnsigned(uint, sint);
resInt = Integer.compareUnsigned(uint, uint);
//:: error: (argument.type.incompatible)
resLong = Integer.toUnsignedLong(sint);
resLong = Integer.toUnsignedLong(uint);
//:: error: (argument.type.incompatible)
uint = Integer.divideUnsigned(sint, sint);
//:: error: (argument.type.incompatible)
uint = Integer.divideUnsigned(sint, uint);
//:: error: (argument.type.incompatible)
uint = Integer.divideUnsigned(uint, sint);
//:: error: (assignment.type.incompatible)
sint = Integer.divideUnsigned(uint, uint);
uint = Integer.divideUnsigned(uint, uint);
//:: error: (argument.type.incompatible)
uint = Integer.remainderUnsigned(sint, sint);
//:: error: (argument.type.incompatible)
uint = Integer.remainderUnsigned(sint, uint);
//:: error: (argument.type.incompatible)
uint = Integer.remainderUnsigned(uint, sint);
//:: error: (assignment.type.incompatible)
sint = Integer.remainderUnsigned(uint, uint);
uint = Integer.remainderUnsigned(uint, uint);
}
}