# pth test script
#
# This file is a test script for pth (Polyglot Test Harness). It
# conforms to the following grammar.
#
#      ScriptFile   ::= CompilerTest+
#      CompilerTest ::= ExtClassName ["CmdLineArgs"] { FileTest [; FileTest]* }
#                    |  javac ["CmdLineArgs"] { FileTestNoFailure [; FileTestNoFailure]* }
#      FileTest     ::= Filenames [Description] [FailureSet]
#      FileTestNoFailure ::= Filenames [Description]
#      Filenames    ::= Filename [Filename]*
#      Description  ::= LitString
#      FailureSet   ::= Failure [, Failure]*
#      Failure      ::= ( ErrorKind )
#                    |  ( ErrorKind, "RegExp" )
#                    |  ( "RegExp" )
#                    |  ( )
#      ErrorKind    :   one of, or a unique prefix of one of the following 
#                       strings: "Warning", "Internal Error", "I/O Error", 
#                       "Lexical Error", "Syntax Error", "Semantic Error"
#                       or "Post-compiler Error".
#      Filename     :   the name of a file. Is interpreted from the 
#                       directory where pth is run.
#      LitString    :   a literal string, enclosed in quotes.
#      RegExp       :   a regular expression, as in java.util.regex; 
#                       is always enclosed in quotes.
#      CmdLineArgs  :   additional command line args for the Polyglot 
#                       compiler; is always enclosed in quotes.

# Compile some java classes first
javac "-d java-out -cp ." {
        java-src/MyList.java;
        java-src/MyMap.java;
        java-src/MyMethodThrowing.java;
        java-src/MyEnum.java;
	java-src/MyNested01.java;
	java-src/TestEnum.java;
	java-src/Call02A.java;
	java-src/Call02B.java;
	java-src/Call02D.java;
}
 
polyglot.ext.jl5.ExtensionInfo "-d out -classpath java-out -assert -noserial -post \"javac -source 1.5 -Xlint\\:-options\" -morepermissiveinference" {
        Assert01.jl5;
        HexFloatingPoint.jl5;
        Generics01.jl5;
        Generics02.jl5;
        Generics03.jl5;
        Generics04.jl5;
        Generics05.jl5;
        Generics06.jl5;
        Generics07.jl5;
        Generics08.jl5 (Post, "Xlint");
        Generics09.jl5 (Post, "Xlint");
        Generics10.jl5 (Post, "Xlint");
        Generics11.jl5;
        Generics12.jl5;
        Generics13.jl5;
        Generics14.jl5;
            Generics15.jl5;
        Generics16.jl5;
        Generics17.jl5;
        Generics18.jl5 (Post, "Xlint");
        Generics19.jl5;
        Generics20.jl5 (Semantic);
        Generics21.jl5 (Semantic); 
        Generics22.jl5 (Semantic);
        Generics23.jl5 (Semantic);
        Generics24.jl5 (Semantic, "Wrong number of type parameters"),
                          (Semantic, "Wrong number of type parameters"),
                       (Semantic, "Wrong number of type parameters");
        Generics25.jl5 (Semantic);
        Generics26.jl5 (Post, "Xlint");
        Generics27.jl5;        
        Generics28.jl5 (Post, "Xlint");
        Generics29.jl5 (Post, "Xlint");
        Generics30.jl5 (Semantic);
        Generics31.jl5 (Post, "Xlint");
        Generics32.jl5;
        Generics33.jl5 (Semantic);
        Generics34.jl5;
        Generics35.jl5 (Semantic); 
        Generics36.jl5;
        Generics37.jl5;
        Generics38.jl5;
        Generics39.jl5;
        Generics40.jl5;
        Generics41.jl5;
        Generics42.jl5;
        Generics43.jl5 (Post, "Xlint");
        Boxing01.jl5;
        Boxing02.jl5;
        Boxing03.jl5;
        Boxing04.jl5;
        Boxing05.jl5;
        StaticInit01.jl5;
        InnerClass01.jl5;
        InnerClass02.jl5 (Post, "Xlint");
        InnerClass03.jl5;
        InnerClass04.jl5;
        InnerClass05.jl5 (Semantic);
        InnerClass06.jl5;
        InnerClass07.jl5;
        InnerClass08.jl5;
        InnerClass09.jl5;
        InnerClass10.jl5;
        InnerClass11.jl5;
        InnerClass12.jl5;
        InnerClass13.jl5;
        Access01.jl5;
        Access02.jl5;
        Access03A.jl5  Access03B.jl5;
        Access04A.jl5  Access04B.jl5;
        Anonymous01.jl5 (Post, "Xlint");
        Anonymous02.jl5;
        Anonymous03.jl5;
        Interface01.jl5;
        Interface02.jl5;
        Interface03.jl5;
        Interface04.jl5;
        Interface05.jl5 (Post, "Xlint");
        Interface06.jl5 (Post, "Xlint");
        Intersect01.jl5;
        Intersect02.jl5;
        Intersect03.jl5 (Semantic, "additional bound");
        Intersect04.jl5;
        Import01.jl5;
        Import02.jl5;
        Import03.jl5 (Semantic);
        Import04.jl5 (Semantic);
        Import05.jl5 (Semantic);
        Import06.jl5;
        Import07A.jl5 Import07B.jl5;
        Import08A.jl5 Import08B.jl5;
        Map01.jl5;
        ClassLoad02.jl5 (Post, "Xlint");
        Method01.jl5;
        Method02.jl5;
        Method03.jl5;
        Method04.jl5;
        VarArgs01.jl5;
        VarArgs02.jl5;
        VarArgs03.jl5;
        VarArgs04.jl5;
        VarArgs05.jl5;
        VarArgs06.jl5;
        VarArgs07.jl5;
        WildCard01.jl5;
        WildCard02.jl5 (Semantic, "does not match");
        WildCard03.jl5 (Post, "Xlint");
        WildCard04.jl5;
        WildCard05.jl5;
        TC195.jl5;
        TC12.jl5;
        Call01.jl5 (Post, "Xlint");
        ImplicitCast01.jl5;
        Binary01.jl5;
        Binary02.jl5 (Semantic);
        Cast01.jl5 (Post, "Xlint");
        Cast02.jl5;
        Cast03.jl5;
        Cast04.jl5 (Post), (Post);
        Cast05.jl5 (Post), (Post);
        Conditional01.jl5;
        Conditional02.jl5;
        Conditional03.jl5;
        Conditional04.jl5;
        Constant01.jl5;
        Array.jl5;
        Array2.jl5 (Semantic, "should be declared abstract");
        Array03.jl5;
        Array04.jl5;
        Array05.jl5;
        Array06.jl5 (Post, "Xlint");
        Array07.jl5 (Semantic, "reifiable");
        Array08.jl5;
        ArrayInit01.jl5;
        ArrayInit02.jl5;
        ArrayInit03.jl5;
        C.jl5;
        FBoundSub.jl5;
        FBoundSub2.jl5;
        FBoundSub3.jl5;
        FBoundSub4.jl5 (Semantic, "cannot be called with arguments");
        Generic.jl5;
        GenericMethod1.jl5;
        GenericMethod1a.jl5 (Semantic);
        GenericMethod2.jl5 (Semantic);
        GenericMethod3.jl5;
        GenericMethod4.jl5;
        GenericMethod5.jl5;
        GenericMethod5a.jl5 (Semantic);
        GenericMethod7.jl5;
        GenericMethod7a.jl5;
        GenericMethod8.jl5;
        GenericMethod8a.jl5;
        GenericMethod8b.jl5;
        GenericMethod9.jl5;
        GenericMethod9a.jl5 (Semantic);
        GenericMethod9b.jl5;
        GenericMethod10.jl5;
        GenericMethod11.jl5;
        GenericMethod12.jl5 (Semantic), (Semantic);
        GenericMethod13.jl5;
        GenericMethod14.jl5;
        GenericMethod15.jl5;
        InfiniteLoop.jl5;
        Throw02.jl5;
        JLS8.1.2.jl5;
        Lists1.jl5;
        Lists2.jl5 (Post, "Xlint");
        Lists3.jl5 (Post, "Xlint");
        Lists4.jl5 (Post, "Xlint");
        Lists5.jl5;
        Lists6.jl5;
        Lists7.jl5 (Semantic);
        Lists8.jl5 (Semantic);
        Lists9.jl5 (Semantic);
        Nongeneric.jl5;
        NullWrapper.jl5;
        Prim.jl5;
        Simple.jl5;
        SimpleFBoundSub.jl5;
        StringTest.jl5;
        StringTest01.jl5;
        VerySimple.jl5;
        Wildcard1.jl5;
        dotclass.jl5;
        error1.jl5 (Semantic, "should be declared abstract");
        error3.jl5 (Semantic);
        error3b.jl5;
        error3c.jl5 (Semantic, "should be declared abstract");
        error3d.jl5;
        error3e.jl5 (Semantic, "type .* does not match");
        error3f.jl5 (Post, "Xlint");
        error3g.jl5;
        error3h.jl5 (Post, "Xlint");
        error4.jl5 (Semantic, "type .* does not match");
        error5.jl5 (Semantic, "type .* does not match");
        error6.jl5 (Semantic, "should be declared abstract");
        error7.jl5 (Semantic, "not a subtype");
        exn1.jl5;
        exn2.jl5;
        ExtFor01.jl5;
        ExtFor02.jl5;
        forloop1.jl5 (Semantic, "Incompatible"), (Semantic, "Incompatible");
        forloop1a.jl5;
        forloop1b.jl5 (Semantic, "Incompatible");
        forloop1c.jl5 (Semantic, "Incompatible");
        forwardref1.jl5 (Semantic, "Circular");
        forwardref1a.jl5;
        forwardref1b.jl5 (Semantic);
        forwardref2.jl5 (Semantic, "Circular");
        forwardref3.jl5 (Semantic, "Circular");
        genmethod1.jl5 (Semantic);
        genmethod2.jl5;
        intersection.jl5 (Semantic, "inaccessible"), (Semantic, "inaccessible");
        lookup.jl5;
        raw1.jl5 (Semantic, "should be declared abstract");
        raw2.jl5;
        raw3.jl5 (Semantic, "should be declared abstract");
        raw4.jl5;
        raw5.jl5 (Semantic, "should be declared abstract");
        raw6.jl5  (Semantic, "should be declared abstract");
        raw7.jl5;
        raw8.jl5 (Post, "Xlint");
        raw9.jl5;
        simpleFBoundError.jl5 (Semantic);
        test1.jl5;
        test11.jl5;
        test12.jl5;
        test13.jl5;
        test14.jl5;
        test16.jl5;
        test16b.jl5;
        test16c.jl5;
        test17.jl5;
        test18.jl5;
        test2.jl5;
        test3.jl5;
        test4.jl5;
        test5.jl5;
        test6.jl5;
        test7.jl5;
        test8.jl5;
        test9.jl5;
        wildcard2.jl5 (Semantic), (Semantic), (Semantic);
        wildcard2.jl5 (Semantic), (Semantic), (Semantic);
        wildcard2a.jl5;
        wildcard3.jl5;
        wildcard4.jl5 (Semantic, "cannot be called"), (Semantic, "cannot be called"), (Semantic, "does not match");
        wildcard4a.jl5;
        wildcard5.jl5 (Semantic, "cannot be called"), (Semantic, "cannot be called") , (Semantic, "does not match");
        wildcard5a.jl5;
        wildcard6.jl5 (Semantic, "does not match");
        wildcard6a.jl5;
        wildcard7.jl5 (Semantic), (Semantic), (Semantic);
        wildcard7a.jl5;
        wildcard8.jl5 (Semantic);
        wildcard10.jl5 (Semantic, "capture"), (Semantic, "capture"), (Semantic, "does not match"); 
        wildcard11.jl5 (Semantic, "capture"), (Semantic, "capture"), (Semantic, "does not match"), (Semantic, "does not match"), (Semantic, "does not match"); 
        wildcard12a.jl5(Semantic); 
        wildcard12b.jl5(Semantic); 
        wildcard12c.jl5(Semantic); 
        wildcard12d.jl5(Semantic); 
        wildcard12e.jl5; 
        wildcard13a.jl5 (Semantic); 
        wildcard13b.jl5 (Semantic); 
        wildcard13c.jl5 (Semantic); 
        wildcard13d.jl5; 
        wildcard14a.jl5 (Semantic); 
        wildcard14b.jl5 (Semantic); 
        wildcard14c.jl5 (Semantic); 
        wildcard14d.jl5 ; 
        wildcard15.jl5 (Semantic),(Semantic); 
        wildcard16.jl5 (Semantic, "Cannot assign long to");
        wildcard17.jl5 (Semantic),(Semantic),(Semantic); 
        wildcard18.jl5 (Semantic);
        wildcard19.jl5 (Semantic, "not a subtype .* bound") , (Semantic);
        wildcard20.jl5 (Semantic, "cannot be called");
        wildcard21.jl5 (Semantic, "Unexpected type bound");
        wildcard22.jl5;
        wildcard23.jl5;
        wildcard24.jl5;
        RawReturn01.jl5;
        RawReturn02.jl5;
        RawReturn03.jl5 (Semantic);
        RawReturn04.jl5 (Semantic);
        RawReturn05.jl5 (Post, "Xlint");
        RawReturn06.jl5 (Post, "Xlint");
        RawType01.jl5 (Post, "Xlint");
        RawType02.jl5 (Post, "Xlint");
        RawType03.jl5 (Semantic);
        RawType04.jl5 (Semantic);
        RawType05.jl5;
        RawType06.jl5 (Semantic);
        RawType07.jl5 (Semantic);
        EnumTest1.jl5;
        EnumTest2.jl5;
        EnumTest3.jl5;
        EnumTest4.jl5;
        EnumTest6.jl5;
        EnumTest7.jl5;
        EnumTest9.jl5;
        EnumTest11.jl5;
        EnumTest12.jl5;
        EnumTest13.jl5;
        EnumTest14.jl5;
        EnumTest15.jl5;
        EnumTest16.jl5;
        EnumTest17.jl5;
        enum1.jl5;
        enum2.jl5;
        ConstructorCall01.jl5;
        Annotations01.jl5;
        Annotations02.jl5;
        Annotations03.jl5 (Semantic, "does not override");
        Annotations04.jl5;
        Annotations05.jl5;
        Annotations06.jl5 (Semantic, "not applicable");
        Annotations07.jl5 (Semantic, "can apply only to method");
        Annotations08.jl5;
        Annotations09.jl5 (Semantic);
        Annotations10.jl5;
        Annotations11.jl5 (Semantic);
        Annotations12.jl5 (Semantic);
        Annotations13.jl5 (Semantic);
        Annotations14A.jl5 Annotations14B.jl5;
        Annotations15.jl5;
        Annotations16.jl5;
        Annotations17.jl5;
        Annotations18.jl5;
        Annotations19.jl5;
        Annotations20.jl5;
        Annotations21.jl5;
        Annotations22.jl5  (Semantic, "not applicable");
        Call02.jl5;
        ClassLoad01.jl5;
        CovariantRet01.jl5;
        CovariantRet02.jl5;
        CovariantRet03.jl5;
        CovariantRet04.jl5;
	CovariantRet05.jl5;
        EnumTest5.jl5;
        EnumTest8.jl5;
        Generics44.jl5 (Post, "Xlint");
        Generics45A.jl5 Generics45B.jl5 ;
        Generics46.jl5 (Post, "Xlint");
        Generics47.jl5 (Post, "Xlint");
        Generics48.jl5;
        Generics49.jl5;
        Interface07.jl5 (Post, "Xlint");
        Iterator01.jl5;
        Negate01.jl5;
        Throw01.jl5;
        UnboxBooleans.jl5;
        VarArgs08.jl5 (Post, "Xlint");
        VarArgs09.jl5;
        VarArgs10.jl5;
	Conditional05.jl5;
	Conditional06.jl5;
	Conditional07.jl5 (Semantic, "does not match");
	Conditional08.jl5;
	Conditional09.jl5 (Semantic, "does not match");
	Conditional10.jl5 (Semantic, "does not match");
	Conditional11.jl5;
        Conditional12.jl5;
	CaptureConversion01.jl5 (Post, "Xlint");
        NumericConversion01.jl5 (Semantic, "does not match");
        PermissiveCasts01.jl5 (Semantic, "does not match"),(Semantic, "does not match"),
                              (Semantic, "Cannot cast"),(Semantic, "Cannot cast"),
                              (Semantic, "Cannot cast"),(Semantic, "Cannot cast"),
                              (Semantic, "Cannot cast"),(Semantic, "Cannot cast"),
                              (Semantic, "Cannot cast"),(Semantic, "Cannot cast"),
                              (Semantic, "Cannot cast"),(Semantic, "Cannot cast"),
                              (Semantic, "Cannot cast"),(Semantic, "Cannot cast"),
                              (Semantic, "Cannot cast"),(Semantic, "Cannot cast"),
                              (Semantic, "Cannot cast"),(Semantic, "Cannot cast"),
                              (Semantic, "Cannot cast"),(Semantic, "Cannot cast"),
                              (Semantic, "Cannot cast"),(Semantic, "Cannot cast"),
                              (Semantic, "Cannot cast"),(Semantic, "Cannot cast"),
                              (Semantic, "Cannot cast"),(Semantic, "Cannot cast"),
                              (Semantic, "Cannot cast"),(Semantic, "Cannot cast");
        PermissiveCasts02.jl5 (Semantic, "does not match");
        PermissiveCasts03.jl5 (Semantic, "Cannot cast");
        FinalInit01.jl5;
        Nested01.jl5;
}

# Now run the tests again removing the Java 5-isms.
# This one uses 1.4 to suppress the warning about raw classes.
polyglot.ext.jl5.ExtensionInfo "-d out -classpath java-out -removeJava5isms -enumImplClass MyEnum -assert -noserial -post \"javac -Xlint\\:-options -source 1.4 -target 1.4\" -morepermissiveinference" {
        Assert01.jl5;
        HexFloatingPoint.jl5;
        Generics01.jl5;
        Generics02.jl5;
        Generics03.jl5;
        Generics04.jl5;
        Generics05.jl5;
        Generics06.jl5;
        Generics07.jl5;
        Generics08.jl5;
        Generics09.jl5;
        Generics10.jl5;
        Generics11.jl5;
        Generics12.jl5;
        Generics13.jl5;
        Generics14.jl5;
        Generics15.jl5;
        Generics16.jl5;
        Generics17.jl5;
        Generics18.jl5;
        Generics19.jl5;
        Generics20.jl5 (Semantic);
        Generics21.jl5 (Semantic); 
        Generics22.jl5 (Semantic);
        Generics23.jl5 (Semantic);
        Generics24.jl5 (Semantic, "Wrong number of type parameters"),
                       (Semantic, "Wrong number of type parameters"),
                       (Semantic, "Wrong number of type parameters");
        Generics25.jl5 (Semantic);
        Generics26.jl5;
        Generics27.jl5; 
        Generics28.jl5;
        Generics29.jl5;
        Generics30.jl5 (Semantic);
        Generics31.jl5;
        Generics32.jl5;
        Generics33.jl5 (Semantic);
        Generics34.jl5;
        Generics35.jl5 (Semantic);
        Generics36.jl5;
        Generics37.jl5;
        Generics38.jl5;
        Generics39.jl5;
        Generics40.jl5;
        Generics41.jl5;
        Generics42.jl5;
        Generics43.jl5;
        Boxing01.jl5;
        Boxing02.jl5;
        Boxing03.jl5;
        Boxing04.jl5;
        Boxing05.jl5;
        StaticInit01.jl5;
        InnerClass01.jl5; 
        InnerClass02.jl5;
        InnerClass03.jl5;
        InnerClass04.jl5;
        InnerClass05.jl5 (Semantic);
        InnerClass06.jl5;
        InnerClass07.jl5;
        InnerClass08.jl5;
        InnerClass09.jl5;
        InnerClass10.jl5;
        InnerClass11.jl5;
        InnerClass12.jl5;
        InnerClass13.jl5;
        Access01.jl5;
        Access02.jl5;
        Access03A.jl5  Access03B.jl5;
        Access04A.jl5  Access04B.jl5;
        Anonymous01.jl5;
        Anonymous02.jl5;
        Anonymous03.jl5;
        Interface01.jl5;
        Interface02.jl5;
        Interface03.jl5;
        Interface04.jl5;
        Interface05.jl5;
        Interface06.jl5;
        Intersect01.jl5;
        Intersect02.jl5;
        Intersect03.jl5 (Semantic, "additional bound");
        Intersect04.jl5;
        Import01.jl5;
        Import02.jl5;
        Import03.jl5 (Semantic);
        Import04.jl5 (Semantic);
        Import05.jl5 (Semantic);
        Import06.jl5;
        Import07A.jl5 Import07B.jl5;
        Import08A.jl5 Import08B.jl5;
        Map01.jl5;
        ClassLoad02.jl5;
        Method01.jl5;
        Method02.jl5;
        Method03.jl5;
        Method04.jl5;
        VarArgs01.jl5;
        VarArgs02.jl5;
        VarArgs03.jl5;
        VarArgs04.jl5;
        VarArgs05.jl5;
        VarArgs06.jl5;
        VarArgs07.jl5;
        WildCard01.jl5;
        WildCard02.jl5 (Semantic, "does not match"); 
        WildCard03.jl5;
        WildCard04.jl5;
        WildCard05.jl5;
        TC195.jl5;
        TC12.jl5;
        Call01.jl5;
        ImplicitCast01.jl5;
        Binary01.jl5;
        Binary02.jl5 (Semantic);
        Cast01.jl5;
        Cast02.jl5;
        Cast03.jl5;
        Cast04.jl5;
        Cast05.jl5;
        Conditional01.jl5;
        Conditional02.jl5;
        Conditional03.jl5;
        Conditional04.jl5;
        Constant01.jl5;
        Array.jl5;
        Array2.jl5 (Semantic, "should be declared abstract");
        Array03.jl5;
        Array04.jl5;
        Array05.jl5;
        Array06.jl5;
        Array07.jl5 (Semantic, "reifiable");
        Array08.jl5;
        ArrayInit01.jl5;
        ArrayInit02.jl5;
        ArrayInit03.jl5;
        C.jl5;
        FBoundSub.jl5;
        FBoundSub2.jl5;
        FBoundSub3.jl5;
        FBoundSub4.jl5 (Semantic, "cannot be called with arguments");
        Generic.jl5;
        GenericMethod1.jl5;
        GenericMethod1a.jl5 (Semantic);
        GenericMethod2.jl5 (Semantic);
        GenericMethod3.jl5;
        GenericMethod4.jl5;
        GenericMethod5.jl5;
        GenericMethod5a.jl5 (Semantic);
        GenericMethod7.jl5;
        GenericMethod7a.jl5;
        GenericMethod8.jl5;
        GenericMethod8a.jl5;
        GenericMethod8b.jl5;
        GenericMethod9.jl5;
        GenericMethod9a.jl5 (Semantic);
        GenericMethod9b.jl5;
        GenericMethod10.jl5;
        GenericMethod11.jl5;
        GenericMethod12.jl5 (Semantic), (Semantic);
        GenericMethod13.jl5;
        GenericMethod14.jl5;
        GenericMethod15.jl5;
        InfiniteLoop.jl5;
        Throw02.jl5;
        JLS8.1.2.jl5;
        Lists1.jl5;
        Lists2.jl5;
        Lists3.jl5;
        Lists4.jl5;
        Lists5.jl5;
        Lists6.jl5;
        Lists7.jl5 (Semantic);
        Lists8.jl5 (Semantic);
        Lists9.jl5 (Semantic);
        Nongeneric.jl5;
        NullWrapper.jl5;
        Prim.jl5;
        Simple.jl5;
        SimpleFBoundSub.jl5;
        StringTest.jl5;
        StringTest01.jl5;
        VerySimple.jl5;
        Wildcard1.jl5;
        dotclass.jl5;
        error1.jl5 (Semantic, "should be declared abstract");
        error3.jl5 (Semantic);
        error3b.jl5;
        error3c.jl5 (Semantic, "should be declared abstract");
        error3d.jl5;
        error3e.jl5 (Semantic, "type .* does not match");
        error3f.jl5;
        error3g.jl5;
        error3h.jl5;
        error4.jl5 (Semantic, "type .* does not match");
        error5.jl5 (Semantic, "type .* does not match");
        error6.jl5 (Semantic, "should be declared abstract");
        error7.jl5 (Semantic, "not a subtype");
        exn1.jl5;
        exn2.jl5;
        ExtFor01.jl5;
        ExtFor02.jl5;
        forloop1.jl5 (Semantic, "Incompatible"), (Semantic, "Incompatible");
        forloop1a.jl5;
        forloop1b.jl5 (Semantic, "Incompatible");
        forloop1c.jl5 (Semantic, "Incompatible");
        forwardref1.jl5 (Semantic, "Circular");
        forwardref1a.jl5;
        forwardref1b.jl5 (Semantic);
        forwardref2.jl5 (Semantic, "Circular");
        forwardref3.jl5 (Semantic, "Circular");
        genmethod1.jl5 (Semantic);
        genmethod2.jl5;
        intersection.jl5 (Semantic, "inaccessible"), (Semantic, "inaccessible");
        lookup.jl5;
        raw1.jl5 (Semantic, "should be declared abstract");
        raw2.jl5;
        raw3.jl5 (Semantic, "should be declared abstract");
        raw4.jl5;
        raw5.jl5 (Semantic, "should be declared abstract");
        raw6.jl5  (Semantic, "should be declared abstract");
        raw7.jl5;
        raw8.jl5;
        raw9.jl5;
        simpleFBoundError.jl5 (Semantic);
        test1.jl5;
        test11.jl5;
        test12.jl5;
        test13.jl5;
        test14.jl5;
        test16.jl5;
        test16b.jl5;
        test16c.jl5;
        test17.jl5;
        test18.jl5;
        test2.jl5;
        test3.jl5;
        test4.jl5;
        test5.jl5;
        test6.jl5;
        test7.jl5;
        test8.jl5;
        test9.jl5;
        wildcard2.jl5 (Semantic), (Semantic), (Semantic);
        wildcard2a.jl5;
        wildcard3.jl5;
        wildcard4.jl5 (Semantic, "cannot be called"), (Semantic, "cannot be called"), (Semantic, "does not match");
        wildcard4a.jl5;
        wildcard5.jl5 (Semantic, "cannot be called"), (Semantic, "cannot be called") , (Semantic, "does not match");
        wildcard5a.jl5;
        wildcard6.jl5 (Semantic, "does not match");
        wildcard6a.jl5;
        wildcard7.jl5 (Semantic), (Semantic), (Semantic);
        wildcard7a.jl5;
        wildcard8.jl5 (Semantic);
        wildcard10.jl5 (Semantic, "capture"), (Semantic, "capture"), (Semantic, "does not match"); 
        wildcard11.jl5 (Semantic, "capture"), (Semantic, "capture"), (Semantic, "does not match"), (Semantic, "does not match"), (Semantic, "does not match"); 
        wildcard12a.jl5(Semantic); 
        wildcard12b.jl5(Semantic); 
        wildcard12c.jl5(Semantic); 
        wildcard12d.jl5(Semantic); 
        wildcard12e.jl5; 
        wildcard13a.jl5 (Semantic); 
        wildcard13b.jl5 (Semantic); 
        wildcard13c.jl5 (Semantic); 
        wildcard13d.jl5; 
        wildcard14a.jl5 (Semantic); 
        wildcard14b.jl5 (Semantic); 
        wildcard14c.jl5 (Semantic); 
        wildcard14d.jl5 ; 
        wildcard15.jl5 (Semantic),(Semantic); 
        wildcard16.jl5 (Semantic, "Cannot assign long to");
        wildcard17.jl5 (Semantic),(Semantic),(Semantic); 
        wildcard18.jl5 (Semantic);
        wildcard19.jl5 (Semantic, "not a subtype .* bound") , (Semantic);
        wildcard20.jl5 (Semantic, "cannot be called");
        wildcard21.jl5 (Semantic, "Unexpected type bound");
        wildcard22.jl5;
        wildcard23.jl5;
        wildcard24.jl5;
        RawReturn01.jl5;
        RawReturn02.jl5;
        RawReturn03.jl5 (Semantic);
        RawReturn04.jl5 (Semantic);
        RawReturn05.jl5;
        RawReturn06.jl5;
        RawType01.jl5;
        RawType02.jl5;
        RawType03.jl5 (Semantic);
        RawType04.jl5 (Semantic);
        RawType05.jl5;
        RawType06.jl5 (Semantic);
        RawType07.jl5 (Semantic);
        EnumTest1.jl5;
        EnumTest2.jl5;
        EnumTest3.jl5;
        EnumTest4.jl5;
        EnumTest6.jl5;
        EnumTest7.jl5;
        EnumTest9.jl5;
        EnumTest11.jl5;
        EnumTest12.jl5;
        EnumTest13.jl5;
        EnumTest14.jl5;
        EnumTest15.jl5;
        EnumTest16.jl5;
        EnumTest17.jl5;
        enum1.jl5;
        enum2.jl5;
        ConstructorCall01.jl5;
        Annotations01.jl5;
        Annotations02.jl5;
        Annotations03.jl5 (Semantic, "does not override");
        Annotations04.jl5;
        Annotations05.jl5;
        Annotations06.jl5 (Semantic, "not applicable");
        Annotations07.jl5 (Semantic, "can apply only to method");
        Annotations08.jl5;
        Annotations09.jl5 (Semantic);
        Annotations10.jl5;
        Annotations11.jl5 (Semantic);
        Annotations12.jl5 (Semantic);
        Annotations13.jl5 (Semantic);
        Annotations14A.jl5 Annotations14B.jl5;
        Annotations15.jl5;
        Annotations16.jl5;
        Annotations17.jl5;
        Annotations18.jl5;
        Annotations19.jl5;
        Annotations20.jl5;
        Annotations21.jl5;
        Annotations22.jl5  (Semantic, "not applicable");
        Call02.jl5;
        ClassLoad01.jl5;
        CovariantRet01.jl5;
        CovariantRet02.jl5;
        CovariantRet03.jl5; #Known bug!
        CovariantRet04.jl5; #Known bug!
	CovariantRet05.jl5 (Semantic, "incompatible return");
        EnumTest5.jl5;
        EnumTest8.jl5;
        Generics44.jl5;
        Generics45A.jl5 Generics45B.jl5 ;
        Generics46.jl5 ;
        Generics47.jl5 ;
        Generics48.jl5;
        Generics49.jl5;
        Interface07.jl5;
        Iterator01.jl5;
        Negate01.jl5;
        Throw01.jl5;
        UnboxBooleans.jl5;
        VarArgs08.jl5;
        VarArgs09.jl5;
        VarArgs10.jl5;
	Conditional05.jl5;
	Conditional06.jl5;
	Conditional07.jl5 (Semantic, "does not match");
	Conditional08.jl5;
	Conditional09.jl5 (Semantic, "does not match");
	Conditional10.jl5 (Semantic, "does not match");
	Conditional11.jl5;
        Conditional12.jl5;
	CaptureConversion01.jl5;
        NumericConversion01.jl5 (Semantic, "does not match");
        PermissiveCasts01.jl5 (Semantic, "does not match"),(Semantic, "does not match"),
                              (Semantic, "Cannot cast"),(Semantic, "Cannot cast"),
                              (Semantic, "Cannot cast"),(Semantic, "Cannot cast"),
                              (Semantic, "Cannot cast"),(Semantic, "Cannot cast"),
                              (Semantic, "Cannot cast"),(Semantic, "Cannot cast"),
                              (Semantic, "Cannot cast"),(Semantic, "Cannot cast"),
                              (Semantic, "Cannot cast"),(Semantic, "Cannot cast"),
                              (Semantic, "Cannot cast"),(Semantic, "Cannot cast"),
                              (Semantic, "Cannot cast"),(Semantic, "Cannot cast"),
                              (Semantic, "Cannot cast"),(Semantic, "Cannot cast"),
                              (Semantic, "Cannot cast"),(Semantic, "Cannot cast"),
                              (Semantic, "Cannot cast"),(Semantic, "Cannot cast"),
                              (Semantic, "Cannot cast"),(Semantic, "Cannot cast"),
                              (Semantic, "Cannot cast"),(Semantic, "Cannot cast");
        PermissiveCasts02.jl5 (Semantic, "does not match");
        PermissiveCasts03.jl5 (Semantic, "Cannot cast");
        FinalInit01.jl5;
        Nested01.jl5;
}

polyglot.ext.jl5.ExtensionInfo "-d out -classpath java-out -assert -noserial -post \"javac -Xlint\\:-options -source 1.5\" -morepermissivecasts" {
        NumericConversion01.jl5;
        PermissiveCasts01.jl5;
        PermissiveCasts02.jl5 (Semantic, "does not match");
        PermissiveCasts03.jl5 (Semantic, "Cannot cast");
}

polyglot.ext.jl5.ExtensionInfo "-d out -classpath java-out -removeJava5isms -enumImplClass MyEnum -assert -noserial -post \"javac -Xlint\\:-options -source 1.4\" -morepermissivecasts" {
        NumericConversion01.jl5;
        PermissiveCasts01.jl5;
        PermissiveCasts02.jl5 (Semantic, "does not match");
        PermissiveCasts03.jl5 (Semantic, "Cannot cast");
}

# Use source/target 1.5 since we're expecting CovariantReturn to be allowed
polyglot.ext.jl5.ExtensionInfo "-d out -classpath java-out -removeJava5isms -leaveCovariantReturns -enumImplClass MyEnum -assert -noserial -post \"javac -Xlint\\:-options -source 1.5 -target 1.5\" -morepermissiveinference" {
        CovariantRet01.jl5;
        CovariantRet02.jl5;
        CovariantRet03.jl5;
        CovariantRet04.jl5;
	CovariantRet05.jl5;
}
