import org.aspectj.testing.Tester;

class TriTestMethodLookup {
    static String foo(byte b)  { return "byte"; }
    static String foo(short s) { return "short"; }
    
    static final int byteAsInt = 127;
    static final int shortAsInt = 128;

    static byte byteType = 0;
    static short shortType = 0;
    static boolean notTrue = false;

    public static void main(String[] args) {

	Tester.checkEqual(foo(notTrue ? byteType : byteAsInt),  "byte",  "lub(byte, 127) --> byte");
	Tester.checkEqual(foo(notTrue ? shortType : shortAsInt),"short", "lub(short, 128) --> short");
    }
}