diff options
Diffstat (limited to 'tests')
131 files changed, 17659 insertions, 6 deletions
diff --git a/tests/.classpath b/tests/.classpath index 186521200..837601bb8 100644 --- a/tests/.classpath +++ b/tests/.classpath @@ -1,9 +1,12 @@ <?xml version="1.0" encoding="UTF-8"?> <classpath> - <classpathentry kind="src" path="src"/> - <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" sourcepath="JRE_SRC"/> - <classpathentry kind="src" path="/testing-drivers"/> - <classpathentry kind="lib" path="/lib/junit/junit.jar" sourcepath="/lib/junit/junit-src.jar"/> - <classpathentry kind="src" path="/testing"/> - <classpathentry kind="output" path="bin"/> + <classpathentry kind="src" path="src"/> + <classpathentry sourcepath="JRE_SRC" kind="var" path="JRE_LIB"/> + <classpathentry kind="src" path="/testing-drivers"/> + <classpathentry sourcepath="/lib/junit/junit-src.jar" kind="lib" path="/lib/junit/junit.jar"/> + <classpathentry kind="src" path="/testing"/> + <classpathentry kind="src" path="/org.aspectj.ajdt.core"/> + <classpathentry kind="src" path="/util"/> + <classpathentry kind="src" path="/bridge"/> + <classpathentry kind="output" path="bin"/> </classpath> diff --git a/tests/base/OneArgCallsIsOkay.java b/tests/base/test143/OneArgCallsIsOkay.java index c0e7916a7..c0e7916a7 100644 --- a/tests/base/OneArgCallsIsOkay.java +++ b/tests/base/test143/OneArgCallsIsOkay.java diff --git a/tests/new/SuperStaticCallJoinPoint.java b/tests/base/test144/SuperStaticCallJoinPoint.java index 5d75b8955..5d75b8955 100644 --- a/tests/new/SuperStaticCallJoinPoint.java +++ b/tests/base/test144/SuperStaticCallJoinPoint.java diff --git a/tests/bugs/Source14Assert.java b/tests/bugs/Source14Assert.java new file mode 100644 index 000000000..bd19a97f6 --- /dev/null +++ b/tests/bugs/Source14Assert.java @@ -0,0 +1,13 @@ + + +public class Source14Assert { + private void method1() { + try { + invoke(); + } catch (Throwable throwable) { + assert false : throwable; + } + } + private void invoke() {} + public static void main(String[] args) {} +}
\ No newline at end of file diff --git a/tests/doc/allclasses-frame.html b/tests/doc/allclasses-frame.html new file mode 100644 index 000000000..24f0431ae --- /dev/null +++ b/tests/doc/allclasses-frame.html @@ -0,0 +1,32 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.4.2_02) on Wed Aug 04 12:42:26 BST 2004 --> +<TITLE> +All Classes +</TITLE> + + +<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"> + + +</HEAD> + +<BODY BGCOLOR="white"> +<FONT size="+1" CLASS="FrameHeadingFont"> +<B>All Classes</B></FONT> +<BR> + +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="org/aspectj/tools/ajc/CompilationResult.html" title="class in org.aspectj.tools.ajc" target="classFrame">CompilationResult</A> +<BR> +<A HREF="org/aspectj/testing/XMLBasedAjcTestCase.html" title="class in org.aspectj.testing" target="classFrame">XMLBasedAjcTestCase</A> +<BR> +</FONT></TD> +</TR> +</TABLE> + +</BODY> +</HTML> diff --git a/tests/doc/allclasses-noframe.html b/tests/doc/allclasses-noframe.html new file mode 100644 index 000000000..a6cf2e3f8 --- /dev/null +++ b/tests/doc/allclasses-noframe.html @@ -0,0 +1,32 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.4.2_02) on Wed Aug 04 12:42:26 BST 2004 --> +<TITLE> +All Classes +</TITLE> + + +<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"> + + +</HEAD> + +<BODY BGCOLOR="white"> +<FONT size="+1" CLASS="FrameHeadingFont"> +<B>All Classes</B></FONT> +<BR> + +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="org/aspectj/tools/ajc/CompilationResult.html" title="class in org.aspectj.tools.ajc">CompilationResult</A> +<BR> +<A HREF="org/aspectj/testing/XMLBasedAjcTestCase.html" title="class in org.aspectj.testing">XMLBasedAjcTestCase</A> +<BR> +</FONT></TD> +</TR> +</TABLE> + +</BODY> +</HTML> diff --git a/tests/doc/constant-values.html b/tests/doc/constant-values.html new file mode 100644 index 000000000..de9f919dd --- /dev/null +++ b/tests/doc/constant-values.html @@ -0,0 +1,138 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.4.2_02) on Wed Aug 04 12:42:25 BST 2004 --> +<TITLE> +Constant Field Values +</TITLE> + + +<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + parent.document.title="Constant Field Values"; +} +</SCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV + NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html" target="_top"><B>FRAMES</B></A> + <A HREF="constant-values.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H1> +Constant Field Values</H1> +</CENTER> +<HR SIZE="4" NOSHADE> +<B>Contents</B><UL> +</UL> + +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV + NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html" target="_top"><B>FRAMES</B></A> + <A HREF="constant-values.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> + +</BODY> +</HTML> diff --git a/tests/doc/deprecated-list.html b/tests/doc/deprecated-list.html new file mode 100644 index 000000000..9b9966173 --- /dev/null +++ b/tests/doc/deprecated-list.html @@ -0,0 +1,134 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.4.2_02) on Wed Aug 04 12:42:26 BST 2004 --> +<TITLE> +Deprecated List +</TITLE> + + +<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + parent.document.title="Deprecated List"; +} +</SCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Deprecated</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV + NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html" target="_top"><B>FRAMES</B></A> + <A HREF="deprecated-list.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Deprecated API</B></H2> +</CENTER> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Deprecated</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV + NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html" target="_top"><B>FRAMES</B></A> + <A HREF="deprecated-list.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> + +</BODY> +</HTML> diff --git a/tests/doc/help-doc.html b/tests/doc/help-doc.html new file mode 100644 index 000000000..cf0e77139 --- /dev/null +++ b/tests/doc/help-doc.html @@ -0,0 +1,193 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.4.2_02) on Wed Aug 04 12:42:26 BST 2004 --> +<TITLE> +API Help +</TITLE> + + +<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + parent.document.title="API Help"; +} +</SCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Help</B></FONT> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV + NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html" target="_top"><B>FRAMES</B></A> + <A HREF="help-doc.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H1> +How This API Document Is Organized</H1> +</CENTER> +This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.<H3> +Overview</H3> +<BLOCKQUOTE> + +<P> +The <A HREF="overview-summary.html">Overview</A> page is the front page of this API document and provides a list of all packages with a summary for each. This page can also contain an overall description of the set of packages.</BLOCKQUOTE> +<H3> +Package</H3> +<BLOCKQUOTE> + +<P> +Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain four categories:<UL> +<LI>Interfaces (italic)<LI>Classes<LI>Exceptions<LI>Errors</UL> +</BLOCKQUOTE> +<H3> +Class/Interface</H3> +<BLOCKQUOTE> + +<P> +Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:<UL> +<LI>Class inheritance diagram<LI>Direct Subclasses<LI>All Known Subinterfaces<LI>All Known Implementing Classes<LI>Class/interface declaration<LI>Class/interface description +<P> +<LI>Nested Class Summary<LI>Field Summary<LI>Constructor Summary<LI>Method Summary +<P> +<LI>Field Detail<LI>Constructor Detail<LI>Method Detail</UL> +Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.</BLOCKQUOTE> +<H3> +Use</H3> +<BLOCKQUOTE> +Each documented package, class and interface has its own Use page. This page describes what packages, classes, methods, constructors and fields use any part of the given class or package. Given a class or interface A, its Use page includes subclasses of A, fields declared as A, methods that return A, and methods and constructors with parameters of type A. You can access this page by first going to the package, class or interface, then clicking on the "Use" link in the navigation bar.</BLOCKQUOTE> +<H3> +Tree (Class Hierarchy)</H3> +<BLOCKQUOTE> +There is a <A HREF="overview-tree.html">Class Hierarchy</A> page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with <code>java.lang.Object</code>. The interfaces do not inherit from <code>java.lang.Object</code>.<UL> +<LI>When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.<LI>When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.</UL> +</BLOCKQUOTE> +<H3> +Deprecated API</H3> +<BLOCKQUOTE> +The <A HREF="deprecated-list.html">Deprecated API</A> page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.</BLOCKQUOTE> +<H3> +Index</H3> +<BLOCKQUOTE> +The <A HREF="index-files/index-1.html">Index</A> contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.</BLOCKQUOTE> +<H3> +Prev/Next</H3> +These links take you to the next or previous class, interface, package, or related page.<H3> +Frames/No Frames</H3> +These links show and hide the HTML frames. All pages are available with or without frames. +<P> +<H3> +Serialized Form</H3> +Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description. +<P> +<FONT SIZE="-1"> +<EM> +This help file applies to API documentation generated using the standard doclet.</EM> +</FONT> +<BR> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Help</B></FONT> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV + NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html" target="_top"><B>FRAMES</B></A> + <A HREF="help-doc.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> + +</BODY> +</HTML> diff --git a/tests/doc/index-files/index-1.html b/tests/doc/index-files/index-1.html new file mode 100644 index 000000000..1db81a776 --- /dev/null +++ b/tests/doc/index-files/index-1.html @@ -0,0 +1,137 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.4.2_02) on Wed Aug 04 12:42:26 BST 2004 --> +<TITLE> +A-Index +</TITLE> + + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + parent.document.title="A-Index"; +} +</SCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV LETTER + <A HREF="index-2.html"><B>NEXT LETTER</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../index.html" target="_top"><B>FRAMES</B></A> + <A HREF="index-1.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<A HREF="index-1.html">A</A> <A HREF="index-2.html">C</A> <A HREF="index-3.html">G</A> <A HREF="index-4.html">H</A> <A HREF="index-5.html">L</A> <A HREF="index-6.html">O</A> <A HREF="index-7.html">R</A> <A HREF="index-8.html">S</A> <A HREF="index-9.html">T</A> <A HREF="index-10.html">X</A> <HR> +<A NAME="_A_"><!-- --></A><H2> +<B>A</B></H2> +<DL> +<DT><A HREF="../org/aspectj/testing/XMLBasedAjcTestCase.html#addTest(org.aspectj.testing.AjcTest)"><B>addTest(AjcTest)</B></A> - +Method in class org.aspectj.testing.<A HREF="../org/aspectj/testing/XMLBasedAjcTestCase.html" title="class in org.aspectj.testing">XMLBasedAjcTestCase</A> +<DD>For use by the Digester. +</DL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV LETTER + <A HREF="index-2.html"><B>NEXT LETTER</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../index.html" target="_top"><B>FRAMES</B></A> + <A HREF="index-1.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<A HREF="index-1.html">A</A> <A HREF="index-2.html">C</A> <A HREF="index-3.html">G</A> <A HREF="index-4.html">H</A> <A HREF="index-5.html">L</A> <A HREF="index-6.html">O</A> <A HREF="index-7.html">R</A> <A HREF="index-8.html">S</A> <A HREF="index-9.html">T</A> <A HREF="index-10.html">X</A> <HR> + +</BODY> +</HTML> diff --git a/tests/doc/index-files/index-10.html b/tests/doc/index-files/index-10.html new file mode 100644 index 000000000..a77865974 --- /dev/null +++ b/tests/doc/index-files/index-10.html @@ -0,0 +1,138 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.4.2_02) on Wed Aug 04 12:42:26 BST 2004 --> +<TITLE> +X-Index +</TITLE> + + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + parent.document.title="X-Index"; +} +</SCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index-9.html"><B>PREV LETTER</B></A> + NEXT LETTER</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../index.html" target="_top"><B>FRAMES</B></A> + <A HREF="index-10.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<A HREF="index-1.html">A</A> <A HREF="index-2.html">C</A> <A HREF="index-3.html">G</A> <A HREF="index-4.html">H</A> <A HREF="index-5.html">L</A> <A HREF="index-6.html">O</A> <A HREF="index-7.html">R</A> <A HREF="index-8.html">S</A> <A HREF="index-9.html">T</A> <A HREF="index-10.html">X</A> <HR> +<A NAME="_X_"><!-- --></A><H2> +<B>X</B></H2> +<DL> +<DT><A HREF="../org/aspectj/testing/XMLBasedAjcTestCase.html" title="class in org.aspectj.testing"><B>XMLBasedAjcTestCase</B></A> - class org.aspectj.testing.<A HREF="../org/aspectj/testing/XMLBasedAjcTestCase.html" title="class in org.aspectj.testing">XMLBasedAjcTestCase</A>.<DD>Root class for all Test suites that are based on an AspectJ XML test suite + file.<DT><A HREF="../org/aspectj/testing/XMLBasedAjcTestCase.html#XMLBasedAjcTestCase()"><B>XMLBasedAjcTestCase()</B></A> - +Constructor for class org.aspectj.testing.<A HREF="../org/aspectj/testing/XMLBasedAjcTestCase.html" title="class in org.aspectj.testing">XMLBasedAjcTestCase</A> +<DD> +</DL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index-9.html"><B>PREV LETTER</B></A> + NEXT LETTER</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../index.html" target="_top"><B>FRAMES</B></A> + <A HREF="index-10.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<A HREF="index-1.html">A</A> <A HREF="index-2.html">C</A> <A HREF="index-3.html">G</A> <A HREF="index-4.html">H</A> <A HREF="index-5.html">L</A> <A HREF="index-6.html">O</A> <A HREF="index-7.html">R</A> <A HREF="index-8.html">S</A> <A HREF="index-9.html">T</A> <A HREF="index-10.html">X</A> <HR> + +</BODY> +</HTML> diff --git a/tests/doc/index-files/index-2.html b/tests/doc/index-files/index-2.html new file mode 100644 index 000000000..53cab5179 --- /dev/null +++ b/tests/doc/index-files/index-2.html @@ -0,0 +1,138 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.4.2_02) on Wed Aug 04 12:42:26 BST 2004 --> +<TITLE> +C-Index +</TITLE> + + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + parent.document.title="C-Index"; +} +</SCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index-1.html"><B>PREV LETTER</B></A> + <A HREF="index-3.html"><B>NEXT LETTER</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../index.html" target="_top"><B>FRAMES</B></A> + <A HREF="index-2.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<A HREF="index-1.html">A</A> <A HREF="index-2.html">C</A> <A HREF="index-3.html">G</A> <A HREF="index-4.html">H</A> <A HREF="index-5.html">L</A> <A HREF="index-6.html">O</A> <A HREF="index-7.html">R</A> <A HREF="index-8.html">S</A> <A HREF="index-9.html">T</A> <A HREF="index-10.html">X</A> <HR> +<A NAME="_C_"><!-- --></A><H2> +<B>C</B></H2> +<DL> +<DT><A HREF="../org/aspectj/tools/ajc/CompilationResult.html" title="class in org.aspectj.tools.ajc"><B>CompilationResult</B></A> - class org.aspectj.tools.ajc.<A HREF="../org/aspectj/tools/ajc/CompilationResult.html" title="class in org.aspectj.tools.ajc">CompilationResult</A>.<DD>Utility class that makes the results of a compiler run available.<DT><A HREF="../org/aspectj/tools/ajc/CompilationResult.html#CompilationResult(java.lang.String[], java.lang.String, java.lang.String, java.util.List, java.util.List, java.util.List, java.util.List)"><B>CompilationResult(String[], String, String, List, List, List, List)</B></A> - +Constructor for class org.aspectj.tools.ajc.<A HREF="../org/aspectj/tools/ajc/CompilationResult.html" title="class in org.aspectj.tools.ajc">CompilationResult</A> +<DD>Build a compilation result - called by the Ajc.compile and + Ajc.doIncrementalCompile methods. +</DL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index-1.html"><B>PREV LETTER</B></A> + <A HREF="index-3.html"><B>NEXT LETTER</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../index.html" target="_top"><B>FRAMES</B></A> + <A HREF="index-2.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<A HREF="index-1.html">A</A> <A HREF="index-2.html">C</A> <A HREF="index-3.html">G</A> <A HREF="index-4.html">H</A> <A HREF="index-5.html">L</A> <A HREF="index-6.html">O</A> <A HREF="index-7.html">R</A> <A HREF="index-8.html">S</A> <A HREF="index-9.html">T</A> <A HREF="index-10.html">X</A> <HR> + +</BODY> +</HTML> diff --git a/tests/doc/index-files/index-3.html b/tests/doc/index-files/index-3.html new file mode 100644 index 000000000..48820dabf --- /dev/null +++ b/tests/doc/index-files/index-3.html @@ -0,0 +1,161 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.4.2_02) on Wed Aug 04 12:42:26 BST 2004 --> +<TITLE> +G-Index +</TITLE> + + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + parent.document.title="G-Index"; +} +</SCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index-2.html"><B>PREV LETTER</B></A> + <A HREF="index-4.html"><B>NEXT LETTER</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../index.html" target="_top"><B>FRAMES</B></A> + <A HREF="index-3.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<A HREF="index-1.html">A</A> <A HREF="index-2.html">C</A> <A HREF="index-3.html">G</A> <A HREF="index-4.html">H</A> <A HREF="index-5.html">L</A> <A HREF="index-6.html">O</A> <A HREF="index-7.html">R</A> <A HREF="index-8.html">S</A> <A HREF="index-9.html">T</A> <A HREF="index-10.html">X</A> <HR> +<A NAME="_G_"><!-- --></A><H2> +<B>G</B></H2> +<DL> +<DT><A HREF="../org/aspectj/tools/ajc/CompilationResult.html#getArgs()"><B>getArgs()</B></A> - +Method in class org.aspectj.tools.ajc.<A HREF="../org/aspectj/tools/ajc/CompilationResult.html" title="class in org.aspectj.tools.ajc">CompilationResult</A> +<DD>The arguments that were passed to the compiler. +<DT><A HREF="../org/aspectj/testing/XMLBasedAjcTestCase.html#getCurrentTest()"><B>getCurrentTest()</B></A> - +Method in class org.aspectj.testing.<A HREF="../org/aspectj/testing/XMLBasedAjcTestCase.html" title="class in org.aspectj.testing">XMLBasedAjcTestCase</A> +<DD>Get the currently executing test. +<DT><A HREF="../org/aspectj/tools/ajc/CompilationResult.html#getErrorMessages()"><B>getErrorMessages()</B></A> - +Method in class org.aspectj.tools.ajc.<A HREF="../org/aspectj/tools/ajc/CompilationResult.html" title="class in org.aspectj.tools.ajc">CompilationResult</A> +<DD>The error messages produced by the compiler. +<DT><A HREF="../org/aspectj/tools/ajc/CompilationResult.html#getFailMessages()"><B>getFailMessages()</B></A> - +Method in class org.aspectj.tools.ajc.<A HREF="../org/aspectj/tools/ajc/CompilationResult.html" title="class in org.aspectj.tools.ajc">CompilationResult</A> +<DD>The fail or abort messages produced by the compiler. +<DT><A HREF="../org/aspectj/tools/ajc/CompilationResult.html#getInfoMessages()"><B>getInfoMessages()</B></A> - +Method in class org.aspectj.tools.ajc.<A HREF="../org/aspectj/tools/ajc/CompilationResult.html" title="class in org.aspectj.tools.ajc">CompilationResult</A> +<DD>The informational messages produced by the compiler. +<DT><A HREF="../org/aspectj/testing/XMLBasedAjcTestCase.html#getSpecFile()"><B>getSpecFile()</B></A> - +Method in class org.aspectj.testing.<A HREF="../org/aspectj/testing/XMLBasedAjcTestCase.html" title="class in org.aspectj.testing">XMLBasedAjcTestCase</A> +<DD>The file containing the XML specification for the tests. +<DT><A HREF="../org/aspectj/tools/ajc/CompilationResult.html#getStandardError()"><B>getStandardError()</B></A> - +Method in class org.aspectj.tools.ajc.<A HREF="../org/aspectj/tools/ajc/CompilationResult.html" title="class in org.aspectj.tools.ajc">CompilationResult</A> +<DD>The standard error written by the compiler, excluding any messages. +<DT><A HREF="../org/aspectj/tools/ajc/CompilationResult.html#getStandardOutput()"><B>getStandardOutput()</B></A> - +Method in class org.aspectj.tools.ajc.<A HREF="../org/aspectj/tools/ajc/CompilationResult.html" title="class in org.aspectj.tools.ajc">CompilationResult</A> +<DD>The standard output written by the compiler, excluding any messages. +<DT><A HREF="../org/aspectj/tools/ajc/CompilationResult.html#getWarningMessages()"><B>getWarningMessages()</B></A> - +Method in class org.aspectj.tools.ajc.<A HREF="../org/aspectj/tools/ajc/CompilationResult.html" title="class in org.aspectj.tools.ajc">CompilationResult</A> +<DD>The warning messages produced by the compiler. +</DL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index-2.html"><B>PREV LETTER</B></A> + <A HREF="index-4.html"><B>NEXT LETTER</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../index.html" target="_top"><B>FRAMES</B></A> + <A HREF="index-3.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<A HREF="index-1.html">A</A> <A HREF="index-2.html">C</A> <A HREF="index-3.html">G</A> <A HREF="index-4.html">H</A> <A HREF="index-5.html">L</A> <A HREF="index-6.html">O</A> <A HREF="index-7.html">R</A> <A HREF="index-8.html">S</A> <A HREF="index-9.html">T</A> <A HREF="index-10.html">X</A> <HR> + +</BODY> +</HTML> diff --git a/tests/doc/index-files/index-4.html b/tests/doc/index-files/index-4.html new file mode 100644 index 000000000..ce61119e4 --- /dev/null +++ b/tests/doc/index-files/index-4.html @@ -0,0 +1,149 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.4.2_02) on Wed Aug 04 12:42:26 BST 2004 --> +<TITLE> +H-Index +</TITLE> + + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + parent.document.title="H-Index"; +} +</SCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index-3.html"><B>PREV LETTER</B></A> + <A HREF="index-5.html"><B>NEXT LETTER</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../index.html" target="_top"><B>FRAMES</B></A> + <A HREF="index-4.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<A HREF="index-1.html">A</A> <A HREF="index-2.html">C</A> <A HREF="index-3.html">G</A> <A HREF="index-4.html">H</A> <A HREF="index-5.html">L</A> <A HREF="index-6.html">O</A> <A HREF="index-7.html">R</A> <A HREF="index-8.html">S</A> <A HREF="index-9.html">T</A> <A HREF="index-10.html">X</A> <HR> +<A NAME="_H_"><!-- --></A><H2> +<B>H</B></H2> +<DL> +<DT><A HREF="../org/aspectj/tools/ajc/CompilationResult.html#hasErrorMessages()"><B>hasErrorMessages()</B></A> - +Method in class org.aspectj.tools.ajc.<A HREF="../org/aspectj/tools/ajc/CompilationResult.html" title="class in org.aspectj.tools.ajc">CompilationResult</A> +<DD>True if the compiler issued one or more error messages. +<DT><A HREF="../org/aspectj/tools/ajc/CompilationResult.html#hasFailMessages()"><B>hasFailMessages()</B></A> - +Method in class org.aspectj.tools.ajc.<A HREF="../org/aspectj/tools/ajc/CompilationResult.html" title="class in org.aspectj.tools.ajc">CompilationResult</A> +<DD>True if the compiler issued one or more fail or abort messages. +<DT><A HREF="../org/aspectj/tools/ajc/CompilationResult.html#hasInfoMessages()"><B>hasInfoMessages()</B></A> - +Method in class org.aspectj.tools.ajc.<A HREF="../org/aspectj/tools/ajc/CompilationResult.html" title="class in org.aspectj.tools.ajc">CompilationResult</A> +<DD>True if the compiler issued one or more informational messages. +<DT><A HREF="../org/aspectj/tools/ajc/CompilationResult.html#hasMessages()"><B>hasMessages()</B></A> - +Method in class org.aspectj.tools.ajc.<A HREF="../org/aspectj/tools/ajc/CompilationResult.html" title="class in org.aspectj.tools.ajc">CompilationResult</A> +<DD>True if the compiler issued any messages of any kind. +<DT><A HREF="../org/aspectj/tools/ajc/CompilationResult.html#hasWarningMessages()"><B>hasWarningMessages()</B></A> - +Method in class org.aspectj.tools.ajc.<A HREF="../org/aspectj/tools/ajc/CompilationResult.html" title="class in org.aspectj.tools.ajc">CompilationResult</A> +<DD>True if the compiler issued one or more warning messages. +</DL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index-3.html"><B>PREV LETTER</B></A> + <A HREF="index-5.html"><B>NEXT LETTER</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../index.html" target="_top"><B>FRAMES</B></A> + <A HREF="index-4.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<A HREF="index-1.html">A</A> <A HREF="index-2.html">C</A> <A HREF="index-3.html">G</A> <A HREF="index-4.html">H</A> <A HREF="index-5.html">L</A> <A HREF="index-6.html">O</A> <A HREF="index-7.html">R</A> <A HREF="index-8.html">S</A> <A HREF="index-9.html">T</A> <A HREF="index-10.html">X</A> <HR> + +</BODY> +</HTML> diff --git a/tests/doc/index-files/index-5.html b/tests/doc/index-files/index-5.html new file mode 100644 index 000000000..172e8bafb --- /dev/null +++ b/tests/doc/index-files/index-5.html @@ -0,0 +1,138 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.4.2_02) on Wed Aug 04 12:42:26 BST 2004 --> +<TITLE> +L-Index +</TITLE> + + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + parent.document.title="L-Index"; +} +</SCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index-4.html"><B>PREV LETTER</B></A> + <A HREF="index-6.html"><B>NEXT LETTER</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../index.html" target="_top"><B>FRAMES</B></A> + <A HREF="index-5.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<A HREF="index-1.html">A</A> <A HREF="index-2.html">C</A> <A HREF="index-3.html">G</A> <A HREF="index-4.html">H</A> <A HREF="index-5.html">L</A> <A HREF="index-6.html">O</A> <A HREF="index-7.html">R</A> <A HREF="index-8.html">S</A> <A HREF="index-9.html">T</A> <A HREF="index-10.html">X</A> <HR> +<A NAME="_L_"><!-- --></A><H2> +<B>L</B></H2> +<DL> +<DT><A HREF="../org/aspectj/testing/XMLBasedAjcTestCase.html#loadSuite(java.lang.Class)"><B>loadSuite(Class)</B></A> - +Static method in class org.aspectj.testing.<A HREF="../org/aspectj/testing/XMLBasedAjcTestCase.html" title="class in org.aspectj.testing">XMLBasedAjcTestCase</A> +<DD>You must define a suite() method in subclasses, and return + the result of calling this method. +</DL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index-4.html"><B>PREV LETTER</B></A> + <A HREF="index-6.html"><B>NEXT LETTER</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../index.html" target="_top"><B>FRAMES</B></A> + <A HREF="index-5.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<A HREF="index-1.html">A</A> <A HREF="index-2.html">C</A> <A HREF="index-3.html">G</A> <A HREF="index-4.html">H</A> <A HREF="index-5.html">L</A> <A HREF="index-6.html">O</A> <A HREF="index-7.html">R</A> <A HREF="index-8.html">S</A> <A HREF="index-9.html">T</A> <A HREF="index-10.html">X</A> <HR> + +</BODY> +</HTML> diff --git a/tests/doc/index-files/index-6.html b/tests/doc/index-files/index-6.html new file mode 100644 index 000000000..6c4a935bf --- /dev/null +++ b/tests/doc/index-files/index-6.html @@ -0,0 +1,134 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.4.2_02) on Wed Aug 04 12:42:26 BST 2004 --> +<TITLE> +O-Index +</TITLE> + + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + parent.document.title="O-Index"; +} +</SCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index-5.html"><B>PREV LETTER</B></A> + <A HREF="index-7.html"><B>NEXT LETTER</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../index.html" target="_top"><B>FRAMES</B></A> + <A HREF="index-6.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<A HREF="index-1.html">A</A> <A HREF="index-2.html">C</A> <A HREF="index-3.html">G</A> <A HREF="index-4.html">H</A> <A HREF="index-5.html">L</A> <A HREF="index-6.html">O</A> <A HREF="index-7.html">R</A> <A HREF="index-8.html">S</A> <A HREF="index-9.html">T</A> <A HREF="index-10.html">X</A> <HR> +<A NAME="_O_"><!-- --></A><H2> +<B>O</B></H2> +<DL> +<DT><A HREF="../org/aspectj/testing/package-summary.html"><B>org.aspectj.testing</B></A> - package org.aspectj.testing<DD> <DT><A HREF="../org/aspectj/tools/ajc/package-summary.html"><B>org.aspectj.tools.ajc</B></A> - package org.aspectj.tools.ajc<DD> </DL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index-5.html"><B>PREV LETTER</B></A> + <A HREF="index-7.html"><B>NEXT LETTER</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../index.html" target="_top"><B>FRAMES</B></A> + <A HREF="index-6.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<A HREF="index-1.html">A</A> <A HREF="index-2.html">C</A> <A HREF="index-3.html">G</A> <A HREF="index-4.html">H</A> <A HREF="index-5.html">L</A> <A HREF="index-6.html">O</A> <A HREF="index-7.html">R</A> <A HREF="index-8.html">S</A> <A HREF="index-9.html">T</A> <A HREF="index-10.html">X</A> <HR> + +</BODY> +</HTML> diff --git a/tests/doc/index-files/index-7.html b/tests/doc/index-files/index-7.html new file mode 100644 index 000000000..27a33b434 --- /dev/null +++ b/tests/doc/index-files/index-7.html @@ -0,0 +1,138 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.4.2_02) on Wed Aug 04 12:42:26 BST 2004 --> +<TITLE> +R-Index +</TITLE> + + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + parent.document.title="R-Index"; +} +</SCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index-6.html"><B>PREV LETTER</B></A> + <A HREF="index-8.html"><B>NEXT LETTER</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../index.html" target="_top"><B>FRAMES</B></A> + <A HREF="index-7.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<A HREF="index-1.html">A</A> <A HREF="index-2.html">C</A> <A HREF="index-3.html">G</A> <A HREF="index-4.html">H</A> <A HREF="index-5.html">L</A> <A HREF="index-6.html">O</A> <A HREF="index-7.html">R</A> <A HREF="index-8.html">S</A> <A HREF="index-9.html">T</A> <A HREF="index-10.html">X</A> <HR> +<A NAME="_R_"><!-- --></A><H2> +<B>R</B></H2> +<DL> +<DT><A HREF="../org/aspectj/testing/XMLBasedAjcTestCase.html#runTest(java.lang.String)"><B>runTest(String)</B></A> - +Method in class org.aspectj.testing.<A HREF="../org/aspectj/testing/XMLBasedAjcTestCase.html" title="class in org.aspectj.testing">XMLBasedAjcTestCase</A> +<DD>This helper method runs the test with the given title in the + suite spec file. +</DL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index-6.html"><B>PREV LETTER</B></A> + <A HREF="index-8.html"><B>NEXT LETTER</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../index.html" target="_top"><B>FRAMES</B></A> + <A HREF="index-7.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<A HREF="index-1.html">A</A> <A HREF="index-2.html">C</A> <A HREF="index-3.html">G</A> <A HREF="index-4.html">H</A> <A HREF="index-5.html">L</A> <A HREF="index-6.html">O</A> <A HREF="index-7.html">R</A> <A HREF="index-8.html">S</A> <A HREF="index-9.html">T</A> <A HREF="index-10.html">X</A> <HR> + +</BODY> +</HTML> diff --git a/tests/doc/index-files/index-8.html b/tests/doc/index-files/index-8.html new file mode 100644 index 000000000..870b926cf --- /dev/null +++ b/tests/doc/index-files/index-8.html @@ -0,0 +1,137 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.4.2_02) on Wed Aug 04 12:42:26 BST 2004 --> +<TITLE> +S-Index +</TITLE> + + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + parent.document.title="S-Index"; +} +</SCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index-7.html"><B>PREV LETTER</B></A> + <A HREF="index-9.html"><B>NEXT LETTER</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../index.html" target="_top"><B>FRAMES</B></A> + <A HREF="index-8.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<A HREF="index-1.html">A</A> <A HREF="index-2.html">C</A> <A HREF="index-3.html">G</A> <A HREF="index-4.html">H</A> <A HREF="index-5.html">L</A> <A HREF="index-6.html">O</A> <A HREF="index-7.html">R</A> <A HREF="index-8.html">S</A> <A HREF="index-9.html">T</A> <A HREF="index-10.html">X</A> <HR> +<A NAME="_S_"><!-- --></A><H2> +<B>S</B></H2> +<DL> +<DT><A HREF="../org/aspectj/testing/XMLBasedAjcTestCase.html#setUp()"><B>setUp()</B></A> - +Method in class org.aspectj.testing.<A HREF="../org/aspectj/testing/XMLBasedAjcTestCase.html" title="class in org.aspectj.testing">XMLBasedAjcTestCase</A> +<DD> +</DL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index-7.html"><B>PREV LETTER</B></A> + <A HREF="index-9.html"><B>NEXT LETTER</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../index.html" target="_top"><B>FRAMES</B></A> + <A HREF="index-8.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<A HREF="index-1.html">A</A> <A HREF="index-2.html">C</A> <A HREF="index-3.html">G</A> <A HREF="index-4.html">H</A> <A HREF="index-5.html">L</A> <A HREF="index-6.html">O</A> <A HREF="index-7.html">R</A> <A HREF="index-8.html">S</A> <A HREF="index-9.html">T</A> <A HREF="index-10.html">X</A> <HR> + +</BODY> +</HTML> diff --git a/tests/doc/index-files/index-9.html b/tests/doc/index-files/index-9.html new file mode 100644 index 000000000..e85a8b75c --- /dev/null +++ b/tests/doc/index-files/index-9.html @@ -0,0 +1,138 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.4.2_02) on Wed Aug 04 12:42:26 BST 2004 --> +<TITLE> +T-Index +</TITLE> + + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + parent.document.title="T-Index"; +} +</SCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index-8.html"><B>PREV LETTER</B></A> + <A HREF="index-10.html"><B>NEXT LETTER</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../index.html" target="_top"><B>FRAMES</B></A> + <A HREF="index-9.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<A HREF="index-1.html">A</A> <A HREF="index-2.html">C</A> <A HREF="index-3.html">G</A> <A HREF="index-4.html">H</A> <A HREF="index-5.html">L</A> <A HREF="index-6.html">O</A> <A HREF="index-7.html">R</A> <A HREF="index-8.html">S</A> <A HREF="index-9.html">T</A> <A HREF="index-10.html">X</A> <HR> +<A NAME="_T_"><!-- --></A><H2> +<B>T</B></H2> +<DL> +<DT><A HREF="../org/aspectj/tools/ajc/CompilationResult.html#toString()"><B>toString()</B></A> - +Method in class org.aspectj.tools.ajc.<A HREF="../org/aspectj/tools/ajc/CompilationResult.html" title="class in org.aspectj.tools.ajc">CompilationResult</A> +<DD>Returns string containing message count summary, list of messages + by type, and the actual ajc compilation command that was issued. +</DL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index-8.html"><B>PREV LETTER</B></A> + <A HREF="index-10.html"><B>NEXT LETTER</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../index.html" target="_top"><B>FRAMES</B></A> + <A HREF="index-9.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<A HREF="index-1.html">A</A> <A HREF="index-2.html">C</A> <A HREF="index-3.html">G</A> <A HREF="index-4.html">H</A> <A HREF="index-5.html">L</A> <A HREF="index-6.html">O</A> <A HREF="index-7.html">R</A> <A HREF="index-8.html">S</A> <A HREF="index-9.html">T</A> <A HREF="index-10.html">X</A> <HR> + +</BODY> +</HTML> diff --git a/tests/doc/index.html b/tests/doc/index.html new file mode 100644 index 000000000..533347c29 --- /dev/null +++ b/tests/doc/index.html @@ -0,0 +1,26 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc on Wed Aug 04 12:42:26 BST 2004--> +<TITLE> +Generated Documentation (Untitled) +</TITLE> +</HEAD> +<FRAMESET cols="20%,80%"> +<FRAMESET rows="30%,70%"> +<FRAME src="overview-frame.html" name="packageListFrame" title="All Packages"> +<FRAME src="allclasses-frame.html" name="packageFrame" title="All classes and interfaces (except non-static nested types)"> +</FRAMESET> +<FRAME src="overview-summary.html" name="classFrame" title="Package, class and interface descriptions"> +<NOFRAMES> +<H2> +Frame Alert</H2> + +<P> +This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. +<BR> +Link to<A HREF="overview-summary.html">Non-frame version.</A> +</NOFRAMES> +</FRAMESET> +</HTML> diff --git a/tests/doc/org/aspectj/testing/XMLBasedAjcTestCase.html b/tests/doc/org/aspectj/testing/XMLBasedAjcTestCase.html new file mode 100644 index 000000000..6e8784378 --- /dev/null +++ b/tests/doc/org/aspectj/testing/XMLBasedAjcTestCase.html @@ -0,0 +1,449 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.4.2_02) on Wed Aug 04 12:42:26 BST 2004 --> +<TITLE> +XMLBasedAjcTestCase +</TITLE> + +<META NAME="keywords" CONTENT="org.aspectj.testing.XMLBasedAjcTestCase class"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + parent.document.title="XMLBasedAjcTestCase"; +} +</SCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/XMLBasedAjcTestCase.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV CLASS + NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A> + <A HREF="XMLBasedAjcTestCase.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY: <A HREF="#nested_classes_inherited_from_class_org.aspectj.tools.ajc.AjcTestCase">NESTED</A> | <A HREF="#fields_inherited_from_class_org.aspectj.tools.ajc.AjcTestCase">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.aspectj.testing</FONT> +<BR> +Class XMLBasedAjcTestCase</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../resources/inherit.gif" ALT="extended by">junit.framework.Assert + <IMG SRC="../../../resources/inherit.gif" ALT="extended by">junit.framework.TestCase + <IMG SRC="../../../resources/inherit.gif" ALT="extended by">org.aspectj.tools.ajc.AjcTestCase + <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.aspectj.testing.XMLBasedAjcTestCase</B> +</PRE> +<DL> +<DT><B>All Implemented Interfaces:</B> <DD>junit.framework.Test</DD> +</DL> +<HR> +<DL> +<DT>public abstract class <B>XMLBasedAjcTestCase</B><DT>extends org.aspectj.tools.ajc.AjcTestCase</DL> + +<P> +Root class for all Test suites that are based on an AspectJ XML test suite + file. Extends AjcTestCase allowing a mix of programmatic and spec-file + driven testing. See org.aspectj.systemtest.incremental.IncrementalTests for + an example of this mixed style. + <p>The class org.aspectj.testing.MakeTestClass will generate a subclass of + this class for you, given a suite spec. file as input...</p> +<P> + +<P> +<HR> + +<P> +<!-- ======== NESTED CLASS SUMMARY ======== --> + +<A NAME="nested_class_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=2><FONT SIZE="+2"> +<B>Nested Class Summary</B></FONT></TD> +</TR> +</TABLE> + <A NAME="nested_classes_inherited_from_class_org.aspectj.tools.ajc.AjcTestCase"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TD><B>Nested classes inherited from class org.aspectj.tools.ajc.AjcTestCase</B></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>org.aspectj.tools.ajc.AjcTestCase.Message, org.aspectj.tools.ajc.AjcTestCase.MessageSpec, org.aspectj.tools.ajc.AjcTestCase.RunResult</CODE></TD> +</TR> +</TABLE> + +<!-- =========== FIELD SUMMARY =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=2><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TD> +</TR> +</TABLE> + <A NAME="fields_inherited_from_class_org.aspectj.tools.ajc.AjcTestCase"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TD><B>Fields inherited from class org.aspectj.tools.ajc.AjcTestCase</B></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>ajc</CODE></TD> +</TR> +</TABLE> + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=2><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE><B><A HREF="../../../org/aspectj/testing/XMLBasedAjcTestCase.html#XMLBasedAjcTestCase()">XMLBasedAjcTestCase</A></B>()</CODE> + +<BR> + </TD> +</TR> +</TABLE> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=2><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/aspectj/testing/XMLBasedAjcTestCase.html#addTest(org.aspectj.testing.AjcTest)">addTest</A></B>(org.aspectj.testing.AjcTest test)</CODE> + +<BR> + For use by the Digester.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected org.aspectj.testing.AjcTest</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/aspectj/testing/XMLBasedAjcTestCase.html#getCurrentTest()">getCurrentTest</A></B>()</CODE> + +<BR> + Get the currently executing test.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected abstract java.io.File</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/aspectj/testing/XMLBasedAjcTestCase.html#getSpecFile()">getSpecFile</A></B>()</CODE> + +<BR> + The file containing the XML specification for the tests.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static junit.framework.Test</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/aspectj/testing/XMLBasedAjcTestCase.html#loadSuite(java.lang.Class)">loadSuite</A></B>(java.lang.Class testCaseClass)</CODE> + +<BR> + You must define a suite() method in subclasses, and return + the result of calling this method.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/aspectj/testing/XMLBasedAjcTestCase.html#runTest(java.lang.String)">runTest</A></B>(java.lang.String title)</CODE> + +<BR> + This helper method runs the test with the given title in the + suite spec file.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../org/aspectj/testing/XMLBasedAjcTestCase.html#setUp()">setUp</A></B>()</CODE> + +<BR> + </TD> +</TR> +</TABLE> + <A NAME="methods_inherited_from_class_org.aspectj.tools.ajc.AjcTestCase"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TD><B>Methods inherited from class org.aspectj.tools.ajc.AjcTestCase</B></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>ajc, assertMessages, assertMessages, assertNoMessages, assertNoMessages, newMessageList, newMessageList, newMessageList, newMessageList, run, run, setShouldEmptySandbox, tearDown</CODE></TD> +</TR> +</TABLE> + <A NAME="methods_inherited_from_class_junit.framework.TestCase"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TD><B>Methods inherited from class junit.framework.TestCase</B></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>countTestCases, createResult, getName, run, run, runBare, runTest, setName, toString</CODE></TD> +</TR> +</TABLE> + <A NAME="methods_inherited_from_class_junit.framework.Assert"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TD><B>Methods inherited from class junit.framework.Assert</B></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail</CODE></TD> +</TR> +</TABLE> + <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TD><B>Methods inherited from class java.lang.Object</B></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD> +</TR> +</TABLE> + +<P> + +<!-- ============ FIELD DETAIL =========== --> + + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=1><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TD> +</TR> +</TABLE> + +<A NAME="XMLBasedAjcTestCase()"><!-- --></A><H3> +XMLBasedAjcTestCase</H3> +<PRE> +public <B>XMLBasedAjcTestCase</B>()</PRE> +<DL> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=1><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TD> +</TR> +</TABLE> + +<A NAME="loadSuite(java.lang.Class)"><!-- --></A><H3> +loadSuite</H3> +<PRE> +public static junit.framework.Test <B>loadSuite</B>(java.lang.Class testCaseClass)</PRE> +<DL> +<DD>You must define a suite() method in subclasses, and return + the result of calling this method. (Don't you hate static + methods in programming models). For example: + <pre> + public static Test suite() { + return XMLBasedAjcTestCase.loadSuite(MyTestCaseClass.class); + } + </pre> +<P> +<DD><DL> +<DT><B>Parameters:</B><DD><CODE>testCaseClass</CODE> - +<DT><B>Returns:</B><DD></DL> +</DD> +</DL> +<HR> + +<A NAME="getSpecFile()"><!-- --></A><H3> +getSpecFile</H3> +<PRE> +protected abstract java.io.File <B>getSpecFile</B>()</PRE> +<DL> +<DD>The file containing the XML specification for the tests. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="runTest(java.lang.String)"><!-- --></A><H3> +runTest</H3> +<PRE> +protected void <B>runTest</B>(java.lang.String title)</PRE> +<DL> +<DD>This helper method runs the test with the given title in the + suite spec file. All tests steps in given ajc-test execute + in the same sandbox. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getCurrentTest()"><!-- --></A><H3> +getCurrentTest</H3> +<PRE> +protected org.aspectj.testing.AjcTest <B>getCurrentTest</B>()</PRE> +<DL> +<DD>Get the currently executing test. Useful for access to e.g. + AjcTest.getTitle() etc.. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="addTest(org.aspectj.testing.AjcTest)"><!-- --></A><H3> +addTest</H3> +<PRE> +public void <B>addTest</B>(org.aspectj.testing.AjcTest test)</PRE> +<DL> +<DD>For use by the Digester. As the XML document is parsed, it creates instances + of AjcTest objects, which are added to this TestCase by the Digester by + calling this method. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setUp()"><!-- --></A><H3> +setUp</H3> +<PRE> +protected void <B>setUp</B>() + throws java.lang.Exception</PRE> +<DL> +<DD><DL> + +<DT><B>Throws:</B> +<DD><CODE>java.lang.Exception</CODE></DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/XMLBasedAjcTestCase.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV CLASS + NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A> + <A HREF="XMLBasedAjcTestCase.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY: <A HREF="#nested_classes_inherited_from_class_org.aspectj.tools.ajc.AjcTestCase">NESTED</A> | <A HREF="#fields_inherited_from_class_org.aspectj.tools.ajc.AjcTestCase">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> + +</BODY> +</HTML> diff --git a/tests/doc/org/aspectj/testing/class-use/XMLBasedAjcTestCase.html b/tests/doc/org/aspectj/testing/class-use/XMLBasedAjcTestCase.html new file mode 100644 index 000000000..71426868e --- /dev/null +++ b/tests/doc/org/aspectj/testing/class-use/XMLBasedAjcTestCase.html @@ -0,0 +1,136 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.4.2_02) on Wed Aug 04 12:42:26 BST 2004 --> +<TITLE> +Uses of Class org.aspectj.testing.XMLBasedAjcTestCase +</TITLE> + + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + parent.document.title="Uses of Class org.aspectj.testing.XMLBasedAjcTestCase"; +} +</SCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/aspectj/testing/XMLBasedAjcTestCase.html" title="class in org.aspectj.testing"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV + NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A> + <A HREF="XMLBasedAjcTestCase.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.aspectj.testing.XMLBasedAjcTestCase</B></H2> +</CENTER> +No usage of org.aspectj.testing.XMLBasedAjcTestCase +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/aspectj/testing/XMLBasedAjcTestCase.html" title="class in org.aspectj.testing"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV + NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A> + <A HREF="XMLBasedAjcTestCase.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> + +</BODY> +</HTML> diff --git a/tests/doc/org/aspectj/testing/package-frame.html b/tests/doc/org/aspectj/testing/package-frame.html new file mode 100644 index 000000000..1851d3c29 --- /dev/null +++ b/tests/doc/org/aspectj/testing/package-frame.html @@ -0,0 +1,32 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.4.2_02) on Wed Aug 04 12:42:26 BST 2004 --> +<TITLE> +org.aspectj.testing +</TITLE> + +<META NAME="keywords" CONTENT="org.aspectj.testing package"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + + +</HEAD> + +<BODY BGCOLOR="white"> +<FONT size="+1" CLASS="FrameTitleFont"> +<A HREF="../../../org/aspectj/testing/package-summary.html" target="classFrame">org.aspectj.testing</A></FONT> +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont"> +Classes</FONT> +<FONT CLASS="FrameItemFont"> +<BR> +<A HREF="XMLBasedAjcTestCase.html" title="class in org.aspectj.testing" target="classFrame">XMLBasedAjcTestCase</A></FONT></TD> +</TR> +</TABLE> + + +</BODY> +</HTML> diff --git a/tests/doc/org/aspectj/testing/package-summary.html b/tests/doc/org/aspectj/testing/package-summary.html new file mode 100644 index 000000000..9a4cf0188 --- /dev/null +++ b/tests/doc/org/aspectj/testing/package-summary.html @@ -0,0 +1,149 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.4.2_02) on Wed Aug 04 12:42:26 BST 2004 --> +<TITLE> +org.aspectj.testing +</TITLE> + +<META NAME="keywords" CONTENT="org.aspectj.testing package"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + parent.document.title="org.aspectj.testing"; +} +</SCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV PACKAGE + <A HREF="../../../org/aspectj/tools/ajc/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A> + <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<H2> +Package org.aspectj.testing +</H2> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=2><FONT SIZE="+2"> +<B>Class Summary</B></FONT></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../org/aspectj/testing/XMLBasedAjcTestCase.html" title="class in org.aspectj.testing">XMLBasedAjcTestCase</A></B></TD> +<TD>Root class for all Test suites that are based on an AspectJ XML test suite + file.</TD> +</TR> +</TABLE> + + +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV PACKAGE + <A HREF="../../../org/aspectj/tools/ajc/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A> + <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> + +</BODY> +</HTML> diff --git a/tests/doc/org/aspectj/testing/package-tree.html b/tests/doc/org/aspectj/testing/package-tree.html new file mode 100644 index 000000000..22965845d --- /dev/null +++ b/tests/doc/org/aspectj/testing/package-tree.html @@ -0,0 +1,152 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.4.2_02) on Wed Aug 04 12:42:26 BST 2004 --> +<TITLE> +org.aspectj.testing Class Hierarchy +</TITLE> + + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + parent.document.title="org.aspectj.testing Class Hierarchy"; +} +</SCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV + <A HREF="../../../org/aspectj/tools/ajc/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A> + <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +Hierarchy For Package org.aspectj.testing +</H2> +</CENTER> +<DL> +<DT><B>Package Hierarchies:</B><DD><A HREF="../../../overview-tree.html">All Packages</A></DL> +<HR> +<H2> +Class Hierarchy +</H2> +<UL> +<LI TYPE="circle">class java.lang.Object<UL> +<LI TYPE="circle">class junit.framework.Assert<UL> +<LI TYPE="circle">class junit.framework.TestCase (implements junit.framework.Test) +<UL> +<LI TYPE="circle">class org.aspectj.tools.ajc.AjcTestCase<UL> +<LI TYPE="circle">class org.aspectj.testing.<A HREF="../../../org/aspectj/testing/XMLBasedAjcTestCase.html" title="class in org.aspectj.testing"><B>XMLBasedAjcTestCase</B></A></UL> +</UL> +</UL> +<LI TYPE="circle">class org.aspectj.testing.MakeTestClass</UL> +</UL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV + <A HREF="../../../org/aspectj/tools/ajc/package-tree.html"><B>NEXT</B></A></FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A> + <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> + +</BODY> +</HTML> diff --git a/tests/doc/org/aspectj/testing/package-use.html b/tests/doc/org/aspectj/testing/package-use.html new file mode 100644 index 000000000..cdfafd474 --- /dev/null +++ b/tests/doc/org/aspectj/testing/package-use.html @@ -0,0 +1,136 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.4.2_02) on Wed Aug 04 12:42:26 BST 2004 --> +<TITLE> +Uses of Package org.aspectj.testing +</TITLE> + + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + parent.document.title="Uses of Package org.aspectj.testing"; +} +</SCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV + NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A> + <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Package<br>org.aspectj.testing</B></H2> +</CENTER> +No usage of org.aspectj.testing +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV + NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A> + <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> + +</BODY> +</HTML> diff --git a/tests/doc/org/aspectj/tools/ajc/CompilationResult.html b/tests/doc/org/aspectj/tools/ajc/CompilationResult.html new file mode 100644 index 000000000..e725457f9 --- /dev/null +++ b/tests/doc/org/aspectj/tools/ajc/CompilationResult.html @@ -0,0 +1,563 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.4.2_02) on Wed Aug 04 12:42:26 BST 2004 --> +<TITLE> +CompilationResult +</TITLE> + +<META NAME="keywords" CONTENT="org.aspectj.tools.ajc.CompilationResult class"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + parent.document.title="CompilationResult"; +} +</SCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/CompilationResult.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV CLASS + NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A> + <A HREF="CompilationResult.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<!-- ======== START OF CLASS DATA ======== --> +<H2> +<FONT SIZE="-1"> +org.aspectj.tools.ajc</FONT> +<BR> +Class CompilationResult</H2> +<PRE> +java.lang.Object + <IMG SRC="../../../../resources/inherit.gif" ALT="extended by"><B>org.aspectj.tools.ajc.CompilationResult</B> +</PRE> +<HR> +<DL> +<DT>public class <B>CompilationResult</B><DT>extends java.lang.Object</DL> + +<P> +Utility class that makes the results of a compiler run available. + <p> + Instances of this class are returned by the Ajc.compile() and + doIncrementalCompile() methods (and the AjcTestCase.ajc() wrapper). + </p> + <p> + This class provides a useful toString() method that is very helpful when + debugging or creating messages for assert statements. + </p> + <p>Note that the stdOut and stdErr captured from the compiler run do + not contain any rendered messages - these are in the messages lists + instead. Therefore for many compiler runs, they will be empty. + </p> +<P> + +<P> +<HR> + +<P> +<!-- ======== NESTED CLASS SUMMARY ======== --> + + +<!-- =========== FIELD SUMMARY =========== --> + + +<!-- ======== CONSTRUCTOR SUMMARY ======== --> + +<A NAME="constructor_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=2><FONT SIZE="+2"> +<B>Constructor Summary</B></FONT></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected </CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/aspectj/tools/ajc/CompilationResult.html#CompilationResult(java.lang.String[], java.lang.String, java.lang.String, java.util.List, java.util.List, java.util.List, java.util.List)">CompilationResult</A></B>(java.lang.String[] args, + java.lang.String stdOut, + java.lang.String stdErr, + java.util.List infoMessages, + java.util.List errorMessages, + java.util.List warningMessages, + java.util.List failMessages)</CODE> + +<BR> + Build a compilation result - called by the Ajc.compile and + Ajc.doIncrementalCompile methods.</TD> +</TR> +</TABLE> + +<!-- ========== METHOD SUMMARY =========== --> + +<A NAME="method_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=2><FONT SIZE="+2"> +<B>Method Summary</B></FONT></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> java.lang.String[]</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/aspectj/tools/ajc/CompilationResult.html#getArgs()">getArgs</A></B>()</CODE> + +<BR> + The arguments that were passed to the compiler.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> java.util.List</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/aspectj/tools/ajc/CompilationResult.html#getErrorMessages()">getErrorMessages</A></B>()</CODE> + +<BR> + The error messages produced by the compiler.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> java.util.List</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/aspectj/tools/ajc/CompilationResult.html#getFailMessages()">getFailMessages</A></B>()</CODE> + +<BR> + The fail or abort messages produced by the compiler.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> java.util.List</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/aspectj/tools/ajc/CompilationResult.html#getInfoMessages()">getInfoMessages</A></B>()</CODE> + +<BR> + The informational messages produced by the compiler.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> java.lang.String</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/aspectj/tools/ajc/CompilationResult.html#getStandardError()">getStandardError</A></B>()</CODE> + +<BR> + The standard error written by the compiler, excluding any messages.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> java.lang.String</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/aspectj/tools/ajc/CompilationResult.html#getStandardOutput()">getStandardOutput</A></B>()</CODE> + +<BR> + The standard output written by the compiler, excluding any messages.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> java.util.List</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/aspectj/tools/ajc/CompilationResult.html#getWarningMessages()">getWarningMessages</A></B>()</CODE> + +<BR> + The warning messages produced by the compiler.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/aspectj/tools/ajc/CompilationResult.html#hasErrorMessages()">hasErrorMessages</A></B>()</CODE> + +<BR> + True if the compiler issued one or more error messages.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/aspectj/tools/ajc/CompilationResult.html#hasFailMessages()">hasFailMessages</A></B>()</CODE> + +<BR> + True if the compiler issued one or more fail or abort messages.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/aspectj/tools/ajc/CompilationResult.html#hasInfoMessages()">hasInfoMessages</A></B>()</CODE> + +<BR> + True if the compiler issued one or more informational messages.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/aspectj/tools/ajc/CompilationResult.html#hasMessages()">hasMessages</A></B>()</CODE> + +<BR> + True if the compiler issued any messages of any kind.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/aspectj/tools/ajc/CompilationResult.html#hasWarningMessages()">hasWarningMessages</A></B>()</CODE> + +<BR> + True if the compiler issued one or more warning messages.</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> java.lang.String</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../../../org/aspectj/tools/ajc/CompilationResult.html#toString()">toString</A></B>()</CODE> + +<BR> + Returns string containing message count summary, list of messages + by type, and the actual ajc compilation command that was issued.</TD> +</TR> +</TABLE> + <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> +<TD><B>Methods inherited from class java.lang.Object</B></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD> +</TR> +</TABLE> + +<P> + +<!-- ============ FIELD DETAIL =========== --> + + +<!-- ========= CONSTRUCTOR DETAIL ======== --> + +<A NAME="constructor_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=1><FONT SIZE="+2"> +<B>Constructor Detail</B></FONT></TD> +</TR> +</TABLE> + +<A NAME="CompilationResult(java.lang.String[], java.lang.String, java.lang.String, java.util.List, java.util.List, java.util.List, java.util.List)"><!-- --></A><H3> +CompilationResult</H3> +<PRE> +protected <B>CompilationResult</B>(java.lang.String[] args, + java.lang.String stdOut, + java.lang.String stdErr, + java.util.List infoMessages, + java.util.List errorMessages, + java.util.List warningMessages, + java.util.List failMessages)</PRE> +<DL> +<DD>Build a compilation result - called by the Ajc.compile and + Ajc.doIncrementalCompile methods. Should be no need for you + to construct an instance yourself. +<P> +</DL> + +<!-- ============ METHOD DETAIL ========== --> + +<A NAME="method_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=1><FONT SIZE="+2"> +<B>Method Detail</B></FONT></TD> +</TR> +</TABLE> + +<A NAME="getArgs()"><!-- --></A><H3> +getArgs</H3> +<PRE> +public java.lang.String[] <B>getArgs</B>()</PRE> +<DL> +<DD>The arguments that were passed to the compiler. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getStandardOutput()"><!-- --></A><H3> +getStandardOutput</H3> +<PRE> +public java.lang.String <B>getStandardOutput</B>()</PRE> +<DL> +<DD>The standard output written by the compiler, excluding any messages. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getStandardError()"><!-- --></A><H3> +getStandardError</H3> +<PRE> +public java.lang.String <B>getStandardError</B>()</PRE> +<DL> +<DD>The standard error written by the compiler, excluding any messages. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="hasMessages()"><!-- --></A><H3> +hasMessages</H3> +<PRE> +public boolean <B>hasMessages</B>()</PRE> +<DL> +<DD>True if the compiler issued any messages of any kind. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="hasInfoMessages()"><!-- --></A><H3> +hasInfoMessages</H3> +<PRE> +public boolean <B>hasInfoMessages</B>()</PRE> +<DL> +<DD>True if the compiler issued one or more informational messages. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="hasErrorMessages()"><!-- --></A><H3> +hasErrorMessages</H3> +<PRE> +public boolean <B>hasErrorMessages</B>()</PRE> +<DL> +<DD>True if the compiler issued one or more error messages. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="hasWarningMessages()"><!-- --></A><H3> +hasWarningMessages</H3> +<PRE> +public boolean <B>hasWarningMessages</B>()</PRE> +<DL> +<DD>True if the compiler issued one or more warning messages. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="hasFailMessages()"><!-- --></A><H3> +hasFailMessages</H3> +<PRE> +public boolean <B>hasFailMessages</B>()</PRE> +<DL> +<DD>True if the compiler issued one or more fail or abort messages. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="getInfoMessages()"><!-- --></A><H3> +getInfoMessages</H3> +<PRE> +public java.util.List <B>getInfoMessages</B>()</PRE> +<DL> +<DD>The informational messages produced by the compiler. The list + entries are the <code>IMessage</code> objects created during the + compile - so that you can programmatically test source locations + etc. etc.. It may often be easier to use the <code>assertMessages</code> + helper methods defined in the AjcTestCase class to test for messages + though. +<P> +<DD><DL> +<DT><B>See Also:</B><DD><CODE>AjcTestCase</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="getErrorMessages()"><!-- --></A><H3> +getErrorMessages</H3> +<PRE> +public java.util.List <B>getErrorMessages</B>()</PRE> +<DL> +<DD>The error messages produced by the compiler. The list + entries are the <code>IMessage</code> objects created during the + compile - so that you can programmatically test source locations + etc. etc.. It may often be easier to use the <code>assertMessages</code> + helper methods defined in the AjcTestCase class to test for messages + though. +<P> +<DD><DL> +<DT><B>See Also:</B><DD><CODE>AjcTestCase</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="getWarningMessages()"><!-- --></A><H3> +getWarningMessages</H3> +<PRE> +public java.util.List <B>getWarningMessages</B>()</PRE> +<DL> +<DD>The warning messages produced by the compiler. The list + entries are the <code>IMessage</code> objects created during the + compile - so that you can programmatically test source locations + etc. etc.. It may often be easier to use the <code>assertMessages</code> + helper methods defined in the AjcTestCase class to test for messages + though. +<P> +<DD><DL> +<DT><B>See Also:</B><DD><CODE>AjcTestCase</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="getFailMessages()"><!-- --></A><H3> +getFailMessages</H3> +<PRE> +public java.util.List <B>getFailMessages</B>()</PRE> +<DL> +<DD>The fail or abort messages produced by the compiler. The list + entries are the <code>IMessage</code> objects created during the + compile - so that you can programmatically test source locations + etc. etc.. It may often be easier to use the <code>assertMessages</code> + helper methods defined in the AjcTestCase class to test for messages + though. +<P> +<DD><DL> +<DT><B>See Also:</B><DD><CODE>AjcTestCase</CODE></DL> +</DD> +</DL> +<HR> + +<A NAME="toString()"><!-- --></A><H3> +toString</H3> +<PRE> +public java.lang.String <B>toString</B>()</PRE> +<DL> +<DD>Returns string containing message count summary, list of messages + by type, and the actual ajc compilation command that was issued. +<P> +<DD><DL> +</DL> +</DD> +</DL> +<!-- ========= END OF CLASS DATA ========= --> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/CompilationResult.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV CLASS + NEXT CLASS</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A> + <A HREF="CompilationResult.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +<TR> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> + SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> +<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> +DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> + +</BODY> +</HTML> diff --git a/tests/doc/org/aspectj/tools/ajc/class-use/CompilationResult.html b/tests/doc/org/aspectj/tools/ajc/class-use/CompilationResult.html new file mode 100644 index 000000000..0918deeaa --- /dev/null +++ b/tests/doc/org/aspectj/tools/ajc/class-use/CompilationResult.html @@ -0,0 +1,136 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.4.2_02) on Wed Aug 04 12:42:26 BST 2004 --> +<TITLE> +Uses of Class org.aspectj.tools.ajc.CompilationResult +</TITLE> + + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + parent.document.title="Uses of Class org.aspectj.tools.ajc.CompilationResult"; +} +</SCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/aspectj/tools/ajc/CompilationResult.html" title="class in org.aspectj.tools.ajc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV + NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A> + <A HREF="CompilationResult.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Class<br>org.aspectj.tools.ajc.CompilationResult</B></H2> +</CENTER> +No usage of org.aspectj.tools.ajc.CompilationResult +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../org/aspectj/tools/ajc/CompilationResult.html" title="class in org.aspectj.tools.ajc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV + NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A> + <A HREF="CompilationResult.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> + +</BODY> +</HTML> diff --git a/tests/doc/org/aspectj/tools/ajc/package-frame.html b/tests/doc/org/aspectj/tools/ajc/package-frame.html new file mode 100644 index 000000000..914388486 --- /dev/null +++ b/tests/doc/org/aspectj/tools/ajc/package-frame.html @@ -0,0 +1,32 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.4.2_02) on Wed Aug 04 12:42:26 BST 2004 --> +<TITLE> +org.aspectj.tools.ajc +</TITLE> + +<META NAME="keywords" CONTENT="org.aspectj.tools.ajc package"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + + +</HEAD> + +<BODY BGCOLOR="white"> +<FONT size="+1" CLASS="FrameTitleFont"> +<A HREF="../../../../org/aspectj/tools/ajc/package-summary.html" target="classFrame">org.aspectj.tools.ajc</A></FONT> +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont"> +Classes</FONT> +<FONT CLASS="FrameItemFont"> +<BR> +<A HREF="CompilationResult.html" title="class in org.aspectj.tools.ajc" target="classFrame">CompilationResult</A></FONT></TD> +</TR> +</TABLE> + + +</BODY> +</HTML> diff --git a/tests/doc/org/aspectj/tools/ajc/package-summary.html b/tests/doc/org/aspectj/tools/ajc/package-summary.html new file mode 100644 index 000000000..5d4f44f59 --- /dev/null +++ b/tests/doc/org/aspectj/tools/ajc/package-summary.html @@ -0,0 +1,148 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.4.2_02) on Wed Aug 04 12:42:26 BST 2004 --> +<TITLE> +org.aspectj.tools.ajc +</TITLE> + +<META NAME="keywords" CONTENT="org.aspectj.tools.ajc package"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + parent.document.title="org.aspectj.tools.ajc"; +} +</SCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../org/aspectj/testing/package-summary.html"><B>PREV PACKAGE</B></A> + NEXT PACKAGE</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A> + <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<H2> +Package org.aspectj.tools.ajc +</H2> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=2><FONT SIZE="+2"> +<B>Class Summary</B></FONT></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="15%"><B><A HREF="../../../../org/aspectj/tools/ajc/CompilationResult.html" title="class in org.aspectj.tools.ajc">CompilationResult</A></B></TD> +<TD>Utility class that makes the results of a compiler run available.</TD> +</TR> +</TABLE> + + +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../org/aspectj/testing/package-summary.html"><B>PREV PACKAGE</B></A> + NEXT PACKAGE</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A> + <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> + +</BODY> +</HTML> diff --git a/tests/doc/org/aspectj/tools/ajc/package-tree.html b/tests/doc/org/aspectj/tools/ajc/package-tree.html new file mode 100644 index 000000000..ee4f11996 --- /dev/null +++ b/tests/doc/org/aspectj/tools/ajc/package-tree.html @@ -0,0 +1,150 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.4.2_02) on Wed Aug 04 12:42:26 BST 2004 --> +<TITLE> +org.aspectj.tools.ajc Class Hierarchy +</TITLE> + + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + parent.document.title="org.aspectj.tools.ajc Class Hierarchy"; +} +</SCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../org/aspectj/testing/package-tree.html"><B>PREV</B></A> + NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A> + <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +Hierarchy For Package org.aspectj.tools.ajc +</H2> +</CENTER> +<DL> +<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../overview-tree.html">All Packages</A></DL> +<HR> +<H2> +Class Hierarchy +</H2> +<UL> +<LI TYPE="circle">class java.lang.Object<UL> +<LI TYPE="circle">class org.aspectj.tools.ajc.Ajc<LI TYPE="circle">class org.aspectj.tools.ajc.AjcTestCase.Message<LI TYPE="circle">class org.aspectj.tools.ajc.AjcTestCase.MessageSpec<LI TYPE="circle">class org.aspectj.tools.ajc.AjcTestCase.RunResult<LI TYPE="circle">class junit.framework.Assert<UL> +<LI TYPE="circle">class junit.framework.TestCase (implements junit.framework.Test) +<UL> +<LI TYPE="circle">class org.aspectj.tools.ajc.AjcTestCase</UL> +</UL> +<LI TYPE="circle">class org.aspectj.tools.ajc.<A HREF="../../../../org/aspectj/tools/ajc/CompilationResult.html" title="class in org.aspectj.tools.ajc"><B>CompilationResult</B></A></UL> +</UL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../org/aspectj/testing/package-tree.html"><B>PREV</B></A> + NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A> + <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> + +</BODY> +</HTML> diff --git a/tests/doc/org/aspectj/tools/ajc/package-use.html b/tests/doc/org/aspectj/tools/ajc/package-use.html new file mode 100644 index 000000000..a8ee0acb9 --- /dev/null +++ b/tests/doc/org/aspectj/tools/ajc/package-use.html @@ -0,0 +1,163 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.4.2_02) on Wed Aug 04 12:42:26 BST 2004 --> +<TITLE> +Uses of Package org.aspectj.tools.ajc +</TITLE> + + +<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + parent.document.title="Uses of Package org.aspectj.tools.ajc"; +} +</SCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV + NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A> + <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +<B>Uses of Package<br>org.aspectj.tools.ajc</B></H2> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=2><FONT SIZE="+2"> +Packages that use <A HREF="../../../../org/aspectj/tools/ajc/package-summary.html">org.aspectj.tools.ajc</A></FONT></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><A HREF="#org.aspectj.testing"><B>org.aspectj.testing</B></A></TD> +<TD> </TD> +</TR> +</TABLE> + +<P> +<A NAME="org.aspectj.testing"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=2><FONT SIZE="+2"> +Classes in <A HREF="../../../../org/aspectj/tools/ajc/package-summary.html">org.aspectj.tools.ajc</A> used by <A HREF="../../../../org/aspectj/testing/package-summary.html">org.aspectj.testing</A></FONT></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD><B><A HREF="../../../../org/aspectj/tools/ajc/class-use/AjcTestCase.html#org.aspectj.testing"><B>AjcTestCase</B></A></B> + +<BR> + A TestCase class that acts as the superclass for all test cases wishing + to drive the ajc compiler.</TD> +</TR> +</TABLE> + +<P> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV + NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A> + <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> + +</BODY> +</HTML> diff --git a/tests/doc/overview-frame.html b/tests/doc/overview-frame.html new file mode 100644 index 000000000..009b4a6fb --- /dev/null +++ b/tests/doc/overview-frame.html @@ -0,0 +1,44 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.4.2_02) on Wed Aug 04 12:42:26 BST 2004 --> +<TITLE> +Overview +</TITLE> + +<META NAME="keywords" CONTENT="Overview, Writing ajc test cases"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"> + + +</HEAD> + +<BODY BGCOLOR="white"> + +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT size="+1" CLASS="FrameTitleFont"> +<B></B></FONT></TD> +</TR> +</TABLE> + +<TABLE BORDER="0" WIDTH="100%" SUMMARY=""> +<TR> +<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="allclasses-frame.html" target="packageFrame">All Classes</A></FONT> +<P> +<FONT size="+1" CLASS="FrameHeadingFont"> +Packages</FONT> +<BR> +<FONT CLASS="FrameItemFont"><A HREF="org/aspectj/testing/package-frame.html" target="packageFrame">org.aspectj.testing</A></FONT> +<BR> +<FONT CLASS="FrameItemFont"><A HREF="org/aspectj/tools/ajc/package-frame.html" target="packageFrame">org.aspectj.tools.ajc</A></FONT> +<BR> +</TD> +</TR> +</TABLE> + +<P> + +</BODY> +</HTML> diff --git a/tests/doc/overview-summary.html b/tests/doc/overview-summary.html new file mode 100644 index 000000000..ef1d4666d --- /dev/null +++ b/tests/doc/overview-summary.html @@ -0,0 +1,153 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.4.2_02) on Wed Aug 04 12:42:26 BST 2004 --> +<TITLE> +Overview +</TITLE> + +<META NAME="keywords" CONTENT="Overview, Writing ajc test cases"> + +<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + parent.document.title="Overview"; +} +</SCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Overview</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV + NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html" target="_top"><B>FRAMES</B></A> + <A HREF="overview-summary.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H1> +Writing ajc test cases +</H1> +</CENTER> + +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TD COLSPAN=2><FONT SIZE="+2"> +<B>Packages</B></FONT></TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="20%"><B><A HREF="org/aspectj/testing/package-summary.html">org.aspectj.testing</A></B></TD> +<TD> </TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD WIDTH="20%"><B><A HREF="org/aspectj/tools/ajc/package-summary.html">org.aspectj.tools.ajc</A></B></TD> +<TD> </TD> +</TR> +</TABLE> + +<P> + <HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Overview</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV + NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html" target="_top"><B>FRAMES</B></A> + <A HREF="overview-summary.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> + +</BODY> +</HTML> diff --git a/tests/doc/overview-tree.html b/tests/doc/overview-tree.html new file mode 100644 index 000000000..b0a0d97c6 --- /dev/null +++ b/tests/doc/overview-tree.html @@ -0,0 +1,151 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.4.2_02) on Wed Aug 04 12:42:26 BST 2004 --> +<TITLE> +Class Hierarchy +</TITLE> + + +<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"> + +<SCRIPT type="text/javascript"> +function windowTitle() +{ + parent.document.title="Class Hierarchy"; +} +</SCRIPT> + +</HEAD> + +<BODY BGCOLOR="white" onload="windowTitle();"> + + +<!-- ========= START OF TOP NAVBAR ======= --> +<A NAME="navbar_top"><!-- --></A> +<A HREF="#skip-navbar_top" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_top_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV + NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html" target="_top"><B>FRAMES</B></A> + <A HREF="overview-tree.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_top"></A> +<!-- ========= END OF TOP NAVBAR ========= --> + +<HR> +<CENTER> +<H2> +Hierarchy For All Packages</H2> +</CENTER> +<DL> +<DT><B>Package Hierarchies:</B><DD><A HREF="org/aspectj/testing/package-tree.html">org.aspectj.testing</A>, <A HREF="org/aspectj/tools/ajc/package-tree.html">org.aspectj.tools.ajc</A></DL> +<HR> +<H2> +Class Hierarchy +</H2> +<UL> +<LI TYPE="circle">class java.lang.Object<UL> +<LI TYPE="circle">class junit.framework.Assert<UL> +<LI TYPE="circle">class junit.framework.TestCase (implements junit.framework.Test) +<UL> +<LI TYPE="circle">class org.aspectj.tools.ajc.AjcTestCase<UL> +<LI TYPE="circle">class org.aspectj.testing.<A HREF="org/aspectj/testing/XMLBasedAjcTestCase.html" title="class in org.aspectj.testing"><B>XMLBasedAjcTestCase</B></A></UL> +</UL> +</UL> +<LI TYPE="circle">class org.aspectj.tools.ajc.<A HREF="org/aspectj/tools/ajc/CompilationResult.html" title="class in org.aspectj.tools.ajc"><B>CompilationResult</B></A></UL> +</UL> +<HR> + + +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<A NAME="navbar_bottom"><!-- --></A> +<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> +<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> +<TR> +<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> +<A NAME="navbar_bottom_firstrow"><!-- --></A> +<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> + <TR ALIGN="center" VALIGN="top"> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD> + <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> + <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> + </TR> +</TABLE> +</TD> +<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> +</EM> +</TD> +</TR> + +<TR> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + PREV + NEXT</FONT></TD> +<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> + <A HREF="index.html" target="_top"><B>FRAMES</B></A> + <A HREF="overview-tree.html" target="_top"><B>NO FRAMES</B></A> + <SCRIPT type="text/javascript"> + <!-- + if(window==top) { + document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>'); + } + //--> +</SCRIPT> +<NOSCRIPT> + <A HREF="allclasses-noframe.html"><B>All Classes</B></A> +</NOSCRIPT> + +</FONT></TD> +</TR> +</TABLE> +<A NAME="skip-navbar_bottom"></A> +<!-- ======== END OF BOTTOM NAVBAR ======= --> + +<HR> + +</BODY> +</HTML> diff --git a/tests/doc/package-list b/tests/doc/package-list new file mode 100644 index 000000000..4bb843770 --- /dev/null +++ b/tests/doc/package-list @@ -0,0 +1,2 @@ +org.aspectj.testing
+org.aspectj.tools.ajc
diff --git a/tests/doc/packages.html b/tests/doc/packages.html new file mode 100644 index 000000000..fa167eac0 --- /dev/null +++ b/tests/doc/packages.html @@ -0,0 +1,31 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!--NewPage--> +<HTML> +<HEAD> +<!-- Generated by javadoc (build 1.4.2_02) on Wed Aug 04 12:42:26 BST 2004 --> +<TITLE> + +</TITLE> + + +<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"> + + +</HEAD> + +<BODY BGCOLOR="white"> + +<BR> + +<BR> + +<BR> +<CENTER> +The front page has been relocated.Please see: +<BR> + <A HREF="index.html">Frame version</A> +<BR> + <A HREF="overview-summary.html">Non-frame version.</A></CENTER> + +</BODY> +</HTML> diff --git a/tests/doc/resources/inherit.gif b/tests/doc/resources/inherit.gif Binary files differnew file mode 100644 index 000000000..c814867a1 --- /dev/null +++ b/tests/doc/resources/inherit.gif diff --git a/tests/doc/stylesheet.css b/tests/doc/stylesheet.css new file mode 100644 index 000000000..14c3737e8 --- /dev/null +++ b/tests/doc/stylesheet.css @@ -0,0 +1,29 @@ +/* Javadoc style sheet */
+
+/* Define colors, fonts and other style attributes here to override the defaults */
+
+/* Page background color */
+body { background-color: #FFFFFF }
+
+/* Headings */
+h1 { font-size: 145% }
+
+/* Table colors */
+.TableHeadingColor { background: #CCCCFF } /* Dark mauve */
+.TableSubHeadingColor { background: #EEEEFF } /* Light mauve */
+.TableRowColor { background: #FFFFFF } /* White */
+
+/* Font used in left-hand frame lists */
+.FrameTitleFont { font-size: 100%; font-family: Helvetica, Arial, sans-serif }
+.FrameHeadingFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif }
+.FrameItemFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif }
+
+/* Navigation bar fonts and colors */
+.NavBarCell1 { background-color:#EEEEFF;} /* Light mauve */
+.NavBarCell1Rev { background-color:#00008B;} /* Dark Blue */
+.NavBarFont1 { font-family: Arial, Helvetica, sans-serif; color:#000000;}
+.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;}
+
+.NavBarCell2 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
+.NavBarCell3 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
+
diff --git a/tests/incrementalju/defaultPackage/changes/Main.20.java b/tests/incrementalju/defaultPackage/changes/Main.20.java new file mode 100644 index 000000000..ad7e80c40 --- /dev/null +++ b/tests/incrementalju/defaultPackage/changes/Main.20.java @@ -0,0 +1,7 @@ + + +public class Main { + public static void main(String[] args) { + lib.Lib.f(); // bug: unable to resolve lib.Lib after change + } +} diff --git a/tests/incrementalju/defaultPackage/src/Main.java b/tests/incrementalju/defaultPackage/src/Main.java new file mode 100644 index 000000000..2d48a5793 --- /dev/null +++ b/tests/incrementalju/defaultPackage/src/Main.java @@ -0,0 +1,7 @@ + + +public class Main { + public static void main(String[] args) { + lib.Lib.f(); + } +} diff --git a/tests/incrementalju/defaultPackage/src/lib/Lib.java b/tests/incrementalju/defaultPackage/src/lib/Lib.java new file mode 100644 index 000000000..8ac8a0172 --- /dev/null +++ b/tests/incrementalju/defaultPackage/src/lib/Lib.java @@ -0,0 +1,9 @@ + +package lib; + +public class Lib { + public static void main(String[] args) { + } + public static void f(){} +} + diff --git a/tests/incrementalju/full-rebuild/changes/Aspect.20.java b/tests/incrementalju/full-rebuild/changes/Aspect.20.java new file mode 100644 index 000000000..94367bb64 --- /dev/null +++ b/tests/incrementalju/full-rebuild/changes/Aspect.20.java @@ -0,0 +1,4 @@ + +public aspect Aspect { + declare warning : execution(static void main(String[])): "dw"; +}
\ No newline at end of file diff --git a/tests/incrementalju/initialTests/aspectSourceAdded/changes/Detour.20.java b/tests/incrementalju/initialTests/aspectSourceAdded/changes/Detour.20.java new file mode 100644 index 000000000..4cc707b99 --- /dev/null +++ b/tests/incrementalju/initialTests/aspectSourceAdded/changes/Detour.20.java @@ -0,0 +1,7 @@ +public aspect Detour { + + void around() : execution(* Main.main(..)) { + System.out.println("Main class successfully woven"); + } + +}
\ No newline at end of file diff --git a/tests/incrementalju/initialTests/aspectSourceAdded/src/Main.java b/tests/incrementalju/initialTests/aspectSourceAdded/src/Main.java new file mode 100644 index 000000000..7c85f90c2 --- /dev/null +++ b/tests/incrementalju/initialTests/aspectSourceAdded/src/Main.java @@ -0,0 +1,9 @@ +import org.aspectj.testing.Tester; + +public class Main { + + public static void main(String[] args) { + Tester.checkFailed("Incremental compilation did not appear to (re)weave Main"); + } + +}
\ No newline at end of file diff --git a/tests/incrementalju/initialTests/classAdded/src.20/main/Main.java b/tests/incrementalju/initialTests/classAdded/src.20/main/Main.java new file mode 100644 index 000000000..aae295f7f --- /dev/null +++ b/tests/incrementalju/initialTests/classAdded/src.20/main/Main.java @@ -0,0 +1,11 @@ +package main; + +public class Main { + public static void main (String[] args) { + new Target().run(); + } +} + +class Target { + void run() {} +} diff --git a/tests/incrementalju/initialTests/classAdded/src/main/Main.java b/tests/incrementalju/initialTests/classAdded/src/main/Main.java new file mode 100644 index 000000000..185ed42bf --- /dev/null +++ b/tests/incrementalju/initialTests/classAdded/src/main/Main.java @@ -0,0 +1,7 @@ + +package main; + +public class Main { + public static void main (String[] args) { + } +} diff --git a/tests/incrementalju/initialTests/classRemoved/src.20/main/Main.java b/tests/incrementalju/initialTests/classRemoved/src.20/main/Main.java new file mode 100644 index 000000000..dbe5d38ca --- /dev/null +++ b/tests/incrementalju/initialTests/classRemoved/src.20/main/Main.java @@ -0,0 +1,8 @@ + +package main; + +public class Main { + public static void main (String[] args) { + } +} + diff --git a/tests/incrementalju/initialTests/classRemoved/src/main/Main.java b/tests/incrementalju/initialTests/classRemoved/src/main/Main.java new file mode 100644 index 000000000..aae295f7f --- /dev/null +++ b/tests/incrementalju/initialTests/classRemoved/src/main/Main.java @@ -0,0 +1,11 @@ +package main; + +public class Main { + public static void main (String[] args) { + new Target().run(); + } +} + +class Target { + void run() {} +} diff --git a/tests/incrementalju/initialTests/classUpdated/src.20/main/Main.java b/tests/incrementalju/initialTests/classUpdated/src.20/main/Main.java new file mode 100644 index 000000000..d0b9d37b4 --- /dev/null +++ b/tests/incrementalju/initialTests/classUpdated/src.20/main/Main.java @@ -0,0 +1,8 @@ +package main; + +public class Main { + public static void main (String[] args) { + new Main().run(); + } + void run() {} +} diff --git a/tests/incrementalju/initialTests/classUpdated/src/main/Main.java b/tests/incrementalju/initialTests/classUpdated/src/main/Main.java new file mode 100644 index 000000000..185ed42bf --- /dev/null +++ b/tests/incrementalju/initialTests/classUpdated/src/main/Main.java @@ -0,0 +1,7 @@ + +package main; + +public class Main { + public static void main (String[] args) { + } +} diff --git a/tests/incrementalju/initialTests/classWAroundClosureRemoved/src/AdviceOnIntroduced.java b/tests/incrementalju/initialTests/classWAroundClosureRemoved/src/AdviceOnIntroduced.java new file mode 100644 index 000000000..4da93f0ca --- /dev/null +++ b/tests/incrementalju/initialTests/classWAroundClosureRemoved/src/AdviceOnIntroduced.java @@ -0,0 +1,26 @@ +import org.aspectj.testing.Tester; + +public aspect AdviceOnIntroduced { + public static void main(String[] args) { test(); } + + public static void test() { + Tester.checkEqual(new Foo(10).foo(5), 6, "foo"); + } + + int Foo.foo(int n) { return n; } + Foo.new(int w) {} + + int around(int n): + within(AdviceOnIntroduced) && + (args(n) && execution(int foo(int))) { + int result = proceed(n); + return result+1; + } + + before(): within(Foo) && execution(new(..)) { + //System.out.println("before new"); + } +} + +class Foo { +} diff --git a/tests/incrementalju/initialTests/classWAroundClosureRemoved/src/Main.java b/tests/incrementalju/initialTests/classWAroundClosureRemoved/src/Main.java new file mode 100644 index 000000000..7c85f90c2 --- /dev/null +++ b/tests/incrementalju/initialTests/classWAroundClosureRemoved/src/Main.java @@ -0,0 +1,9 @@ +import org.aspectj.testing.Tester; + +public class Main { + + public static void main(String[] args) { + Tester.checkFailed("Incremental compilation did not appear to (re)weave Main"); + } + +}
\ No newline at end of file diff --git a/tests/incrementalju/initialTests/defaultPackage/changes/Main.30.java b/tests/incrementalju/initialTests/defaultPackage/changes/Main.30.java new file mode 100644 index 000000000..a46687d78 --- /dev/null +++ b/tests/incrementalju/initialTests/defaultPackage/changes/Main.30.java @@ -0,0 +1,8 @@ + +// default package + +public class Main { + public static void main (String[] args) { + new Target().run(); + } +} diff --git a/tests/incrementalju/initialTests/defaultPackage/changes/Main.50.java b/tests/incrementalju/initialTests/defaultPackage/changes/Main.50.java new file mode 100644 index 000000000..7616df98c --- /dev/null +++ b/tests/incrementalju/initialTests/defaultPackage/changes/Main.50.java @@ -0,0 +1,7 @@ + +// default package + +public class Main { + public static void main (String[] args) { + } +} diff --git a/tests/incrementalju/initialTests/defaultPackage/changes/Target.20.java b/tests/incrementalju/initialTests/defaultPackage/changes/Target.20.java new file mode 100644 index 000000000..d67b06569 --- /dev/null +++ b/tests/incrementalju/initialTests/defaultPackage/changes/Target.20.java @@ -0,0 +1,9 @@ + +// default package + +public class Target { + public static void main(String[] args) { + new Target().run(); + } + void run() {} +} diff --git a/tests/incrementalju/initialTests/defaultPackage/changes/Target.delete.40.java b/tests/incrementalju/initialTests/defaultPackage/changes/Target.delete.40.java new file mode 100644 index 000000000..187c8a8e6 --- /dev/null +++ b/tests/incrementalju/initialTests/defaultPackage/changes/Target.delete.40.java @@ -0,0 +1,2 @@ + +// delete this file
\ No newline at end of file diff --git a/tests/incrementalju/initialTests/defaultPackage/src/Main.java b/tests/incrementalju/initialTests/defaultPackage/src/Main.java new file mode 100644 index 000000000..66b7433e4 --- /dev/null +++ b/tests/incrementalju/initialTests/defaultPackage/src/Main.java @@ -0,0 +1,7 @@ + +// default package + +public class Main { + public static void main (String[] args) { + } +} diff --git a/tests/incrementalju/initialTests/sourceAdded/src.20/main/Target.java b/tests/incrementalju/initialTests/sourceAdded/src.20/main/Target.java new file mode 100644 index 000000000..985587eec --- /dev/null +++ b/tests/incrementalju/initialTests/sourceAdded/src.20/main/Target.java @@ -0,0 +1,9 @@ +package main; + +import org.aspectj.testing.Tester; + +public class Target { + void run() { + Tester.event("Target.run()"); + } +} diff --git a/tests/incrementalju/initialTests/sourceAdded/src.30/main/Main.java b/tests/incrementalju/initialTests/sourceAdded/src.30/main/Main.java new file mode 100644 index 000000000..59564d39c --- /dev/null +++ b/tests/incrementalju/initialTests/sourceAdded/src.30/main/Main.java @@ -0,0 +1,12 @@ + +package main; + +import org.aspectj.testing.Tester; + +public class Main { + public static void main (String[] args) { + new Target().run(); + Tester.expectEvent("Target.run()"); + Tester.checkAllEvents(); + } +} diff --git a/tests/incrementalju/initialTests/sourceAdded/src/main/Main.java b/tests/incrementalju/initialTests/sourceAdded/src/main/Main.java new file mode 100644 index 000000000..185ed42bf --- /dev/null +++ b/tests/incrementalju/initialTests/sourceAdded/src/main/Main.java @@ -0,0 +1,7 @@ + +package main; + +public class Main { + public static void main (String[] args) { + } +} diff --git a/tests/incrementalju/initialTests/sourceDeleted/src.30/delete/Target.java b/tests/incrementalju/initialTests/sourceDeleted/src.30/delete/Target.java new file mode 100644 index 000000000..1678b7055 --- /dev/null +++ b/tests/incrementalju/initialTests/sourceDeleted/src.30/delete/Target.java @@ -0,0 +1,7 @@ + +package delete; + +public class Target { + static void run() { + } +} diff --git a/tests/incrementalju/initialTests/sourceDeleted/src/delete/DeleteMe.java b/tests/incrementalju/initialTests/sourceDeleted/src/delete/DeleteMe.java new file mode 100644 index 000000000..9057235ff --- /dev/null +++ b/tests/incrementalju/initialTests/sourceDeleted/src/delete/DeleteMe.java @@ -0,0 +1,7 @@ + +package delete; + +public class DeleteMe { + static void run() { + } +} diff --git a/tests/incrementalju/initialTests/sourceDeleted/src/delete/Main.java b/tests/incrementalju/initialTests/sourceDeleted/src/delete/Main.java new file mode 100644 index 000000000..e180e46c8 --- /dev/null +++ b/tests/incrementalju/initialTests/sourceDeleted/src/delete/Main.java @@ -0,0 +1,8 @@ + +package delete; + +public class Main { + public static void main(String[] args) { + Target.run(); + } +} diff --git a/tests/incrementalju/initialTests/sourceDeleted/src/delete/Target.java b/tests/incrementalju/initialTests/sourceDeleted/src/delete/Target.java new file mode 100644 index 000000000..a19401904 --- /dev/null +++ b/tests/incrementalju/initialTests/sourceDeleted/src/delete/Target.java @@ -0,0 +1,8 @@ + +package delete; + +public class Target { + static void run() { + DeleteMe.run(); // CE 6 after DeleteMe deleted + } +} diff --git a/tests/incrementalju/interPackage/changes/Main.20.java b/tests/incrementalju/interPackage/changes/Main.20.java new file mode 100644 index 000000000..085cf6f90 --- /dev/null +++ b/tests/incrementalju/interPackage/changes/Main.20.java @@ -0,0 +1,8 @@ + +package app; + +public class Main { + public static void main(String[] args) { + lib.Lib.f(); // bug: unable to resolve lib.Lib after change + } +} diff --git a/tests/incrementalju/interPackage/src/app/Main.java b/tests/incrementalju/interPackage/src/app/Main.java new file mode 100644 index 000000000..c114a1c7e --- /dev/null +++ b/tests/incrementalju/interPackage/src/app/Main.java @@ -0,0 +1,8 @@ + +package app; + +public class Main { + public static void main(String[] args) { + lib.Lib.f(); + } +} diff --git a/tests/incrementalju/interPackage/src/lib/Lib.java b/tests/incrementalju/interPackage/src/lib/Lib.java new file mode 100644 index 000000000..8ac8a0172 --- /dev/null +++ b/tests/incrementalju/interPackage/src/lib/Lib.java @@ -0,0 +1,9 @@ + +package lib; + +public class Lib { + public static void main(String[] args) { + } + public static void f(){} +} + diff --git a/tests/incrementalju/stringliteral/changes/Main.20.java b/tests/incrementalju/stringliteral/changes/Main.20.java new file mode 100644 index 000000000..b2848f051 --- /dev/null +++ b/tests/incrementalju/stringliteral/changes/Main.20.java @@ -0,0 +1,16 @@ + +package packageOne; + +import org.aspectj.testing.Tester; + +public class Main { + public static void main(String[] args) { + for (int i = 0; i < args.length; i++) { + Tester.expectEvent(args[i]); + } + Tester.event("in longer packageOne.Main.main(..)"); + Tester.checkAllEvents(); + } +} + + diff --git a/tests/incrementalju/stringliteral/oneInjar.jar b/tests/incrementalju/stringliteral/oneInjar.jar Binary files differnew file mode 100644 index 000000000..44eaf54bd --- /dev/null +++ b/tests/incrementalju/stringliteral/oneInjar.jar diff --git a/tests/incrementalju/stringliteral/src/TraceMains.java b/tests/incrementalju/stringliteral/src/TraceMains.java new file mode 100644 index 000000000..a2e7f9a39 --- /dev/null +++ b/tests/incrementalju/stringliteral/src/TraceMains.java @@ -0,0 +1,18 @@ + +import org.aspectj.testing.Tester; +import org.aspectj.lang.JoinPoint; + +public aspect TraceMains { + private static String className(JoinPoint.StaticPart jp) { + return jp.getSignature().getDeclaringType().getName(); + } + before() : execution(static void main(String[])) { + Tester.event("before main " + className(thisJoinPointStaticPart)); + } + // this event is submitted after the Tester does its check, + // so it is ignored. + after() returning: execution(static void main(String[])) { + Tester.event("after main " + className(thisJoinPointStaticPart)); + } + +}
\ No newline at end of file diff --git a/tests/incrementalju/stringliteral/src/packageOne/Main.java b/tests/incrementalju/stringliteral/src/packageOne/Main.java new file mode 100644 index 000000000..d8315399f --- /dev/null +++ b/tests/incrementalju/stringliteral/src/packageOne/Main.java @@ -0,0 +1,15 @@ + +package packageOne; + +import org.aspectj.testing.Tester; + +public class Main { + public static void main(String[] args) { + for (int i = 0; i < args.length; i++) { + Tester.expectEvent(args[i]); + } + Tester.event("in packageOne.Main.main(..)"); + Tester.checkAllEvents(); + } +} + diff --git a/tests/incrementalju/stringliteral/twoInjar.jar b/tests/incrementalju/stringliteral/twoInjar.jar Binary files differnew file mode 100644 index 000000000..061a757a2 --- /dev/null +++ b/tests/incrementalju/stringliteral/twoInjar.jar diff --git a/tests/base/test117/Driver.java b/tests/knownLimitations/test117/Driver.java index c8cf1a2b3..c8cf1a2b3 100644 --- a/tests/base/test117/Driver.java +++ b/tests/knownLimitations/test117/Driver.java diff --git a/tests/base/test117/Readme.txt b/tests/knownLimitations/test117/Readme.txt index 51d75a7c3..51d75a7c3 100644 --- a/tests/base/test117/Readme.txt +++ b/tests/knownLimitations/test117/Readme.txt diff --git a/tests/base/test120/Driver.java b/tests/pureJava/test120/Driver.java index 14bf33201..14bf33201 100644 --- a/tests/base/test120/Driver.java +++ b/tests/pureJava/test120/Driver.java diff --git a/tests/base/test120/Readme.txt b/tests/pureJava/test120/Readme.txt index 351d8d6e5..351d8d6e5 100644 --- a/tests/base/test120/Readme.txt +++ b/tests/pureJava/test120/Readme.txt diff --git a/tests/base/test126/Driver.java b/tests/pureJava/test126/Driver.java index e855c5781..e855c5781 100644 --- a/tests/base/test126/Driver.java +++ b/tests/pureJava/test126/Driver.java diff --git a/tests/base/test126/Readme.txt b/tests/pureJava/test126/Readme.txt index b4b666098..b4b666098 100644 --- a/tests/base/test126/Readme.txt +++ b/tests/pureJava/test126/Readme.txt diff --git a/tests/base/test133/Driver.java b/tests/pureJava/test133/Driver.java index 1f1b1f7ab..1f1b1f7ab 100644 --- a/tests/base/test133/Driver.java +++ b/tests/pureJava/test133/Driver.java diff --git a/tests/src/org/aspectj/systemtest/AllTests.java b/tests/src/org/aspectj/systemtest/AllTests.java new file mode 100644 index 000000000..21a2ea5bb --- /dev/null +++ b/tests/src/org/aspectj/systemtest/AllTests.java @@ -0,0 +1,55 @@ +/* + * Created on 03-Aug-2004 + * + * TODO To change the template for this generated file go to + * Window - Preferences - Java - Code Style - Code Templates + */ +package org.aspectj.systemtest; + +import org.aspectj.systemtest.ajc10x.Ajc10xTests; +import org.aspectj.systemtest.ajc11.Ajc11Tests; +import org.aspectj.systemtest.ajc120.Ajc120Tests; +import org.aspectj.systemtest.ajc121.Ajc121Tests; +import org.aspectj.systemtest.aspectpath.AspectPathTests; +import org.aspectj.systemtest.base.BaseTests; +import org.aspectj.systemtest.design.DesignTests; +import org.aspectj.systemtest.incremental.IncrementalTests; +import org.aspectj.systemtest.inpath.InPathTests; +import org.aspectj.systemtest.options.OptionsTests; +import org.aspectj.systemtest.pre10x.AjcPre10xTests; +import org.aspectj.systemtest.serialVerUID.SUIDTests; +import org.aspectj.systemtest.xlint.XLintTests; + +import junit.framework.Test; +import junit.framework.TestSuite; + +/** + * @author colyer + * + * TODO To change the template for this generated type comment go to + * Window - Preferences - Java - Code Style - Code Templates + */ +public class AllTests { + + public static Test suite() { + TestSuite suite = new TestSuite("AspectJ System Test Suite - JDK 1.3"); + //$JUnit-BEGIN$ + suite.addTest(Ajc121Tests.suite()); + suite.addTest(Ajc120Tests.suite()); + suite.addTest(Ajc11Tests.suite()); + suite.addTest(Ajc10xTests.suite()); + suite.addTest(AspectPathTests.suite()); + suite.addTest(InPathTests.suite()); + suite.addTest(BaseTests.suite()); + suite.addTest(DesignTests.suite()); + suite.addTest(IncrementalTests.suite()); + //suite.addTest(KnownLimitationsTests.class); + suite.addTest(OptionsTests.suite()); + suite.addTest(AjcPre10xTests.suite()); + //suite.addTest(PureJavaTests.class); + suite.addTest(SUIDTests.suite()); + suite.addTest(XLintTests.suite()); + //$JUnit-END$ + return suite; + } +} diff --git a/tests/src/org/aspectj/systemtest/AllTests14.java b/tests/src/org/aspectj/systemtest/AllTests14.java new file mode 100644 index 000000000..da97c7337 --- /dev/null +++ b/tests/src/org/aspectj/systemtest/AllTests14.java @@ -0,0 +1,30 @@ +/* + * Created on 03-Aug-2004 + * + * TODO To change the template for this generated file go to + * Window - Preferences - Java - Code Style - Code Templates + */ +package org.aspectj.systemtest; + +import org.aspectj.systemtest.java14.Java14Tests; + +import junit.framework.Test; +import junit.framework.TestSuite; + +/** + * @author colyer + * + * TODO To change the template for this generated type comment go to + * Window - Preferences - Java - Code Style - Code Templates + */ +public class AllTests14 { + + public static Test suite() { + TestSuite suite = new TestSuite("AspectJ System Test Suite - JDK 1.4"); + //$JUnit-BEGIN$ + suite.addTest(AllTests.suite()); + suite.addTest(Java14Tests.suite()); + //$JUnit-END$ + return suite; + } +} diff --git a/tests/src/org/aspectj/systemtest/ajc10x/Ajc10xTests.java b/tests/src/org/aspectj/systemtest/ajc10x/Ajc10xTests.java new file mode 100644 index 000000000..cd63392c8 --- /dev/null +++ b/tests/src/org/aspectj/systemtest/ajc10x/Ajc10xTests.java @@ -0,0 +1,1165 @@ +/* ******************************************************************* + * Copyright (c) 2004 IBM Corporation + * All rights reserved. + * This program and the accompanying materials are made available + * under the terms of the Common Public License v1.0 + * which accompanies this distribution and is available at + * http://www.eclipse.org/legal/cpl-v10.html + * + * ******************************************************************/ +package org.aspectj.systemtest.ajc10x; + +import java.io.File; +import junit.framework.Test; +import org.aspectj.testing.XMLBasedAjcTestCase; + +public class Ajc10xTests extends org.aspectj.testing.XMLBasedAjcTestCase { + + public static Test suite() { + return XMLBasedAjcTestCase.loadSuite(Ajc10xTests.class); + } + + protected File getSpecFile() { + return new File("../tests/src/org/aspectj/systemtest/ajc10x/ajc10x.xml"); + } + + + public void test001(){ + runTest("properly make choice between cast and parenthesis in parser"); + } + + public void test002(){ + runTest("field from implemented interface not found in advice"); + } + + public void test003(){ + runTest("make sure advice affects introduced methods and constructors"); + } + + public void test004(){ + runTest("new around construct"); + } + + public void test005(){ + runTest("aspect redefines a parameter"); + } + + public void test006(){ + runTest("introducing extends and implements"); + } + + public void test007(){ + runTest("(related) aspect on interface"); + } + + public void test008(){ + runTest("advice and package visibility"); + } + + public void test009(){ + runTest("advice and package visibility"); + } + + public void test010(){ + runTest("advice on implied empty constructor"); + } + + public void test011(){ + runTest("advice on * *(..) not mapping to initializers"); + } + + public void test012(){ + runTest("three type declarations in the scope of an advice"); + } + + public void test013(){ + runTest("introduction fails on class with an inner class that extends or implements something"); + } + + public void test014(){ + runTest("checks that methods are introduced on the topmost class implemented"); + } + + public void test015(){ + runTest("a couple different returns from around advice"); + } + + public void test016(){ + runTest("member finally advice paired with signature advice"); + } + + public void test017(){ + runTest("aspect of eachobject(instanceof(Interface))"); + } + + public void test018(){ + runTest("final member initialization broken with JDK before 1.1.8"); + } + + public void test019(){ + runTest("same package and var name clash in preprocessed code when aspectOf is used"); + } + + public void test020(){ + runTest("and PR#201 advice on static methods fails javac compile with this"); + } + + public void test021(){ + runTest("non-static advice on inner class defined inside of method body"); + } + + public void test022(){ + runTest("simple single-threaded eachcflow test (includes aspectOf)"); + } + + public void test023(){ + runTest("bad type resolution when var reassigned in same scope"); + } + + public void test024(){ + runTest("generating the right throws clause for call-site advice (and around)"); + } + + public void test025(){ + runTest("advice on calls to static methods using several syntax"); + } + + public void test026(){ + runTest(", PR#249, PR#250 advice on constructor sites"); + } + + public void test027(){ + runTest("test after throwing advice in several ways"); + } + + public void test028(){ + runTest("fancy name patterns for method names"); + } + + public void test029(){ + runTest("calls: calls(...)"); + } + + public void test030(){ + runTest("throws Exception clause is unnecessarily added to Driver.main method"); + } + + public void test031(){ + runTest("javac fails when this is referenced in the static main method"); + } + + public void test032(){ + runTest("and 276 cast error generated by ajc when type not in signature"); + } + + public void test033(){ + runTest("calls to methods to which we don't have source"); + } + + public void test034(){ + runTest("more aspect inheritance"); + } + + public void test035(){ + runTest("around and calls with both calling and called this params"); + } + + public void test036(){ + runTest("compiler crashes with eachobject and named pointcuts with parameters"); + } + + public void test037(){ + runTest("lookup rules for unqualified pointcut names"); + } + + public void test038(){ + runTest("eachcflow only instantiated if the aspect has some advice in it"); + } + + public void test039(){ + runTest("(DESIGN QUESTION) aspect of eachJVM advising its own initializer"); + } + + public void test040(){ + runTest("after returning advice on calls to constructors"); + } + + public void test041(){ + runTest("Does annotating 'new' with a type work as desired?"); + } + + public void test042(){ + runTest("Referring to inner classes as {super}.{inner} confused ajc."); + } + + public void test043(){ + runTest("Advice on advice"); + } + + public void test044(){ + runTest("Introductions on other introductions"); + } + + public void test045(){ + runTest("Putting advice on array constructors."); + } + + public void test046(){ + runTest("call points within block inner classes are doubled"); + } + + public void test047(){ + runTest("Gets and sets with other advice"); + } + + public void test048(){ + runTest("Compiler can compile correct strictfp modifiers"); + } + + public void test049(){ + runTest("basic test of callsto pointcuts"); + } + + public void test050(){ + runTest("package wildcards in packages"); + } + + public void test051(){ + runTest("around advice on calls and receptions with lots of context"); + } + + public void test052(){ + runTest("! modifier and char in pointcut (no longer an error)"); + } + + public void test053(){ + runTest("right number of aspect instances per cflow"); + } + + public void test054(){ + runTest("many this's into around advice on calls"); + } + + public void test055(){ + runTest("Ensures introduction methods can have advice placed on them"); + } + + public void test056(){ + runTest("No boolean appearing in the 'if' clause for around advice with eachJVM()"); + } + + public void test057(){ + runTest("Order of super introductions."); + } + + public void test058(){ + runTest("Ensuring backdoor methods are produced."); + } + + public void test059(){ + runTest("no duplicate advice methods in abstract aspects"); + } + + public void test060(){ + runTest("no duplicate advice methods in abstract aspects extended"); + } + + public void test061(){ + runTest("Putting after-constructor advice on the wrong types implementing the same interface."); + } + + public void test062(){ + runTest("Instantiating non-static inner classes in advice."); + } + + public void test063(){ + runTest("Referring to pointcut in of clauses"); + } + + public void test064(){ + runTest("Confused referring to instance variables and locals"); + } + + public void test065(){ + runTest("Parsing C+ expressions without parens in super introductions."); + } + + public void test066(){ + runTest("Introducing methods on classes that implements inner-interfaces with +implements."); + } + + public void test067(){ + runTest("Methods with the same name are generated when abstract aspects extend another abstract aspect."); + } + + public void test068(){ + runTest("Making sure final variables stay final."); + } + + public void test069(){ + runTest("Problem resolving meta-joinpoint names with around advice on methods called from around advice."); + } + + public void test070(){ + runTest("Make sure that names of lifted local classes are right when referenced in call-site advice"); + } + + public void test071(){ + runTest("matching for throws clause"); + } + + public void test072(){ + runTest("basic test of declare soft"); + } + + public void test073(){ + runTest("advice on calls to constructors of anonymous inners and access to context"); + } + + public void test074(){ + runTest("inner aspects can't access outer pointcuts"); + } + + public void test075(){ + runTest("implements and extends are introduced before methods and fields"); + } + + public void test076(){ + runTest("a static/inner aspect of a inner class of an aspect is pulled to the top level as static"); + } + + public void test077(){ + runTest("Crashes with privileged aspect."); + } + + public void test078(){ + runTest("join points exist in the execution of field initializers"); + } + + public void test079(){ + runTest("privileged aspects"); + } + + public void test080(){ + runTest("advice on field gets in privileged aspects"); + } + + public void test081(){ + runTest("Two anonymous classes in the same scope"); + } + + public void test082(){ + runTest("basic tests for initializer and staticinitializer PCDs"); + } + + public void test083(){ + runTest("introduction of an initializer into a class"); + } + + public void test084(){ + runTest("some method accessibility tests, particularly package-protected and inheritance"); + } + + public void test085(){ + runTest("fairly monotonous (and non-covering) tests for expanded dot patterns"); + } + + public void test086(){ + runTest("field patterns and subtyping"); + } + + public void test087(){ + runTest("Checking formal matching as in Roeder's bug in 0.7b10"); + } + + public void test088(){ + runTest("Introducing synchronized methods on interfaces."); + } + + public void test089(){ + runTest("The pointcut params (..,int..) is not recognizing (Object,int,Object)."); + } + + public void test090(){ + runTest("calls advice on array objects causes error in code generation"); + } + + public void test091(){ + runTest("join points in field initializers aren't showing up."); + } + + public void test092(){ + runTest("Handlers problem"); + } + + public void test093(){ + runTest("work nicely with inner class method look-up rules and call-site advice"); + } + + public void test094(){ + runTest("strictfp modifier allowed on advice"); + } + + public void test095(){ + runTest("No argthis was being created for calls advice."); + } + + public void test096(){ + runTest("Ensuring no advice with instanceof(..) is run on static methods."); + } + + public void test097(){ + runTest("Null pointer on gets advice showing the case causing the error"); + } + + public void test098(){ + runTest("try to make sure that dynamic JoinPoint objects aren't generated when used inside of if (false) { ... }"); + } + + public void test099(){ + runTest("within and withincode (doesn't all work due to local class name issues)"); + } + + public void test100(){ + runTest("around advice on calls within inner classes (including protected method calls)"); + } + + public void test101(){ + runTest("around advice on calls within inner classes (including protected method calls)"); + } + + public void test102(){ + runTest("Arguments to runNext should be final when needed"); + } + + public void test103(){ + runTest("Method introductions"); + } + + public void test104(){ + runTest("Putting an introduced method on each interface"); + } + + public void test105(){ + runTest("Extending interfaces"); + } + + public void test106(){ + runTest("Introducing private methods on interfaces"); + } + + public void test107(){ + runTest("Issuing errors for assigning variables thisJoinPoint -- not assigning thisJoinPoint."); + } + + public void test108(){ + runTest("Static references inside of introduced bodies get bound correctly."); + } + + public void test109(){ + runTest("cflow and object creations [of eachcflow]"); + } + + public void test110(){ + runTest("Doesn't import MightHaveAspect when compiling with more than 1 file. [eachobject]"); + } + + public void test111(){ + runTest("test binding to formals in calls to constructors (binding to null) (eachobject !!! now misnamed)"); + } + + public void test112(){ + runTest("After advice isn't being woven into after throwing advice"); + } + + public void test113(){ + runTest("Throwing an EmptyStackException."); + } + + public void test114(){ + runTest("check that MightHaveAspect interface is created correctly for an aspect in deep package"); + } + + public void test115(){ + runTest("Defines clfow$ajc0 more once. [eachcflow]"); + } + + public void test116(){ + runTest("Various calls, receptions, and callsto tests [callsto]"); + } + + public void test117(){ + runTest("Was throwing exception, now just an error. [eachobject]"); + } + + public void test118(){ + runTest("different version of aspect inheritance, particularly empty pointcuts and abstract cflows [eachcflow]"); + } + + public void test119(){ + runTest("set advice on member initing throwing exception [eachobject]"); + } + + public void test120(){ + runTest("Testing class names with same name's with difference case as package. [eachobject]"); + } + + public void test121(){ + runTest("Null pointer on gets advice with coverage [painful]"); + } + + public void test122(){ + runTest("Basic test for cflow pointcuts [eachcflow]"); + } + + public void test123(){ + runTest("Crashing when looking up the type of array members."); + } + + public void test124(){ + runTest("PostfixExprs to various synthetic things are fixed correctly [eachobject]"); + } + + public void test125(){ + runTest("Dave Binkley's problem with eachcflowroot. [eachcflow]"); + } + + public void test126(){ + runTest("advice on an inherited method"); + } + + public void test127(){ + runTest(", PR#115 checks the ordering of catch clauses"); + } + + public void test128(){ + runTest("various declared exception permutations"); + } + + public void test129(){ + runTest("ordering of advice kinds as well as cflow and dominates"); + } + + public void test130(){ + runTest("advice on default constructor for a class only referenced via reflection"); + } + + public void test131(){ + runTest("calling and called this params in calls points"); + } + + public void test132(){ + runTest("primitive parameters coercable to Object just like return values are"); + } + + public void test133(){ + runTest("join points in static/dynamic initializers aren't showing up."); + } + + public void test134(){ + runTest("Gets and sets on a number of variables (field access ???)"); + } + + public void test135(){ + runTest("Joinpoints are showing up on intermediate call sites"); + } + + public void test136(){ + runTest("Reception based on strictfp modifier"); + } + + public void test137(){ + runTest("Subclasses that do not redefine a method are not being handled correctly"); + } + + public void test138(){ + runTest("making sure that super calls are bound to the right methods"); + } + + public void test139(){ + runTest("inheritance, around advice and abstract pointcuts [eachobject] (still)"); + } + + public void test140(){ + runTest("Priviledged aspect methods are missing for privates. [eachobject]"); + } + + public void test141(){ + runTest("exceptions thrown and caught in advice, particularly try+proceed"); + } + + public void test142(){ + runTest("Not and And operators in pointcuts not working"); + } + + public void test143(){ + runTest("Member initializers should run before the current class constructor"); + } + + public void test144(){ + runTest("Coverage tests for Member initializers should run before the current class constructor and after super"); + } + + public void test145(){ + runTest("thisJoinPoint{Static} not visible in if() pcd of named pointcut"); + } + + public void test146(){ + runTest("pcd if() expression visibility at compile-time (minimal operation)"); + } + + public void test147(){ + runTest("pcd if() NPE in compiler when unwinding assignment in pcd if(expr)"); + } + + public void test148(){ + runTest("pcd if() dup methods produced when pointcut after advice etc (javac)"); + } + + public void test149(){ + runTest("pcd if() variants: [anonymous, named] x [execution, call, callTyped, get, set, initializations] x [before, after, around]"); + } + +// moved to ajcTestsFailing.xml +// public void test150(){ +// runTest("advice on advice in usejavac mode"); +// } + + public void test151(){ + runTest("initialization order with this"); + } + + public void test152(){ + runTest("!within and !this handling for callee-side call points"); + } + + public void test153(){ + runTest("private inner interfaces and bytecode visibility"); + } + + public void test154(){ + runTest("elaborated into testing of around on all join points"); + } + + public void test155(){ + runTest("type name hygiene when code comes from aspects in different packages"); + } + + public void test156(){ + runTest("cflowbelow dependencies (from Chris Dutchyn)"); + } + + public void test157(){ + runTest("Compiler incorrectly flagging *1 (non-alphabetic start to signature pattern)"); + } + + public void test158(){ + runTest("Unable to bind privately-introduced field name from introduced method in the same aspect"); + } + + public void test159(){ + runTest("anonymous inner class with aspect"); + } + + public void test160(){ + runTest("Arguments are not being passed in to calls advice"); + } + + public void test161(){ + runTest("interfaces as mixins with introduction"); + } + + public void test162(){ + runTest("functional modifiers work correctly with introduced members"); + } + + public void test163(){ + runTest("ExceptionInInitializerError accessing cflow in aspect initialization - before variants"); + } + + public void test164(){ + runTest("NoClassDefFoundError accessing cflow in aspect initialization - after variants"); + } + + public void test165(){ + runTest("InternalCompilerError in JpPlan when args alone"); + } + + public void test166(){ + runTest("compile error using pcd if() with advice on introduced methods."); + } + + public void test167(){ + runTest("compile errors boolean using cflow and unimplemented method using around advice on methods introduced by interface"); + } + + public void test168(){ + runTest("aspect as member of interface"); + } + + public void test169(){ + runTest("missing method name to synthetic invocation"); + } + + public void test170(){ + runTest("protected subclass impl of superclass method with default access and variants"); + } + + public void test171(){ + runTest("Exception planning advice"); + } + + public void test172(){ + runTest("unreproduced bug with advice - probably UTR"); + } + + public void test173(){ + runTest("introduced inner interfaces accessible inside aspect"); + } + + public void test174(){ + runTest("validate (enclosing) join point and source locations"); + } + + public void test175(){ + runTest("advice formals are just like method formals"); + } + + public void test176(){ + runTest("advice formals produce errors just like method formals"); + } + + public void test177(){ + runTest("advice throws clauses must be compatible with joinpoints they apply to"); + } + + public void test178(){ + runTest("potential method conflicts with introductions and interfaces and PR#561"); + } + + public void test179(){ + runTest("illegal method conflicts with introductions and interfaces and PR#561"); + } + + public void test180(){ + runTest("AspectOf available for different aspect types"); + } + + public void test181(){ + runTest("access to all members of class and inner class from privileged aspect"); + } + + public void test182(){ + runTest("cflow alone with around produces compiler bcg StackOverflowError"); + } + + public void test183(){ + runTest("get/set join points run for complex assignment operators (+=, etc.) (working)"); + } + + public void test184(){ + runTest("this available in introduced field initializers"); + } + + public void test185(){ + runTest("Introduced type unavailable to cast expressions in introduced methods"); + } + + public void test186(){ + runTest("Introduced type unavailable to qualified new expressions in introduced methods"); + } + + public void test187(){ + runTest("Introduced type unavailable to cast expressions in introduced field initializers"); + } + + public void test188(){ + runTest("Aspect type unavailable to qualified new expressions in body of introduced methods"); + } + + public void test189(){ + runTest("Introduced type unavailable to qualified new expressions in introduced field initializers"); + } + + public void test190(){ + runTest("variable slots and finally/catch causing verify errors"); + } + + public void test191(){ + runTest("after advice on static method with pcd if() using result"); + } + + public void test192(){ + runTest("after advice on static method with pcd if() using result through pointcut"); + } + + public void test193(){ + runTest("AbstractMethodError for introduced methods (order 1)"); + } + + public void test194(){ + runTest("AbstractMethodError for introduced methods (order 2)"); + } + + public void test195(){ + runTest("AbstractMethodError for introduced methods (order 3)"); + } + + public void test196(){ + runTest("AbstractMethodError for introduced methods (order 4)"); + } + + public void test197(){ + runTest("AbstractMethodError for introduced methods (order 5)"); + } + + public void test198(){ + runTest("declare error and abstract pointcuts"); + } + + public void test199(){ + runTest("Exercise runtime classes (optionally in 1.1 VM)"); + } + + public void test200(){ + runTest("VerifyError after around advice falls off end of tryCatch"); + } + + public void test201(){ + runTest("Named within pointcuts failing"); + } + + public void test202(){ + runTest("aspect with private abstract pointcut"); + } + + public void test203(){ + runTest("concrete aspect unable to access abstract package-private pointcut in parent for overriding"); + } + + public void test204(){ + runTest("inner, outer, and outside-package subaspects of an aspect with abstract protected-, public-, and default-access pointcuts"); + } + + public void test205(){ + runTest("inner subaspects of an aspect with private pointcut"); + } + + public void test206(){ + runTest("outer subaspects of an aspect with private pointcut"); + } + + public void test207(){ + runTest("abstract aspect used statically should not cause instantiation of advice or pointcut"); + } + + public void test208(){ + runTest("private inner interface accessible in scope when declared on outer class"); + } + + public void test209(){ + runTest("accessing protected superclass members in and outside CCC from body of method introduction"); + } + + public void test210(){ + runTest("accessing private superclass members from body of method introduction"); + } + + public void test211(){ + runTest("simple test for around and casting"); + } + + public void test212(){ + runTest("aroundInner 1 - around advice inner Thread subclass running proceed but not writing field"); + } + + public void test213(){ + runTest("aroundInner 2 - around advice inner Runnable running proceed and writing method-final proxy"); + } + + public void test214(){ + runTest("aroundInner 3 - around advice inner class running proceed and writing field"); + } + + public void test215(){ + runTest("aroundInner 4 - around advice inner Thread subclass running proceed and writing field"); + } + + public void test216(){ + runTest("aroundInner 5 - around advice inner Runnable (subinterface) running proceed and writing field introduced on subinterface"); + } + + public void test217(){ + runTest("Named local class closing over proceed invocation"); + } + + public void test218(){ + runTest("beautiful recursive computation of factorial with around is now supported"); + } + + public void test219(){ + runTest("multi-dispatch not used for named pcd references"); + } + + public void test220(){ + runTest("multi-dispatch implemented through around + args"); + } + + public void test221(){ + runTest("unrecognized aspect should not net Cloneable and Serializable warnings"); + } + + public void test222(){ + runTest("unreachable code generated by around advice on the execution of void methods"); + } + + public void test223(){ + runTest("Overriding method implementations using introduction on interfaces"); + } + + public void test224(){ + runTest("more coverage for around and concrete methods on interfaces"); + } + + public void test225(){ + runTest("invalid number and type of proceed arguments"); + } + + public void test226(){ + runTest("after returning advice order"); + } + + public void test227(){ + runTest("after returning advice param"); + } + + public void test228(){ + runTest("! and declaring types with callee-side call join points"); + } + + public void test229(){ + runTest(". Binding the wrong arguments in withincode(..)."); + } + + public void test230(){ + runTest(". Matching arguments in cflow correctly."); + } + + public void test231(){ + runTest(". Binding variables with numbers in their name with pertarget(..)'s."); + } + + public void test232(){ + runTest("second arg in formal on shared joinpoint with pcd if() causes verify error ??"); + } + + public void test233(){ + runTest("access to private members from privileged aspect"); + } + + public void test234(){ + runTest("inner classes of privileged aspects cannot see target class private members"); + } + + public void test235(){ + runTest("aspects should get package access outside the file"); + } + + public void test236(){ + runTest("subclass advice not run for join points selected by superclass cflow-based pointcuts"); + } + + public void test237(){ + runTest("more issues with abstract aspects and cflow pointcuts"); + } + + public void test238(){ + runTest("compile fails for aspect derived from percflow base aspect unless pointcut excludes base aspect and subaspects"); + } + + public void test239(){ + runTest("pertarget stack overflow getting name of anonymous (Interface) class"); + } + + public void test240(){ + runTest("pertarget stack overflow getting name of anonymous (Object) class"); + } + + public void test241(){ + runTest("pertarget runtime stack overflow (getting name of anonymous (Object) class?)"); + } + + public void test242(){ + runTest("subaspect method declaration on superaspect inner interface (names)"); + } + + public void test243(){ + runTest("subaspect method declaration on superaspect inner interface (access)"); + } + + public void test244(){ + runTest("subaspect method declaration on superaspect inner interface (types)"); + } + + public void test245(){ + runTest("around AST type XXX"); + } + + public void test246(){ + runTest("around all execution with double assignment in initializer (simple)"); + } + + public void test247(){ + runTest("around all execution with double assignment in initializer (coverage)"); + } + + public void test248(){ + runTest("changing this in around's proceed reported by Rich Price"); + } + + public void test249(){ + runTest("default package for aspect introductions is not the current package"); + } + + public void test250(){ + runTest("anon class written to wrong directory"); + } + + public void test251(){ + runTest("unqualified transitive pointcut references not resolved"); + } + + public void test252(){ + runTest("unqualified transitive pointcut references not resolved - 2"); + } + + public void test253(){ + runTest("direct use outside aspect of defined abstract pointcut"); + } + + public void test254(){ + runTest("direct use outside aspect of undefined abstract pointcut"); + } + + public void test255(){ + runTest("indirect use outside aspect of undefined abstract pointcut"); + } + + public void test256(){ + runTest("simple call join point tests for JoinPoint SourceLocation context"); + } + + public void test257(){ + runTest("!target with second advice on casted call"); + } + + public void test258(){ + runTest("name binding in around cflow"); + } + + public void test259(){ + runTest("name binding in around cflow - 2"); + } + + public void test260(){ + runTest("around name-binding in cflows using factorial"); + } + + public void test261(){ + runTest("replacing this or target in around advice"); + } + + public void test262(){ + runTest("after returning from initialization and after executing constructor"); + } + + public void test263(){ + runTest("after returning from initialization causes ExceptionInInitializer in aspect"); + } + + public void test264(){ + runTest("name binding in before cflow containing cflowbelow"); + } + + public void test265(){ + runTest("file order in type searching"); + } + + public void test266(){ + runTest("simple declare warning (NPE)"); + } + + public void test267(){ + runTest("ajc dies on cflow into field init anon class see knownbugs.txt"); + } + + public void test268(){ + runTest("Incrementing interface-introduced field"); + } + + public void test269(){ + runTest("The dynamic type, not the static one, should be used in if pcds"); + } + + public void test270(){ + runTest("bad interaction with after returning, around and void methods (from Rich Price)"); + } + + public void test271(){ + runTest("type pattern matching for inner classes (from Ken Horn)"); + } + + public void test272(){ + runTest("static initializer member name"); + } + + public void test273(){ + runTest("cflow pcd syntax error"); + } + + public void test274(){ + runTest("binding args with indeterminate prefix and suffix"); + } + + public void test275(){ + runTest("check arg types with indeterminate prefix and suffix"); + } + + public void test276(){ + runTest("testing and binding args with single indeterminate prefix and suffix"); + } + + public void test277(){ + runTest("binding handler args with indeterminate prefix and suffix"); + } + + public void test278(){ + runTest("Compiling java.lang.Object with ajc yields non-verifying bytecode"); + } + + public void test279(){ + runTest("method-local class defined in around return statement"); + } + + public void test280(){ + runTest("CE expected for assignment to arg in if pcd"); + } + + public void test281(){ + runTest("advising field get/sets when accessing via super"); + } + + public void test282(){ + runTest("accessing private members in outer types"); + } + + public void test283(){ + runTest("can't apply around advice to the execution of around advice"); + } + + public void test284(){ + runTest("incompatible advice throws clause are a compile-time error"); + } + +} + diff --git a/tests/src/org/aspectj/systemtest/ajc10x/ajc10x-tests.xml b/tests/src/org/aspectj/systemtest/ajc10x/ajc10x-tests.xml new file mode 100644 index 000000000..9e04c610e --- /dev/null +++ b/tests/src/org/aspectj/systemtest/ajc10x/ajc10x-tests.xml @@ -0,0 +1,2006 @@ +<!-- AspectJ v1.0.x Tests --> + + + <ajc-test dir="new" + title="properly make choice between cast and parenthesis in parser" + keywords="from-resolved_10x"> + <compile files="JoinPointFields.java"/> + <run class="JoinPointFields"/> + </ajc-test> + + <ajc-test dir="new" pr="96" + title="field from implemented interface not found in advice" + keywords="from-resolved_10x"> + <compile files="FieldFromImplementsNotFound.java"/> + <run class="FieldFromImplementsNotFound"/> + </ajc-test> + + <ajc-test dir="new" + title="make sure advice affects introduced methods and constructors" + keywords="from-resolved_10x"> + <compile files="AdviceOnIntroduced.java"/> + <run class="AdviceOnIntroduced"/> + </ajc-test> + + <ajc-test dir="new" title="new around construct" + keywords="from-resolved_10x"> + <compile files="AroundAdvice.java"/> + <run class="AroundAdvice"/> + </ajc-test> + + <ajc-test dir="new" pr="65" title="aspect redefines a parameter" + keywords="from-resolved_10x"> + <compile files="AspectRedefinesParam.java"/> + <run class="AspectRedefinesParam"/> + </ajc-test> + + <ajc-test dir="new" title="introducing extends and implements" + keywords="from-resolved_10x"> + <compile files="HierarchyIntroductions.java"/> + <run class="HierarchyIntroductions"/> + </ajc-test> + + <ajc-test dir="new" pr="104" title="(related) aspect on interface" + keywords="from-resolved_10x"> + <compile files="AspectOnInterface.java"/> + <run class="AspectOnInterface"/> + </ajc-test> + + <ajc-test dir="new" pr="106" title="advice and package visibility" + keywords="from-resolved_10x"> + <compile + files="packagevisibility/PackagesAndAdvice.java,packagevisibility/testPackage/Class1.java,packagevisibility/testPackage/Class2.java" + options="-Xlint:ignore"/> + <run class="packagevisibility.PackagesAndAdvice"/> + </ajc-test> + + <ajc-test dir="new" pr="106" title="advice and package visibility" + keywords="from-resolved_10x"> + <compile + files="packagevisibility/PackagesAndAdviceCf.java,packagevisibility/testPackage/Class1.java,packagevisibility/testPackage/Class2.java" + options="-Xlint:error"> + <message kind="error" line="29"/> + </compile> + </ajc-test> + + <ajc-test dir="new" title="advice on implied empty constructor" + keywords="from-resolved_10x"> + <compile files="AdviceOnEmptyConstructor.java"/> + <run class="AdviceOnEmptyConstructor"/> + </ajc-test> + + <ajc-test dir="new" title="advice on * *(..) not mapping to initializers" + keywords="from-resolved_10x"> + <compile files="InitializerAdvice.java"/> + <run class="InitializerAdvice"/> + </ajc-test> + + <ajc-test dir="new" + title="three type declarations in the scope of an advice" + keywords="from-resolved_10x"> + <compile files="TypeDeclInAdvice.java"/> + <run class="TypeDeclInAdvice"/> + </ajc-test> + + <ajc-test dir="new" pr="129" + title="introduction fails on class with an inner class that extends or implements something" + keywords="from-resolved_10x"> + <compile files="IntroductionFailsWithInnerClass.java"/> + <run class="IntroductionFailsWithInnerClass"/> + </ajc-test> + + <ajc-test dir="new" pr="126" + title="checks that methods are introduced on the topmost class implemented" + keywords="from-resolved_10x"> + <compile files="TopmostImplements.java"/> + <run class="TopmostImplements"/> + </ajc-test> + + <ajc-test dir="new/arndAdvRet" pr="140" + title="a couple different returns from around advice" + keywords="from-resolved_10x"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="new" + title="member finally advice paired with signature advice" + keywords="from-resolved_10x"> + <compile files="TryErrors.java"/> + <run class="TryErrors"/> + </ajc-test> + + <ajc-test dir="new" title="aspect of eachobject(instanceof(Interface))" + keywords="from-resolved_10x"> + <compile files="AspectOfInterface.java"/> + <run class="AspectOfInterface"/> + </ajc-test> + + <ajc-test dir="new/finalMemInit" pr="162" + title="final member initialization broken with JDK before 1.1.8" + keywords="from-resolved_10x"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="new/packageNameClash" pr="205" + title="same package and var name clash in preprocessed code when aspectOf is used" + keywords="from-resolved_10x"> + <compile files="otherpkg/Driver.java,pkg/Aspect1.java,pkg/Class1.java"/> + <run class="otherpkg.Driver"/> + </ajc-test> + + <ajc-test dir="new/adviceOnStaticMeth" pr="221" + title="and PR#201 advice on static methods fails javac compile with this" + keywords="from-resolved_10x"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="new" + title="non-static advice on inner class defined inside of method body" + keywords="from-resolved_10x"> + <compile files="MethodInner.java"/> + <run class="MethodInner"/> + </ajc-test> + + <ajc-test dir="new" + title="simple single-threaded eachcflow test (includes aspectOf)" + keywords="from-resolved_10x"> + <compile files="Client.java"/> + <run class="Client"/> + </ajc-test> + + <ajc-test dir="new/scopeTypingBug" pr="191" + title="bad type resolution when var reassigned in same scope" + keywords="from-resolved_10x"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="new" pr="242" + title="generating the right throws clause for call-site advice (and around)" + keywords="from-resolved_10x"> + <compile files="ComputedThrows.java"/> + <run class="ComputedThrows"/> + </ajc-test> + + <ajc-test dir="new" pr="246" + title="advice on calls to static methods using several syntax" + keywords="from-resolved_10x"> + <compile files="StaticCalls.java"/> + <run class="StaticCalls"/> + </ajc-test> + + <ajc-test dir="new" pr="248" + title=", PR#249, PR#250 advice on constructor sites" + keywords="from-resolved_10x"> + <compile files="NewSiteAdvice.java"/> + <run class="NewSiteAdvice"/> + </ajc-test> + + <ajc-test dir="new" title="test after throwing advice in several ways" + keywords="from-resolved_10x"> + <compile files="AfterThrowing.java"/> + <run class="AfterThrowing"/> + </ajc-test> + + <ajc-test dir="new" title="fancy name patterns for method names" + keywords="from-resolved_10x"> + <compile files="WildNames.java"/> + <run class="WildNames"/> + </ajc-test> + + <ajc-test dir="design/calls" title="calls: calls(...)" + keywords="from-resolved_10x"> + <compile files="Simple.java" options="-Xlint:ignore"/> + <run class="Simple"/> + </ajc-test> + + <ajc-test dir="new/extraThrows" pr="259" + title="throws Exception clause is unnecessarily added to Driver.main method" + keywords="from-resolved_10x"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="new/thisUsedInMain" pr="262" + title="javac fails when this is referenced in the static main method" + keywords="from-resolved_10x"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="new/badCast" pr="275" + title="and 276 cast error generated by ajc when type not in signature" + keywords="from-resolved_10x"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="new" pr="285" + title="calls to methods to which we don't have source" + keywords="from-resolved_10x"> + <compile files="ExternalCalls.java"/> + <run class="ExternalCalls"/> + </ajc-test> + + <ajc-test dir="new/beforeNotRun" pr="265" title="more aspect inheritance" + keywords="from-resolved_10x"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="new" pr="310" + title="around and calls with both calling and called this params" + keywords="from-resolved_10x"> + <compile files="AroundAndCalls.java"/> + <run class="AroundAndCalls"/> + </ajc-test> + + <ajc-test dir="new/pointcutParameter" pr="290" + title="compiler crashes with eachobject and named pointcuts with parameters" + keywords="from-resolved_10x"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="new/unqualifiedPointcutName" pr="304" + title="lookup rules for unqualified pointcut names" + keywords="from-resolved_10x"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="new" pr="321" + title="eachcflow only instantiated if the aspect has some advice in it" + keywords="from-resolved_10x"> + <compile files="CFlowNoAdvice.java"/> + <run class="CFlowNoAdvice"/> + </ajc-test> + + <ajc-test dir="new" pr="309" + title="(DESIGN QUESTION) aspect of eachJVM advising its own initializer" + keywords="from-resolved_10x"> + <compile files="EachJVMOnSelf.java"/> + <run class="EachJVMOnSelf"/> + </ajc-test> + + <ajc-test dir="new" pr="302" + title="after returning advice on calls to constructors" + keywords="from-resolved_10x"> + <compile files="AfterConstructorCalls.java"/> + <run class="AfterConstructorCalls"/> + </ajc-test> + + <ajc-test dir="new" + title="Does annotating 'new' with a type work as desired?" + keywords="from-resolved_10x"> + <compile files="ConstructorSignatures.java"/> + <run class="ConstructorSignatures"/> + </ajc-test> + + <ajc-test dir="new" + title="Referring to inner classes as {super}.{inner} confused ajc." + keywords="from-resolved_10x"> + <compile files="InnerClassNaming.java"/> + <run class="InnerClassNaming"/> + </ajc-test> + + <ajc-test dir="new" title="Advice on advice" keywords="from-resolved_10x"> + <compile files="AdviceOnAdvice.java"/> + <run class="AdviceOnAdvice"/> + </ajc-test> + + <ajc-test dir="new" title="Introductions on other introductions" + keywords="from-resolved_10x"> + <compile files="IntroOnIntro.java"/> + <run class="IntroOnIntro"/> + </ajc-test> + + <ajc-test dir="new" title="Putting advice on array constructors." + keywords="from-resolved_10x"> + <compile files="Orleans.java"/> + <run class="Orleans"/> + </ajc-test> + + <ajc-test dir="new" + title="call points within block inner classes are doubled" + keywords="from-resolved_10x"> + <compile files="DoubledCalls.java"/> + <run class="DoubledCalls"/> + </ajc-test> + + <ajc-test dir="new" title="Gets and sets with other advice" + keywords="from-resolved_10x"> + <compile files="Counting3.java"/> + <run class="Counting3"/> + </ajc-test> + + <ajc-test dir="new" title="Compiler can compile correct strictfp modifiers" + keywords="from-resolved_10x"> + <compile files="StrictFpCompile.java"/> + <run class="StrictFpCompile"/> + </ajc-test> + + <ajc-test dir="new" title="basic test of callsto pointcuts" + keywords="from-resolved_10x"> + <compile files="CallsTo.java"/> + <run class="CallsTo"/> + </ajc-test> + + <ajc-test dir="new" title="package wildcards in packages" + keywords="from-resolved_10x"> + <compile files="pack/PackageWildcards.java"/> + <run class="pack.PackageWildcards"/> + </ajc-test> + + <ajc-test dir="new" + title="around advice on calls and receptions with lots of context" + keywords="from-resolved_10x"> + <compile files="AroundCalls.java"/> + <run class="AroundCalls"/> + </ajc-test> + + <ajc-test dir="new" pr="208" + title="! modifier and char in pointcut (no longer an error)" + keywords="from-resolved_10x"> + <compile files="NotCharInPointcut.java"/> + <run class="NotCharInPointcut"/> + </ajc-test> + + <ajc-test dir="new" pr="308" + title="right number of aspect instances per cflow" + keywords="from-resolved_10x"> + <compile files="CFlowObjects.java"/> + <run class="CFlowObjects"/> + </ajc-test> + + <ajc-test dir="new" pr="310" title="many this's into around advice on calls" + keywords="from-resolved_10x"> + <compile files="AroundCallsArgs.java"/> + <run class="AroundCallsArgs"/> + </ajc-test> + + <ajc-test dir="new" + title="Ensures introduction methods can have advice placed on them" + keywords="from-resolved_10x"> + <compile files="Dominates.java"/> + <run class="Dominates"/> + </ajc-test> + + <ajc-test dir="new" pr="355" + title="No boolean appearing in the 'if' clause for around advice with eachJVM()" + keywords="from-resolved_10x"> + <compile files="PR355.java"/> + <run class="PR355"/> + </ajc-test> + + <ajc-test dir="new" title="Order of super introductions." + keywords="from-resolved_10x"> + <compile files="OrderOfExtendsPlusAndImplementsPlus.java"/> + <run class="OrderOfExtendsPlusAndImplementsPlus"/> + </ajc-test> + + <ajc-test dir="new" title="Ensuring backdoor methods are produced." + keywords="from-resolved_10x"> + <compile files="BackdoorMethods.java"/> + <run class="BackdoorMethods"/> + </ajc-test> + + <ajc-test dir="new" + title="no duplicate advice methods in abstract aspects" + keywords="from-resolved_10x"> + <compile + files="GeneratingDuplicateNamedAdviceMethodsInAbstractAspects.java"/> + <run class="GeneratingDuplicateNamedAdviceMethodsInAbstractAspects"/> + </ajc-test> + + <ajc-test dir="new" + title="no duplicate advice methods in abstract aspects extended" + keywords="from-resolved_10x"> + <compile + files="GeneratingDuplicateNamedAdviceMethodsInAbstractAspectsWithExtendedAspect.java"/> + <run class="GeneratingDuplicateNamedAdviceMethodsInAbstractAspectsWithExtendedAspect" + /> + </ajc-test> + + <ajc-test dir="new" + title="Putting after-constructor advice on the wrong types implementing the same interface." + keywords="from-resolved_10x"> + <compile files="AfterAdviceOnConstructorsOnTheWrongType.java"/> + <run class="AfterAdviceOnConstructorsOnTheWrongType"/> + </ajc-test> + + <ajc-test dir="new" + title="Instantiating non-static inner classes in advice." + keywords="from-resolved_10x"> + <compile files="NonstaticInnerClassesInAspects.java"/> + <run class="NonstaticInnerClassesInAspects"/> + </ajc-test> + + <ajc-test dir="new" pr="316" title="Referring to pointcut in of clauses" + keywords="from-resolved_10x"> + <compile files="ReferringToPointcutsInAspect_PR316.java"/> + <run class="ReferringToPointcutsInAspect_PR316"/> + </ajc-test> + + <ajc-test dir="new" pr="191" + title="Confused referring to instance variables and locals" + keywords="from-resolved_10x"> + <compile files="ScopesAndFields_PR191.java"/> + <run class="ScopesAndFields_PR191"/> + </ajc-test> + + <ajc-test dir="new" + title="Parsing C+ expressions without parens in super introductions." + keywords="from-resolved_10x"> + <compile files="ParsingSubtypesIntroductions.java"/> + <run class="ParsingSubtypesIntroductions"/> + </ajc-test> + + <ajc-test dir="new" + title="Introducing methods on classes that implements inner-interfaces with +implements." + keywords="from-resolved_10x"> + <compile files="IntroducingMethodsOnPlusImplementedInterfaces.java" options="-Xlint:ignore"/> + <run class="IntroducingMethodsOnPlusImplementedInterfaces"/> + </ajc-test> + + <ajc-test dir="new" pr="464" + title="Methods with the same name are generated when abstract aspects extend another abstract aspect." + keywords="from-resolved_10x"> + <compile + files="AbstractAspectsExtendingAbstractAspectsGeneratesMethodsWithTheSameName_PR464.java"/> + <run class="AbstractAspectsExtendingAbstractAspectsGeneratesMethodsWithTheSameName_PR464" + /> + </ajc-test> + + <ajc-test dir="new" title="Making sure final variables stay final." + keywords="from-resolved_10x"> + <compile files="RemovingFinals.java"/> + <run class="RemovingFinals"/> + </ajc-test> + + <ajc-test dir="new" + title="Problem resolving meta-joinpoint names with around advice on methods called from around advice." + keywords="from-resolved_10x"> + <compile files="AroundAdviceOnMethodsCalledInAroundAdvice.java"/> + <run class="AroundAdviceOnMethodsCalledInAroundAdvice"/> + </ajc-test> + + <ajc-test dir="new" + title="Make sure that names of lifted local classes are right when referenced in call-site advice" + keywords="from-resolved_10x"> + <compile files="CallsAndLocalClasses.java"/> + <run class="CallsAndLocalClasses"/> + </ajc-test> + + <ajc-test dir="new" title="matching for throws clause" + keywords="from-resolved_10x"> + <compile files="ThrowsMatching.java"/> + <run class="ThrowsMatching"/> + </ajc-test> + + <ajc-test dir="new" title="basic test of declare soft" + keywords="from-resolved_10x"> + <compile files="DeclareSoft.java"/> + <run class="DeclareSoft"/> + </ajc-test> + + <ajc-test dir="new" + title="advice on calls to constructors of anonymous inners and access to context" + keywords="from-resolved_10x"> + <compile files="NewAnonymous.java"/> + <run class="NewAnonymous"/> + </ajc-test> + + <ajc-test dir="new/innerAspectAccess" pr="211" + title="inner aspects can't access outer pointcuts" + keywords="from-resolved_10x"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="new" + title="implements and extends are introduced before methods and fields" + keywords="from-resolved_10x"> + <compile files="IntroOrder.java"/> + <run class="IntroOrder"/> + </ajc-test> + + <ajc-test dir="new" + title="a static/inner aspect of a inner class of an aspect is pulled to the top level as static" + keywords="from-resolved_10x"> + <compile files="StaticInnerAspect.java"/> + <run class="StaticInnerAspect"/> + </ajc-test> + + <ajc-test dir="new" title="Crashes with privileged aspect." + keywords="from-resolved_10x"> + <compile files="Privileged.java"/> + <run class="Privileged"/> + </ajc-test> + + <ajc-test dir="new" + title="join points exist in the execution of field initializers" + keywords="from-resolved_10x"> + <compile files="FieldInitializerJoinPoints.java"/> + <run class="FieldInitializerJoinPoints"/> + </ajc-test> + + <ajc-test dir="new/privilegedAspects" title="privileged aspects" + keywords="from-resolved_10x"> + <compile + files="main/Main.java,fish/PrivateClass.java,fish/B.java,fowl/C.java,fowl/D.java"/> + <run class="main.Main"/> + </ajc-test> + + <ajc-test dir="new" title="advice on field gets in privileged aspects" + keywords="from-resolved_10x"> + <compile files="AdviceOnPrivileged.java"/> + <run class="AdviceOnPrivileged"/> + </ajc-test> + + <ajc-test dir="new" title="Two anonymous classes in the same scope" + keywords="from-resolved_10x"> + <compile files="TwoAnonymous.java"/> + <run class="TwoAnonymous"/> + </ajc-test> + + <ajc-test dir="new" + title="basic tests for initializer and staticinitializer PCDs" + keywords="from-resolved_10x"> + <compile files="InitializerTest.java"/> + <run class="InitializerTest"/> + </ajc-test> + + <ajc-test dir="new" pr="98" + title="introduction of an initializer into a class" + keywords="from-resolved_10x"> + <compile files="IntroductionOfInitializer.java"/> + <run class="IntroductionOfInitializer"/> + </ajc-test> + + <ajc-test dir="new/access" + title="some method accessibility tests, particularly package-protected and inheritance" + keywords="from-resolved_10x"> + <compile files="Test1.java,pc/C.java,psub/SubC.java,psub/A.java"/> + <run class="Test1"/> + </ajc-test> + + <ajc-test dir="new" + title="fairly monotonous (and non-covering) tests for expanded dot patterns" + keywords="from-resolved_10x"> + <compile files="ExpandedDotDotPattern.java"/> + <run class="ExpandedDotDotPattern"/> + </ajc-test> + + <ajc-test dir="new" title="field patterns and subtyping" + keywords="from-resolved_10x"> + <compile files="FieldPatterns.java"/> + <run class="FieldPatterns"/> + </ajc-test> + + <ajc-test dir="new" + title="Checking formal matching as in Roeder's bug in 0.7b10" + keywords="from-resolved_10x"> + <compile files="FormalMatching.java"/> + <run class="FormalMatching"/> + </ajc-test> + + <ajc-test dir="new" title="Introducing synchronized methods on interfaces." + keywords="from-resolved_10x"> + <compile files="SynchronizedMethodsOnInterfaces.java"/> + <run class="SynchronizedMethodsOnInterfaces"/> + </ajc-test> + + <ajc-test dir="new" + title="The pointcut params (..,int..) is not recognizing (Object,int,Object)." + keywords="from-resolved_10x"> + <compile files="Params.java"/> + <run class="Params"/> + </ajc-test> + + <ajc-test dir="new" + title="calls advice on array objects causes error in code generation" + keywords="from-resolved_10x"> + <compile files="CallsToArray.java"/> + <run class="CallsToArray"/> + </ajc-test> + + <ajc-test dir="new" + title="join points in field initializers aren't showing up." + keywords="from-resolved_10x"> + <compile files="NonexistentFieldInitializers.java"/> + <run class="NonexistentFieldInitializers"/> + </ajc-test> + + <ajc-test dir="new" pr="318" title="Handlers problem" + keywords="from-resolved_10x"> + <compile files="PR318.java"/> + <run class="PR318"/> + </ajc-test> + + <ajc-test dir="new" + title="work nicely with inner class method look-up rules and call-site advice" + keywords="from-resolved_10x"> + <compile files="InnerMethods.java"/> + <run class="InnerMethods"/> + </ajc-test> + + <ajc-test dir="new" title="strictfp modifier allowed on advice" + keywords="from-resolved_10x"> + <compile files="StrictFPAdvice.java"/> + <run class="StrictFPAdvice"/> + </ajc-test> + + <ajc-test dir="new" pr="415" + title="No argthis was being created for calls advice." + keywords="from-resolved_10x"> + <compile files="PR415.java"/> + <run class="PR415"/> + </ajc-test> + + <ajc-test dir="new" + title="Ensuring no advice with instanceof(..) is run on static methods." + keywords="from-resolved_10x"> + <compile files="StaticMethodsShouldNotReceiveInstanceofAdvice.java"/> + <run class="StaticMethodsShouldNotReceiveInstanceofAdvice"/> + </ajc-test> + + <ajc-test dir="new" + title="Null pointer on gets advice showing the case causing the error" + keywords="from-resolved_10x"> + <compile files="NullPointerOnGetsSimple.java"/> + <run class="NullPointerOnGetsSimple"/> + </ajc-test> + + <ajc-test dir="new" + title="try to make sure that dynamic JoinPoint objects aren't generated when used inside of if (false) { ... }" + keywords="from-resolved_10x"> + <compile files="IfdefsAndAdvice.java"/> + <run class="IfdefsAndAdvice"/> + </ajc-test> + + <ajc-test dir="new" + title="within and withincode (doesn't all work due to local class name issues)" + keywords="from-resolved_10x"> + <compile files="WithinInners.java"/> + <run class="WithinInners"/> + </ajc-test> + + <ajc-test dir="new" + title="around advice on calls within inner classes (including protected method calls)" + keywords="from-resolved_10x"> + <compile files="AroundInnerCalls13.java" options="-1.3"/> + <run class="AroundInnerCalls13"/> + </ajc-test> + + <ajc-test dir="new" + title="around advice on calls within inner classes (including protected method calls)" + keywords="from-resolved_10x"> + <compile files="AroundInnerCalls.java" options="-1.4"/> + <run class="AroundInnerCalls"/> + </ajc-test> + + <ajc-test dir="new" title="Arguments to runNext should be final when needed" + keywords="from-resolved_10x"> + <compile files="Finals.java"/> + <run class="Finals"/> + </ajc-test> + + <ajc-test dir="new" title="Method introductions" + keywords="from-resolved_10x"> + <compile files="MethodIntroductions.java"/> + <run class="MethodIntroductions"/> + </ajc-test> + + <ajc-test dir="new" title="Putting an introduced method on each interface" + keywords="from-resolved_10x"> + <compile files="IntroducedMethodsOnEachInterface.java"/> + <run class="IntroducedMethodsOnEachInterface"/> + </ajc-test> + + <ajc-test dir="new" title="Extending interfaces" + keywords="from-resolved_10x"> + <compile files="BindingInterfaces.java"/> + <run class="BindingInterfaces"/> + </ajc-test> + + <ajc-test dir="new" title="Introducing private methods on interfaces" + keywords="from-resolved_10x"> + <compile files="IntroducingPrivateMethodsOnInterfaces.java"/> + <run class="IntroducingPrivateMethodsOnInterfaces"/> + </ajc-test> + + <ajc-test dir="new" + title="Issuing errors for assigning variables thisJoinPoint -- not assigning thisJoinPoint." + keywords="from-resolved_10x"> + <compile files="ThisJoinPointAssignments.java"/> + <run class="ThisJoinPointAssignments"/> + </ajc-test> + + <ajc-test dir="new" + title="Static references inside of introduced bodies get bound correctly." + keywords="from-resolved_10x"> + <compile files="StaticIntroducedReferences.java"/> + <run class="StaticIntroducedReferences"/> + </ajc-test> + + <ajc-test dir="new/cflowObjectCreations" pr="307" + title="cflow and object creations [of eachcflow]" + keywords="from-resolved_10x"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="new/twofiles" + title="Doesn't import MightHaveAspect when compiling with more than 1 file. [eachobject]" + keywords="from-resolved_10x"> + <compile files="TheObject.java,TheAspect.java"/> + <run class="TheObject"/> + </ajc-test> + + <ajc-test dir="new" pr="436" + title="test binding to formals in calls to constructors (binding to null) (eachobject !!! now misnamed)" + keywords="from-resolved_10x"> + <compile files="BindingThisInsteadOfFormal.java"/> + <run class="BindingThisInsteadOfFormal"/> + </ajc-test> + + <ajc-test dir="new" + title="After advice isn't being woven into after throwing advice" + keywords="from-resolved_10x"> + <compile files="AfterThrowingNotWoven.java"/> + <run class="AfterThrowingNotWoven"/> + </ajc-test> + + <ajc-test dir="new" title="Throwing an EmptyStackException." + keywords="from-resolved_10x"> + <compile files="EmptyStack.java"/> + <run class="EmptyStack"/> + </ajc-test> + + <ajc-test dir="new/perThis" + title="check that MightHaveAspect interface is created correctly for an aspect in deep package" + keywords="from-resolved_10x"> + <compile files="p/EachObjectTarget.java,the/deep/pkg/EachObjectInDeepPackage.java"/> + <run class="p.EachObjectTarget"/> + </ajc-test> + + <ajc-test dir="new" title="Defines clfow$ajc0 more once. [eachcflow]" + keywords="from-resolved_10x"> + <compile files="Binkley.java"/> + <run class="Binkley"/> + </ajc-test> + + <ajc-test dir="new" + title="Various calls, receptions, and callsto tests [callsto]" + keywords="from-resolved_10x"> + <compile files="CallsReceptionsCallsto.java"/> + <run class="CallsReceptionsCallsto"/> + </ajc-test> + + <ajc-test dir="new" pr="320" + title="Was throwing exception, now just an error. [eachobject]" + keywords="from-resolved_10x"> + <compile files="PR320.java"/> + <run class="PR320"/> + </ajc-test> + + <ajc-test dir="new" + title="different version of aspect inheritance, particularly empty pointcuts and abstract cflows [eachcflow]" + keywords="from-resolved_10x,fail-unimplemented"> + <compile files="AspectInheritance.java"/> + <run class="AspectInheritance"/> + </ajc-test> + + <ajc-test dir="new" pr="339" + title="set advice on member initing throwing exception [eachobject]" + keywords="from-resolved_10x"> + <compile files="PR339.java"/> + <run class="PR339"/> + </ajc-test> + + <ajc-test dir="new" pr="417" + title="Testing class names with same name's with difference case as package. [eachobject]" + keywords="from-resolved_10x"> + <compile files="test/TraceAspect.java,test/Test.java"/> + <run class="test.Test"/> + </ajc-test> + + <ajc-test dir="new" + title="Null pointer on gets advice with coverage [painful]" + keywords="from-resolved_10x"> + <compile files="NullPointerOnGets.java"/> + <run class="NullPointerOnGets"/> + </ajc-test> + + <ajc-test dir="new" title="Basic test for cflow pointcuts [eachcflow]" + keywords="from-resolved_10x"> + <compile files="CFlowPoints.java"/> + <run class="CFlowPoints"/> + </ajc-test> + + <ajc-test dir="new" + title="Crashing when looking up the type of array members." + keywords="from-resolved_10x"> + <compile files="ArrayCasts.java"/> + <run class="ArrayCasts"/> + </ajc-test> + + <ajc-test dir="new" + title="PostfixExprs to various synthetic things are fixed correctly [eachobject]" + keywords="from-resolved_10x"> + <compile files="Fixes.java"/> + <run class="Fixes"/> + </ajc-test> + + <ajc-test dir="new" + title="Dave Binkley's problem with eachcflowroot. [eachcflow]" + keywords="from-resolved_10x"> + <compile files="Binkley2.java"/> + <run class="Binkley2"/> + </ajc-test> + + <ajc-test dir="new" pr="105" title="advice on an inherited method" + keywords="from-resolved_10x"> + <compile files="AdviceOnInheritedMethod.java"/> + <run class="AdviceOnInheritedMethod"/> + </ajc-test> + + <ajc-test dir="new" pr="114" + title=", PR#115 checks the ordering of catch clauses" + keywords="from-resolved_10x"> + <compile files="OrderOfCatches.java"/> + <run class="OrderOfCatches"/> + </ajc-test> + + <ajc-test dir="new" title="various declared exception permutations" + keywords="from-resolved_10x"> + <compile files="DeclaredExcs.java"/> + <run class="DeclaredExcs"/> + </ajc-test> + + <ajc-test dir="new" + title="ordering of advice kinds as well as cflow and dominates" + keywords="from-resolved_10x"> + <compile files="AdviceOrdering.java"/> + <run class="AdviceOrdering"/> + </ajc-test> + + <ajc-test dir="new" pr="241" + title="advice on default constructor for a class only referenced via reflection" + keywords="from-resolved_10x"> + <compile files="OddConstructors.java"/> + <run class="OddConstructors"/> + </ajc-test> + + <ajc-test dir="new" pr="289" + title="calling and called this params in calls points" + keywords="from-resolved_10x"> + <compile files="CallsParams.java"/> + <run class="CallsParams"/> + </ajc-test> + + <ajc-test dir="new" pr="322" + title="primitive parameters coercable to Object just like return values are" + keywords="from-resolved_10x"> + <compile files="ObjectForInt.java"/> + <run class="ObjectForInt"/> + </ajc-test> + + <ajc-test dir="new" + title="join points in static/dynamic initializers aren't showing up." + keywords="from-resolved_10x"> + <compile files="NonexistentInitializers.java"/> + <run class="NonexistentInitializers"/> + </ajc-test> + + <ajc-test dir="new" + title="Gets and sets on a number of variables (field access ???)" + keywords="from-resolved_10x"> + <compile files="Gets.java"/> + <run class="Gets"/> + </ajc-test> + + <ajc-test dir="new" + title="Joinpoints are showing up on intermediate call sites" + keywords="from-resolved_10x"> + <compile files="Counting1.java"/> + <run class="Counting1"/> + </ajc-test> + + <ajc-test dir="new" title="Reception based on strictfp modifier" + keywords="from-resolved_10x"> + <compile files="StrictFpReceptions.java"/> + <run class="StrictFpReceptions"/> + </ajc-test> + + <ajc-test dir="new" pr="353" + title="Subclasses that do not redefine a method are not being handled correctly" + keywords="from-resolved_10x"> + <compile files="PR353b.java"/> + <run class="PR353b"/> + </ajc-test> + + <ajc-test dir="new" + title="making sure that super calls are bound to the right methods" + keywords="from-resolved_10x"> + <compile files="SupersAndInterfaces.java"/> + <run class="SupersAndInterfaces"/> + </ajc-test> + + <ajc-test dir="new" pr="317" + title="inheritance, around advice and abstract pointcuts [eachobject] (still)" + keywords="from-resolved_10x"> + <compile files="OverridingPointcuts.java"/> + <run class="OverridingPointcuts"/> + </ajc-test> + + <ajc-test dir="new/foemmel" + title="Priviledged aspect methods are missing for privates. [eachobject]" + keywords="from-resolved_10x"> + <compile files="TheAspect.java,TheObject.java"> + </compile> + <run class="TheObject"/> + </ajc-test> + + <ajc-test dir="new" + title="exceptions thrown and caught in advice, particularly try+proceed" + keywords="from-resolved_10x"> + <compile files="TryAndProceed.java"/> + <run class="TryAndProceed"/> + </ajc-test> + + <ajc-test dir="new" title="Not and And operators in pointcuts not working" + keywords="from-resolved_10x"> + <compile files="NotAndPointcut.java"/> + <run class="NotAndPointcut"/> + </ajc-test> + + <ajc-test dir="new" + title="Member initializers should run before the current class constructor" + keywords="from-resolved_10x"> + <compile files="MemberInitializationsAfterExplicitConstructorCalls.java"/> + <run class="MemberInitializationsAfterExplicitConstructorCalls"/> + </ajc-test> + + <ajc-test dir="new" + title="Coverage tests for Member initializers should run before the current class constructor and after super" + keywords="from-resolved_10x"> + <compile + files="MemberInitializationsAfterExplicitConstructorCallsCoverage.java"/> + <run class="MemberInitializationsAfterExplicitConstructorCallsCoverage"/> + </ajc-test> + + <ajc-test dir="new" + title="thisJoinPoint{Static} not visible in if() pcd of named pointcut" + keywords="from-resolved_10x"> + <compile files="IfPCDExprJoinPointVisibleCE.java"/> + <run class="IfPCDExprJoinPointVisibleCE"/> + </ajc-test> + + <ajc-test dir="new" + title="pcd if() expression visibility at compile-time (minimal operation)" + keywords="from-resolved_10x"> + <compile files="IfPCDExprVisibility.java" options="-Xlint:ignore"/> + <run class="IfPCDExprVisibility"/> + </ajc-test> + + <ajc-test dir="new" + title="pcd if() NPE in compiler when unwinding assignment in pcd if(expr)" + keywords="from-resolved_10x"> + <compile files="IfPCDExprAssignUnparseFailure.java"/> + <run class="IfPCDExprAssignUnparseFailure"/> + </ajc-test> + + <ajc-test dir="new" + title="pcd if() dup methods produced when pointcut after advice etc (javac)" + keywords="from-resolved_10x"> + <compile files="IfPCDDupMethod.java"/> + <run class="IfPCDDupMethod"/> + </ajc-test> + + <ajc-test dir="new" + title="pcd if() variants: [anonymous, named] x [execution, call, callTyped, get, set, initializations] x [before, after, around]" + keywords="from-resolved_10x"> + <compile files="IfPCDAdviceMethods.java"/> + <run class="IfPCDAdviceMethods"/> + </ajc-test> + + <ajc-test dir="new" pr="476" title="initialization order with this" + keywords="from-resolved_10x"> + <compile files="InitializationOrder.java"/> + <run class="InitializationOrder"/> + </ajc-test> + + <ajc-test dir="new" pr="496" + title="!within and !this handling for callee-side call points" + keywords="from-resolved_10x"> + <compile files="NotThis.java"/> + <run class="NotThis"/> + </ajc-test> + + <ajc-test dir="new/innerInterfaces" pr="494" + title="private inner interfaces and bytecode visibility" + keywords="from-resolved_10x"> + <compile files="p/Driver.java,p/InnerTest.java,other/Test.java"/> + <run class="p.Driver"/> + </ajc-test> + + <!-- This has a complicated set of expected join points. + This test should be borken up into more manageable chunks + and more carefully analyzed for correctness in the future. + --> + <ajc-test dir="new" pr="490" + title="elaborated into testing of around on all join points" + keywords="from-resolved_10x"> + <compile files="AroundAll.java"/> + <run class="AroundAll"/> + </ajc-test> + + <ajc-test dir="new" + title="type name hygiene when code comes from aspects in different packages" + keywords="from-resolved_10x"> + <compile + files="typeNameConflicts/Driver.java,typeNameConflicts/p1/C.java,typeNameConflicts/aspects/A.java"/> + <run class="typeNameConflicts.Driver"/> + </ajc-test> + + <ajc-test dir="new" title="cflowbelow dependencies (from Chris Dutchyn)" + keywords="from-resolved_10x"> + <compile files="CflowBelowTest.java"/> + <run class="CflowBelowTest"/> + </ajc-test> + + <ajc-test dir="new" pr="493" + title="Compiler incorrectly flagging *1 (non-alphabetic start to signature pattern)" + keywords="from-resolved_10x"> + <compile files="NonAlphaSignaturePatternCE.java"/> + <run class="NonAlphaSignaturePatternCE"/> + </ajc-test> + + <ajc-test dir="new" + title="Unable to bind privately-introduced field name from introduced method in the same aspect" + keywords="from-resolved_10x"> + <compile files="IntroducedFieldsNotBinding.java"/> + <run class="IntroducedFieldsNotBinding"/> + </ajc-test> + + <ajc-test dir="new/anonInnerClass" pr="297" + title="anonymous inner class with aspect" keywords="from-resolved_10x"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="new" pr="335" + title="Arguments are not being passed in to calls advice" + keywords="from-resolved_10x"> + <compile files="PR335.java"/> + <run class="PR335"/> + </ajc-test> + + <ajc-test dir="design/intro" title="interfaces as mixins with introduction" + keywords="from-resolved_10x"> + <compile files="Interfaces.java"/> + <run class="Interfaces"/> + </ajc-test> + + <ajc-test dir="new" + title="functional modifiers work correctly with introduced members" + keywords="from-resolved_10x"> + <compile files="IntroducedModifiers.java"/> + <run class="IntroducedModifiers"/> + </ajc-test> + + <ajc-test dir="new" + title="ExceptionInInitializerError accessing cflow in aspect initialization - before variants" + keywords="from-resolved_10x"> + <compile files="CflowInitInAspectVariantsBefore.java"/> + <run class="CflowInitInAspectVariantsBefore"/> + </ajc-test> + + <ajc-test dir="new" + title="NoClassDefFoundError accessing cflow in aspect initialization - after variants" + keywords="from-resolved_10x"> + <compile files="CflowInitInAspectVariantsAfter.java"/> + <run class="CflowInitInAspectVariantsAfter"/> + </ajc-test> + + <ajc-test dir="new" title="InternalCompilerError in JpPlan when args alone" + keywords="from-resolved_10x"> + <compile files="ArgsAlone.java"/> + <run class="ArgsAlone"/> + </ajc-test> + + <ajc-test dir="new" pr="527" + title="compile error using pcd if() with advice on introduced methods." + keywords="from-resolved_10x"> + <compile files="PR527.java"/> + <run class="PR527"/> + </ajc-test> + + <ajc-test dir="new" pr="528" + title="compile errors boolean using cflow and unimplemented method using around advice on methods introduced by interface" + keywords="from-resolved_10x"> + <compile files="PR528.java"/> + <run class="PR528"/> + </ajc-test> + + <ajc-test dir="new" pr="534" title="aspect as member of interface" + keywords="from-resolved_10x"> + <compile files="AspectInInterfaceCP.java"/> + <run class="AspectInInterfaceCP"/> + </ajc-test> + + <ajc-test dir="new" pr="535" + title="missing method name to synthetic invocation" + keywords="from-resolved_10x,new-messages-vary"> + <compile files="PR535.java"/> + <run class="PR535"/> + </ajc-test> + + <ajc-test dir="new" pr="536" + title="protected subclass impl of superclass method with default access and variants" + keywords="from-resolved_10x"> + <compile files="RestrictingVisibilityCP.java"/> + <run class="RestrictingVisibilityCP"/> + </ajc-test> + + <ajc-test dir="new" pr="519" title="Exception planning advice" + keywords="from-resolved_10x"> + <compile files="PR519.java" options="-Xlint:ignore"/> + <run class="PR519"/> + </ajc-test> + + <ajc-test dir="new" pr="521" + title="unreproduced bug with advice - probably UTR" + keywords="from-resolved_10x"> + <compile files="PR520.java"/> + <run class="PR520"/> + </ajc-test> + + <ajc-test dir="new" pr="494" + title="introduced inner interfaces accessible inside aspect" + keywords="from-resolved_10x"> + <compile files="IntroduceInnerInterfaceCP.java"/> + <run class="IntroduceInnerInterfaceCP"/> + </ajc-test> + + <ajc-test dir="new" pr="525" + title="validate (enclosing) join point and source locations" + keywords="from-resolved_10x"> + <compile files="NegativeSourceLocation.java" options="-Xlint:ignore"/> + <run class="NegativeSourceLocation"/> + </ajc-test> + + <ajc-test dir="new" pr="544" + title="advice formals are just like method formals" + keywords="from-resolved_10x"> + <compile files="AdviceFormalsCp.java"/> + <run class="AdviceFormalsCp"/> + </ajc-test> + + <ajc-test dir="new" pr="544" + title="advice formals produce errors just like method formals" + keywords="from-resolved_10x"> + <compile files="AdviceFormalsCf.java"> + <message kind="error" line="28"/> + <message kind="error" line="29"/> + <message kind="error" line="36"/> + <message kind="error" line="37"/> + </compile> + </ajc-test> + + <ajc-test dir="new" + title="advice throws clauses must be compatible with joinpoints they apply to" + keywords="from-resolved_10x"> + <compile files="AdviceThrowsCp.java"/> + <run class="AdviceThrowsCp"/> + </ajc-test> + + <ajc-test dir="new" pr="570" + title="potential method conflicts with introductions and interfaces and PR#561" + keywords="from-resolved_10x"> + <compile files="MethodConflictsCP.java"/> + <run class="MethodConflictsCP"/> + </ajc-test> + + <ajc-test dir="new" pr="570" + title="illegal method conflicts with introductions and interfaces and PR#561" + keywords="from-resolved_10x"> + <compile files="MethodConflictsCF.java"> + <message kind="error" line="8"/> + <message kind="error" line="20"/> + <message kind="error" line="28"/> + </compile> + </ajc-test> + + <ajc-test dir="new" title="AspectOf available for different aspect types" + keywords="from-resolved_10x"> + <compile files="AspectOf.java"/> + <run class="AspectOf"/> + </ajc-test> + + <ajc-test dir="new/privilegedAspects" pr="35593" + title="access to all members of class and inner class from privileged aspect" + keywords="from-resolved_10x"> + <compile + files="driver/PrivilegedAspect.java,util/Util.java,pack/DefaultTarget.java,pack/PublicTarget.java"/> + <run class="driver.PrivilegedAspect"/> + </ajc-test> + + <ajc-test dir="new" + title="cflow alone with around produces compiler bcg StackOverflowError" + keywords="from-resolved_10x"> + <compile files="CflowAlone.java"/> + <run class="CflowAlone"/> + </ajc-test> + + <ajc-test dir="new" + title="get/set join points run for complex assignment operators (+=, etc.) (working)" + keywords="from-resolved_10x"> + <compile files="AssignOps.java"/> + <run class="AssignOps"/> + </ajc-test> + + <ajc-test dir="new/introTypeMissing" + title="this available in introduced field initializers" + keywords="from-resolved_10x"> + <compile files="ThisInIntroFieldInit.java"/> + <run class="ThisInIntroFieldInit"/> + </ajc-test> + + <ajc-test dir="new/introTypeMissing" + title="Introduced type unavailable to cast expressions in introduced methods" + keywords="from-resolved_10x"> + <compile files="Cast.java,TargetClass.java,Util.java"/> + <run class="Cast"/> + </ajc-test> + + <ajc-test dir="new/introTypeMissing" + title="Introduced type unavailable to qualified new expressions in introduced methods" + keywords="from-resolved_10x"> + <compile files="Inner.java,TargetClass.java,Util.java"/> + <run class="Inner"/> + </ajc-test> + + <ajc-test dir="new/introTypeMissing" + title="Introduced type unavailable to cast expressions in introduced field initializers" + keywords="from-resolved_10x"> + <compile files="CastInFieldInit.java,TargetClass.java,Util.java"/> + <run class="CastInFieldInit"/> + </ajc-test> + + <ajc-test dir="new/introTypeMissing" + title="Aspect type unavailable to qualified new expressions in body of introduced methods" + keywords="from-resolved_10x"> + <compile files="AspectInIntroducedMethod.java"/> + <run class="AspectInIntroducedMethod"/> + </ajc-test> + + + <ajc-test dir="new/introTypeMissing" + title="Introduced type unavailable to qualified new expressions in introduced field initializers" + keywords="from-resolved_10x"> + <compile files="InnerInFieldInit.java,TargetClass.java,Util.java"/> + <run class="InnerInFieldInit"/> + </ajc-test> + + <ajc-test dir="new" pr="595" + title="variable slots and finally/catch causing verify errors" + keywords="from-resolved_10final,from-resolved_10x"> + <compile files="AfterFinally.java"/> + <run class="AfterFinally"/> + </ajc-test> + + + <ajc-test dir="new" pr="590" + title="after advice on static method with pcd if() using result" + keywords="from-resolved_10x"> + <compile files="PR590.java"> + <message kind="error" line="20"/> + <message kind="error" line="23"/> + </compile> + </ajc-test> + + <ajc-test dir="new" pr="590" + title="after advice on static method with pcd if() using result through pointcut" + keywords="from-resolved_10x"> + <compile files="PR590a.java" options="-Xlint:ignore"> + <message kind="error" line="29"/> + <message kind="error" line="31"/> + </compile> + </ajc-test> + + <ajc-test dir="new/PR600" pr="600" + title="AbstractMethodError for introduced methods (order 1)" + keywords="from-resolved_10x"> + <compile files="Main.java,My_error.java,A.java,B.java,C.java"/> + <run class="Main"/> + </ajc-test> + + <ajc-test dir="new/PR600" pr="600" + title="AbstractMethodError for introduced methods (order 2)" + keywords="from-resolved_10x"> + <compile files="Main.java,My_error.java,C.java,A.java,B.java"/> + <run class="Main"/> + </ajc-test> + + <ajc-test dir="new/PR600" pr="600" + title="AbstractMethodError for introduced methods (order 3)" + keywords="from-resolved_10x"> + <compile files="My_error.java,A.java,B.java,C.java,Main.java"/> + <run class="Main"/> + </ajc-test> + + <ajc-test dir="new/PR600" pr="600" + title="AbstractMethodError for introduced methods (order 4)" + keywords="from-resolved_10x"> + <compile files="A.java,B.java,C.java,Main.java,My_error.java"/> + <run class="Main"/> + </ajc-test> + + <ajc-test dir="new/PR600" pr="600" + title="AbstractMethodError for introduced methods (order 5)" + keywords="from-resolved_10x"> + <compile files="A.java,B.java,Main.java,C.java,My_error.java"/> + <run class="Main"/> + </ajc-test> + + <ajc-test dir="new" title="declare error and abstract pointcuts" + keywords="from-resolved_10x"> + <compile files="AbstractDeclare.java"> + <message kind="error" line="3"/> + <message kind="error" line="4"/> + </compile> + </ajc-test> + + <ajc-test dir="new/runtime" + title="Exercise runtime classes (optionally in 1.1 VM)" + keywords="from-resolved_10x"> + <compile files="AllRuntime.java,TesterDriver.java"/> + <run class="TesterDriver"/> + </ajc-test> + + <ajc-test dir="new" + title="VerifyError after around advice falls off end of tryCatch" + keywords="from-resolved_10x"> + <compile files="TryOffEnd.java"> + <message kind="warning" line="13"/> + <message kind="warning" line="21"/> + </compile> + <run class="TryOffEnd"/> + </ajc-test> + + <ajc-test dir="new" pr="635" title="Named within pointcuts failing" + keywords="from-resolved_10x"> + <compile files="NamedWithinPointcuts.java"/> + <run class="NamedWithinPointcuts"/> + </ajc-test> + + <ajc-test dir="new/subaspects" pr="647" + title="aspect with private abstract pointcut" + keywords="from-resolved_10x,fail-unimplemented"> + <compile files="PrivatePointcutCE.java"> + <message kind="error" line="5"/> + </compile> + </ajc-test> + + <ajc-test dir="new/subaspects" pr="647" + title="concrete aspect unable to access abstract package-private pointcut in parent for overriding" + keywords="from-resolved_10x" + comment="XXX getting error - confirm line numbers"> + <compile files="parent/ParentCE.java,child/ChildCE.java"> + <message kind="error" file="child/ChildCE.java" line="21"/> + <message kind="error" file="child/ChildCE.java" line="31"/> + <message kind="error" file="parent/ParentCE.java" line="8"/> + <message kind="error" file="parent/ParentCE.java" line="10"/> + <message kind="error" file="parent/ParentCE.java" line="12"/> + <message kind="error" file="parent/ParentCE.java" line="22"/> + </compile> + </ajc-test> + + <ajc-test dir="new/subaspects" pr="647" + title="inner, outer, and outside-package subaspects of an aspect with abstract protected-, public-, and default-access pointcuts" + keywords="from-resolved_10x"> + <compile + files="parent/SubAspectVisibility.java,parent/ForeignChildHelper.java,child/ForeignChildAspect.java"/> + <run class="parent.SubAspectVisibility"/> + </ajc-test> + + <ajc-test dir="new/subaspects" pr="647" + title="inner subaspects of an aspect with private pointcut" + keywords="from-resolved_10x"> + <compile files="parent/PrivatePointcut.java"/> + <run class="parent.PrivatePointcut"/> + </ajc-test> + + <ajc-test dir="new/subaspects" pr="647" + title="outer subaspects of an aspect with private pointcut" + keywords="from-resolved_10x"> + <compile files="parent/PrivatePointcutOuterClass.java"/> + <run class="parent.PrivatePointcutOuterClass"/> + </ajc-test> + + <ajc-test dir="new/subaspects" pr="647" + title="abstract aspect used statically should not cause instantiation of advice or pointcut" + keywords="from-resolved_10x"> + <compile files="AbstractAspectUsedStatically.java"/> + <run class="AbstractAspectUsedStatically"/> + </ajc-test> + + <ajc-test dir="new" + title="private inner interface accessible in scope when declared on outer class" + keywords="from-resolved_10x"> + <compile files="DeclareAccess.java"/> + <run class="DeclareAccess"/> + </ajc-test> + + <ajc-test dir="new" + title="accessing protected superclass members in and outside CCC from body of method introduction" + keywords="from-resolved_10x"> + <compile files="SuperInIntroduction.java"/> + <run class="SuperInIntroduction"/> + </ajc-test> + + <ajc-test dir="new" + title="accessing private superclass members from body of method introduction" + keywords="from-resolved_10x"> + <compile files="SuperInIntroductionCE.java"> + <message kind="error" line="25"/> + <message kind="error" line="26"/> + </compile> + </ajc-test> + + <ajc-test dir="new" title="simple test for around and casting" + keywords="from-resolved_10x"> + <compile files="AroundCasting.java"/> + <run class="AroundCasting"/> + </ajc-test> + + <ajc-test dir="new/aroundinner" pr="620" + title="aroundInner 1 - around advice inner Thread subclass running proceed but not writing field" + keywords="from-resolved_10x"> + <compile files="ThreadNoField.java,Common.java"/> + <run class="ThreadNoField"/> + </ajc-test> + + <ajc-test dir="new/aroundinner" pr="620" + title="aroundInner 2 - around advice inner Runnable running proceed and writing method-final proxy" + keywords="from-resolved_10x"> + <compile files="Proxy.java,Common.java"/> + <run class="Proxy"/> + </ajc-test> + + <ajc-test dir="new/aroundinner" pr="620" + title="aroundInner 3 - around advice inner class running proceed and writing field" + keywords="from-resolved_10x"> + <compile files="Minimal.java,Common.java"/> + <run class="Minimal"/> + </ajc-test> + + <ajc-test dir="new/aroundinner" pr="620" + title="aroundInner 4 - around advice inner Thread subclass running proceed and writing field" + keywords="from-resolved_10x"> + <compile files="ThreadSub.java,Common.java"/> + <run class="ThreadSub"/> + </ajc-test> + + <ajc-test dir="new/aroundinner" pr="620" + title="aroundInner 5 - around advice inner Runnable (subinterface) running proceed and writing field introduced on subinterface" + keywords="from-resolved_10x"> + <compile files="RunnableSub.java,Common.java"/> + <run class="RunnableSub"/> + </ajc-test> + + <ajc-test dir="new" pr="636" + title="Named local class closing over proceed invocation" + keywords="from-resolved_10x"> + <compile files="LocalClassClosingOverProceed.java"/> + <run class="LocalClassClosingOverProceed"/> + </ajc-test> + + <ajc-test dir="new" + title="beautiful recursive computation of factorial with around is now supported" + keywords="from-resolved_10x"> + <compile files="CircularAdvice.java"/> + <run class="CircularAdvice"/> + </ajc-test> + + <ajc-test dir="new" pr="632" + title="multi-dispatch not used for named pcd references" + keywords="from-resolved_10x"> + <compile files="MultiDispatchCf.java"> + <message kind="error" line="54"/> + <message kind="error" line="57"/> + <message kind="error" line="60"/> + <message kind="error" line="71"/> + </compile> + </ajc-test> + + <ajc-test dir="new" pr="632" + title="multi-dispatch implemented through around + args" + keywords="from-resolved_10x"> + <compile files="MultiDispatchCp.java"/> + <run class="MultiDispatchCp"/> + </ajc-test> + + <ajc-test dir="new" + title="unrecognized aspect should not net Cloneable and Serializable warnings" + keywords="from-resolved_10x"> + <compile files="UnrecognizedAspectCE.java"> + <message kind="error" line="3"/> + </compile> + </ajc-test> + + <ajc-test dir="new" + title="unreachable code generated by around advice on the execution of void methods" + keywords="from-resolved_10x"> + <compile files="AroundVoid.java"/> + <run class="AroundVoid"/> + </ajc-test> + + <ajc-test dir="new" pr="654" + title="Overriding method implementations using introduction on interfaces" + keywords="from-resolved_10x,fail-unimplemented"> + <compile files="IntroductionsOverriding.java" options="-Xlint:ignore" /> + <run class="IntroductionsOverriding"/> + </ajc-test> + + <ajc-test dir="new" pr="654" + title="more coverage for around and concrete methods on interfaces" + keywords="from-resolved_10x"> + <compile files="MultiAndAround.java" options="-Xlint:ignore"/> + <run class="MultiAndAround"/> + </ajc-test> + + <ajc-test dir="new" title="invalid number and type of proceed arguments" + keywords="from-resolved_10x"> + <compile files="InvalidProceedArgsCE.java"> + <message kind="error" line="10"/> + <message kind="error" line="15"/> + <message kind="error" line="17"/> + <message kind="error" line="20"/> + <message kind="error" line="22"/> + <message kind="error" line="27"/> + <message kind="error" line="29"/> + <message kind="error" line="31"/> + <message kind="error" line="37"/> + <message kind="error" line="39"/> + <message kind="error" line="43"/> + <message kind="error" line="46"/> + </compile> + </ajc-test> + + <ajc-test dir="new" pr="694" title="after returning advice order" + keywords="from-resolved_10x"> + <compile files="Cricket.java"/> + <run class="Cricket"/> + </ajc-test> + + <ajc-test dir="new" pr="694" title="after returning advice param" + keywords="from-resolved_10x"> + <compile files="AfterReturningParam.java"/> + <run class="AfterReturningParam"/> + </ajc-test> + + <ajc-test dir="new" pr="695" + title="! and declaring types with callee-side call join points" + keywords="from-resolved_10x"> + <compile files="NotAndDeclaringTypes.java" options="-Xlint:ignore"/> + <run class="NotAndDeclaringTypes"/> + </ajc-test> + + <ajc-test dir="new" pr="479" + title=". Binding the wrong arguments in withincode(..)." + keywords="from-resolved_10x"> + <compile files="BindingArgumentsInWithincode.java"/> + <run class="BindingArgumentsInWithincode"/> + </ajc-test> + + <ajc-test dir="new" pr="479" + title=". Matching arguments in cflow correctly." + keywords="from-resolved_10x"> + <compile files="MatchingArgumentsInCflow.java"/> + <run class="MatchingArgumentsInCflow"/> + </ajc-test> + + <ajc-test dir="new" pr="480" + title=". Binding variables with numbers in their name with pertarget(..)'s." + keywords="from-resolved_10x"> + <compile files="PerTargetAndVariablesWithNumbersInTheirNames.java"/> + <run class="PerTargetAndVariablesWithNumbersInTheirNames"/> + </ajc-test> + + + <ajc-test dir="new" pr="554" + title="second arg in formal on shared joinpoint with pcd if() causes verify error ??" + keywords="from-resolved_10rc3"> + <compile files="PR554.java"/> + <run class="PR554"/> + </ajc-test> + + <ajc-test dir="new/privilegedAspects" pr="555" + title="access to private members from privileged aspect" + keywords="from-resolved_10rc3"> + <compile + files="driver/PR555.java,util/Util.java,pack/DefaultTarget.java"/> + <run class="driver.PR555"/> + </ajc-test> + + <ajc-test dir="new" pr="555" + title="inner classes of privileged aspects cannot see target class private members" + keywords="from-resolved_10rc3"> + <compile files="InnerClassInPrivilegedAspect.java"/> + <run class="InnerClassInPrivilegedAspect"/> + </ajc-test> + + <ajc-test dir="new/packageAccessPR556" pr="556" + title="aspects should get package access outside the file" + keywords="from-resolved_10rc3"> + <compile files="base1/p/C1.java,base2/p/C2.java"/> + <run class="p.C1"/> + </ajc-test> + + <ajc-test dir="new" pr="559" + title="subclass advice not run for join points selected by superclass cflow-based pointcuts" + keywords="from-resolved_10rc3"> + <compile files="PR559.java"/> + <run class="PR559"/> + </ajc-test> + + <ajc-test dir="new" pr="559" + title="more issues with abstract aspects and cflow pointcuts" + keywords="from-resolved_10rc3,fail-unimplemented"> + <compile files="AbstractCflows.java"/> + <run class="AbstractCflows"/> + </ajc-test> + + <ajc-test dir="new" pr="560" + title="compile fails for aspect derived from percflow base aspect unless pointcut excludes base aspect and subaspects" + keywords="from-resolved_10rc3"> + <compile files="PR560.java"/> + <run class="PR560"/> + </ajc-test> + + + <ajc-test dir="new" pr="573" + title="pertarget stack overflow getting name of anonymous (Interface) class" + keywords="from-resolved_10rc3"> + <compile files="PR573.java"/> + <run class="PR573"/> + </ajc-test> + + <ajc-test dir="new" pr="573" + title="pertarget stack overflow getting name of anonymous (Object) class" + keywords="from-resolved_10rc3"> + <compile files="PR573_1.java"/> + <run class="PR573_1"/> + </ajc-test> + + <ajc-test dir="new" pr="573" + title="pertarget runtime stack overflow (getting name of anonymous (Object) class?)" + keywords="from-resolved_10rc3"> + <compile files="PR573_2.java"/> + <run class="PR573_2"/> + </ajc-test> + + <ajc-test dir="new" pr="685" + title="subaspect method declaration on superaspect inner interface (names)" + keywords="from-resolved_104"> + <compile files="InnerInterfaceNames.java"/> + <run class="InnerInterfaceNames"/> + </ajc-test> + + <ajc-test dir="new" pr="685" + title="subaspect method declaration on superaspect inner interface (access)" + keywords="from-resolved_104"> + <compile files="InnerInterfaceAccess.java"/> + <run class="InnerInterfaceAccess"/> + </ajc-test> + + <ajc-test dir="new" pr="685" + title="subaspect method declaration on superaspect inner interface (types)" + keywords="from-resolved_104"> + <compile files="InnerInterfaceTypes.java,InnerInterfaceTypesHelper.java"/> + <run class="InnerInterfaceTypes"/> + </ajc-test> + + <ajc-test dir="new" pr="691" title="around AST type XXX" + keywords="from-resolved_104"> + <compile files="PR691.java"/> + <run class="PR691"/> + </ajc-test> + + <ajc-test dir="new" pr="687" + title="around all execution with double assignment in initializer (simple)" + keywords="from-resolved_104"> + <compile files="AroundDoubleAssignment.java"/> + <run class="AroundDoubleAssignment"/> + </ajc-test> + + <ajc-test dir="new" pr="687" + title="around all execution with double assignment in initializer (coverage)" + keywords="from-resolved_104"> + <compile files="AroundDoubleAssignmentC.java"/> + <run class="AroundDoubleAssignmentC"/> + </ajc-test> + + <ajc-test dir="new" + title="changing this in around's proceed reported by Rich Price" + keywords="from-resolved_104"> + <compile files="AroundChangeThis.java" options="-1.4"/> + <run class="AroundChangeThis"/> + </ajc-test> + + <ajc-test dir="new" pr="548" + title="default package for aspect introductions is not the current package" + keywords="from-resolved_10rc3,from-resolved_104"> + <compile + files="introductionPackage/two/C.java,introductionPackage/one/C.java,introductionPackage/one/Aspect.java,introductionPackage/one/TestAspect.java"/> + <run class="one.TestAspect"/> + </ajc-test> + + <ajc-test dir="new/PR569" pr="569" + title="anon class written to wrong directory" + keywords="from-resolved_104,from-resolved_104"> + <compile files="a/IntroAnon.java,a/MyInterface.java,b/Dest.java"/> + <run class="a.IntroAnon"/> + </ajc-test> + + <ajc-test dir="new" pr="603" + title="unqualified transitive pointcut references not resolved" + keywords="from-resolved_104"> + <compile files="PointcutQualification.java"/> + <run class="PointcutQualification"/> + </ajc-test> + + <ajc-test dir="new" pr="603" + title="unqualified transitive pointcut references not resolved - 2" + keywords="from-resolved_104"> + <compile files="PointcutQualification2.java"/> + <run class="PointcutQualification2"/> + </ajc-test> + + <ajc-test dir="new" pr="619" + title="direct use outside aspect of defined abstract pointcut" + keywords="from-resolved_104"> + <compile files="AbstractPointcutAccess.java"/> + <run class="AbstractPointcutAccess"/> + </ajc-test> + + <ajc-test dir="new" pr="619" + title="direct use outside aspect of undefined abstract pointcut" + keywords="from-resolved_104"> + <compile files="AbstractPointcutAccessCE.java"> + <message kind="error" line="9"/> + </compile> + </ajc-test> + + <ajc-test dir="new" pr="619" + title="indirect use outside aspect of undefined abstract pointcut" + keywords="from-resolved_104"> + <compile files="AbstractPointcutIndirectCE.java"> + <message kind="error" line="9"/> + <message kind="error" line="5"/> + </compile> + </ajc-test> + + <ajc-test dir="new" pr="658" + title="simple call join point tests for JoinPoint SourceLocation context" + keywords="from-resolved_104"> + <compile files="SourceLocationCall.java"/> + <run class="SourceLocationCall"/> + </ajc-test> + + <ajc-test dir="new" pr="661" + title="!target with second advice on casted call" + keywords="from-resolved_104"> + <compile files="CallNotTarget.java"/> + <run class="CallNotTarget"/> + </ajc-test> + + <ajc-test dir="new" pr="666" title="name binding in around cflow" + keywords="from-resolved_104"> + <compile files="AroundCall.java"/> + <run class="AroundCall"/> + </ajc-test> + + <ajc-test dir="new" pr="660" title="name binding in around cflow - 2" + keywords="from-resolved_104"> + <compile files="ArgsInCflow2.java"/> + <run class="ArgsInCflow2"/> + </ajc-test> + + <ajc-test dir="new" pr="677" + title="around name-binding in cflows using factorial" + keywords="from-resolved_104"> + <compile files="FactorialCflow.java"/> + <run class="FactorialCflow"/> + </ajc-test> + + <ajc-test dir="new" title="replacing this or target in around advice" + keywords="from-resolved_104"> + <compile files="TargetObjectReplacement.java"/> + <run class="TargetObjectReplacement"/> + </ajc-test> + + <ajc-test dir="new" + title="after returning from initialization and after executing constructor" + keywords="from-resolved_104"> + <compile files="ConstructorExecInit.java"/> + <run class="ConstructorExecInit"/> + </ajc-test> + + <ajc-test dir="new" + title="after returning from initialization causes ExceptionInInitializer in aspect"> + <compile files="ConstructorExecInitFails.java"/> + <run class="ConstructorExecInitFails"/> + </ajc-test> + + <ajc-test dir="new" pr="659" + title="name binding in before cflow containing cflowbelow" + keywords="from-resolved_104"> + <compile files="ArgsInCflow.java" options="!eclipse"> + <message kind="error" line="29"/> + <message kind="error" line="32"/> + </compile> + </ajc-test> + + + <ajc-test dir="new/pr728" pr="728" title="file order in type searching" + keywords="from-resolved_105"> + <compile files="AnotherClass.java,Interface.java"/> + <run class="AnotherClass"/> + </ajc-test> + + + <ajc-test dir="new" title="simple declare warning (NPE)" + keywords="from-resolved_105"> + <compile files="DeclareWarningMain.java"> + <message kind="warning" line="5"/> + </compile> + <run class="DeclareWarningMain"/> + </ajc-test> + + <ajc-test dir="new" pr="755" + title="ajc dies on cflow into field init anon class see knownbugs.txt" + keywords="from-resolved_105"> + <compile files="CflowOfFieldInitAnonMethods.java" options="!eclipse"> + </compile> + <run class="CflowOfFieldInitAnonMethods" options="!eclipse"/> + </ajc-test> + + + <ajc-test dir="new" pr="757" title="Incrementing interface-introduced field" + keywords="from-resolved_105"> + <compile files="IntroducedFieldInc.java"/> + <run class="IntroducedFieldInc"/> + </ajc-test> + + <ajc-test dir="new" + title="The dynamic type, not the static one, should be used in if pcds" + keywords="from-resolved_105"> + <compile files="StaticTypeInIf.java"/> + <run class="StaticTypeInIf"/> + </ajc-test> + + <ajc-test dir="new" + title="bad interaction with after returning, around and void methods (from Rich Price)" + keywords="from-resolved_105"> + <compile files="AfterReturningResult.java"/> + <run class="AfterReturningResult"/> + </ajc-test> + + <ajc-test dir="new" + title="type pattern matching for inner classes (from Ken Horn)" + keywords="from-resolved_105"> + <compile files="TypePat.java"/> + <run class="test.TypePat"/> + </ajc-test> + + <ajc-test dir="new" pr="771" title="static initializer member name" + keywords="from-resolved_105"> + <compile files="StaticInitName.java"/> + <run class="StaticInitName"/> + </ajc-test> + + <ajc-test dir="new" pr="770" title="cflow pcd syntax error" + keywords="from-resolved_105"> + <compile files="IllegalCflowCE.java"> + <message kind="error" line="4"/> + </compile> + </ajc-test> + + <ajc-test dir="new" pr="764" + title="binding args with indeterminate prefix and suffix" + keywords="from-resolved_105"> + <compile files="IndeterminateArgs.java"/> + <run class="IndeterminateArgs"/> + </ajc-test> + + <ajc-test dir="new" pr="764" + title="check arg types with indeterminate prefix and suffix" + keywords="from-resolved_105"> + <compile files="IndeterminateArgType.java"/> + <run class="IndeterminateArgType"/> + </ajc-test> + + <ajc-test dir="new" pr="764" + title="testing and binding args with single indeterminate prefix and suffix" + keywords="from-resolved_105"> + <compile files="IndeterminateArg.java"/> + <run class="IndeterminateArg"/> + </ajc-test> + + <ajc-test dir="new" pr="764" + title="binding handler args with indeterminate prefix and suffix" + keywords="from-resolved_105"> + <compile files="IndeterminateHandlerArg.java"/> + <run class="IndeterminateHandlerArg"/> + </ajc-test> + + + <ajc-test dir="new/nolang" pr="762" + title="Compiling java.lang.Object with ajc yields non-verifying bytecode" + keywords="from-resolved_105" + comment="XXX weak/bad test"> + <compile files="java/lang/Object.java,java/lang/String.java"> + </compile> + </ajc-test> + + <ajc-test dir="new" + title="method-local class defined in around return statement" + keywords="from-resolved_105"> + <compile files="MethodLocalAroundReturns.java"/> + <run class="MethodLocalAroundReturns"/> + </ajc-test> + + <ajc-test dir="new" title="CE expected for assignment to arg in if pcd" + keywords="from-resolved_105"> + <compile files="IfPCDAssignmentCE.java"> + <message kind="error" line="16"/> + <message kind="error" line="20"/> + </compile> + </ajc-test> + + <ajc-test dir="new" title="advising field get/sets when accessing via super" + keywords="from-resolved_105"> + <compile files="SuperField.java"/> + <run class="SuperField"/> + </ajc-test> + + <ajc-test dir="new" title="accessing private members in outer types" + keywords="from-resolved_105"> + <compile files="FieldInnerAccess.java"/> + <run class="FieldInnerAccess"/> + </ajc-test> + + <ajc-test dir="new" pr="29934" + title="can't apply around advice to the execution of around advice" + keywords="from-resolved_10x"> + <compile files="CflowCycles.java"/> + <run class="CflowCycles"/> + </ajc-test> + + <ajc-test dir="new" + title="incompatible advice throws clause are a compile-time error" + keywords="from-resolved_10x"> + <compile files="AdviceThrowsCf.java"> + <message kind="error" line="13"/> + <message kind="error" line="28"/> + <message kind="error" line="47"/> + <message kind="error" line="48"/> + <message kind="error" line="50"/> + + <message kind="error" line="70"/> + <message kind="error" line="74"/> + <message kind="error" line="76"/> + <message kind="error" line="78"/> + + <message kind="error" line="85"/> + </compile> + </ajc-test> + diff --git a/tests/src/org/aspectj/systemtest/ajc10x/ajc10x.xml b/tests/src/org/aspectj/systemtest/ajc10x/ajc10x.xml new file mode 100644 index 000000000..90198331d --- /dev/null +++ b/tests/src/org/aspectj/systemtest/ajc10x/ajc10x.xml @@ -0,0 +1,9 @@ +<!DOCTYPE suite SYSTEM "../tests/ajcTestSuite.dtd"[ +<!ENTITY tests SYSTEM "../tests/src/org/aspectj/systemtest/ajc10x/ajc10x-tests.xml"> +]> + +<!-- AspectJ v1.0.x Tests --> + +<suite> +&tests; +</suite>
\ No newline at end of file diff --git a/tests/src/org/aspectj/systemtest/ajc11/Ajc11Tests.java b/tests/src/org/aspectj/systemtest/ajc11/Ajc11Tests.java new file mode 100644 index 000000000..e594d3dc5 --- /dev/null +++ b/tests/src/org/aspectj/systemtest/ajc11/Ajc11Tests.java @@ -0,0 +1,480 @@ +/* ******************************************************************* + * Copyright (c) 2004 IBM Corporation + * All rights reserved. + * This program and the accompanying materials are made available + * under the terms of the Common Public License v1.0 + * which accompanies this distribution and is available at + * http://www.eclipse.org/legal/cpl-v10.html + * + * ******************************************************************/ +package org.aspectj.systemtest.ajc11; + +import java.io.File; +import junit.framework.Test; +import org.aspectj.testing.XMLBasedAjcTestCase; + +public class Ajc11Tests extends org.aspectj.testing.XMLBasedAjcTestCase { + + public static Test suite() { + return XMLBasedAjcTestCase.loadSuite(Ajc11Tests.class); + } + + protected File getSpecFile() { + return new File("../tests/src/org/aspectj/systemtest/ajc11/ajc11.xml"); + } + + + public void test001(){ + runTest("declare interface extends class"); + } + + public void test002(){ + runTest("declare interface implements class"); + } + + public void test003(){ + runTest("declaring a private method on an inner interface"); + } + + public void test004(){ + runTest("CE expected when declaring fields on arrays"); + } + + public void test005(){ + runTest("signature of handler join point"); + } + + public void test006(){ + runTest("source locations within expressions"); + } + + public void test007(){ + runTest("crashes given method in declared method"); + } + + public void test008(){ + runTest("after returning advice on interface constructor"); + } + + public void test009(){ + runTest("after returning advice on interface constructor - error"); + } + + public void test010(){ + runTest("after advice on static call join point"); + } + + public void test011(){ + runTest("incompatible class change error"); + } + + public void test012(){ + runTest("simple cflow of method execution"); + } + + public void test013(){ + runTest("using instance as class reference to constant field"); + } + + public void test014(){ + runTest("interface self-reference in anonymous instance"); + } + + public void test015(){ + runTest("self-reference from (aspect-declared) method-local class"); + } + + public void test016(){ + runTest("expect CE for unterminated declare error"); + } + + public void test017(){ + runTest("expect CE for declaration collision between subaspects instead of domination order"); + } + + public void test018(){ + runTest("subtype pattern in dominates should pick out aspect subtypes"); + } + + public void test019(){ + runTest("subtype pattern in dominates will conflict with type pattern"); + } + + public void test020(){ + runTest("after returning advice on interface and implementation constructor"); + } + + public void test021(){ + runTest("after throwing advice with non-throwable formal"); + } + + public void test022(){ + runTest("declare array field using postfix"); + } + + public void test023(){ + runTest("prohibit declaring new aspect constructor with arguments"); + } + + public void test024(){ + runTest("prohibit declaring only aspect constructor with arguments"); + } + + public void test025(){ + runTest("declare class extends interface"); + } + + public void test026(){ + runTest("declare class implements class"); + } + + public void test027(){ + runTest("declare interface implements interface"); + } + + public void test028(){ + runTest("if and cflow arg binding"); + } + + public void test029(){ + runTest("circularity in declare dominates"); + } + + public void test030(){ + runTest("percflow code hangs compiler"); + } + + public void test031(){ + runTest("Verification error tracing constructor that takes arguments"); + } + + public void test032(){ + runTest("declared exceptions in inter-type decls"); + } + + public void test033(){ + runTest("Verify error on non-Throwable in declare soft"); + } + + public void test034(){ + runTest("inter-type fields with array types"); + } + + public void test035(){ + runTest("checking around join point for advice return type - numeric"); + } + + public void test036(){ + runTest("void around advice without proceed"); + } + + public void test037(){ + runTest("declaring method on superclass and subclass"); + } + + public void test038(){ + runTest("introducing final fields (simple)"); + } + + public void test039(){ + runTest("introducing final fields and using as constants"); + } + + public void test040(){ + runTest("introducing final fields and checking errors"); + } + + public void test041(){ + runTest("Static inner aspects cannot reference user defined pointcuts"); + } + + public void test042(){ + runTest("Static inner aspects cannot reference user defined pointcuts"); + } + + public void test043(){ + runTest("Declare precedence should not allow multiple * patterns"); + } + + public void test044(){ + runTest("VerifyError on accessing objects not accessible to the weaver"); + } + + public void test045(){ + runTest("aspect static initializers should run before instance constructed"); + } + + public void test046(){ + runTest("super call in intertype method declaration body causes VerifyError"); + } + + public void test047(){ + runTest("Error with certain combination of advice"); + } + + public void test048(){ + runTest("Pointcut adviceexecution() does not work"); + } + + public void test049(){ + runTest("problems with finalize call"); + } + + public void test050(){ + runTest("Negation of if pointcut does not work"); + } + + public void test051(){ + runTest("ajc reports error when encountering static declaration of nested classes"); + } + + public void test052(){ + runTest("can't use pointcuts defined in inner aspects "); + } + + public void test053(){ + runTest("can't resolve nested public interfaces (also PR#32399)"); + } + + public void test054(){ + runTest("thisJoinPoint.getArgs() causes IncompatibleClassChangeError"); + } + + public void test055(){ + runTest("inter-type declaration of void field"); + } + + public void test056(){ + runTest("no such constructor for proceed argument (error)"); + } + + public void test057(){ + runTest("omnibus declare warning context with no initializer/constructor"); + } + + public void test058(){ + runTest("omnibus declare warning context"); + } + + public void test059(){ + runTest("cflow binding issues with ignoring state"); + } + + public void test060(){ + runTest("cflow binding -- original weaver crash"); + } + + public void test061(){ + runTest("type not imported in around advice"); + } + + public void test062(){ + runTest("type not imported in aspect"); + } + + public void test063(){ + runTest("class extending abstract aspect"); + } + + public void test064(){ + runTest("declare soft and throw statements"); + } + + public void test065(){ + runTest("inter-type declaration bug with abstract classes"); + } + + public void test066(){ + runTest("Inter type declaration to base class not seen by derived class"); + } + + public void test067(){ + runTest("Declare parents with intermediate ancestor"); + } + + public void test068(){ + runTest("Declare parents removing ancestor"); + } + + public void test069(){ + runTest("IllegalAccessError while accessing introduced variable / 1.1rc1"); + } + + public void test070(){ + runTest("implemented abstract pointcut"); + } + + public void test071(){ + runTest("privileged aspect main verify error"); + } + + public void test072(){ + runTest("Internal compiler error with thisJoinPoint.getStaticPart()"); + } + + public void test073(){ + runTest("Inconsistant stack height with around"); + } + + public void test074(){ + runTest("Ajc 1.1 rc1 java.lang.VerifyError with messy arounds"); + } + + public void test075(){ + runTest("try/finally in around advice (same as ...messy arounds?)"); + } + + public void test076(){ + runTest("advise join points in subclass of empty interface"); + } + + public void test077(){ + runTest("can't put around advice on interface static initializer"); + } + + public void test078(){ + runTest("cflow concretization causing assertion failure"); + } + + public void test079(){ + runTest("lame error message: negation doesn't allow binding"); + } + + public void test080(){ + runTest("Error when introducing members of type Class"); + } + + public void test081(){ + runTest("arrays via Class.forName()"); + } + + public void test082(){ + runTest("perthis and inline arounds"); + } + + public void test083(){ + runTest("Weaver fails with NPE for very large source files "); + } + + public void test084(){ + runTest("CLE: no sources"); + } + + public void test085(){ + runTest("CLE: bad filename"); + } + + public void test086(){ + runTest("CLE: no dir specified for sourceroots"); + } + + public void test087(){ + runTest("CLE: no sourceroot specified for incremental"); + } + + public void test088(){ + runTest("CLE: file specified with incremental"); + } + + public void test089(){ + runTest("public static fields being ignored"); + } + + public void test090(){ + runTest("can not resolve this member warning"); + } + + public void test091(){ + runTest("try switch VerifyError, InconsistentStackHeight"); + } + + public void test092(){ + runTest("Compiler crash in ajc 1.1 - terrible error for inaccessible constructor"); + } + + public void test093(){ + runTest("Missing import crashes compiler"); + } + + public void test094(){ + runTest("NPE in bcel.LazyMethodGen when delegating from one ctor to a second that includes a switch"); + } + + public void test095(){ + runTest("switch statement in aspects crashes weaving"); + } + + public void test096(){ + runTest("ajc stack trace on declaring hashcode() method in aspect"); + } + + public void test097(){ + runTest("using super in method introduced on interface with multiple supertypes"); + } + + public void test098(){ + runTest("Compiler crashes in jar and cflow (with no .jar)"); + } + + public void test099(){ + runTest("Compiler crashes in jar and cflow (with .jar)"); + } + + public void test100(){ + runTest("Default method impl for interface causes internal exception."); + } + + public void test102(){ + runTest("compile error expected for abstract pointcut outside abstract aspect"); + } + + public void test103(){ + runTest("subtype-qualified pointcut reference"); + } + + public void test104(){ + runTest("weaver trace on mis-qualified pointcut reference"); + } + + public void test105(){ + runTest("compile error expected for interface pointcuts"); + } + + public void test106(){ + runTest("interface call signatures when declaring method in aspect"); + } + + public void test107(){ + runTest("reflective check of declared exceptions from aspect-declared methods"); + } + + public void test108(){ + runTest("throw derivative pointcuts not advised"); + } + + public void test109(){ + runTest("perthis and signature bad interaction"); + } + + public void test110(){ + runTest("declare error fails on pointcuts composed from multiple classes"); + } + + public void test111(){ + runTest("declare error fails on pointcuts composed from multiple classes"); + } + + public void test112(){ + runTest("Interaction between pointcut binding and declare parents"); + } + + public void test113(){ + runTest("Non-functional concretezation of ReferencePointcut"); + } + + public void test114(){ + runTest("zip and jar suffixes for extdirs entries"); + } + +} + diff --git a/tests/src/org/aspectj/systemtest/ajc11/ajc11-tests.xml b/tests/src/org/aspectj/systemtest/ajc11/ajc11-tests.xml new file mode 100644 index 000000000..95fe34a0b --- /dev/null +++ b/tests/src/org/aspectj/systemtest/ajc11/ajc11-tests.xml @@ -0,0 +1,834 @@ +<!-- AspectJ v1.1.x Tests --> + + <ajc-test dir="new" pr="853" + title="declare interface extends class"> + <compile files="DeclareInterfaceExtendsClass.java"> + <message kind="error" line="10"/> + </compile> + </ajc-test> + + <ajc-test dir="new" pr="853" + title="declare interface implements class"> + <compile files="DeclareInterfaceImplementsClass.java"> + <message kind="error" line="10"/> + </compile> + </ajc-test> + + + + <ajc-test dir="new" pr="823" + title="declaring a private method on an inner interface" + keywords="tofix"> + <compile files="PrivateMethodOnInnerInterface.java"/> + <run class="PrivateMethodOnInnerInterface"/> + </ajc-test> + + <ajc-test dir="new" pr="829" + title="CE expected when declaring fields on arrays" keywords="tofix"> + <compile files="ArrayFieldDeclarationCE.java"> + <message kind="error" line="14"/> + </compile> + </ajc-test> + + + <ajc-test dir="new" pr="883" + title="signature of handler join point"> + <compile files="HandlerSignature.java"/> + <run class="HandlerSignature"/> + </ajc-test> + + <ajc-test dir="new" pr="885" + title="source locations within expressions"> + <compile files="SourceLocationWithinExpr.java"/> + <run class="SourceLocationWithinExpr"/> + </ajc-test> + + + + <ajc-test dir="new" pr="888" + title="crashes given method in declared method"> + <compile files="DeclareMethodCE.java"> + <message kind="error" line="8"/> + </compile> + </ajc-test> + + <ajc-test dir="new" pr="889" + title="after returning advice on interface constructor"> + <compile files="AfterReturningInterfaceConstructor.java"/> + <run class="AfterReturningInterfaceConstructor"/> + </ajc-test> + + <ajc-test dir="new" pr="889" + title="after returning advice on interface constructor - error"> + <compile files="AfterReturningInterfaceConstructorCE.java"> + <message kind="error" line="26"/> + <message kind="warning" line="30"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs" pr="900" + title="after advice on static call join point"> + <compile files="AfterStaticCall.java"/> + <run class="AfterStaticCall"/> + </ajc-test> + + <ajc-test dir="bugs" pr="901" + title="incompatible class change error" + comment="XXX Jim and Erik found/fixed this - need basis"> + <compile files="IncompatibleClassChangeErrorBug.java"/> + <run class="IncompatibleClassChangeErrorBug"/> + </ajc-test> + + <ajc-test dir="bugs" pr="903" + title="simple cflow of method execution"> + <compile files="ExecutionCflow.java"/> + <run class="ExecutionCflow"/> + </ajc-test> + + <ajc-test dir="bugs" pr="909" + title="using instance as class reference to constant field" + comment="XXX need to verify run"> + <compile files="InstanceAsClassRefToConstant.java"/> + </ajc-test> + + <ajc-test dir="new" pr="774" + title="interface self-reference in anonymous instance"> + <compile files="AnonymousSelfReference.java"/> + <run class="AnonymousSelfReference"/> + </ajc-test> + + <ajc-test dir="new" pr="776" + title="self-reference from (aspect-declared) method-local class"> + <compile files="MethodSelfReference.java"/> + <run class="MethodSelfReference"/> + </ajc-test> + + <ajc-test dir="new" title="expect CE for unterminated declare error"> + <compile files="UnterminatedDeclareErrorCE.java"> + <message kind="error" line="4"/> + </compile> + </ajc-test> + + <ajc-test dir="new" + title="expect CE for declaration collision between subaspects instead of domination order"> + <compile files="DeclarationCollisionCE.java"> + <message kind="error" line="10"/> + <message kind="error" line="20"/> + <message kind="error" line="27"/> + </compile> + </ajc-test> + + <ajc-test dir="new" + title="subtype pattern in dominates should pick out aspect subtypes"> + <compile files="DominatesTypePattern.java"/> + <run class="DominatesTypePattern"/> + </ajc-test> + + <ajc-test dir="new" + title="subtype pattern in dominates will conflict with type pattern"> + <compile files="DominatesTypePatternCE.java"> + <message kind="error" line="15"/> + </compile> + </ajc-test> + + <ajc-test dir="new" pr="827" + title="after returning advice on interface and implementation constructor" + keywords="tofix"> + <compile files="AfterReturningConstructor.java"/> + <run class="AfterReturningConstructor"/> + </ajc-test> + + <ajc-test dir="new" pr="832" + title="after throwing advice with non-throwable formal"> + <compile files="AfterThrowingNonThrowable.java"> + <message kind="error" line="41"/> + </compile> + </ajc-test> + + <ajc-test dir="new" pr="829" title="declare array field using postfix" + keywords="tofix"> + <compile files="ArrayFieldDeclaration.java"> + <message kind="error" line="17"/> + </compile> + </ajc-test> + + <ajc-test dir="new" pr="851" + title="prohibit declaring new aspect constructor with arguments"> + <compile files="DeclareAspectConstructorCE.java"> + <message kind="error" line="10"/> + </compile> + </ajc-test> + + <ajc-test dir="new" pr="851" + title="prohibit declaring only aspect constructor with arguments"> + <compile files="DeclareOnlyAspectConstructorCE.java"> + <message kind="error" line="10"/> + </compile> + </ajc-test> + + <!-- The follwing three idioms are allowed. Within a declare parents, + implements and extends can be used interchangably. We could + provide -Xlint style warnings for misuse. + --> + + <ajc-test dir="new" pr="853" + title="declare class extends interface"> + <compile files="DeclareClassExtendsInterface.java"> + </compile> + </ajc-test> + + <ajc-test dir="new" pr="853" + title="declare class implements class"> + <compile files="DeclareClassImplementsClass.java"> + </compile> + </ajc-test> + + <ajc-test dir="new" pr="853" + title="declare interface implements interface"> + <compile files="DeclareInterfaceImplementsInterface.java"> + </compile> + </ajc-test> + + <ajc-test dir="new" + title="if and cflow arg binding"> + <compile files="CflowBinding.java"> + <message kind="error" line="13"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs" pr="902" + title="circularity in declare dominates"> + <compile files="CircularDominates.java"> + <message kind="error" line="18"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs" pr="28702" title="percflow code hangs compiler"> + <compile files="CloseConnectionsCflow.java"> + </compile> + </ajc-test> + + <ajc-test dir="bugs" pr="28852" + title="Verification error tracing constructor that takes arguments"> + <compile files="ConstructorArgTracing.java"/> + <run class="ConstructorArgTracing"/> + </ajc-test> + + <ajc-test dir="bugs" pr="29106" title="declared exceptions in inter-type decls"> + <compile files="ExceptionsOnInters.java"/> + <run class="ExceptionsOnInters"/> + </ajc-test> + + <ajc-test dir="bugs" pr="28921" + title="Verify error on non-Throwable in declare soft"> + <compile files="DeclareSoftCf.java" options="-Xlint:warning"> + <message kind="warning" line="28"/> + <message kind="error" line="29"/> + <message kind="warning"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs" pr="29113" title="inter-type fields with array types"> + <compile files="InterFieldArrays.java"/> + <run class="InterFieldArrays"/> + </ajc-test> + + + <ajc-test dir="new" pr="838" + title="checking around join point for advice return type - numeric"> + <compile files="AroundNumericCastCE.java"> + <message kind="error" line="12"/> + <message kind="error" line="17"/> + </compile> + </ajc-test> + + <ajc-test dir="new" pr="836" title="void around advice without proceed"> + <compile files="VoidAround.java"> + <message kind="error" line="11"/> + <message kind="error" line="29"/> + </compile> + </ajc-test> + + <ajc-test dir="new/PR852" pr="852" + title="declaring method on superclass and subclass"> + <compile files="aspectPack/Aspect.java,target/SubClass.java,target/SuperClass.java"> + <dir-changes added="target.SubClass,target.SuperClass"/> + </compile> + <run class="aspectPack.Aspect"/> + </ajc-test> + + <ajc-test dir="new/finalfield" pr="28974" + title="introducing final fields (simple)"> + <compile files="Introducer.java,Receiver.java,User1.java"/> + <run class="User1"/> + </ajc-test> + + <ajc-test dir="new/finalfield" pr="28974" + title="introducing final fields and using as constants"> + <compile files="Introducer.java,Receiver.java,User2.java"/> + <run class="User2"/> + </ajc-test> + + <ajc-test dir="new/finalfield" pr="28974" + title="introducing final fields and checking errors"> + <compile files="Introducer.java,Receiver.java,UserCf.java"> + <message kind="error" line="6"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs" pr="29691" + title="Static inner aspects cannot reference user defined pointcuts"> + <compile files="PcdLookup.java" /> + <run class="PcdLookup"/> + </ajc-test> + + <ajc-test dir="bugs" pr="29691" + title="Static inner aspects cannot reference user defined pointcuts"> + <compile files="SoftWithin.java" /> + <run class="SoftWithin"/> + </ajc-test> + + <ajc-test dir="bugs" pr="29689" + title="Declare precedence should not allow multiple * patterns"> + <compile files="CircularPrecedence.java"> + <message kind="error" line="14"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs" pr="29662" + title="VerifyError on accessing objects not accessible to the weaver"> + <compile files="AroundAccess.java"> + </compile> + <run class="AroundAccess"/> + </ajc-test> + + <ajc-test dir="new" pr="804" + title="aspect static initializers should run before instance constructed" + keywords="tofix"> + <compile files="AspectStaticInit.java"/> + <run class="AspectStaticInit"/> + </ajc-test> + + <ajc-test dir="bugs" pr="29959" + title="super call in intertype method declaration body causes VerifyError"> + <compile files="SuperToIntro.java"/> + <run class="SuperToIntro"/> + </ajc-test> + + <ajc-test dir="bugs/crashes" pr="30168" + title="Error with certain combination of advice"> + <compile files="test/Test3.java"/> + <run class="test.Test3"/> + </ajc-test> + + <ajc-test dir="bugs" pr="31423" + title="Pointcut adviceexecution() does not work"> + <compile files="AdviceExec.java"/> + <run class="AdviceExec"/> + </ajc-test> + + <ajc-test dir="bugs" pr="30026" + title="problems with finalize call"> + <compile files="Finalizer.java"> + <message kind="error" line="22"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs" pr="33635" + title="Negation of if pointcut does not work"> + <compile files="NotIf.java"/> + <run class="NotIf"/> + </ajc-test> + + + <ajc-test dir="bugs" pr="32463" + title="ajc reports error when encountering static declaration of nested classes"> + <compile files="WeaveLocal.java"/> + <run class="WeaveLocal"/> + </ajc-test> + + <ajc-test dir="bugs" pr="32428" + title="can't use pointcuts defined in inner aspects "> + <compile files="InnerPointcut.java"/> + <run class="InnerPointcut"/> + </ajc-test> + + <ajc-test dir="bugs/interfaceNames" pr="32421" + title="can't resolve nested public interfaces (also PR#32399)"> + <compile files="TransactionTest.java,sub/ExecutionMonitor.java,sub/ObserverProtocol.aj"/> + <run class="TransactionTest"/> + </ajc-test> + + <ajc-test dir="bugs" pr="34210" + title="thisJoinPoint.getArgs() causes IncompatibleClassChangeError"> + <compile files="ThisJoinPointAndVerifier.java"/> + <run class="ThisJoinPointAndVerifier"/> + </ajc-test> + + <ajc-test dir="errors" keywords="error" + title="inter-type declaration of void field"> + <compile files="VoidFieldDeclarationCE.java"> + <message kind="error" line="7"/> + </compile> + </ajc-test> + + <ajc-test dir="binding" + title="no such constructor for proceed argument (error)"> + <compile files="UnfoundConstructor.java"> + <message kind="error" line="25"/> + </compile> + </ajc-test> + + <ajc-test dir="new/declare" pr="31724" + title="omnibus declare warning context with no initializer/constructor"> + <compile files="DeclareWarningEmpty.java"> + <message kind="warning" line="3" text="2 - initialization(DeclareWarningEmpty)"/> + <message kind="warning" line="3" text="1 - staticinitialization(DeclareWarningEmpty)"/> + </compile> + </ajc-test> + + + <ajc-test dir="new/declare" pr="31724" + title="omnibus declare warning context"> + <compile files="DeclareWarning.java"> + <message kind="warning" line="5" text="staticinitialization(DeclareWarning)"/> + <message kind="warning" line="12" text="call(DeclareWarning.new())"/> + <message kind="warning" line="13" text="get staticInt"/> + <message kind="warning" line="14" text="get instanceInt"/> + <message kind="warning" line="15" text="set staticInt"/> + <message kind="warning" line="16" text="set instanceInt"/> + <message kind="warning" line="17" text="call(void run())"/> + <message kind="warning" line="18" text="call(void irun())"/> + <message kind="warning" line="21" text="execution(void run())"/> + <message kind="warning" line="22" text="execution(void irun())"/> + <message kind="warning" line="23" text="execution(DeclareWarning.new())"/> + <message kind="warning" line="23" text="initialization(DeclareWarning)"/> + <message kind="warning" line="33" text="handler(OutOfMemoryError) && within(DeclareWarning)"/> + <message kind="warning" line="36" text="handler(Error)"/> + <message kind="warning" line="39" text="handler(RuntimeException) && withincode(DeclareWarning.new())"/> + <message kind="warning" line="74" text="adviceExecution() && within(A)"/> + </compile> + </ajc-test> + + + <ajc-test dir="bugs" pr="34858" + title="cflow binding issues with ignoring state"> + <compile files="CflowBinding.java"/> + <run class="CflowBinding"/> + </ajc-test> + + <ajc-test dir="bugs" pr="34858" + title="cflow binding -- original weaver crash"> + <compile files="CflowBindingOrig.java"/> + <run class="CflowBindingOrig"/> + </ajc-test> + + <ajc-test dir="errors" + title="type not imported in around advice"> + <compile files="TypeNotImportedInAroundCE.java"> + <message kind="error" line="10"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" + title="type not imported in aspect"> + <compile files="TypeInAspectNotImportedCE.java"> + <message kind="error" line="6"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" keywords="error" + title="class extending abstract aspect"> + <compile files="ClassExtendingAbstractAspectCE.java"> + <message kind="error" line="20"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs" pr="34925" + title="declare soft and throw statements"> + <compile files="ConvertToUnchecked.java"/> + <run class="ConvertToUnchecked"/> + </ajc-test> + + <ajc-test dir="bugs/interAbstract" + title="inter-type declaration bug with abstract classes" + pr="36046"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="bugs/interInherit" pr="35725" + title="Inter type declaration to base class not seen by derived class"> + <compile files="a_impl/AImpl.java,a_impl/Af.java,a_intf/A.java,b_impl/BImpl.java,b_intf/B.java"/> + <run class="b_impl.BImpl"/> + </ajc-test> + + <ajc-test dir="new/declareParents" + title="Declare parents with intermediate ancestor" + keywords="from-new"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="new/declareParents" + title="Declare parents removing ancestor" + keywords="from-new"> + <compile files="IllegalAdoption.java"> + <message kind="error" line="13"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs/interSpecials" title="IllegalAccessError while accessing introduced variable / 1.1rc1" + pr="36110"> + <compile files="p1/C.java,p2/A1.java"/> + <run class="p2.A1"/> + </ajc-test> + + <ajc-test dir="new" pr="36736" + title="implemented abstract pointcut"> + <compile files="AbstractImplementedPointcut.java"> + <message kind="error" line="14"/> + </compile> + </ajc-test> + + <ajc-test dir="new/verifyError" pr="36673" + title="privileged aspect main verify error"> + <compile files="Privilege.java"/> + <run class="Privilege"/> + </ajc-test> + + <ajc-test dir="bugs" pr="36564" + title="Internal compiler error with thisJoinPoint.getStaticPart()"> + <compile files="tjpStaticPart/Test.java,tjpStaticPart/Exceptions.java"/> + <run class="tjpStaticPart.Test"/> + </ajc-test> + + <ajc-test dir="bugs" pr="29665" + title="Inconsistant stack height with around"> + <compile files="StackError.java"/> + <run class="StackError"/> + </ajc-test> + + + <ajc-test dir="bugs/messyAround" pr="36056" + title="Ajc 1.1 rc1 java.lang.VerifyError with messy arounds"> + <compile files="aspects/Trace.aj,cap/OptionList.java,DebugTrace.aj"> + <message kind="warning" line="102"/> + <message kind="warning" line="124"/> + <message kind="warning" line="138"/> + </compile> + <run class="cap.OptionList"/> + </ajc-test> + + <ajc-test dir="new" + title="try/finally in around advice (same as ...messy arounds?)"> + <compile files="TryFinallyInAround.java"/> + <run class="TryFinallyInAround"/> + </ajc-test> + + <ajc-test dir="new" pr="36778" + title="advise join points in subclass of empty interface"> + <compile files="EmptyInterface.java"/> + <run class="EmptyInterface"/> + </ajc-test> + + <ajc-test dir="new" pr="36778" + title="can't put around advice on interface static initializer" + comment="this tests for a nice message given a compiler limitation"> + <compile files="EmptyInterfaceCE.java"> + <message kind="error" line="20"/> + <message kind="error" line="23"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs" pr="36803" + title="cflow concretization causing assertion failure"> + <compile files="CflowConcrete.java"/> + <run class="CflowConcrete"/> + </ajc-test> + + <ajc-test dir="bugs" title="lame error message: negation doesn't allow binding" + pr="30663"> + <compile files="BadBindingError.java"> + <message kind="error" line="7"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs/interSpecials" pr="36936" + title="Error when introducing members of type Class"> + <compile files="Trg.java,Asp.java"/> + <run class="Trg"/> + </ajc-test> + + <ajc-test dir="new" + comment="this is a pureJava test, but we always want to run it" + title="arrays via Class.forName()"> + <compile files="ClassForName.java"/> + <run class="ClassForName"/> + </ajc-test> + + <ajc-test dir="bugs/inlineAround" pr="37152" + title="perthis and inline arounds"> + <compile files="aspect1/Base.java,aspect2/Concrete.java,p1/Main.java"> + </compile> + <run class="p1.Main"/> + </ajc-test> + + <ajc-test dir="bugs" pr="37325" + title="Weaver fails with NPE for very large source files "> + <compile files="LongFile.java"/> + <run class="LongFile"/> + </ajc-test> + + <ajc-test dir="harness" keywords="command-line-error" + title="CLE: no sources"> + <compile badInput="true"> + <message kind="error" text="no sources"/> + <message kind="abort" text="Usage"/> + </compile> + </ajc-test> + + <ajc-test dir="harness" + keywords="command-line-error,knownLimitation-ajctaskCompiler,knownLimitation-ajdeCompiler" + comment="ajde omits usage" + title="CLE: bad filename"> + <compile badInput="true" files="NoSuchFile.java"> + <message kind="error" text="NoSuchFile.java"/> + <message kind="abort" text="Usage"/> + </compile> + </ajc-test> + + <ajc-test dir="harness" keywords="command-line-error" + comment="XXX test skipped - harness ignores -sourceroot option" + title="CLE: no dir specified for sourceroots"> + <compile badInput="true" files="ErrorTest.java" + options="-sourceroots"> + <message kind="error" text="no sources specified"/> + <message kind="error" text="bad sourceroot"/> + <message kind="abort" text="Usage"/> + </compile> + </ajc-test> + + <ajc-test dir="harness" keywords="command-line-error,knownLimitation-ajdeCompiler" + comment="ajde has same errors, different wording" + title="CLE: no sourceroot specified for incremental"> + <compile badInput="true" options="-incremental"> + <message kind="error" text="no sources specified"/> + <message kind="error" text="specify a source root"/> + <message kind="abort" text="Usage"/> + </compile> + </ajc-test> + + <ajc-test dir="harness" keywords="command-line-error,knownLimitation-ajdeCompiler" + comment="ajde has same errors, different wording" + title="CLE: file specified with incremental"> + <compile badInput="true" files="ErrorTest.java" + options="-incremental"> + <message kind="error" text="incremental mode only handles source files using -sourceroots"/> + <message kind="error" text="no sources specified"/> + <message kind="error" text="specify a source root"/> + <message kind="abort" text="Usage"/> + </compile> + </ajc-test> + + + <ajc-test dir="bugs" pr="37304" + title="public static fields being ignored"> + <compile files="FinalFields.java"/> + <run class="FinalFields"/> + </ajc-test> + + + <!-- This doesn't actually reproduce the bug, but no test case has been submitted + that does so this is here as a place-holder and to verify that we're mostly + working. + --> + <ajc-test dir="bugs/accessMethods" pr="38212" + title="can not resolve this member warning"> + <compile files="p1/Base.java,p2/Derived.java"/> + <run class="p2.Derived"/> + </ajc-test> + + <ajc-test dir="bugs" pr="38345" + title="try switch VerifyError, InconsistentStackHeight"> + <compile files="TrySwitch.java"/> + <run class="TrySwitch"/> + </ajc-test> + + <ajc-test dir="bugs" pr="39458" + title="Compiler crash in ajc 1.1 - terrible error for inaccessible constructor"> + <compile files="NewVoid.java"> + <message kind="error" line="17"/> + <message kind="error" line="20"/> + <message kind="error" line="21"/> + + <message kind="error" line="28"/> + <message kind="warning" line="29"/> + <message kind="warning" line="30"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs" pr="39460" + title="Missing import crashes compiler"> + <compile files="MissingImport.java"> + <message kind="error" line="13"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs" pr="39479" + title="NPE in bcel.LazyMethodGen when delegating from one ctor to a second that includes a switch"> + <compile files="NewSwitch.java"/> + <run class="NewSwitch"/> + </ajc-test> + + <ajc-test dir="bugs" pr="40109" + title="switch statement in aspects crashes weaving"> + <compile files="SwitchInAround.java"/> + <run class="SwitchInAround"/> + </ajc-test> + + <ajc-test dir="bugs" pr="39993" + title="ajc stack trace on declaring hashcode() method in aspect"> + <compile files="OverridingInterfaceObjectMethod.java"/> + <run class="OverridingInterfaceObjectMethod"/> + </ajc-test> + + <ajc-test dir="bugs" + title="using super in method introduced on interface with multiple supertypes"> + <compile files="MultipleSuperCf.java"> + <message kind="error" line="14"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs/cflowAndJar" pr="39462" + title="Compiler crashes in jar and cflow (with no .jar)"> + <compile files="TestAspect.aj,Test.java,AbstractAspect.aj"> + <message kind="warning" line="16"/> + </compile> + <run class="Test"/> + </ajc-test> + + <ajc-test dir="bugs/cflowAndJar" pr="39462" + title="Compiler crashes in jar and cflow (with .jar)" + comment="make lib.jar with ajc -outjar lib.jar AbstractAspect.aj"> + <compile files="TestAspect.aj,Test.java" aspectpath="lib.jar"> + <message kind="warning" line="16"/> + </compile> + <run class="Test"/> + </ajc-test> + + <ajc-test dir="bugs" pr="40589" + title="Default method impl for interface causes internal exception."> + <compile files="CloneMethod.java"/> + <run class="CloneMethod"/> + </ajc-test> + + <ajc-test dir="errors" + title="compile error expected for abstract pointcut outside abstract aspect"> + <compile files="AbstractPointcutCE.java"> + <message kind="error" line="5"/> + <message kind="error" line="10"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs" + pr="40876" + title="subtype-qualified pointcut reference"> + <compile files="PointcutLibraryTest.java"/> + <run class="PointcutLibraryTest"/> + </ajc-test> + + <ajc-test dir="bugs" + pr="40858" + comment="super is not permitted in pointcuts in 1.1" + title="weaver trace on mis-qualified pointcut reference"> + <compile files="SuperPointcutCE.java"> + <message kind="error" line="23"/> + <message kind="error" line="26"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs" + pr="40814" + title="compile error expected for interface pointcuts"> + <compile files="AbstractPointcutCE.java"> + <message kind="error" line="7"/> + <message kind="error" line="11"/> + <message kind="error" line="15"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs" + pr="40805" + title="interface call signatures when declaring method in aspect"> + <compile files="DeclareWarningAndInterfaceMethodCW.java"> + <message kind="warning" line="27" text="call getSomething"/> + <message kind="warning" line="27" text="call ICanGetSomething.getSomething"/> + <message kind="warning" line="31" text="call getSomething"/> + <message kind="warning" line="31" text="call ICanGetSomething.getSomething"/> + <message kind="warning" line="33" text="call getSomething"/> + <message kind="warning" line="33" text="call ICanGetSomething.getSomething"/> + <message kind="warning" line="35" text="call getSomething"/> + <message kind="warning" line="35" text="call ICanGetSomething.getSomething"/> + <message kind="warning" line="38" text="call getSomething"/> + <message kind="warning" line="38" text="call ICanGetSomething.getSomething"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs" + pr="41175" + title="reflective check of declared exceptions from aspect-declared methods"> + <compile files="DeclaredExceptions.java"/> + <run class="DeclaredExceptions"/> + </ajc-test> + + <ajc-test dir="bugs/throwsSignature" + pr="42539" + title="throw derivative pointcuts not advised"> + <compile files="ExceptionBugTest.java,ExceptionAspect.java"> + <message line="5" kind="warning" text="throws both"/> + <message line="5" kind="error" text="throws Exception"/> + <message line="7" kind="warning" text="throws both"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs" pr="42652" + title="perthis and signature bad interaction"> + <compile files="InterPerCall.java"/> + <run class="InterPerCall"/> + </ajc-test> + + <ajc-test dir="bugs/declareBinding" + pr="42740" + title="declare error fails on pointcuts composed from multiple classes"> + <compile files="SampleExceptionHandling1.java"> + <message line="2" kind="error" text="no checked exceptions"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs/declareSoftWithin" + pr="42740" + title="declare error fails on pointcuts composed from multiple classes"> + <compile files="aspects/Softener.aj,test/NoSoftener.java"/> + <run class="test.NoSoftener"/> + </ajc-test> + + <ajc-test dir="bugs" pr="42993" + title="Interaction between pointcut binding and declare parents"> + <compile files="ParentsAndPointcuts.java"/> + <run class="ParentsAndPointcuts"/> + </ajc-test> + + <ajc-test dir="bugs" pr="43194" + title="Non-functional concretezation of ReferencePointcut"> + <compile files="AdviceInteraction.java"/> + <run class="AdviceInteraction"/> + </ajc-test> + + <ajc-test dir="bugs/extdirs" + pr="42574" + title="zip and jar suffixes for extdirs entries"> + <compile files="extdirs-src/main/Main.java" + extdirs="lib/lowercase"/> + </ajc-test> +
\ No newline at end of file diff --git a/tests/src/org/aspectj/systemtest/ajc11/ajc11.xml b/tests/src/org/aspectj/systemtest/ajc11/ajc11.xml new file mode 100644 index 000000000..899dfe725 --- /dev/null +++ b/tests/src/org/aspectj/systemtest/ajc11/ajc11.xml @@ -0,0 +1,10 @@ +<!DOCTYPE suite SYSTEM "../tests/ajcTestSuite.dtd"[ +<!ENTITY tests SYSTEM "../tests/src/org/aspectj/systemtest/ajc11/ajc11-tests.xml"> +]> +<!-- AspectJ v1.1.x Tests --> + +<suite> + +&tests; + +</suite>
\ No newline at end of file diff --git a/tests/src/org/aspectj/systemtest/ajc120/Ajc120Tests.java b/tests/src/org/aspectj/systemtest/ajc120/Ajc120Tests.java new file mode 100644 index 000000000..84054333a --- /dev/null +++ b/tests/src/org/aspectj/systemtest/ajc120/Ajc120Tests.java @@ -0,0 +1,244 @@ +/* ******************************************************************* + * Copyright (c) 2004 IBM Corporation + * All rights reserved. + * This program and the accompanying materials are made available + * under the terms of the Common Public License v1.0 + * which accompanies this distribution and is available at + * http://www.eclipse.org/legal/cpl-v10.html + * + * ******************************************************************/ +package org.aspectj.systemtest.ajc120; + +import java.io.File; +import junit.framework.Test; +import org.aspectj.testing.XMLBasedAjcTestCase; + +public class Ajc120Tests extends org.aspectj.testing.XMLBasedAjcTestCase { + + public static Test suite() { + return XMLBasedAjcTestCase.loadSuite(Ajc120Tests.class); + } + + protected File getSpecFile() { + return new File("../tests/src/org/aspectj/systemtest/ajc120/ajc120.xml"); + } + + + public void test001(){ + runTest("NPE in concretization error path"); + } + + public void test002(){ + runTest("priviledged aspects calling methods from advice"); + } + + public void test003(){ + runTest("No error on overloaded pointcuts in class"); + } + + public void test004(){ + runTest("No error on overloaded pointcuts unless binding variables"); + } + + public void test005(){ + runTest("Declare soft softening other exception types"); + } + + public void test006(){ + runTest("static method introduction on interfaces, should not be allowed"); + } + + public void test007(){ + runTest("External pointcut refs not resolved if named pointcut used by declare"); + } + + public void test008(){ + runTest("Appropriate message for 'after() thowing(Throwable th)' syntax error"); + } + + public void test009(){ + runTest("Ensure we don't look for source on the classpath when binary not found"); + } + + public void test010(){ + runTest("inner aspect containing declare soft"); + } + + public void test011(){ + runTest("Bad parser error recovery in advice"); + } + + public void test012(){ + runTest("Bad parser error recovery in java source"); + } + + public void test013(){ + runTest("compiler issues error on inner aspects when privilieged"); + } + + public void test014(){ + runTest("After throwing advice on ctors doesn't execute for inter-type decl field inits"); + } + + public void test015(){ + runTest("Introduced abstract method on abstract class not implemented by subtype (single source file)"); + } + + public void test016(){ + runTest("Introduced abstract method on abstract class with introduced concrete method (single source file)"); + } + + public void test017(){ + runTest("Introduced abstract method on abstract class with existing concrete method (single source file)"); + } + + public void test018(){ + runTest("aspect declares interface method (no modifiers)"); + } + + public void test019(){ + runTest("aspect declares interface method (abstract)"); + } + + public void test020(){ + runTest("aspect declares interface method (public abstract)"); + } + + public void test021(){ + runTest("Use class implementing interface via aspect (not woven together)"); + } + + public void test022(){ + runTest("Use class implementing interface via aspect (weave all together)"); + } + + public void test023(){ + runTest("Use class implementing interface via aspect (only one implementer)"); + } + + public void test024(){ + runTest("Erroneous exception conversion"); + } + + public void test025(){ + runTest("before():execution(new(..)) does not throw NoAspectBoundException"); + } + + public void test026(){ + runTest("Anomalous handling of inter-type declarations to abstract base classes in aspectj 1.1"); + } + + public void test027(){ + runTest("NPE When compiling intertype declaration"); + } + + public void test028(){ + runTest("declare warning on subtype constructor"); + } + + public void test029(){ + runTest("CatchClauseSignature has broken operation"); + } + + public void test030(){ + runTest("after returning with parameter: matching rules"); + } + + public void test031(){ + runTest("binary compatibility of advice method names - expect no error"); + } + + public void test032(){ + runTest("binary compatibility of advice method names - expect error"); + } + + public void test033(){ + runTest("binary compatibility of advice method names - expect no error"); + } + + public void test034(){ + runTest("mail list VerifyError with protected access"); + } + + public void test035(){ + runTest("Polymorphic ITD fails in CVS HEAD (From ajdt 1.1.6)"); + } + + public void test036(){ + runTest("ClasscastException on concretization of if(false)"); + } + + public void test037(){ + runTest("ClasscastException on concretization of if(false)"); + } + + public void test038(){ + runTest("Introduced abstract method on interface not implemented by subtype (weave altogether)"); + } + + public void test039(){ + runTest("declare String field on interface"); + } + + public void test040(){ + runTest("declare int field on interface"); + } + + public void test041(){ + runTest("declare Object field on interface"); + } + + public void test042(){ + runTest("fail in compiling aspect with overriding method introduction with different throws clause "); + } + + public void test043(){ + runTest("super call in anonymous class created in around advice"); + } + + public void test044(){ + runTest("retitle warning to circular {advice} dependency at ..."); + } + + public void test045(){ + runTest("Introduce Unknown Type to class causes Null pointer exception"); + } + + public void test046(){ + runTest("Private members introduced via an interface are visible to the class"); + } + + public void test047(){ + runTest("declare precedence on a class should be a compile-time error"); + } + + public void test048(){ + runTest("declare precedence on a class should be a compile-time error"); + } + + public void test049(){ + runTest("NPE when binary weaving a ctor ITD"); + } + + public void test050(){ + runTest("NPE in compiler when using (an unusual) declare warning against a ctor ITD"); + } + + public void test051(){ + runTest("InterTypeMethodDeclaration.java:104"); + } + + public void test052(){ + runTest("nested uses of this() inside constructors not handled properly for initialization and preinitialization pointcuts"); + } + + public void test053(){ + runTest("wrong variable binding in || pointcuts"); + } + + public void test054(){ + runTest("error message for constructor-execution pcd"); + } + +} + diff --git a/tests/src/org/aspectj/systemtest/ajc120/ajc120-tests.xml b/tests/src/org/aspectj/systemtest/ajc120/ajc120-tests.xml new file mode 100644 index 000000000..51f70134b --- /dev/null +++ b/tests/src/org/aspectj/systemtest/ajc120/ajc120-tests.xml @@ -0,0 +1,478 @@ +<!-- AspectJ v1.2.0 Tests --> + + <ajc-test dir="bugs/concretizeNpe" pr="43033" + title="NPE in concretization error path" + keywords="poorErrorMessages"> + <compile files="base/ExceptionHandling.java,model/ModelExceptionHandling.java"> + <!-- + <message line="5" kind="error" text="pointcut base.ExceptionHandling.scope() is abstract"/> + <message line="4" kind="error" text="inherited abstract pointcut base.ExceptionHandling.scope() is not made concrete"/> + <message line="8" kind="error" text="inherited abstract pointcut base.ExceptionHandling.scope() is not made concrete"/> + <message line="12" kind="error" /> + <message line="13" kind="error" /> + --> + <message line="12" kind="error" /> + <message line="13" kind="error" /> + </compile> + </ajc-test> + + <ajc-test dir="bugs/privilege/packageProtected" pr="42711" + title="priviledged aspects calling methods from advice"> + <compile files="concern/ContextUser.java,concern/BaseTarget.java,core/Base.java" /> + </ajc-test> + + <ajc-test dir="bugs" pr="49457" + title="No error on overloaded pointcuts in class"> + <compile files="OverloadedPointcutsInClass.java"> + <message kind="error" line="3" text="duplicate pointcut name: pc1"/> + <message kind="error" line="4" text="duplicate pointcut name: pc1"/> + <message kind="error" line="6" text="duplicate pointcut name: pc2"/> + <message kind="error" line="7" text="duplicate pointcut name: pc2"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs" pr="49457" + title="No error on overloaded pointcuts unless binding variables"> + <compile files="OverloadedPointcutsInAspect.java"> + <message kind="error" line="15" text="duplicate pointcut name: pc"/> + <message kind="error" line="16" text="duplicate pointcut name: pc"/> + <message kind="error" line="18" text="incompatible type"/> + <message kind="error" line="20" text="incompatible type"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs" pr="48522" + title="Declare soft softening other exception types"> + <compile files="SofteningTooMuch.java"> + <message kind="error" line="6" text="Unhandled exception"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs" pr="47754" + title="static method introduction on interfaces, should not be allowed"> + <compile files="StaticInterfaceMethods.java"> + <message kind="error" line="7" text="methods in interfaces cannot be declared static"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs" pr="45184" + title="External pointcut refs not resolved if named pointcut used by declare"> + <compile files="DeclareErrorNamedPointcutCE.java"> + <message kind="error" line="10" text="ref"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs" + title="Appropriate message for 'after() thowing(Throwable th)' syntax error" + pr="49638" + > + <compile + files="AfterThrowingAdviceSyntaxError.java" > + <message kind="error" line="21" /> + <message kind="error" line="23" /> + </compile> + </ajc-test> + + <ajc-test dir="bugs/faultingInSource" pr="46671" + title="Ensure we don't look for source on the classpath when binary not found"> + <compile files="SimpleTracing.java" classpath="." options="-verbose"> + <message kind="warning" line="4" text="no match for this type name: SampleClass"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs" pr="46750" title="inner aspect containing declare soft"> + <compile files="TestSoftening.java"> + </compile> + </ajc-test> + + <ajc-test dir="bugs" pr="45663" + title="Bad parser error recovery in advice"> + <compile files="ParserRecoveryTest.java"> + <message kind="error" line="7"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs" pr="45663" + title="Bad parser error recovery in java source"> + <compile files="ParserRecoveryTestPureJava.java"> + <message kind="error" line="6"/> + <message kind="error" line="8"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs" + pr="46280" + title="compiler issues error on inner aspects when privilieged"> + <compile files="PrivilegedParsing.java"/> + <run class="PrivilegedParsing"/> + </ajc-test> + + <ajc-test dir="bugs" pr="44586" + title="After throwing advice on ctors doesn't execute for inter-type decl field inits"> + <compile files="AfterThrowingCtor.java"> + </compile> + <run class="AfterThrowingCtor"/> + </ajc-test> + + <ajc-test dir="bugs/abstractMethods" pr="49784" + title="Introduced abstract method on abstract class not implemented by subtype (single source file)"> + <compile files="singlesource/C.java"> + <message kind="error" line="9"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs/abstractMethods" pr="49784" + title="Introduced abstract method on abstract class with introduced concrete method (single source file)"> + <compile files="singlesource/C1.java"/> + <run class="C1"/> + </ajc-test> + + <ajc-test dir="bugs/abstractMethods" pr="49784" + title="Introduced abstract method on abstract class with existing concrete method (single source file)"> + <compile files="singlesource/C2.java"/> + <run class="C2"/> + </ajc-test> + + <ajc-test dir="bugs/interAbstract" + pr="49784" + title="aspect declares interface method (no modifiers)"> + <compile files="InterfaceMethodDeclarationNone.java" > + <message kind="error" line="32" text="requires a body" /> + </compile> + </ajc-test> + + <ajc-test dir="bugs/interAbstract" + pr="49784" + title="aspect declares interface method (abstract)"> + <compile files="InterfaceMethodDeclarationAbstract.java"> + <message kind="error" line="40" text="must implement" /> + </compile> + </ajc-test> + + <ajc-test dir="bugs/interAbstract" + pr="49784" + comment="working in 1.1.1 - keep with others?" + title="aspect declares interface method (public abstract)"> + <compile files="InterfaceMethodDeclarationFull.java" /> + <run class="InterfaceMethodDeclarationFull"/> + </ajc-test> + + <ajc-test dir="bugs/interfaceDefinition" + pr="43972" + title="Use class implementing interface via aspect (not woven together)"> + <compile + files="pack/DefineInterface.java, + pack/InterfaceDefinition.java, + pack/MyInterface.java"/> + <run class="pack.InterfaceDefinition"/> + <compile + includeClassesDir="true" + files="Main.java"> + <message kind="error" line="3"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs/interfaceDefinition" + pr="43972" + title="Use class implementing interface via aspect (weave all together)"> + <compile + files="pack/DefineInterface.java, + pack/InterfaceDefinition.java, + pack/MyInterface.java, + Main.java"/> + <run class="pack.InterfaceDefinition"/> + <run class="Main"/> + </ajc-test> + + <ajc-test dir="bugs/interfaceDefinition" + pr="43972" + title="Use class implementing interface via aspect (only one implementer)"> + <compile + files="pack/DefineInterface.java, + pack/InterfaceDefinition.java, + pack/MyInterface.java"/> + <run class="pack.InterfaceDefinition"/> + <compile + includeClassesDir="true" + files="Main1.java"/> + <run class="Main1"/> + </ajc-test> + + <ajc-test dir="bugs" pr="44587" + title="Erroneous exception conversion"> + <compile files="ErroneousExceptionConversion.java"> + </compile> + <run class="ErroneousExceptionConversion"/> + </ajc-test> + + <ajc-test dir="bugs" pr="34206" + title="before():execution(new(..)) does not throw NoAspectBoundException"> + <compile files="ErroneousExceptionConversion1.java"> + </compile> + <run class="ErroneousExceptionConversion1"/> + </ajc-test> + + <ajc-test dir="bugs" pr="38824" + title="Anomalous handling of inter-type declarations to abstract base classes in aspectj 1.1"> + <compile files="AbstractBaseAndInterTypeInterface.java"> + </compile> + </ajc-test> + + <ajc-test dir="bugs/caseSensitivity" pr="42515" + title="NPE When compiling intertype declaration"> + <compile files="uniqueId/Numbered.java,uniqueId/Bug.aj"> + <message kind="error" line="4"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs" + pr="49295" + title="declare warning on subtype constructor"> + <compile files="SubtypeConstructorCW.java" > + <message kind="warning" line="5" text="String as first"/> + <message kind="warning" line="10" text="String as first"/> + </compile> + <run class="SubtypeConstructorCW"/> + </ajc-test> + + <ajc-test dir="bugs" pr="50570" + title="CatchClauseSignature has broken operation"> + <compile files="HandlerSig.java"/> + <run class="HandlerSig"/> + </ajc-test> + + + <ajc-test dir="new" pr="42668" + title="after returning with parameter: matching rules"> + <compile files="AfterReturningParamMatching.java" /> + <run class="AfterReturningParamMatching"/> + </ajc-test> + + <ajc-test dir="bugs/binaryCompat" pr="50641" + title="binary compatibility of advice method names - expect no error"> + <compile files="Main.java,TraceV1.aj"/> + <run class="Main"/> + <compile files="TraceV2.aj"/> + <run class="Main"/> + </ajc-test> + + <ajc-test dir="bugs/binaryCompat" pr="50641" + title="binary compatibility of advice method names - expect error"> + <compile files="Main.java,TraceV1.aj"/> + <run class="Main"/> + <compile files="TraceRE.aj"/> + <run class="Main"/> + </ajc-test> + + <ajc-test dir="bugs/binaryCompat" pr="50641" + title="binary compatibility of advice method names - expect no error"> + <compile files="Main.java,TraceWithInnerV1.aj"/> + <run class="Main"/> + <compile files="TraceWithInnerV2.aj"/> + <run class="Main"/> + </ajc-test> + + <ajc-test dir="bugs/protectedvf" + title="mail list VerifyError with protected access"> + <compile files="main/Driver.java,main/p2/AbstractTest.aj,main/p1/ConcreteTest.aj"/> + <run class="main.Driver"/> + </ajc-test> + + <ajc-test dir="bugs" pr="51919" + title="Polymorphic ITD fails in CVS HEAD (From ajdt 1.1.6)"> + <compile files="OverloadedITDNPE.java" /> + </ajc-test> + + <ajc-test dir="bugs" pr="51320" + title="ClasscastException on concretization of if(false)"> + <compile files="DecwClassCastException.java"> + + <!-- These are the illegal PCDs against a deow --> + <message kind="error" line="27" text="if() pointcut designator cannot be used"/> + <message kind="error" line="29" text="if() pointcut designator cannot be used"/> + + <message kind="error" line="31" text="cflow() pointcut designator cannot be used"/> + <message kind="error" line="33" text="cflow() pointcut designator cannot be used"/> + + <message kind="error" line="35" text="cflowbelow() pointcut designator cannot be used"/> + <message kind="error" line="37" text="cflowbelow() pointcut designator cannot be used"/> + + <message kind="error" line="39" text="this() pointcut designator cannot be used"/> + <message kind="error" line="41" text="this() pointcut designator cannot be used"/> + + <message kind="error" line="43" text="target() pointcut designator cannot be used"/> + <message kind="error" line="45" text="target() pointcut designator cannot be used"/> + + <message kind="error" line="47" text="args() pointcut designator cannot be used"/> + <message kind="error" line="49" text="args() pointcut designator cannot be used"/> + + </compile> + </ajc-test> + + <ajc-test dir="bugs" pr="51320" + title="ClasscastException on concretization of if(false)"> + <compile files="DeclareSoftDynamicPCDs.java"> + + <!-- These are the illegal PCDs against a deow --> + <message kind="error" line="27" text="if() pointcut designator cannot be used"/> + <message kind="error" line="29" text="if() pointcut designator cannot be used"/> + + <message kind="error" line="31" text="cflow() pointcut designator cannot be used"/> + <message kind="error" line="33" text="cflow() pointcut designator cannot be used"/> + + <message kind="error" line="35" text="cflowbelow() pointcut designator cannot be used"/> + <message kind="error" line="37" text="cflowbelow() pointcut designator cannot be used"/> + + <message kind="error" line="39" text="this() pointcut designator cannot be used"/> + <message kind="error" line="41" text="this() pointcut designator cannot be used"/> + + <message kind="error" line="43" text="target() pointcut designator cannot be used"/> + <message kind="error" line="45" text="target() pointcut designator cannot be used"/> + + <message kind="error" line="47" text="args() pointcut designator cannot be used"/> + <message kind="error" line="49" text="args() pointcut designator cannot be used"/> + + </compile> + </ajc-test> + + <ajc-test dir="bugs/abstractMethods" pr="49784" + title="Introduced abstract method on interface not implemented by subtype (weave altogether)"> + <compile files="interface/C.java,interface/A.java,interface/B.java" /> + <run class="C"/> + </ajc-test> + + + <ajc-test dir="bugs/fieldsOnInterfaces" + pr="52107" + title="declare String field on interface"> + <compile files="StringFieldOnInterface.java"> + <message kind="warning" line="16" text="this affected type is not exposed"/> + <message kind="warning" line="17" text="this affected type is not exposed"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs/fieldsOnInterfaces" + pr="52107" + title="declare int field on interface"> + <compile files="IntFieldOnInterface.java"> + <message kind="warning" line="27" text="this affected type is not exposed"/> + <message kind="warning" line="28" text="this affected type is not exposed"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs/fieldsOnInterfaces" + pr="52107" + title="declare Object field on interface"> + <compile files="ObjectFieldOnInterface.java"> + <message kind="warning" line="20" text="this affected type is not exposed"/> + <message kind="warning" line="21" text="this affected type is not exposed"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs" pr="50776" + title="fail in compiling aspect with overriding method introduction with different throws clause "> + <compile files="IntertypeDifferentThrows.java" /> + </ajc-test> + + <ajc-test dir="new" + comment="in ajc 1.1.1, VerifyError Illegal use of nonvirtual function call" + title="super call in anonymous class created in around advice"> + <compile files="SuperClosure.java" /> + <run class="SuperClosure" /> + </ajc-test> + + <ajc-test dir="bugs" pr="44272" + title="retitle warning to circular {advice} dependency at ..."> + <compile files="CircularAdvicePrecedence.java"> + <message kind="error" line="4"/> + <message kind="error" line="5"/> + <message kind="error" line="6"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs" pr="51322" + title="Introduce Unknown Type to class causes Null pointer exception" > + <compile files="Pr51322.java"> + <message kind="error" line="5"/> + </compile> + </ajc-test> + + <!-- this test unreliable - can't always delete sandbox afterwards, need to get + to the bottom of why... + <ajc-test dir="bugs" pr="43714" + title="weaving from an input jar into that same jar.." > + <compile files="notAJar.jar" outjar="notAJar.jar"> + <message kind="error" line="0"/> + </compile> + </ajc-test> + --> + + <ajc-test dir="bugs" + title="Private members introduced via an interface are visible to the class" + pr="52928"> + <compile + files="VisiblePrivateInterfaceITDs.java" > + <message kind="error" line="13"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs/declarePrecedenceWithClasses" pr="53012" + title="declare precedence on a class should be a compile-time error"> + <compile files="DeclarePrecedenceTestClass.java" > + <message kind="error" line="10" text="Non-aspect types can only be specified"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs/declarePrecedenceWithClasses" pr="53012" + title="declare precedence on a class should be a compile-time error"> + <compile files="Priority.aj" /> + </ajc-test> + + <ajc-test dir="bugs" + pr="59440" + title="NPE when binary weaving a ctor ITD"> + <compile files="CtorITD.aj"> + <message kind="error" line="2"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs" + pr="59397" + title="NPE in compiler when using (an unusual) declare warning against a ctor ITD"> + <compile files="DecwInitializationITD.java"> + <message kind="warning" line="16"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs/compileOrdering" + pr="59778" + title="InterTypeMethodDeclaration.java:104"> + <compile files="B.java,D.java" > + <message kind="error" line="2" file="B.java"/> + </compile> + <compile files="D.java,B.java"> + <message kind="error" line="2" file="B.java"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs" + pr="61538" title="nested uses of this() inside constructors not handled properly for initialization and preinitialization pointcuts"> + <compile files="ConstructorMain.java"/> + <run class="ConstructorMain"/> + </ajc-test> + + <ajc-test dir="bugs" + pr="61568" title="wrong variable binding in || pointcuts"> + <compile files="DisjunctVarBinding.java"> + <message kind="error" line="34" text="Ambiguous binding of type B"/> + <message kind="error" line="34" text="Ambiguous binding of type A"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs" + pr="60936" title="error message for constructor-execution pcd"> + <compile files="InterfaceConstructor.java"> + <message kind="warning" line="10" text="no interface constructor-execution join point"/> + </compile> + </ajc-test> + diff --git a/tests/src/org/aspectj/systemtest/ajc120/ajc120.xml b/tests/src/org/aspectj/systemtest/ajc120/ajc120.xml new file mode 100644 index 000000000..dade07154 --- /dev/null +++ b/tests/src/org/aspectj/systemtest/ajc120/ajc120.xml @@ -0,0 +1,11 @@ +<!DOCTYPE suite SYSTEM "../tests/ajcTestSuite.dtd"[ +<!ENTITY tests SYSTEM "../tests/src/org/aspectj/systemtest/ajc120/ajc120-tests.xml"> +]> + +<!-- AspectJ v1.2.0 Tests --> + +<suite> + +&tests; + +</suite> diff --git a/tests/src/org/aspectj/systemtest/ajc121/Ajc121Tests.java b/tests/src/org/aspectj/systemtest/ajc121/Ajc121Tests.java new file mode 100644 index 000000000..019dabd75 --- /dev/null +++ b/tests/src/org/aspectj/systemtest/ajc121/Ajc121Tests.java @@ -0,0 +1,84 @@ +/* ******************************************************************* + * Copyright (c) 2004 IBM Corporation + * All rights reserved. + * This program and the accompanying materials are made available + * under the terms of the Common Public License v1.0 + * which accompanies this distribution and is available at + * http://www.eclipse.org/legal/cpl-v10.html + * + * ******************************************************************/ +package org.aspectj.systemtest.ajc121; + +import java.io.File; +import junit.framework.Test; +import org.aspectj.testing.XMLBasedAjcTestCase; + +public class Ajc121Tests extends org.aspectj.testing.XMLBasedAjcTestCase { + + public static Test suite() { + return XMLBasedAjcTestCase.loadSuite(Ajc121Tests.class); + } + + protected File getSpecFile() { + return new File("../tests/src/org/aspectj/systemtest/ajc121/ajc121.xml"); + } + + + public void test001(){ + runTest("false ambigous binding error (introduced in 1.2rc2)"); + } + + public void test002(){ + runTest("An if() pointcut inside a perthis() clauses an ABORT - null pointer exception in ajc"); + } + + public void test003(){ + runTest("An if() pointcut inside a perthis() clauses an ABORT - null pointer exception in ajc"); + } + + public void test004(){ + runTest("An if() pointcut inside a perthis() clauses an ABORT - null pointer exception in ajc"); + } + + public void test005(){ + runTest("compiler aborts with 'conflicting dominates orders' with circular declare precedences"); + } + + public void test006(){ + runTest("'can't bind type' message has $ for . in type name for declare soft"); + } + + public void test007(){ + runTest("Hiding of Instance Methods by static methods"); + } + + public void test008(){ + runTest("if(false) optimisation"); + } + + public void test009(){ + runTest("if(true) optimisation"); + } + + public void test010(){ + runTest("java.lang.NullPointerException in WeaverMessageHandler class"); + } + + public void test011(){ + runTest("ClassCastException at BcelRenderer.java:169"); + } + + public void test012(){ + runTest("Front-end bug, shouldn't allow patterns of the form foo.., should be foo..*"); + } + + public void test013() { + runTest("Nullpointer-Exception when defining a withincode() pointcut"); + } + + public void test014() { + runTest("NPE, Incorrect XLint:unmatchedSuperTypeInCall warning"); + } + +} + diff --git a/tests/src/org/aspectj/systemtest/ajc121/ajc121-tests.xml b/tests/src/org/aspectj/systemtest/ajc121/ajc121-tests.xml new file mode 100644 index 000000000..7f1a72902 --- /dev/null +++ b/tests/src/org/aspectj/systemtest/ajc121/ajc121-tests.xml @@ -0,0 +1,127 @@ +<!-- AspectJ v1.2.1 Tests --> + + + <ajc-test dir="bugs" + pr="62073" title="false ambigous binding error (introduced in 1.2rc2)"> + <compile files="DisjunctVarBinding_2.java,DisjunctVarBinding_3.java"> + <message kind="error" line="25" file="DisjunctVarBinding_2.java" text="Ambiguous binding of type B"/> + <message kind="error" line="25" file="DisjunctVarBinding_2.java" text="Ambiguous binding of type A"/> + </compile> + <compile files="DisjunctVarBinding_3.java,DisjunctVarBinding_2.java"> + <message kind="error" line="25" file="DisjunctVarBinding_2.java" text="Ambiguous binding of type B"/> + <message kind="error" line="25" file="DisjunctVarBinding_2.java" text="Ambiguous binding of type A"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs/IfPerThis" + pr="62458" title="An if() pointcut inside a perthis() clauses an ABORT - null pointer exception in ajc"> + <compile files="Testcase1.java"> + <message kind="error" line="15" text="if() pointcut designator cannot be used directly in a per clause"/> + <message kind="error" line="23" text="if() pointcut designator cannot be used directly in a per clause"/> + <message kind="error" line="25" text="if() pointcut designator cannot be used directly in a per clause"/> + <message kind="error" line="27" text="if() pointcut designator cannot be used directly in a per clause"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs/IfPerThis" + pr="62458" title="An if() pointcut inside a perthis() clauses an ABORT - null pointer exception in ajc"> + <compile files="Testcase2.java"/> + <run class="Testcase2"/> + </ajc-test> + + <ajc-test dir="bugs/IfPerThis" + pr="62458" title="An if() pointcut inside a perthis() clauses an ABORT - null pointer exception in ajc"> + <compile files="Testcase3.java"> + <message kind="error" line="2" text="if() pointcut designator cannot be used directly in a per clause"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs/bug70619" + pr="70619" title="compiler aborts with 'conflicting dominates orders' with circular declare precedences"> + <compile files="Precedence.java"> + <message kind="error" line="0" text="conflicting declare precedence"/> + </compile> + <compile files="Conflict.java,Order2.aj,Order1.aj"> + <message kind="error" line="0" text="conflicting declare precedence"/> + </compile> + <compile files="Conflict.java,Order1.aj,Order2.aj"> + <message kind="error" line="0" text="conflicting declare precedence"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs" + pr="53999" title="'can't bind type' message has $ for . in type name for declare soft"> + <compile files="Cosmetic.java"> + <message kind="error" line="9" text="can't bind type name 'unknown.Error'"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs/intertypeOverrides" + pr="69459" title="Hiding of Instance Methods by static methods"> + <compile files="IntertypeOverrides.java"> + <message kind="error" line="8" text="void Sub.m() cannot override void Super.m(); overriding method is static"/> + </compile> + <compile files="IntertypeOverrides2.java"> + <message kind="error" line="8" text="void Sub.m() cannot override void Super.m(); overridden method is static"/> + </compile> + <compile files="Superclass.java,Subclass.java,Aspect1.java"> + <message file="Aspect1.java" kind="error" line="2" + text="void Subclass.staticMethod() cannot override void Superclass.staticMethod(); overridden method is static"/> + </compile> + <compile files="Superclass.java,Subclass.java,Aspect2.java"> + <message file="Aspect2.java" kind="error" line="2" + text="void Subclass.nonstaticMethod() cannot override void Superclass.nonstaticMethod(); overriding method is static"/> + </compile> + </ajc-test> + + <ajc-test dir="new" + title="if(false) optimisation" pr="48990"> + <compile files="IfFalse.aj"/> + <run class="IfFalse"/> + </ajc-test> + + <ajc-test dir="new" + title="if(true) optimisation" pr="48990"> + <compile files="IfTrue.aj"/> + <run class="IfTrue"/> + </ajc-test> + + <ajc-test dir="bugs/abstractITDs" + pr="64331" title="java.lang.NullPointerException in WeaverMessageHandler class"> + <compile files="A.java,C.java" aspectpath="B.jar"> + <message kind="error" line="1" text="must implement abstract inter-type declaration: void A.foo()"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs/pr64262" + title="ClassCastException at BcelRenderer.java:169" pr="64262"> + <compile files="PrimitiveCoercionInExactTypePatternMatching.java"/> + </ajc-test> + + <ajc-test dir="bugs" + pr="61536" title="Front-end bug, shouldn't allow patterns of the form foo.., should be foo..*"> + <compile files="EllipsesStar.java"> + <message kind="error" line="3" text="Syntax error on token"/> + <message kind="error" line="4" text="Syntax error on token"/> + <message kind="error" line="5" text="Syntax error on token"/> + <message kind="error" line="6" text="Syntax error on token"/> + <message kind="error" line="8" text="Syntax error on token"/> + <message kind="error" line="10" text="Syntax error on token"/> + <message kind="error" line="12" text="Syntax error on token"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs" + pr="67774" title="Nullpointer-Exception when defining a withincode() pointcut"> + <compile files="WithincodeNPE01.java"> + <!-- there are 3 join points that result in decw match, but 2 are on the same line! --> + <message kind="warning" line="2" text="In String ctor"/> + <message kind="warning" line="11" text="In String ctor"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs" pr="60015" + title="NPE, Incorrect XLint:unmatchedSuperTypeInCall warning"> + <compile files="IncorrectXlintOnInterface.java"> + </compile> + </ajc-test> diff --git a/tests/src/org/aspectj/systemtest/ajc121/ajc121.xml b/tests/src/org/aspectj/systemtest/ajc121/ajc121.xml new file mode 100644 index 000000000..8ad54bf32 --- /dev/null +++ b/tests/src/org/aspectj/systemtest/ajc121/ajc121.xml @@ -0,0 +1,12 @@ +<!DOCTYPE suite SYSTEM "../tests/ajcTestSuite.dtd"[ +<!ENTITY tests SYSTEM "../tests/src/org/aspectj/systemtest/ajc121/ajc121-tests.xml"> +]> + +<!-- AspectJ v1.2.1 Tests --> + +<suite> + +&tests; + +</suite> + diff --git a/tests/src/org/aspectj/systemtest/aspectpath/AspectPathTests.java b/tests/src/org/aspectj/systemtest/aspectpath/AspectPathTests.java new file mode 100644 index 000000000..779bedec9 --- /dev/null +++ b/tests/src/org/aspectj/systemtest/aspectpath/AspectPathTests.java @@ -0,0 +1,116 @@ +/* ******************************************************************* + * Copyright (c) 2004 IBM Corporation + * All rights reserved. + * This program and the accompanying materials are made available + * under the terms of the Common Public License v1.0 + * which accompanies this distribution and is available at + * http://www.eclipse.org/legal/cpl-v10.html + * + * ******************************************************************/ +package org.aspectj.systemtest.aspectpath; + +import java.io.File; +import junit.framework.Test; +import org.aspectj.testing.XMLBasedAjcTestCase; + +public class AspectPathTests extends org.aspectj.testing.XMLBasedAjcTestCase { + + public static Test suite() { + return XMLBasedAjcTestCase.loadSuite(AspectPathTests.class); + } + + protected File getSpecFile() { + return new File("../tests/src/org/aspectj/systemtest/aspectpath/aspectpath.xml"); + } + + + public void test001(){ + runTest("testing new options"); + } + + public void test002(){ + runTest("aspect-declared interface members in libraries - baseline"); + } + + public void test003(){ + runTest("aspect-declared interface members in libraries - interfaceOnly.jar"); + } + + public void test004(){ + runTest("aspect-declared interface members in libraries - aspectOnly.jar"); + } + + public void test005(){ + runTest("aspect-declared interface members in libraries - aspectedInterfaceOnly.jar"); + } + + public void test006(){ + runTest("aspect-declared interface members in libraries - aspectedInterfaceOnly.jar,aspectOnly.jar"); + } + + public void test007(){ + runTest("aspect-declared interface members in libraries - aspectedInterfaceOnlyBinary.jar,aspectOnly.jar"); + } + + public void test008(){ + runTest("aspect-declared interface members in libraries - aspectedInterfaceOnly.jar,aspectpath=aspectOnly.jar"); + } + + public void test009(){ + runTest("aspect-declared interface members in libraries - aspectedInterfaceOnly.jar,aspectpath=aspectOnly.jar"); + } + + public void test010(){ + runTest("exception clause for aspect-declared interface methods - positive"); + } + + public void test011(){ + runTest("exception clause for aspect-declared interface methods - negative"); + } + + public void test012(){ + runTest("exception clause for aspect-declared class methods - positive"); + } + + public void test013(){ + runTest("exception clause for aspect-declared class methods - negative"); + } + + public void test014(){ + runTest("exception clause for aspect-declared interface methods - positive binary"); + } + + public void test015(){ + runTest("exception clause for aspect-declared interface methods - negative binary"); + } + + public void test016(){ + runTest("exception clause for aspect-declared class methods - positive binary"); + } + + public void test017(){ + runTest("exception clause for aspect-declared class methods - negative binary"); + } + + public void test018(){ + runTest("percflow aspects compiled from jars share one instance for all entry points"); + } + + public void test019(){ + runTest("(using aspectpath) percflow aspects compiled from jars share one instance for all entry points"); + } + + public void test020(){ + runTest("Introduced abstract method on abstract class not implemented by subtype"); + } + + public void test021(){ + runTest("Introduced abstract method on interface not implemented by subtype (aspectpath)"); + } + + public void test022(){ + runTest("weaving from an aspectpath jar into that same jar.."); + } + +} + diff --git a/tests/src/org/aspectj/systemtest/aspectpath/aspectpath-tests.xml b/tests/src/org/aspectj/systemtest/aspectpath/aspectpath-tests.xml new file mode 100644 index 000000000..9be3b32d3 --- /dev/null +++ b/tests/src/org/aspectj/systemtest/aspectpath/aspectpath-tests.xml @@ -0,0 +1,198 @@ +<!-- Aspectpath Tests --> + + <!-- .................................... aspectpath tests --> + <!-- The jars used by this test can be regenerated with + org.aspectj.ajdt.core/testsrc/org.aspectj.ajdt.internal.compiler.batch.BcweaverJarMaker + --> + <ajc-test dir="new/options11" + comment="XXX not validated correct yet" + title="testing new options"> + <compile files="Main.java,injar.jar,Aspect.java" + aspectpath="aspectlib1.jar,aspectlib2.jar"/> + <!-- can't run until we support classpath including the above jars + <run class="Main"/> + --> + </ajc-test> + + <ajc-test dir="new/interfaceLibrary" + title="aspect-declared interface members in libraries - baseline"> + <compile files="lib/LibraryInterface.java, + Client.java, + LibraryAspect.java"/> + <run class="Client"/> + </ajc-test> + + <ajc-test dir="new/interfaceLibrary" + comment="prove that LibraryAspect is required" + title="aspect-declared interface members in libraries - interfaceOnly.jar"> + <compile + files="Client.java" + aspectpath="interfaceOnly.jar"> + <message kind="error" line="5"/> + </compile> + </ajc-test> + + <ajc-test dir="new/interfaceLibrary" + title="aspect-declared interface members in libraries - aspectOnly.jar"> + <compile + files="lib/LibraryInterface.java, + Client.java" + aspectpath="aspectOnly.jar"/> + <run class="Client"/> + </ajc-test> + + <ajc-test dir="new/interfaceLibrary" + title="aspect-declared interface members in libraries - aspectedInterfaceOnly.jar" + comment="prove aspect is required even if interface is woven" + > + <compile + files="Client.java" + classpath="aspectedInterfaceOnly.jar"> + <message kind="error" line="0" text="LibraryAspect"/> + <message kind="error" line="9" text="LibraryInterface"/> + </compile> + </ajc-test> + + <ajc-test dir="new/interfaceLibrary" + title="aspect-declared interface members in libraries - aspectedInterfaceOnly.jar,aspectOnly.jar" + comment="weaving required for implementations of interface? + XXX Would prefer to support javac compiles of Client here, mimicked with classpath only" + > + <compile + files="Client.java" + classpath="aspectedInterfaceOnly.jar,aspectOnly.jar"> + <message kind="error" line="9"/> + </compile> + </ajc-test> + + <ajc-test dir="new/interfaceLibrary" + title="aspect-declared interface members in libraries - aspectedInterfaceOnlyBinary.jar,aspectOnly.jar" + comment="works if aspect is only on the classpath?, i.e., no weaving XXX need javac run" + > + <compile + files="Client.java" + classpath="aspectedInterfaceOnlyBinary.jar,aspectOnly.jar"> + <message kind="error" line="9"/> + </compile> + </ajc-test> + + <ajc-test dir="new/interfaceLibrary" + title="aspect-declared interface members in libraries - aspectedInterfaceOnly.jar,aspectpath=aspectOnly.jar" + comment="can weave to create library, and then weave clients" + > + <compile + files="Client.java" + classpath="aspectedInterfaceOnly.jar" + aspectpath="aspectOnly.jar"/> + <run class="Client"/> + </ajc-test> + + <ajc-test dir="new/interfaceLibrary" + title="aspect-declared interface members in libraries - aspectedInterfaceOnly.jar,aspectpath=aspectOnly.jar" + comment="works if source aspect and binary classpath woven with aspect? + should NOT warn about affected type not since affected type is already woven?" + > + <compile + files="Client.java,LibraryAspect.java" + classpath="aspectedInterfaceOnly.jar"/> + + <run class="Client"/> + </ajc-test> + + <ajc-test + dir="bugs/interfaceLibrary" + title="exception clause for aspect-declared interface methods - positive"> + <compile files="Client.java,LibraryAspect.java,lib/LibraryInterface.java"/> + <run class="Client"/> + </ajc-test> + + <ajc-test + dir="bugs/interfaceLibrary" + title="exception clause for aspect-declared interface methods - negative"> + <compile files="ClientCE.java,LibraryAspect.java,lib/LibraryInterface.java"> + <message kind="error" file="ClientCE.java" line="5"/> + </compile> + </ajc-test> + + <ajc-test + dir="bugs/interfaceLibrary" + title="exception clause for aspect-declared class methods - positive"> + <compile files="ClassClient.java,LibraryClassAspect.java,lib/LibraryClass.java"/> + <run class="ClassClient"/> + </ajc-test> + + <ajc-test + dir="bugs/interfaceLibrary" + title="exception clause for aspect-declared class methods - negative"> + <compile files="ClassClientCE.java,LibraryClassAspect.java,lib/LibraryClass.java"> + <message kind="error" file="ClassClientCE.java" line="5"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs/interfaceLibrary" + pr="41175" + title="exception clause for aspect-declared interface methods - positive binary"> + <compile files="Client.java" aspectpath="lib.jar"/> + <run class="Client"/> + </ajc-test> + + <ajc-test dir="bugs/interfaceLibrary" + pr="41175" + title="exception clause for aspect-declared interface methods - negative binary"> + <compile files="ClientCE.java" aspectpath="lib.jar"> + <message kind="error" file="ClientCE.java" line="5"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs/interfaceLibrary" + pr="41175" + title="exception clause for aspect-declared class methods - positive binary"> + <compile files="ClassClient.java" aspectpath="libClass.jar"/> + <run class="ClassClient"/> + </ajc-test> + + <ajc-test dir="bugs/interfaceLibrary" + pr="41175" + title="exception clause for aspect-declared class methods - negative binary"> + <compile files="ClassClientCE.java" aspectpath="libClass.jar"> + <message kind="error" file="ClassClientCE.java" line="5"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs/perCflowAndJar" + pr="41359" + title="percflow aspects compiled from jars share one instance for all entry points"> + <compile files="PerCFlowCompileFromJar.java,PerCFlowCompileFromJarTest.java"/> + <run class="PerCFlowCompileFromJarTest"/> + </ajc-test> + + <ajc-test dir="bugs/perCflowAndJar" + pr="41359" + title="(using aspectpath) percflow aspects compiled from jars share one instance for all entry points"> + <compile files="PerCFlowCompileFromJarTest.java" + aspectpath="lib.jar"/> + <run class="PerCFlowCompileFromJarTest"/> + </ajc-test> + + <ajc-test dir="bugs/abstractMethods" pr="49784" + title="Introduced abstract method on abstract class not implemented by subtype"> + <compile files="abstractClass/C.java" + aspectpath="abstractClass/jars/AandB.jar"> + <message kind="error" line="1"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs/abstractMethods" pr="49784" + title="Introduced abstract method on interface not implemented by subtype (aspectpath)"> + <compile files="interface/C.java" + aspectpath="interface/jars/AandB.jar" /> + <run class="C"/> + </ajc-test> + + <ajc-test dir="bugs" pr="43714" + title="weaving from an aspectpath jar into that same jar.." > + <compile files="WeaveLocal.java" aspectpath="notAJar.jar" outjar="notAJar.jar" > + </compile> + </ajc-test> + + diff --git a/tests/src/org/aspectj/systemtest/aspectpath/aspectpath.xml b/tests/src/org/aspectj/systemtest/aspectpath/aspectpath.xml new file mode 100644 index 000000000..ba587fe9e --- /dev/null +++ b/tests/src/org/aspectj/systemtest/aspectpath/aspectpath.xml @@ -0,0 +1,12 @@ +<!DOCTYPE suite SYSTEM "../tests/ajcTestSuite.dtd"[ +<!ENTITY tests SYSTEM "../tests/src/org/aspectj/systemtest/aspectpath/aspectpath-tests.xml"> +]> + +<!-- Aspectpath Tests --> + +<suite> + +&tests; + +</suite> + diff --git a/tests/src/org/aspectj/systemtest/base/BaseTests.java b/tests/src/org/aspectj/systemtest/base/BaseTests.java new file mode 100644 index 000000000..37cdd7363 --- /dev/null +++ b/tests/src/org/aspectj/systemtest/base/BaseTests.java @@ -0,0 +1,188 @@ +/* ******************************************************************* + * Copyright (c) 2004 IBM Corporation + * All rights reserved. + * This program and the accompanying materials are made available + * under the terms of the Common Public License v1.0 + * which accompanies this distribution and is available at + * http://www.eclipse.org/legal/cpl-v10.html + * + * ******************************************************************/ +package org.aspectj.systemtest.base; + +import java.io.File; +import junit.framework.Test; +import org.aspectj.testing.XMLBasedAjcTestCase; + +public class BaseTests extends org.aspectj.testing.XMLBasedAjcTestCase { + + public static Test suite() { + return XMLBasedAjcTestCase.loadSuite(BaseTests.class); + } + + protected File getSpecFile() { + return new File("../tests/src/org/aspectj/systemtest/base/baseTests.xml"); + } + + + public void test001(){ + runTest("static and non-static before methods -- one file"); + } + + public void test002(){ + runTest("static and non-static before methods -- many files"); + } + + public void test003(){ + runTest("this redirection in non-static before methods"); + } + + public void test004(){ + runTest("DEPRECATED: introductions"); + } + + public void test005(){ + runTest("before constructors -- one file"); + } + + public void test006(){ + runTest("advise weaves find methods typed to builtins or non-woven classes"); + } + + public void test007(){ + runTest("make sure new weaves work inside of packages"); + } + + public void test008(){ + runTest("make sure new weaves work inside of packages (again)"); + } + + public void test009(){ + runTest("Inheritance of class and aspect vars in weaves"); + } + + public void test010(){ + runTest("Accessibility of class and aspect members from inside weaves"); + } + + public void test011(){ + runTest("Packaged aspects referring to packaged classes"); + } + + public void test012(){ + runTest("Inheritance of methods advised by aspects"); + } + + public void test013(){ + runTest("Inherited weaves on constructor"); + } + + public void test014(){ + runTest("Initializers in Aspect and Class Bodies"); + } + + public void test015(){ + runTest("Weaver Resolution of method names in method calls passed as args"); + } + + public void test016(){ + runTest("DEPRECATED: Introduce constructor with class inheritance"); + } + + public void test017(){ + runTest("empty and singular patterns on modifiers and throws"); + } + + public void test018(){ + runTest("DEPRECATED: Introduce of constructors"); + } + + public void test019(){ + runTest("Local declarations in advise bodies"); + } + + public void test020(){ + runTest("advises on introduced methods and constructors"); + } + + public void test021(){ + runTest("DEPRECATED: Method introduction into interface implemented by abstract class"); + } + + public void test022(){ + runTest("Crossing super calls in constructors"); + } + + public void test023(){ + runTest("empty modifier pattern"); + } + + public void test024(){ + runTest("Alpha conversion of argument names in designators"); + } + + public void test025(){ + runTest("advice uses its own formals to get actuals"); + } + + public void test026(){ + runTest("DEPRECATED: introduce weaves can use this"); + } + + public void test027(){ + runTest("DEPRECATED: introduce of abstract methods works"); + } + + public void test028(){ + runTest("multiple arounds successfully intercept and return own values"); + } + + public void test029(){ + runTest("proper matching of overloaded constructors"); + } + + public void test030(){ + runTest("proper handling of formals in catch advice"); + } + + public void test031(){ + runTest("proper values for thisJoinPoint attributes"); + } + + public void test032(){ + runTest("supers, supers, supers"); + } + + public void test033(){ + runTest("operations on private and protected aspect members (++, -- in partciular)"); + } + + public void test034(){ + runTest("only register things once"); + } + + public void test035(){ + runTest("inner aspects and around"); + } + + public void test036(){ + runTest("aspect inheritance and advice, introduction"); + } + + public void test037(){ + runTest("thisResultObject for primitives"); + } + + public void test038(){ + runTest("introductions calling super."); + } + + public void test039(){ + runTest("allow one argument calls even when there's a comma in the arglist"); + } + + public void test040(){ + runTest("advice on calls to static methods even works when called on super"); + } + +} + diff --git a/tests/src/org/aspectj/systemtest/base/baseTests-tests.xml b/tests/src/org/aspectj/systemtest/base/baseTests-tests.xml new file mode 100644 index 000000000..264c03fab --- /dev/null +++ b/tests/src/org/aspectj/systemtest/base/baseTests-tests.xml @@ -0,0 +1,263 @@ +<!-- Base Tests --> + + <ajc-test dir="base/test100" + title="static and non-static before methods -- one file" + keywords="from-base"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="base/test101" + title="static and non-static before methods -- many files" + keywords="from-base"> + <compile files="Driver.java,Foo.java,Bar.java,Pos.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="base/test102" + title="this redirection in non-static before methods" keywords="from-base"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="base/test103" title="DEPRECATED: introductions" + keywords="from-base"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="base/test104" title="before constructors -- one file" + keywords="from-base"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="base/test105" + title="advise weaves find methods typed to builtins or non-woven classes" + keywords="from-base"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="base/test106" + title="make sure new weaves work inside of packages" keywords="from-base"> + <compile files="Driver.java,pkg/Obj.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="base/test107" + title="make sure new weaves work inside of packages (again)" + keywords="from-base"> + <compile + files="Driver.java,C1.java,C2.java,pack1/Foo.java,pack2/Foo.java,pack3/Foo.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="base/test108" + title="Inheritance of class and aspect vars in weaves" + keywords="from-base"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="base/test109" + title="Accessibility of class and aspect members from inside weaves" + keywords="from-base"> + <compile files="Driver.java,Aspect.java,Foo.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="base/test110" + title="Packaged aspects referring to packaged classes" + keywords="from-base"> + <compile files="Driver.java,pAspect/Aspect.java,pClass/Class.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="base/test111" + title="Inheritance of methods advised by aspects" keywords="from-base"> + <compile + files="Driver.java,SubClass.java,SuperClass.java,SuperAspect.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="base/test112" title="Inherited weaves on constructor" + keywords="from-base"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="base/test113" title="Initializers in Aspect and Class Bodies" + keywords="from-base"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="base/test114" + title="Weaver Resolution of method names in method calls passed as args" + keywords="from-base"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="base/test115" + title="DEPRECATED: Introduce constructor with class inheritance" + keywords="from-base"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="base/test116" + title="empty and singular patterns on modifiers and throws" + keywords="from-base"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="base/test118" title="DEPRECATED: Introduce of constructors" + keywords="from-base"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="base/test119" title="Local declarations in advise bodies" + keywords="from-base"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + + <ajc-test dir="base/test121" + title="advises on introduced methods and constructors" + keywords="from-base"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="base/test122" + title="DEPRECATED: Method introduction into interface implemented by abstract class" + keywords="from-base"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="base/test123" title="Crossing super calls in constructors" + keywords="from-base"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="base/test124" title="empty modifier pattern" + keywords="from-base"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="base/test125" + title="Alpha conversion of argument names in designators" + keywords="from-base"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="base/test127" + title="advice uses its own formals to get actuals" keywords="from-base"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="base/test128" + title="DEPRECATED: introduce weaves can use this" keywords="from-base"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="base/test129" + title="DEPRECATED: introduce of abstract methods works" + keywords="from-base"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="base/test130" + title="multiple arounds successfully intercept and return own values" + keywords="from-base"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="base/test132" + title="proper matching of overloaded constructors" keywords="from-base"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="base/test134" + title="proper handling of formals in catch advice" keywords="from-base"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="base/test135" + title="proper values for thisJoinPoint attributes" keywords="from-base"> + <compile + files="Driver.java,JoinPointFields.java,TopFoo.java,pack/PackFoo.java,pack/JoinPointFields.java,pack/PackJoinPointFields.java"/> + <run class="test135.Driver"/> + </ajc-test> + + <ajc-test dir="base/test136" title="supers, supers, supers" + keywords="from-base"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="base/test137" + title="operations on private and protected aspect members (++, -- in partciular)" + keywords="from-base"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="base/test138" title="only register things once" + keywords="from-base"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="base/test139" title="inner aspects and around" + keywords="from-base"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="base/test140" + title="aspect inheritance and advice, introduction" keywords="from-base"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="base/test141" title="thisResultObject for primitives" + keywords="from-base"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="base/test142" title="introductions calling super." + keywords="from-base"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="base/test143" pr="384" + title="allow one argument calls even when there's a comma in the arglist" + keywords="from-base"> + <compile files="OneArgCallsIsOkay.java"/> + <run class="OneArgCallsIsOkay"/> + </ajc-test> + + <ajc-test dir="base/test144" + title="advice on calls to static methods even works when called on super" + keywords="from-base"> + <compile files="SuperStaticCallJoinPoint.java"/> + <run class="SuperStaticCallJoinPoint"/> + </ajc-test> diff --git a/tests/src/org/aspectj/systemtest/base/baseTests.xml b/tests/src/org/aspectj/systemtest/base/baseTests.xml new file mode 100644 index 000000000..420567395 --- /dev/null +++ b/tests/src/org/aspectj/systemtest/base/baseTests.xml @@ -0,0 +1,10 @@ +<!DOCTYPE suite SYSTEM "../tests/ajcTestSuite.dtd"[ +<!ENTITY tests SYSTEM "../tests/src/org/aspectj/systemtest/base/baseTests-tests.xml"> +]> +<!-- Base Tests --> + +<suite> + +&tests; + +</suite>
\ No newline at end of file diff --git a/tests/src/org/aspectj/systemtest/design/DesignTests.java b/tests/src/org/aspectj/systemtest/design/DesignTests.java new file mode 100644 index 000000000..8a3248189 --- /dev/null +++ b/tests/src/org/aspectj/systemtest/design/DesignTests.java @@ -0,0 +1,80 @@ +/* ******************************************************************* + * Copyright (c) 2004 IBM Corporation + * All rights reserved. + * This program and the accompanying materials are made available + * under the terms of the Common Public License v1.0 + * which accompanies this distribution and is available at + * http://www.eclipse.org/legal/cpl-v10.html + * + * ******************************************************************/ +package org.aspectj.systemtest.design; + +import java.io.File; +import junit.framework.Test; +import org.aspectj.testing.XMLBasedAjcTestCase; + +public class DesignTests extends org.aspectj.testing.XMLBasedAjcTestCase { + + public static Test suite() { + return XMLBasedAjcTestCase.loadSuite(DesignTests.class); + } + + protected File getSpecFile() { + return new File("../tests/src/org/aspectj/systemtest/design/design.xml"); + } + + + public void test001(){ + runTest("initial tests for new introduction style"); + } + + public void test002(){ + runTest("overriding of introduced methods and accessibility"); + } + + public void test003(){ + runTest("within and introductions behaves correctly"); + } + + public void test004(){ + runTest("correct inheritance of multiple concrete methods"); + } + + public void test005(){ + runTest("errors in inheritance of multiple concrete methods"); + } + + public void test006(){ + runTest("declared exceptions are checked correctly on intros (errors)"); + } + + public void test007(){ + runTest("declared exceptions are checked correctly on intros"); + } + + public void test008(){ + runTest("Joinpoint is not created for foo(String) when before() advice is present."); + } + + public void test009(){ + runTest("more tests of eachobject with some difficult typing issues"); + } + + public void test010(){ + runTest("eachobject: eachobject(receptions(...)) [eachobject]"); + } + + public void test011(){ + runTest("Checking new joinpoints"); + } + + public void test012(){ + runTest("eachobject: simple test [eachobject] (still)"); + } + + public void test013(){ + runTest("scope issues with introduction (needs more work)"); + } + +} + diff --git a/tests/src/org/aspectj/systemtest/design/design.xml b/tests/src/org/aspectj/systemtest/design/design.xml new file mode 100644 index 000000000..51cc93173 --- /dev/null +++ b/tests/src/org/aspectj/systemtest/design/design.xml @@ -0,0 +1,11 @@ +<!DOCTYPE suite SYSTEM "../tests/ajcTestSuite.dtd" [ +<!ENTITY designTests SYSTEM "../tests/src/org/aspectj/systemtest/design/designtest.xml"> +]> + +<!-- Language Design Tests --> + +<suite> + +&designTests; + +</suite>
\ No newline at end of file diff --git a/tests/src/org/aspectj/systemtest/design/designtest.xml b/tests/src/org/aspectj/systemtest/design/designtest.xml new file mode 100644 index 000000000..112d9b6c1 --- /dev/null +++ b/tests/src/org/aspectj/systemtest/design/designtest.xml @@ -0,0 +1,94 @@ + <ajc-test dir="design/intro" + title="initial tests for new introduction style" keywords="from-design"> + <compile files="Simple.java"/> + <run class="Simple"/> + </ajc-test> + + <ajc-test dir="design/intro" + title="overriding of introduced methods and accessibility" + keywords="from-design"> + <compile files="Overriding.java"/> + <run class="Overriding"/> + </ajc-test> + + <ajc-test dir="design/intro" + title="within and introductions behaves correctly" keywords="from-design"> + <compile files="Within.java"/> + <run class="Within"/> + </ajc-test> + + <ajc-test dir="design/intro" pr="570" + title="correct inheritance of multiple concrete methods" + keywords="from-design"> + <compile files="MultiInheritCP.java"/> + <run class="MultiInheritCP"/> + </ajc-test> + + <ajc-test dir="design/intro" pr="570" + title="errors in inheritance of multiple concrete methods" + keywords="from-design"> + <compile files="MultiInheritCF.java"> + <message kind="error" line="21"/> + <message kind="error" line="41"/> + <message kind="error" line="42"/> + <message kind="error" line="43"/> + <message kind="error" line="45"/> + <message kind="error" line="46"/> + </compile> + </ajc-test> + + <ajc-test dir="design/intro" + title="declared exceptions are checked correctly on intros (errors)"> + <compile files="ExceptionsCF.java"> + <message kind="error" line="8"/> + <message kind="error" line="23"/> + </compile> + </ajc-test> + + <ajc-test dir="design/intro" + title="declared exceptions are checked correctly on intros"> + <compile files="ExceptionsCP.java"/> + <run class="ExceptionsCP"/> + </ajc-test> + + <ajc-test dir="design/reflect" + title="Joinpoint is not created for foo(String) when before() advice is present." + keywords="from-design"> + <compile files="SimpleAround1.java"/> + <run class="SimpleAround1"/> + </ajc-test> + + <ajc-test dir="design/eachobject" + title="more tests of eachobject with some difficult typing issues" + keywords="from-design"> + <compile files="Tricky3.java"/> + <run class="Tricky3"/> + </ajc-test> + + <ajc-test dir="design/eachobject" + title="eachobject: eachobject(receptions(...)) [eachobject]" + keywords="from-design"> + <compile files="Tricky1.java"/> + <run class="Tricky1"/> + </ajc-test> + + <ajc-test dir="design/reflect" title="Checking new joinpoints" + keywords="from-design"> + <compile files="Coverage.java"/> + <run class="Coverage"/> + </ajc-test> + + <ajc-test dir="design/eachobject" + title="eachobject: simple test [eachobject] (still)" + keywords="from-design"> + <compile files="Simple.java"/> + <run class="Simple"/> + </ajc-test> + + <ajc-test dir="design/intro" + title="scope issues with introduction (needs more work)" + keywords="from-design"> + <compile files="p1/ScopeIssues.java,p1/C1.java"/> + <run class="p1.ScopeIssues"/> + </ajc-test> + diff --git a/tests/src/org/aspectj/systemtest/incremental/IncrementalTests.java b/tests/src/org/aspectj/systemtest/incremental/IncrementalTests.java new file mode 100644 index 000000000..fd7c1fa5e --- /dev/null +++ b/tests/src/org/aspectj/systemtest/incremental/IncrementalTests.java @@ -0,0 +1,194 @@ +/* ******************************************************************* + * Copyright (c) 2004 IBM Corporation + * All rights reserved. + * This program and the accompanying materials are made available + * under the terms of the Common Public License v1.0 + * which accompanies this distribution and is available at + * http://www.eclipse.org/legal/cpl-v10.html + * + * ******************************************************************/ +package org.aspectj.systemtest.incremental; + +import java.io.File; + +import junit.framework.Test; + +import org.aspectj.testing.XMLBasedAjcTestCase; +import org.aspectj.tools.ajc.CompilationResult; +import org.aspectj.util.FileUtil; + +public class IncrementalTests extends org.aspectj.testing.XMLBasedAjcTestCase { + + public static Test suite() { + return XMLBasedAjcTestCase.loadSuite(IncrementalTests.class); + } + + protected File getSpecFile() { + return new File("../tests/src/org/aspectj/systemtest/incremental/incremental.xml"); + } + + + public void test001() throws Exception { + runTest("expect class added in initial incremental tests"); + nextIncrement(false); + copyFileAndDoIncrementalBuild("src.20/main/Main.java","src/main/Main.java"); + assertAdded("main/Target.class"); + run("main.Main"); + } + + public void test002() throws Exception { + runTest("expect class removed in initial incremental tests"); + nextIncrement(false); + assertAdded("main/Target.class"); + copyFileAndDoIncrementalBuild("src.20/main/Main.java","src/main/Main.java"); + assertDeleted("main/Target.class"); + run("main.Main"); + } + + public void test003() throws Exception { + runTest("expect class updated in initial incremental tests"); + long lastTime = nextIncrement(true); + copyFileAndDoIncrementalBuild("src.20/main/Main.java","src/main/Main.java"); + assertUpdated("main/Main.class",lastTime); + run("main.Main"); + } + + public void test004() throws Exception { + runTest("add file with class"); + nextIncrement(false); + copyFileAndDoIncrementalBuild("src.20/main/Target.java","src/main/Target.java"); + assertAdded("main/Target.class"); + long lastTime = nextIncrement(true); + copyFileAndDoIncrementalBuild("src.30/main/Main.java","src/main/Main.java"); + assertUpdated("main/Main.class",lastTime); + run("main.Main"); + } + + public void test005()throws Exception { + runTest("delete source file before incremental compile"); + nextIncrement(false); + MessageSpec messageSpec = new MessageSpec(null,newMessageList(new Message(6,"delete/Target.java",null,null))); + deleteFileAndDoIncrementalBuild("src/delete/DeleteMe.java",messageSpec); + nextIncrement(false); + copyFileAndDoIncrementalBuild("src.30/delete/Target.java","src/delete/Target.java"); + run("delete.Main"); + } + + public void test006() throws Exception { + runTest("do everything in default package (sourceroots)"); + nextIncrement(false); + copyFileAndDoIncrementalBuild("changes/Target.20.java","src/Target.java"); + run("Target"); + long lastTime = nextIncrement(true); + copyFileAndDoIncrementalBuild("changes/Main.30.java","src/Main.java"); + assertUpdated("Main.class",lastTime); + nextIncrement(false); + MessageSpec messageSpec = new MessageSpec(null,newMessageList(new Message(6,"Main.java",null,null))); + deleteFileAndDoIncrementalBuild("src/Target.java",messageSpec); + nextIncrement(false); + copyFileAndDoIncrementalBuild("changes/Main.50.java","src/Main.java"); + run("Main"); + } + + public void test007() throws Exception { + runTest("change sources in default package"); + nextIncrement(false); + copyFileAndDoIncrementalBuild("changes/Main.20.java","src/Main.java"); + run("Main"); + } + + public void test008() throws Exception { + runTest("change source"); + nextIncrement(false); + copyFileAndDoIncrementalBuild("changes/Main.20.java","src/app/Main.java"); + run("app.Main"); + } + + public void test009() throws Exception { + runTest("incrementally change only string literal, still expect advice"); + long lastTime = nextIncrement(true); + copyFileAndDoIncrementalBuild("changes/Main.20.java","src/packageOne/Main.java"); + assertUpdated("packageOne/Main.class",lastTime); + run("packageOne.Main",new String[] {"in longer packageOne.Main.main(..)", + "before main packageOne.Main"}, + null); + } + + public void test010() throws Exception { + runTest("add aspect source file and check world is rewoven"); + nextIncrement(false); + copyFileAndDoIncrementalBuild("changes/Detour.20.java","src/Detour.java"); + assertAdded("Detour.class"); + run("Main"); + } + + public void test011() throws Exception { + runTest("make sure additional classes generated during weave are deleted with src class file"); + nextIncrement(false); + assertTrue("AdviceOnIntroduced$AjcClosure1.class exists", + new File(ajc.getSandboxDirectory(),"AdviceOnIntroduced$AjcClosure1.class").exists()); + deleteFileAndDoIncrementalBuild("src/AdviceOnIntroduced.java"); + assertDeleted("AdviceOnIntroduced$AjcClosure1.class"); + } + + public void test012() throws Exception { + runTest("incremental with aspect-driven full rebuild"); + nextIncrement(false); + MessageSpec messageSpec = new MessageSpec(newMessageList(new Message(4,"Main.java",null,null)),null); + copyFileAndDoIncrementalBuild("changes/Aspect.20.java","src/Aspect.java",messageSpec); + run("Main"); + } + + private long nextIncrement(boolean doWait) { + long time = System.currentTimeMillis(); + if (doWait) { + try { + Thread.sleep(1000); + } catch (InterruptedException intEx) {} + } + return time; + } + + private void copyFileAndDoIncrementalBuild(String from, String to) throws Exception { + String dir = getCurrentTest().getDir(); + FileUtil.copyFile(new File(dir + File.separator + from), + new File(ajc.getSandboxDirectory(),to)); + CompilationResult result = ajc.doIncrementalCompile(); + assertNoMessages(result,"Expected clean compile from test '" + getCurrentTest().getTitle() + "'"); + } + + private void copyFileAndDoIncrementalBuild(String from, String to, MessageSpec expectedResults) throws Exception { + String dir = getCurrentTest().getDir(); + FileUtil.copyFile(new File(dir + File.separator + from), + new File(ajc.getSandboxDirectory(),to)); + CompilationResult result = ajc.doIncrementalCompile(); + assertMessages(result,"Test '" + getCurrentTest().getTitle() + "' did not produce expected messages",expectedResults); + } + + + private void deleteFileAndDoIncrementalBuild(String file, MessageSpec expectedResult) throws Exception { + new File(ajc.getSandboxDirectory(),file).delete(); + CompilationResult result = ajc.doIncrementalCompile(); + assertMessages(result,"Test '" + getCurrentTest().getTitle() + "' did not produce expected messages",expectedResult); + } + + private void deleteFileAndDoIncrementalBuild(String file) throws Exception { + deleteFileAndDoIncrementalBuild(file,MessageSpec.EMPTY_MESSAGE_SET); + } + + private void assertAdded(String file) { + assertTrue("File " + file + " should have been added", + new File(ajc.getSandboxDirectory(),file).exists()); + } + + private void assertDeleted(String file) { + assertFalse("File " + file + " should have been deleted", + new File(ajc.getSandboxDirectory(),file).exists()); + } + + private void assertUpdated(String file, long sinceTime) { + File f = new File(ajc.getSandboxDirectory(),file); + assertTrue("File " + file + " should have been updated",f.lastModified() > sinceTime); + } +} + diff --git a/tests/src/org/aspectj/systemtest/incremental/incremental-junit-tests.xml b/tests/src/org/aspectj/systemtest/incremental/incremental-junit-tests.xml new file mode 100644 index 000000000..f2f72c9f0 --- /dev/null +++ b/tests/src/org/aspectj/systemtest/incremental/incremental-junit-tests.xml @@ -0,0 +1,197 @@ +<!-- Incremental compilation Tests --> + + <ajc-test dir="incrementalju/initialTests/classAdded" + title="expect class added in initial incremental tests" + keywords="incremental-test" > + <compile staging="true" + options="-incremental" + sourceroots="src"/> + <run class="main.Main"/> + <!-- + <inc-compile tag="20" > + <dir-changes added="main.Target"/> + </inc-compile> + <run class="main.Main" skipTester="true"/> + --> + </ajc-test> + + <ajc-test dir="incrementalju/initialTests/classRemoved" + title="expect class removed in initial incremental tests" + keywords="incremental-test" > + <compile staging="true" + options="-incremental" + sourceroots="src"/> + <run class="main.Main"/> + <!-- + <inc-compile tag="20"> + <dir-changes removed="main.Target"/> + </inc-compile> + <run class="main.Main"/> + --> + </ajc-test> + + <ajc-test dir="incrementalju/initialTests/classUpdated" + title="expect class updated in initial incremental tests" + keywords="incremental-test" > + <compile staging="true" + options="-incremental" + sourceroots="src"/> + <run class="main.Main"/> + <!-- + <inc-compile tag="20"> + <dir-changes updated="main.Main"/> + </inc-compile> + <run class="main.Main"/> + --> + </ajc-test> + + <ajc-test dir="incrementalju/initialTests/sourceAdded" + title="add file with class" + comment="only expecting pickup if sourceroots" + keywords="incremental-test" > + <compile staging="true" + options="-incremental" + sourceroots="src"/> + <run class="main.Main"/> + <!-- + <inc-compile tag="20"> + <dir-changes added="main.Target"/> + </inc-compile> + <inc-compile tag="30"> + <dir-changes updated="main.Main"/> + </inc-compile> + <run class="main.Main"/> + --> + </ajc-test> + + <ajc-test dir="incrementalju/initialTests/sourceDeleted" + title="delete source file before incremental compile" + comment="build config should permit file deletions for incremental (sourceroots)" + keywords="incremental-test" > + <compile staging="true" + options="-incremental" + sourceroots="src"/> + <run class="delete.Main"/> + <!-- + <inc-compile tag="20"> + <dir-changes removed="delete.DeleteMe"/> + <message kind="error" line="6" file="delete/Target.java"/> + </inc-compile> + <inc-compile tag="30"/> + <run class="delete.Main"/> + --> + </ajc-test> + + <ajc-test dir="incrementalju/initialTests/defaultPackage" + title="do everything in default package (sourceroots)" + keywords="incremental-test" > + <compile staging="true" + options="-incremental" + sourceroots="src"/> + <run class="Main"/> + <!-- + <inc-compile tag="20"> + <dir-changes added="Target"/> + </inc-compile> + <run class="Target" skipTester="true"/> + <inc-compile tag="30"> + <dir-changes updated="Main"/> + </inc-compile> + <run class="Main" skipTester="true"/> + <inc-compile tag="40"> + <message kind="error" line="6" file="Main.java"/> + </inc-compile> + <inc-compile tag="50"/> + <run class="Main"/> + --> + </ajc-test> + + <ajc-test dir="incrementalju/defaultPackage" + keywords="incremental-test" + title="change sources in default package"> + <compile + staging="true" + options="-incremental" + sourceroots="src"/> + <run class="Main"/> + <!-- + <inc-compile tag="20"/> + <run class="Main"/> + --> + </ajc-test> + + <ajc-test dir="incrementalju/interPackage" + keywords="incremental-test" + title="change source"> + <compile + staging="true" + options="-incremental" + sourceroots="src"/> + <run class="app.Main"/> + <!-- + <inc-compile tag="20"/> + <run class="app.Main"/> + --> + </ajc-test> + + <ajc-test dir="incrementalju/stringliteral" + keywords="incremental-test" + title="incrementally change only string literal, still expect advice"> + <compile staging="true" options="-incremental" + sourceroots="src"/> + <run class="packageOne.Main" + options="in packageOne.Main.main(..),before main packageOne.Main"/> + <!-- + <inc-compile tag="20"> + <dir-changes updated="packageOne.Main"/> + </inc-compile> + <run class="packageOne.Main" + options="in longer packageOne.Main.main(..), + before main packageOne.Main"/> + --> + </ajc-test> + + <ajc-test dir="incrementalju/initialTests/aspectSourceAdded" + title="add aspect source file and check world is rewoven" + keywords="incremental-test" > + <compile staging="true" + options="-incremental" + sourceroots="src"/> + <!-- + <inc-compile tag="20"> + <dir-changes added="Detour"/> + </inc-compile> + <run class="Main"/> + --> + </ajc-test> + + <ajc-test dir="incrementalju/initialTests/classWAroundClosureRemoved" + title="make sure additional classes generated during weave are deleted with src class file" + keywords="incremental-test"> + <compile staging="true" + options="-incremental" + sourceroots="src"/> + <!-- + <inc-compile tag="20" > + <dir-changes removed="AdviceOnIntroduced$AjcClosure1"/> + </inc-compile> + --> + </ajc-test> + + <ajc-test dir="incrementalju/full-rebuild" + pr="59895" + title="incremental with aspect-driven full rebuild"> + <compile + staging="true" + sourceroots="src" + options="-incremental"> + <message kind="error" line="3" file="Aspect.java"/> + </compile> + <!-- + <inc-compile tag="20"> + <message kind="warning" line="4" file="Main.java"/> + </inc-compile> + <run class="Main"/> + --> + </ajc-test> + diff --git a/tests/src/org/aspectj/systemtest/incremental/incremental-tests.xml b/tests/src/org/aspectj/systemtest/incremental/incremental-tests.xml new file mode 100644 index 000000000..24b7a234a --- /dev/null +++ b/tests/src/org/aspectj/systemtest/incremental/incremental-tests.xml @@ -0,0 +1,183 @@ +<!-- Incremental compilation Tests --> + + <ajc-test dir="incremental/initialTests/classAdded" + title="expect class added in initial incremental tests" + keywords="incremental-test" > + <compile staging="true" + options="-incremental" + sourceroots="."/> + <run class="main.Main"/> + <inc-compile tag="20" > + <dir-changes added="main.Target"/> + </inc-compile> + <run class="main.Main" skipTester="true"/> + </ajc-test> + + <ajc-test dir="incremental/initialTests/classRemoved" + title="expect class removed in initial incremental tests" + keywords="incremental-test" > + <compile staging="true" + options="-incremental" + sourceroots="."/> + <run class="main.Main"/> + <inc-compile tag="20"> + <dir-changes removed="main.Target"/> + </inc-compile> + <run class="main.Main"/> + </ajc-test> + + <ajc-test dir="incremental/initialTests/classUpdated" + title="expect class updated in initial incremental tests" + keywords="incremental-test" > + <compile staging="true" + options="-incremental" + sourceroots="."/> + <run class="main.Main"/> + <inc-compile tag="20"> + <dir-changes updated="main.Main"/> + </inc-compile> + <run class="main.Main"/> + </ajc-test> + + <ajc-test dir="incremental/initialTests/sourceAdded" + title="add file with class" + comment="only expecting pickup if sourceroots" + keywords="incremental-test" > + <compile staging="true" + options="-incremental" + sourceroots="."/> + <run class="main.Main"/> + <inc-compile tag="20"> + <dir-changes added="main.Target"/> + </inc-compile> + <inc-compile tag="30"> + <dir-changes updated="main.Main"/> + </inc-compile> + <run class="main.Main"/> + </ajc-test> + + <ajc-test dir="incremental/initialTests/sourceDeleted" + title="delete source file before incremental compile" + comment="build config should permit file deletions for incremental (sourceroots)" + keywords="incremental-test" > + <compile staging="true" + options="-incremental" + sourceroots="."/> + <run class="delete.Main"/> + <inc-compile tag="20"> + <dir-changes removed="delete.DeleteMe"/> + <message kind="error" line="6" file="delete/Target.java"/> + </inc-compile> + <inc-compile tag="30"/> + <run class="delete.Main"/> + </ajc-test> + + <ajc-test dir="incremental/initialTests/expClasses" + title="expected class tree" > + <compile files="Main.java"> + <dir-changes expDir="expected"/> + </compile> + <run class="Main"/> + </ajc-test> + + <ajc-test dir="incremental/initialTests/defaultPackage" + title="do everything in default package (sourceroots)" + keywords="incremental-test" > + <compile staging="true" + options="-incremental" + sourceroots="."/> + <run class="Main"/> + <inc-compile tag="20"> + <dir-changes added="Target"/> + </inc-compile> + <run class="Target" skipTester="true"/> + <inc-compile tag="30"> + <dir-changes updated="Main"/> + </inc-compile> + <run class="Main" skipTester="true"/> + <inc-compile tag="40"> + <message kind="error" line="6" file="Main.java"/> + </inc-compile> + <inc-compile tag="50"/> + <run class="Main"/> + </ajc-test> + + <ajc-test dir="incremental/defaultPackage" + keywords="incremental-test" + title="change sources in default package"> + <compile + staging="true" + options="-incremental" + sourceroots="src"/> + <run class="Main"/> + <inc-compile tag="20"/> + <run class="Main"/> + </ajc-test> + + <ajc-test dir="incremental/interPackage" + keywords="incremental-test" + title="change source"> + <compile + staging="true" + options="-incremental" + sourceroots="src"/> + <run class="app.Main"/> + <inc-compile tag="20"/> + <run class="app.Main"/> + </ajc-test> + + + <ajc-test dir="incremental/stringliteral" + keywords="incremental-test" + title="incrementally change only string literal, still expect advice"> + <compile staging="true" options="-incremental" + sourceroots="src"/> + <run class="packageOne.Main" + options="in packageOne.Main.main(..), + before main packageOne.Main"/> + <inc-compile tag="20"> + <dir-changes updated="packageOne.Main"/> + </inc-compile> + <run class="packageOne.Main" + options="in longer packageOne.Main.main(..), + before main packageOne.Main"/> + </ajc-test> + + <ajc-test dir="incremental/initialTests/aspectSourceAdded" + title="add aspect source file and check world is rewoven" + keywords="incremental-test" > + <compile staging="true" + options="-incremental" + sourceroots="."/> + <inc-compile tag="20"> + <dir-changes added="Detour"/> + </inc-compile> + <run class="Main"/> + </ajc-test> + + <ajc-test dir="incremental/initialTests/classWAroundClosureRemoved" + title="make sure additional classes generated during weave are deleted with src class file" + keywords="incremental-test"> + <compile staging="true" + options="-incremental" + sourceroots="."/> + <inc-compile tag="20" > + <dir-changes removed="AdviceOnIntroduced$AjcClosure1"/> + </inc-compile> + </ajc-test> + + <ajc-test dir="incremental/full-rebuild" + pr="59895" + title="incremental with aspect-driven full rebuild"> + <compile + staging="true" + sourceroots="src" + options="-incremental"> + <message kind="error" line="3" file="Aspect.java"/> + </compile> + <inc-compile tag="20"> + <message kind="warning" line="4" file="Main.java"/> + </inc-compile> + <run class="Main"/> + </ajc-test> + diff --git a/tests/src/org/aspectj/systemtest/incremental/incremental.xml b/tests/src/org/aspectj/systemtest/incremental/incremental.xml new file mode 100644 index 000000000..39d6a6823 --- /dev/null +++ b/tests/src/org/aspectj/systemtest/incremental/incremental.xml @@ -0,0 +1,10 @@ +<!DOCTYPE suite SYSTEM "../tests/ajcTestSuite.dtd"[ +<!ENTITY tests SYSTEM "../tests/src/org/aspectj/systemtest/incremental/incremental-junit-tests.xml"> +]> +<!-- Incremental compilation Tests --> + +<suite> + +&tests; + +</suite>
\ No newline at end of file diff --git a/tests/src/org/aspectj/systemtest/inpath/InPathTests.java b/tests/src/org/aspectj/systemtest/inpath/InPathTests.java new file mode 100644 index 000000000..6bd3bf749 --- /dev/null +++ b/tests/src/org/aspectj/systemtest/inpath/InPathTests.java @@ -0,0 +1,96 @@ +/* ******************************************************************* + * Copyright (c) 2004 IBM Corporation + * All rights reserved. + * This program and the accompanying materials are made available + * under the terms of the Common Public License v1.0 + * which accompanies this distribution and is available at + * http://www.eclipse.org/legal/cpl-v10.html + * + * ******************************************************************/ +package org.aspectj.systemtest.inpath; + +import java.io.File; +import junit.framework.Test; +import org.aspectj.testing.XMLBasedAjcTestCase; + +public class InPathTests extends org.aspectj.testing.XMLBasedAjcTestCase { + + public static Test suite() { + return XMLBasedAjcTestCase.loadSuite(InPathTests.class); + } + + protected File getSpecFile() { + return new File("../tests/src/org/aspectj/systemtest/inpath/inpath.xml"); + } + + + public void test001(){ + runTest("source for options -injars"); + } + + public void test002(){ + runTest("options -injars"); + } + + public void test003(){ + runTest("options -injars checking declare parents interactions"); + } + + public void test004(){ + runTest("The compiler crashes when using aspect libraries created without using -noweave"); + } + + public void test005(){ + runTest("declare warnings on main"); + } + + public void test006(){ + runTest("declare warnings on binary javac 1.4 classes"); + } + + public void test007(){ + runTest("declare warnings on binary ajc 1.1 classes"); + } + + public void test008(){ + runTest("Weaving rt.jar results in stack overflow"); + } + + public void test009(){ + runTest("Weaving failure when using injars (no jars)"); + } + + public void test010(){ + runTest("Weaving failure when using injars (on aspectpath)"); + } + + public void test011(){ + runTest("Weaving failure when using injars (on classpath)"); + } + + public void test012(){ + runTest("Weaving failure when using injars (actual injars)"); + } + + public void test013(){ + runTest("Introduced abstract method on interface not implemented by subtype (injars)"); + } + + public void test014(){ + runTest("error Type mismatch: cannot convert from java.lang.String to java.lang.String"); + } + + public void test015(){ + runTest("declare error binary-weaving NPE"); + } + + public void test016(){ + runTest("declare error binary-weaving NPE"); + } + + public void test017(){ + runTest("Regression from 1.1: NPE in CompilationResult"); + } + +} + diff --git a/tests/src/org/aspectj/systemtest/inpath/inpath-tests.xml b/tests/src/org/aspectj/systemtest/inpath/inpath-tests.xml new file mode 100644 index 000000000..18d78cf28 --- /dev/null +++ b/tests/src/org/aspectj/systemtest/inpath/inpath-tests.xml @@ -0,0 +1,296 @@ +<!-- InPath Tests --> + + <!-- .................................... -injars tests --> + + <ajc-test dir="options/injars/simple" + title="source for options -injars"> + <compile files="Simple.java,Main.java"/> + <run class="Main"/> + </ajc-test> + + <ajc-test dir="options/injars/simple" + title="options -injars"> + <compile files="Simple.java,main.jar" + options="!eclipse"/> + <run class="Main"/> + </ajc-test> + + + <ajc-test dir="options/injars/simple" pr="35865" + title="options -injars checking declare parents interactions"> + <compile files="DecParents.java,main.jar" + options="!eclipse"/> + <run class="DecParents"/> + </ajc-test> + + <ajc-test dir="new/options11" pr="36329" + comment="the line number might change, we're really interested only in the files here" + title="The compiler crashes when using aspect libraries created without using -noweave"> + <compile files="Main.java,injar.jar,Aspect.java,aspectlib1.jar,aspectlib2.jar"> + <message kind="error" line="0"/> + </compile> + </ajc-test> + + <ajc-test dir="new/binaryWarnings/src" pr="37020" + title="declare warnings on main"> + <compile files="aspects/MainWarnings.java,app/Main.java"> + <message line="6" text="staticinitialization(Main)" kind="warning" file="app/Main.java" /> + <message line="6" text="set(String Main.staticString)" kind="warning" file="app/Main.java" /> + <message line="8" text="set(String Main.s)" kind="warning" file="app/Main.java" /> + <message line="12" text="get(String Main.staticString)" kind="warning" file="app/Main.java" /> + <message line="14" text="set(String Main.staticString)" kind="warning" file="app/Main.java" /> + <message line="16" text="call(Main.new())" kind="warning" file="app/Main.java" /> + <message line="19" text="call(void Main.go(String))" kind="warning" file="app/Main.java" /> + <message line="23" text="initialization(Main.new())" kind="warning" file="app/Main.java" /> + <message line="23" text="get(String Main.s)" kind="warning" file="app/Main.java" /> + <message line="23" text="set(String Main.s)" kind="warning" file="app/Main.java" /> + <message line="26" text="execution(void Main.go(String))" kind="warning" file="app/Main.java" /> + <message line="29" text="get(String Main.s)" kind="warning" file="app/Main.java" /> + <message line="31" text="set(String Main.s)" kind="warning" file="app/Main.java" /> + <message line="32" text="D.go withincode(void Main.go(String))" kind="warning" file="app/Main.java" /> + <message line="33" text="handler(RuntimeException)" kind="warning" file="app/Main.java" /> + <message line="35" text="withincode(void Main.go(String))" kind="warning" file="app/Main.java" /> + <message line="42" text="withincode(void Main.stop())" kind="warning" file="app/Main.java" /> + <message line="50" text="preinitialization(app.C.new())" kind="warning" file="app/Main.java" /> + </compile> + <run class="app.Main"/> + </ajc-test> + + <ajc-test dir="new/binaryWarnings/src" pr="37020" + title="declare warnings on binary javac 1.4 classes"> + <compile files="aspects/MainWarnings.java,../injars/app-javac-1.4.jar"> + <message line="6" text="staticinitialization(Main)" kind="warning" file="app/Main.java" /> + <message line="6" text="set(String Main.staticString)" kind="warning" file="app/Main.java" /> + <message line="8" text="set(String Main.s)" kind="warning" file="app/Main.java" /> + <message line="12" text="get(String Main.staticString)" kind="warning" file="app/Main.java" /> + <message line="14" text="set(String Main.staticString)" kind="warning" file="app/Main.java" /> + <message line="16" text="call(Main.new())" kind="warning" file="app/Main.java" /> + <message line="19" text="call(void Main.go(String))" kind="warning" file="app/Main.java" /> + <message line="23" text="initialization(Main.new())" kind="warning" file="app/Main.java" /> + <message line="23" text="get(String Main.s)" kind="warning" file="app/Main.java" /> + <message line="23" text="set(String Main.s)" kind="warning" file="app/Main.java" /> + <message line="26" text="execution(void Main.go(String))" kind="warning" file="app/Main.java" /> + <message line="29" text="get(String Main.s)" kind="warning" file="app/Main.java" /> + <message line="31" text="set(String Main.s)" kind="warning" file="app/Main.java" /> + <message line="32" text="D.go withincode(void Main.go(String))" kind="warning" file="app/Main.java" /> + <message line="33" text="handler(RuntimeException)" kind="warning" file="app/Main.java" /> + <message line="35" text="withincode(void Main.go(String))" kind="warning" file="app/Main.java" /> + <message line="42" text="withincode(void Main.stop())" kind="warning" file="app/Main.java" /> + <message line="50" text="preinitialization(app.C.new())" kind="warning" file="app/Main.java" /> + </compile> + <run class="app.Main"/> + </ajc-test> + + <ajc-test dir="new/binaryWarnings/src" pr="37023" + title="declare warnings on binary ajc 1.1 classes"> + <compile files="aspects/MainWarnings.java,../injars/app-ajc-1.1.jar"> + <message line="6" text="staticinitialization(Main)" kind="warning" file="app/Main.java" /> + <message line="6" text="set(String Main.staticString)" kind="warning" file="app/Main.java" /> + <message line="8" text="set(String Main.s)" kind="warning" file="app/Main.java" /> + <message line="12" text="get(String Main.staticString)" kind="warning" file="app/Main.java" /> + <message line="14" text="set(String Main.staticString)" kind="warning" file="app/Main.java" /> + <message line="16" text="call(Main.new())" kind="warning" file="app/Main.java" /> + <message line="19" text="call(void Main.go(String))" kind="warning" file="app/Main.java" /> + <message line="23" text="initialization(Main.new())" kind="warning" file="app/Main.java" /> + <message line="23" text="get(String Main.s)" kind="warning" file="app/Main.java" /> + <message line="23" text="set(String Main.s)" kind="warning" file="app/Main.java" /> + <message line="26" text="execution(void Main.go(String))" kind="warning" file="app/Main.java" /> + <message line="29" text="get(String Main.s)" kind="warning" file="app/Main.java" /> + <message line="31" text="set(String Main.s)" kind="warning" file="app/Main.java" /> + <message line="32" text="D.go withincode(void Main.go(String))" kind="warning" file="app/Main.java" /> + <message line="33" text="handler(RuntimeException)" kind="warning" file="app/Main.java" /> + <message line="35" text="withincode(void Main.go(String))" kind="warning" file="app/Main.java" /> + <message line="42" text="withincode(void Main.stop())" kind="warning" file="app/Main.java" /> + <message line="50" text="preinitialization(app.C.new())" kind="warning" file="app/Main.java" /> + </compile> + <run class="app.Main"/> + </ajc-test> + + <ajc-test dir="bugs/lines" pr="37758" + title="Weaving rt.jar results in stack overflow"> + <compile files="A.java,big.jar"> + <!-- message no longer produced as a result of bug fix 44190 + <message kind="warning" text="manifest not copied"/> + --> + </compile> + <run class="Big"/> + </ajc-test> + + <ajc-test dir="bugs/moreInterfaceLibrary" + pr="41123" + title="Weaving failure when using injars (no jars)"> + <compile + files="lib/ExecutionMonitor.aj,model/BusObj.java,model/MonitorBusObj.java"> + </compile> + </ajc-test> + + <ajc-test dir="bugs/moreInterfaceLibrary" + pr="41123" + title="Weaving failure when using injars (on aspectpath)"> + <compile + files="model/BusObj.java,model/MonitorBusObj.java" + aspectpath="lib.jar"> + </compile> + </ajc-test> + + <ajc-test dir="bugs/moreInterfaceLibrary" + pr="41123" + title="Weaving failure when using injars (on classpath)"> + <compile + files="model/BusObj.java,model/MonitorBusObj.java" + classpath="lib.jar"> + <message kind="error" line="3"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs/moreInterfaceLibrary" + pr="41123" + title="Weaving failure when using injars (actual injars)"> + <compile + files="model/BusObj.java,model/MonitorBusObj.java,lib.jar"> + <message kind="error" line="3"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs/abstractMethods" pr="49784" + title="Introduced abstract method on interface not implemented by subtype (injars)"> + <compile files="interface/C.java,interface/jars/AandB.jar"> + <message kind="error" line="1"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs/StringToString" pr="55341" + title="error Type mismatch: cannot convert from java.lang.String to java.lang.String" + comment="make helloworld.jar with 'ajc -outjar helloworld.jar HW.java' or run BcweaverJarMaker" + keywords=""> + <compile files="X.java" classpath="helloworld.jar"> + <message kind="warning" line="3"/> + <message kind="warning" line="7"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs/systemouts" + pr="57432" + title="declare error binary-weaving NPE"> + <compile files="injar-debug.jar,A.java"> + <message kind="error" line="12" file="X.java"/> + <message kind="error" line="13" file="X.java"/> + <message kind="error" line="20" file="X.java"/> + <message kind="error" line="22" file="X.java"/> + <message kind="error" line="23" file="X.java"/> + <message kind="error" line="27" file="X.java"/> + <message kind="error" line="28" file="X.java"/> + <message kind="error" line="29" file="X.java"/> + <message kind="error" line="30" file="X.java"/> + <message kind="error" line="31" file="X.java"/> + <message kind="error" line="32" file="X.java"/> + <message kind="error" line="33" file="X.java"/> + <message kind="error" line="34" file="X.java"/> + <message kind="error" line="35" file="X.java"/> + <message kind="error" line="36" file="X.java"/> + <message kind="error" line="37" file="X.java"/> + <message kind="error" line="38" file="X.java"/> + <message kind="error" line="39" file="X.java"/> + <message kind="error" line="40" file="X.java"/> + <message kind="error" line="41" file="X.java"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs/systemouts" + pr="57432" + title="declare error binary-weaving NPE"> + <compile files="injar-nodebug.jar,A.java"> + <message kind="error" line="0"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs/tooManyErrors" + pr="58679" + title="Regression from 1.1: NPE in CompilationResult"> + <compile files="Joinpoints101.jar,DecErrors.aj"> + + <message kind="error" line="10"/><message kind="error" line="11"/> + <message kind="error" line="12"/><message kind="error" line="13"/> + <message kind="error" line="14"/> + + <message kind="error" line="16"/><message kind="error" line="17"/> + <message kind="error" line="18"/><message kind="error" line="19"/> + <message kind="error" line="20"/> + + <message kind="error" line="22"/><message kind="error" line="23"/> + <message kind="error" line="24"/><message kind="error" line="25"/> + <message kind="error" line="26"/> + + <message kind="error" line="28"/><message kind="error" line="29"/> + <message kind="error" line="30"/><message kind="error" line="31"/> + <message kind="error" line="32"/> + + <message kind="error" line="34"/><message kind="error" line="35"/> + <message kind="error" line="36"/><message kind="error" line="37"/> + <message kind="error" line="38"/> + + <message kind="error" line="40"/><message kind="error" line="41"/> + <message kind="error" line="42"/><message kind="error" line="43"/> + <message kind="error" line="44"/> + + <message kind="error" line="46"/><message kind="error" line="47"/> + <message kind="error" line="48"/><message kind="error" line="49"/> + <message kind="error" line="50"/> + + <message kind="error" line="52"/><message kind="error" line="53"/> + <message kind="error" line="54"/><message kind="error" line="55"/> + <message kind="error" line="56"/> + + <message kind="error" line="58"/><message kind="error" line="59"/> + <message kind="error" line="60"/><message kind="error" line="61"/> + <message kind="error" line="62"/> + + <message kind="error" line="64"/><message kind="error" line="65"/> + <message kind="error" line="66"/><message kind="error" line="67"/> + <message kind="error" line="68"/> + + <message kind="error" line="70"/><message kind="error" line="71"/> + <message kind="error" line="72"/><message kind="error" line="73"/> + <message kind="error" line="74"/> + + <message kind="error" line="76"/><message kind="error" line="77"/> + <message kind="error" line="78"/><message kind="error" line="79"/> + <message kind="error" line="80"/> + + <message kind="error" line="82"/><message kind="error" line="83"/> + <message kind="error" line="84"/><message kind="error" line="85"/> + <message kind="error" line="86"/> + + <message kind="error" line="88"/><message kind="error" line="89"/> + <message kind="error" line="90"/><message kind="error" line="91"/> + <message kind="error" line="92"/> + + <message kind="error" line="94"/><message kind="error" line="95"/> + <message kind="error" line="96"/><message kind="error" line="97"/> + <message kind="error" line="98"/> + + <message kind="error" line="100"/><message kind="error" line="101"/> + <message kind="error" line="102"/><message kind="error" line="103"/> + <message kind="error" line="104"/> + + <message kind="error" line="106"/><message kind="error" line="107"/> + <message kind="error" line="108"/><message kind="error" line="109"/> + <message kind="error" line="110"/> + + <message kind="error" line="112"/><message kind="error" line="113"/> + <message kind="error" line="114"/><message kind="error" line="115"/> + <message kind="error" line="116"/> + + <message kind="error" line="118"/><message kind="error" line="119"/> + <message kind="error" line="120"/><message kind="error" line="121"/> + <message kind="error" line="122"/> + + <message kind="error" line="124"/><message kind="error" line="125"/> + <message kind="error" line="126"/><message kind="error" line="127"/> + <message kind="error" line="128"/> + + <message kind="error" line="130"/> + + </compile> + </ajc-test> +
\ No newline at end of file diff --git a/tests/src/org/aspectj/systemtest/inpath/inpath.xml b/tests/src/org/aspectj/systemtest/inpath/inpath.xml new file mode 100644 index 000000000..2c0eac4c7 --- /dev/null +++ b/tests/src/org/aspectj/systemtest/inpath/inpath.xml @@ -0,0 +1,11 @@ +<!DOCTYPE suite SYSTEM "../tests/ajcTestSuite.dtd"[ +<!ENTITY tests SYSTEM "../tests/src/org/aspectj/systemtest/inpath/inpath-tests.xml"> +]> + +<!-- InPath Tests --> + +<suite> + +&tests; + +</suite> diff --git a/tests/src/org/aspectj/systemtest/java14/Java14Tests.java b/tests/src/org/aspectj/systemtest/java14/Java14Tests.java new file mode 100644 index 000000000..8bedab1ec --- /dev/null +++ b/tests/src/org/aspectj/systemtest/java14/Java14Tests.java @@ -0,0 +1,115 @@ +/* ******************************************************************* + * Copyright (c) 2004 IBM Corporation + * All rights reserved. + * This program and the accompanying materials are made available + * under the terms of the Common Public License v1.0 + * which accompanies this distribution and is available at + * http://www.eclipse.org/legal/cpl-v10.html + * + * ******************************************************************/ +package org.aspectj.systemtest.java14; + +import java.io.File; +import junit.framework.Test; +import org.aspectj.testing.XMLBasedAjcTestCase; + +public class Java14Tests extends org.aspectj.testing.XMLBasedAjcTestCase { + + public static Test suite() { + return XMLBasedAjcTestCase.loadSuite(Java14Tests.class); + } + + protected File getSpecFile() { + return new File("../tests/src/org/aspectj/systemtest/java14/java14.xml"); + } + + + public void test001(){ + runTest("assert flow"); + } + + public void test002(){ + runTest("assert flow - 2"); + } + + public void test003(){ + runTest("assert typing"); + } + +// bug in eclipse compiler, moved to ajcTestsFailing.xml +// public void test004(){ +// runTest("assert coverage tests [requires 1.4]"); +// } + +// bug in eclipse compiler, moved to ajcTestsFailing.xml +// public void test005(){ +// runTest("assert coverage tests in one package [requires 1.4]"); +// } + + public void test006(){ + runTest("compiling asserts in methods"); + } + + public void test007(){ + runTest("asserts"); + } + + public void test008(){ + runTest("asserts in aspect and declared methods [requires 1.4]"); + } + + public void test009(){ + runTest("Does the matrix coverage thing for the new method signatures"); + } + + public void test010(){ + runTest("correct types of parameters at call-sites"); + } + + public void test011(){ + runTest("target type matching with messy interface hierarchies"); + } + + public void test012(){ + runTest("assert tests in introduction [requires 1.4]"); + } + + public void test013(){ + runTest("various forms of package name pattern matching work"); + } + + public void test014(){ + runTest("assert statement in advice coverage [requires 1.4]"); + } + + public void test015(){ + runTest("assert statement in advice [requires 1.4]"); + } + + public void test016(){ + runTest("assert and pertarget crashes compiler"); + } + + public void test017(){ + runTest("testing that assert works like .class"); + } + + public void test018(){ + runTest("JoinPoint Optimization when targetting 1.4"); + } + + public void test019(){ + runTest("XLint warning for call PCD's using subtype of defining type (-1.4 -Xlint:ignore)"); + } + + public void test020(){ + runTest("XLint warning for call PCD's using subtype of defining type (-1.4)"); + } + + public void test021(){ + runTest("Class Literals as non final fields (also assert, and this$0)"); + } + + +} + diff --git a/tests/src/org/aspectj/systemtest/java14/java14-tests.xml b/tests/src/org/aspectj/systemtest/java14/java14-tests.xml new file mode 100644 index 000000000..364c28e4f --- /dev/null +++ b/tests/src/org/aspectj/systemtest/java14/java14-tests.xml @@ -0,0 +1,153 @@ +<!-- Java 1.4 Specific Tests --> + + <ajc-test dir="pureJava" title="assert flow" + keywords="from-14tests,purejava"> + <compile options="-source,1.4" files="AssertsCF.java"> + <message kind="error" line="8"/> + <message kind="error" line="11"/> + </compile> + </ajc-test> + + <ajc-test dir="pureJava" title="assert flow - 2" + keywords="from-14tests,purejava"> + <compile options="-source,1.4" files="AssertsCF2.java"> + </compile> + </ajc-test> + + <ajc-test dir="pureJava" title="assert typing" + keywords="from-14tests,purejava,fail-publicType"> + <compile options="-source,1.4" files="AssertsCF1.java"> + <message kind="error" line="5"/> + </compile> + </ajc-test> + + <ajc-test dir="pureJava" title="compiling asserts in methods" + keywords="from-14tests,purejava"> + <compile options="-source,1.4" files="AssertInMethod.java"/> + <run class="AssertInMethod" vm="1.4"/> + </ajc-test> + + <ajc-test dir="pureJava" title="asserts" keywords="from-14tests"> + <compile options="-source,1.4" files="Asserts.java"/> + <run class="Asserts" vm="1.4"/> + </ajc-test> + + <ajc-test dir="pureJava" pr="725" + title="asserts in aspect and declared methods [requires 1.4]" + keywords="from-14tests" comment="not pure java!"> + <compile options="-source,1.4" + files="IntroducedAssertion.java"/> + <run class="IntroducedAssertion" vm="1.4"/> + </ajc-test> + + <!-- This test case requires bytecode generated according to the declaring type + rules in JLS 2nd edition. -1.4 must be passed to the eclipse compiler for + this behavior. --> + <ajc-test dir="new" + title="Does the matrix coverage thing for the new method signatures" + keywords="from-resolved_10x"> + <compile files="MethodSignatures.java" options="-1.4,-Xlint:ignore"/> + <run class="MethodSignatures" vm="1.4"/> + </ajc-test> + + <!-- This test case requires bytecode generated according to the declaring type + rules in JLS 2nd edition. -1.4 must be passed to the eclipse compiler for + this behavior. --> + <ajc-test dir="new" title="correct types of parameters at call-sites" + keywords="from-resolved_10x"> + <compile files="CallTypes.java" options="-1.4,-Xlint:ignore"/> + <run class="CallTypes" vm="1.4"/> + </ajc-test> + + <!-- This test case requires bytecode generated according to the declaring type + rules in JLS 2nd edition. -1.4 must be passed to the eclipse compiler for + this behavior. That means that this case will only work under 1.4. --> + <ajc-test dir="new" + title="target type matching with messy interface hierarchies" + keywords="from-resolved_10x"> + <compile files="CallTypesI.java" options="-1.4,-Xlint:ignore"/> + <run class="CallTypesI" vm="1.4"/> + </ajc-test> + + <ajc-test dir="new" title="assert tests in introduction [requires 1.4]" + keywords="from-14tests,fail-unimplemented"> + <compile options="-source,1.4" files="AssertInIntro.java"/> + <run class="AssertInIntro" vm="1.4"/> + </ajc-test> + + + <ajc-test dir="base/test131" + title="various forms of package name pattern matching work" + keywords="from-broken14usejavac"> + <compile files="Driver.java,p1/C1.java,p1/p2/C2.java" /> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="new" pr="657" + title="assert statement in advice coverage [requires 1.4]" + keywords="from-14tests,fail-in-eclipse"> + <compile options="-source,1.4" files="AssertInAdvice.java"/> + <run class="AssertInAdvice" vm="1.4"/> + </ajc-test> + + <ajc-test dir="new" pr="657" + title="assert statement in advice [requires 1.4]" + keywords="from-14tests,fail-in-eclipse"> + <compile options="-source,1.4" files="AssertInAdviceBug.java"/> + <run class="AssertInAdviceBug" vm="1.4"/> + </ajc-test> + + <ajc-test dir="bugs" pr="28703" title="assert and pertarget crashes compiler"> + <compile files="EnsureOverriding.java" options="-source,1.4"/> + <run class="EnsureOverriding" vm="1.4"/> + </ajc-test> + + <ajc-test dir="bugs/interSpecials" title="testing that assert works like .class" + pr="36110"> + <compile files="p1/C.java,p2/A2.java" options="-source,1.4"/> + <run class="p2.A2" vm="1.4"/> + </ajc-test> + + <ajc-test dir="bugs/jpOptimization" + pr="45441" + title="JoinPoint Optimization when targetting 1.4"> + <compile + files="de/test/MyMain.java, + de/test/MyAspect.java" + options="-1.4"/> + <run class="de.test.MyMain"/> + </ajc-test> + + <ajc-test dir="bugs" + title="XLint warning for call PCD's using subtype of defining type (-1.4 -Xlint:ignore)" + pr="41952" + > + <compile + options="-Xlint:ignore,-1.4" + files="DeclaringTypeWarning.java" > + <message kind="warning" line="12"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs" + title="XLint warning for call PCD's using subtype of defining type (-1.4)" + pr="41952" + > + <compile + options="-1.4" + files="DeclaringTypeWarning.java" > + <message kind="warning" line="6" text="declaring type"> + <source line="14" file="DeclaringTypeWarning.java"/> + </message> + <message kind="warning" line="12" text="declare warning"> + <source line="19" file="DeclaringTypeWarning.java"/> + </message> + </compile> + </ajc-test> + + <ajc-test dir="bugs" pr="39711" + title="Class Literals as non final fields (also assert, and this$0)"> + <compile files="ClassLiteralField.java" options="-source,1.4"/> + <run vm="1.4" class="ClassLiteralField"/> + </ajc-test> +
\ No newline at end of file diff --git a/tests/src/org/aspectj/systemtest/java14/java14.xml b/tests/src/org/aspectj/systemtest/java14/java14.xml new file mode 100644 index 000000000..c25b999cf --- /dev/null +++ b/tests/src/org/aspectj/systemtest/java14/java14.xml @@ -0,0 +1,11 @@ +<!DOCTYPE suite SYSTEM "../tests/ajcTestSuite.dtd"[ +<!ENTITY tests SYSTEM "../tests/src/org/aspectj/systemtest/java14/java14-tests.xml"> +]> + +<!-- Tests requiring JDK 1.4 or above --> + +<suite> + +&tests; + +</suite> diff --git a/tests/src/org/aspectj/systemtest/knownlimitations/KnownLimitationsTests.java b/tests/src/org/aspectj/systemtest/knownlimitations/KnownLimitationsTests.java new file mode 100644 index 000000000..481827125 --- /dev/null +++ b/tests/src/org/aspectj/systemtest/knownlimitations/KnownLimitationsTests.java @@ -0,0 +1,144 @@ +/* ******************************************************************* + * Copyright (c) 2004 IBM Corporation + * All rights reserved. + * This program and the accompanying materials are made available + * under the terms of the Common Public License v1.0 + * which accompanies this distribution and is available at + * http://www.eclipse.org/legal/cpl-v10.html + * + * ******************************************************************/ +package org.aspectj.systemtest.knownlimitations; + +import java.io.File; +import junit.framework.Test; +import org.aspectj.testing.XMLBasedAjcTestCase; + +public class KnownLimitationsTests extends org.aspectj.testing.XMLBasedAjcTestCase { + + public static Test suite() { + return XMLBasedAjcTestCase.loadSuite(KnownLimitationsTests.class); + } + + protected File getSpecFile() { + return new File("../tests/src/org/aspectj/systemtest/knownlimitations/knownlimitations.xml"); + } + + + public void test001(){ + runTest("DEPRECATED: introduce of variables"); + } + + public void test002(){ + runTest("checking the contra-variant errors for typing of proceed"); + } + + public void test003(){ + runTest("introduction of static methods and fields on classes and interfaces"); + } + + public void test004(){ + runTest("advice on catch clauses"); + } + + public void test005(){ + runTest("holding onto proceed calls in a closure-like way"); + } + + public void test006(){ + runTest("PR#458 Compiler was incorrectly flagging error in advice on initialization and static initialization"); + } + + public void test007(){ + runTest("Introduced type unavailable to instanceof expressions in introduced methods"); + } + + public void test008(){ + runTest("enclosing join point not exported properly in pre-initialization join point"); + } + + public void test009(){ + runTest("cyclic pointcut definitions"); + } + + public void test010(){ + runTest("package typepattern with no packages (in default package)"); + } + + public void test011(){ + runTest("flag errors when binding args with indeterminate prefix and suffix"); + } + + public void test012(){ + runTest("around and return types + inlining optimizations"); + } + + public void test013(){ + runTest("source locations within expressions (hard case of constructor start)"); + } + + public void test014(){ + runTest("declaring method on superclass and subclass"); + } + + public void test015(){ + runTest("illegal name binding in around cflow"); + } + + public void test016(){ + runTest("incrementally change string size and wire in injar classes"); + } + + public void test017(){ + runTest("before():execution(new(..)) does not throw NoAspectBoundException"); + } + + public void test018(){ + runTest("declare error on handler/method execution with no code on binary ajc 1.1 classes"); + } + + public void test019(){ + runTest("declare error on handler/method execution with no code on binary javac 1.4 classes"); + } + + public void test020(){ + runTest("CLE: -help usage"); + } + + public void test021(){ + runTest("declare warnings on main - constructor execution"); + } + + public void test022(){ + runTest("declare warnings on binary javac 1.4 main - constructor execution"); + } + + public void test023(){ + runTest("declare warnings on binary ajc 1.1 main - constructor execution"); + } + + public void test024(){ + runTest("advice on handler join points should not throw unpermitted checked exceptions"); + } + + public void test025(){ + runTest("-nowarn suppresses XLint warnings"); + } + + public void test026(){ + runTest("warn:none suppresses XLint warnings"); + } + + public void test027(){ + runTest("-nowarn suppresses declare warnings"); + } + + public void test028(){ + runTest("-warn:none suppresses declare warnings"); + } + + public void test029(){ + runTest("insertion of lots of advice code can make branch offset for if too large"); + } + +} + diff --git a/tests/src/org/aspectj/systemtest/knownlimitations/knownLimitations-tests.xml b/tests/src/org/aspectj/systemtest/knownlimitations/knownLimitations-tests.xml new file mode 100644 index 000000000..d420885de --- /dev/null +++ b/tests/src/org/aspectj/systemtest/knownlimitations/knownLimitations-tests.xml @@ -0,0 +1,297 @@ +<!-- Known Limitations --> + + <!-- we're not implementing static inter-type fields on interfaces in 1.1 --> + <ajc-test dir="knownLimitations/test117" title="DEPRECATED: introduce of variables" + keywords="from-base,knownLimitation"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <!-- we're not implementing this error check in 1.1 --> + <ajc-test dir="errors" + title="checking the contra-variant errors for typing of proceed" + keywords="from-errors,knownLimitation"> + <compile files="BadAround.java"> + <message kind="error" line="12"/> + <message kind="error" line="15"/> + <message kind="error" line="18"/> + <message kind="error" line="19"/> + <message kind="error" line="22"/> + </compile> + </ajc-test> + + <!-- we're not implementing static inter-type fields on interfaces in 1.1 --> + <ajc-test dir="design/intro" + title="introduction of static methods and fields on classes and interfaces" + keywords="from-design,knownLimitation"> + <compile files="Statics.java"/> + <run class="Statics"/> + </ajc-test> + + <!-- only before advice implemented for handler join points in 1.1 --> + <ajc-test dir="new" title="advice on catch clauses" + keywords="from-resolved_10x,knownLimitation"> + <compile files="CatchAdvice.java"/> + <run class="CatchAdvice"/> + </ajc-test> + + <!-- we will handle this by signalling a weave-time error for any around + advice that is applied to a join point which throws checked exceptions + that it can't handle. proceeds in closures change the exceptions that + around advice can handle to include the greatest lower bound of the + checked exceptions that are legally throwable by the proceed. + Ideally their should be an -Xlint compile-time warning for ALL + cases that could produce weave-time errors. + --> + <ajc-test dir="new" title="holding onto proceed calls in a closure-like way" + keywords="from-resolved_10x,knownLimitation"> + <compile files="HoldProceed.java"/> + <run class="HoldProceed"/> + </ajc-test> + + <!-- around advice not implemented on initializer join points --> + <ajc-test dir="new" pr="490" + title="PR#458 Compiler was incorrectly flagging error in advice on initialization and static initialization" + keywords="from-resolved_10x,knownLimitation"> + <compile files="StaticInitCE.java"/> + <run class="StaticInitCE"/> + </ajc-test> + + <!-- This behavior is different from 1.0, but we might want to consider allowing it + Using the eclipse compiler it would be much easier to permit than forbid. --> + <ajc-test dir="new/introTypeMissing" + title="Introduced type unavailable to instanceof expressions in introduced methods" + keywords="from-resolved_10x,knownLimitation"> + <compile files="InstanceOf.java,TargetClass.java,Util.java"> + <message kind="error" line="19"/> + <message kind="error" line="20"/> + <message kind="error" line="21"/> + <message kind="error" line="22"/> + <message kind="error" line="23"/> + <message kind="error" line="24"/> + <message kind="error" line="25"/> + <message kind="error" line="26"/> + </compile> + </ajc-test> + + <ajc-test dir="new" + title="enclosing join point not exported properly in pre-initialization join point" + keywords="from-resolved_10x,knownLimitation"> + <compile files="PreInitialization.java"/> + <run class="PreInitialization"/> + </ajc-test> + + <!-- pointcuts aren't checked for circularities unless they're used --> + <ajc-test dir="new" pr="568" title="cyclic pointcut definitions" + keywords="from-resolved_10rc3,knownLimitation"> + <compile files="CyclicPointcuts.java"> + <message kind="error" line="11"/> + <message kind="error" line="14"/> + <message kind="error" line="18"/> + <message kind="error" line="32"/> + <message kind="error" line="43"/> + </compile> + </ajc-test> + + <ajc-test dir="new" + title="package typepattern with no packages (in default package)" + keywords="from-resolved_105,knownLimitation"> + <compile options="-Xlint" files="TypeNames.java"> + <message kind="warning" line="34"/> + <message kind="warning" line="39"/> + <message kind="warning" line="43"/> + <message kind="warning" line="47"/> + </compile> + <run class="TypeNames"/> + </ajc-test> + + <ajc-test dir="new" pr="764" + title="flag errors when binding args with indeterminate prefix and suffix" + keywords="from-resolved_105,knownLimitation"> + <compile files="IndeterminateArgsCE.java"> + <message kind="error" line="67"/> + <message kind="error" line="68"/> + <message kind="error" line="70"/> + <message kind="error" line="72"/> + </compile> + </ajc-test> + + <ajc-test dir="design/around" + title="around and return types + inlining optimizations" + comment="-XOcodeSize not in 1.1, source uses 1.4 APIs" + keywords="from-14tests,knownLimitation"> + <compile options="-XOcodeSize,-source,1.4" + files="ReturnCastProceed.java,StackChecker.java"> + <message kind="warning" line="68"/> + </compile> + <run class="ReturnCastProceed" vm="1.4"/> + </ajc-test> + + <ajc-test dir="new" pr="885" keywords="knownLimitation" + comment="this behaves differently in 1.3 from 1.4 for unknown reasons, merge with above when resolved" + title="source locations within expressions (hard case of constructor start)"> + <compile files="SourceLocationWithinExprHard.java"/> + <run class="SourceLocationWithinExprHard"/> + </ajc-test> + + <!-- Can't handle packages named 'aspect' in parser + --> + <ajc-test dir="new/PR852" pr="852" + title="declaring method on superclass and subclass" + keywords="knownLimitation"> + <compile files="aspect/Aspect.java,target/SubClass.java,target/SuperClass.java"> + <dir-changes added="target.SubClass,target.SuperClass"/> + </compile> + <run class="aspect.Aspect"/> + </ajc-test> + + <ajc-test dir="new" pr="660" title="illegal name binding in around cflow" + keywords="from-resolved_104,knownLimitation"> + <compile files="ArgsInCflowCf.java"> + <message kind="error" line="19"/> + <message kind="error" line="29"/> + <message kind="error" line="35"/> + </compile> + </ajc-test> + + <ajc-test dir="incremental/stringliteral" + keywords="knownLimitation" + title="incrementally change string size and wire in injar classes"> + <compile staging="true" options="-incremental" + files="oneInjar.jar,twoInjar.jar" + sourceroots="src"/> + <run class="packageOne.Main" + options="in packageOne.Main.main(..), + before main packageOne.Main"/> + <inc-compile tag="20"> + <dir-changes updated="packageOne.Main"/> + </inc-compile> + <!-- now failing here. This step passes in non-injar variant. --> + <run class="packageOne.Main" + options="in longer packageOne.Main.main(..), + before main packageOne.Main"/> + <inc-compile tag="30"> + <dir-changes added="RunInjarMains"/> + </inc-compile> + <run class="packageOne.Main" + options="in longer packageOne.Main.main(..), + before main InjarOneMain, + before main InjarTwoMain, + before main packageOne.Main"/> + </ajc-test> + + <ajc-test dir="bugs" pr="34206" + keywords="knownLimitation" + title="before():execution(new(..)) does not throw NoAspectBoundException" + comment="correct behavior of this case needs to be thought through"> + <compile files="AspectInitError.java"/> + <run class="AspectInitError"/> + </ajc-test> + + <ajc-test dir="new/binaryWarnings/src" pr="37020" + keywords="knownLimitation" + comment="source loc of binary jp depends on first code, not block start" + title="declare error on handler/method execution with no code on binary ajc 1.1 classes"> + <compile files="aspects/MainExecStartLinesErrors.java,../injars/appStartLines-ajc-1.1.jar"> + <message kind="error" file="app/MainExecStartLines.java" + line="6" text="execution(void MainExecStartLines.main(String[]))"/> + <message kind="error" file="app/MainExecStartLines.java" + line="17" text="handler(RuntimeException)"/> + </compile> + </ajc-test> + + <ajc-test dir="new/binaryWarnings/src" pr="37020" + keywords="knownLimitation" + comment="source loc of binary jp depends on first code, not block start; XXX need javac inlining example" + title="declare error on handler/method execution with no code on binary javac 1.4 classes"> + <compile files="aspects/MainExecStartLinesErrors.java,../injars/appStartLines-javac-1.4.jar"> + <message kind="error" file="app/MainExecStartLines.java" + line="6" text="execution(void MainExecStartLines.main(String[]))"/> + <message kind="error" file="app/MainExecStartLines.java" + line="17" text="handler(RuntimeException)"/> + </compile> + </ajc-test> + + <ajc-test dir="harness" + keywords="command-line-error,knownLimitation" + comment="can't test -help: has to abort, but returns 0, normal status" + title="CLE: -help usage"> + <compile badInput="true" options="-help"> + <message kind="abort" text="Usage"/> + </compile> + </ajc-test> + + <!-- The next three tests are all about the same issue. The source + line for a constructor execution is returned as the first executable + line within the constructor-execution join point rather than the declaration + line of the constructor. Any other definition will require collusion between + the source->bytecode compiler and the weaver and will only work in + those case where such collusion is possible. + --> + + <ajc-test dir="new/binaryWarnings/src" pr="37020" keywords="knownLimitation" + title="declare warnings on main - constructor execution"> + <compile files="aspects/ConstructorExecutionWarning.java,app/Main.java"> + <message kind="warning" file="app/Main.java" + line="23" text="execution(Main.new())"/> + </compile> + <run class="app.Main"/> + </ajc-test> + + <ajc-test dir="new/binaryWarnings/src" pr="37020" keywords="knownLimitation" + title="declare warnings on binary javac 1.4 main - constructor execution"> + <compile files="aspects/ConstructorExecutionWarning.java,../injars/app-javac-1.4.jar"> + <message kind="warning" file="app/Main.java" + line="23" text="execution(Main.new())"/> + </compile> + <run class="app.Main"/> + </ajc-test> + + <ajc-test dir="new/binaryWarnings/src" pr="37020" keywords="knownLimitation" + title="declare warnings on binary ajc 1.1 main - constructor execution"> + <compile files="aspects/ConstructorExecutionWarning.java,../injars/app-ajc-1.1.jar"> + <message kind="warning" file="app/Main.java" + line="23" text="execution(Main.new())"/> + </compile> + <run class="app.Main"/> + </ajc-test> + + <ajc-test dir="bugs/handlers" pr="37898" keywords="knownLimitation" + title="advice on handler join points should not throw unpermitted checked exceptions"> + <compile files="ExceptionCheckCE.java"> + <message kind="warning" line="8" text="expected"/> + <message kind="error" line="25" text="throw checked exception" /> + <message kind="error" line="8" text="throw checked exception" /> + </compile> + </ajc-test> + + <ajc-test dir="harness" pr="38134" keywords="knownLimitation" + comment="behavior is correct for 1.1 - revisit for 1.2" + title="-nowarn suppresses XLint warnings"> + <compile files="XLintWarningTest.java" options="-nowarn"/> + </ajc-test> + + <ajc-test dir="harness" pr="38134" keywords="knownLimitation" + comment="behavior is correct for 1.1 - revisit for 1.2" + title="warn:none suppresses XLint warnings"> + <compile files="XLintWarningTest.java" options="-warn:none"/> + </ajc-test> + + <ajc-test dir="harness" pr="38134" keywords="knownLimitation" + comment="behavior is correct for 1.1 - revisit for 1.2" + title="-nowarn suppresses declare warnings"> + <compile files="WarningTest.java" options="-nowarn"/> + </ajc-test> + + <ajc-test dir="harness" pr="38134" keywords="knownLimitation" + comment="behavior is correct for 1.1 - revisit for 1.2" + title="-warn:none suppresses declare warnings"> + <compile files="WarningTest.java" options="-warn:none"/> + </ajc-test> + + <ajc-test dir="bugs" pr="38168" keywords="knownLimitation" + title="insertion of lots of advice code can make branch offset for if too large"> + <compile files="WideJumps.java"/> + <run class="WideJumps"/> + </ajc-test> + diff --git a/tests/src/org/aspectj/systemtest/knownlimitations/knownLimitations.xml b/tests/src/org/aspectj/systemtest/knownlimitations/knownLimitations.xml new file mode 100644 index 000000000..25d99f6e4 --- /dev/null +++ b/tests/src/org/aspectj/systemtest/knownlimitations/knownLimitations.xml @@ -0,0 +1,11 @@ +<!DOCTYPE suite SYSTEM "../tests/ajcTestSuite.dtd"[ +<!ENTITY tests SYSTEM "../tests/src/org/aspectj/systemtest/knownlimitations/knownLimitations-tests.xml"> +]> + +<!-- Known Limitations -these tests will fail --> + +<suite> + +&tests; + +</suite> diff --git a/tests/src/org/aspectj/systemtest/options/OptionsTests.java b/tests/src/org/aspectj/systemtest/options/OptionsTests.java new file mode 100644 index 000000000..746c51011 --- /dev/null +++ b/tests/src/org/aspectj/systemtest/options/OptionsTests.java @@ -0,0 +1,44 @@ +/* ******************************************************************* + * Copyright (c) 2004 IBM Corporation + * All rights reserved. + * This program and the accompanying materials are made available + * under the terms of the Common Public License v1.0 + * which accompanies this distribution and is available at + * http://www.eclipse.org/legal/cpl-v10.html + * + * ******************************************************************/ +package org.aspectj.systemtest.options; + +import java.io.File; +import junit.framework.Test; +import org.aspectj.testing.XMLBasedAjcTestCase; + +public class OptionsTests extends org.aspectj.testing.XMLBasedAjcTestCase { + + public static Test suite() { + return XMLBasedAjcTestCase.loadSuite(OptionsTests.class); + } + + protected File getSpecFile() { + return new File("../tests/src/org/aspectj/systemtest/options/options.xml"); + } + + + public void test001(){ + runTest("options -warn:deprecation"); + } + + public void test002(){ + runTest("options -warn:deprecation not enabled"); + } + + public void test003(){ + runTest("setting -warn:constructorName works"); + } + + public void test004(){ + runTest("-deprecation not working?"); + } + +} + diff --git a/tests/src/org/aspectj/systemtest/options/options-tests.xml b/tests/src/org/aspectj/systemtest/options/options-tests.xml new file mode 100644 index 000000000..d109cd2d0 --- /dev/null +++ b/tests/src/org/aspectj/systemtest/options/options-tests.xml @@ -0,0 +1,37 @@ +<!-- Options Tests --> + + <!-- .................................... option tests --> + <!-- .................................... -warn tests --> + <ajc-test dir="options/deprecated" + title="options -warn:deprecation"> + <compile files="WarnDeprecated.java,OldStuff.java" + options="!eclipse,-warn:deprecation"> + <message kind="warning" line="10"/> + </compile> + </ajc-test> + + <ajc-test dir="options/deprecated" + title="options -warn:deprecation not enabled"> + <compile files="WarnDeprecated.java,OldStuff.java" + options="!eclipse"> + </compile> + </ajc-test> + + + <ajc-test dir="harness" + title="setting -warn:constructorName works"> + <compile files="ConstructorNameWarning.java" + options="-warn:constructorName"> + <message kind="warning" line="5" text="constructor name"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs/deprecated" pr="54098" + title="-deprecation not working?" > + <compile files="Deprecation.java, Deprecated.java" options="-deprecation"> + <message kind="warning" line="5"/> + <message kind="warning" line="6"/> + </compile> + </ajc-test> + +
\ No newline at end of file diff --git a/tests/src/org/aspectj/systemtest/options/options.xml b/tests/src/org/aspectj/systemtest/options/options.xml new file mode 100644 index 000000000..d877da040 --- /dev/null +++ b/tests/src/org/aspectj/systemtest/options/options.xml @@ -0,0 +1,10 @@ +<!DOCTYPE suite SYSTEM "../tests/ajcTestSuite.dtd"[ +<!ENTITY tests SYSTEM "../tests/src/org/aspectj/systemtest/options/options-tests.xml"> +]> +<!-- Options Tests --> + +<suite> + +&tests; + +</suite>
\ No newline at end of file diff --git a/tests/src/org/aspectj/systemtest/pre10x/AjcPre10xTests.java b/tests/src/org/aspectj/systemtest/pre10x/AjcPre10xTests.java new file mode 100644 index 000000000..264b4f55e --- /dev/null +++ b/tests/src/org/aspectj/systemtest/pre10x/AjcPre10xTests.java @@ -0,0 +1,316 @@ +/* ******************************************************************* + * Copyright (c) 2004 IBM Corporation + * All rights reserved. + * This program and the accompanying materials are made available + * under the terms of the Common Public License v1.0 + * which accompanies this distribution and is available at + * http://www.eclipse.org/legal/cpl-v10.html + * + * ******************************************************************/ +package org.aspectj.systemtest.pre10x; + +import java.io.File; +import junit.framework.Test; +import org.aspectj.testing.XMLBasedAjcTestCase; + +public class AjcPre10xTests extends org.aspectj.testing.XMLBasedAjcTestCase { + + public static Test suite() { + return XMLBasedAjcTestCase.loadSuite(AjcPre10xTests.class); + } + + protected File getSpecFile() { + return new File("../tests/src/org/aspectj/systemtest/pre10x/pre10x.xml"); + } + + + public void test001(){ + runTest("Using 'aspect' as identifier is legal TODO"); + } + + public void test002(){ + runTest("Using 'pointcut' as identifier is legal TODO"); + } + + public void test003(){ + runTest("CF expected when enclosing class superclass used as this qualifier in inner class"); + } + + public void test004(){ + runTest("enclosing class may be used as this qualifier in inner class"); + } + + public void test005(){ + runTest("reasonable error for crosscut reference with no formals specified"); + } + + public void test006(){ + runTest("reasonable error for introduction on type whose source isn't found"); + } + + public void test007(){ + runTest("handle errors in crosscut designators, insist that they end with a semicolon"); + } + + public void test008(){ + runTest("try to return from a before, after, after throwing and after returning"); + } + + public void test009(){ + runTest("the designator has a wildcard for method name but no return type specified"); + } + + public void test010(){ + runTest("the designator for the introduction has no type after the | charcter"); + } + + public void test011(){ + runTest("crosscut signature does not match"); + } + + public void test012(){ + runTest("proper exit conditions when errors fall through to javac"); + } + + public void test013(){ + runTest("mismatched parens on advice (wasn't binding Tester)"); + } + + public void test014(){ + runTest("Non-static advice silently ignored"); + } + + public void test015(){ + runTest("extra closing brace"); + } + + public void test016(){ + runTest("decent errors for around return type not matching target point"); + } + + public void test017(){ + runTest("eachobject: can't call new on an aspect of"); + } + + public void test018(){ + runTest("eachobject: only zero-argument constructors allowed in an aspect"); + } + + public void test019(){ + runTest("eachobject: can't extend a concrete aspect"); + } + + public void test020(){ + runTest("instanceof used without a class"); + } + + public void test021(){ + runTest("wildcard used for returns clause"); + } + + public void test022(){ + runTest("no return statement in around advice"); + } + + public void test023(){ + runTest("inner aspects must be static (no longer matches PR#286)"); + } + + public void test024(){ + runTest("Casting class declarations as interfaces"); + } + + public void test025(){ + runTest("omits a variable name and crashes with a null pointer"); + } + + public void test026(){ + runTest("Not generating an error for using new as a method name"); + } + + public void test027(){ + runTest("ClassCastException on the int literal"); + } + + public void test028(){ + runTest("Wrong strictfp keyword usage in interface function prototype [TODO: move to errors]"); + } + + public void test029(){ + runTest("Wrong strictfp keyword usage in field declaration [TODO: move to errors]"); + } + + public void test030(){ + runTest("Wrong strictfp keyword usage in constructor declaration [TODO: move to errors]"); + } + + public void test031(){ + runTest("Incorrect static casts to primitively foldable arguments should not crash the compiler."); + } + + public void test032(){ + runTest("Dominates with commas should signal an error."); + } + + public void test033(){ + runTest("stack overflow with recursive crosscut specifier"); + } + + public void test034(){ + runTest("Throwing a NullPointerException when formals can't be bound in named pointcut"); + } + + public void test035(){ + runTest("disallow defining more than one pointcut with the same name"); + } + + public void test036(){ + runTest("pre 0.7 introduction form outside aspect body causes an EmptyStackException"); + } + + public void test037(){ + runTest("a class can't extend an aspect"); + } + + public void test038(){ + runTest("a before() clause at the class-level causes an EmptyStackException"); + } + + public void test039(){ + runTest("an after() clause at the class-level causes an EmptyStackException"); + } + + public void test040(){ + runTest("an around() clause at the class-level causes an EmptyStackException"); + } + + public void test041(){ + runTest("Doesn't detect cyclic inheritance of aspects."); + } + + public void test042(){ + runTest("Binds the pointcut formals to member variables instead of pointcut formals."); + } + + public void test043(){ + runTest("ambiguous formal in formals pattern"); + } + + public void test044(){ + runTest("good error for field name instead of type name"); + } + + public void test045(){ + runTest("errors in aspect inheritance - 1"); + } + + public void test046(){ + runTest("errors in aspect inheritance - 2"); + } + + public void test047(){ + runTest("errors in aspect inheritance - 3"); + } + + public void test048(){ + runTest("errors in aspect inheritance - 4"); + } + + public void test049(){ + runTest("circular dominates leading to irresolvable advice precedence"); + } + + public void test050(){ + runTest("Should issue an error for using 'class' instead of 'aspect'"); + } + + public void test051(){ + runTest("Should signal an error when we need an exposed value but don't provide it"); + } + + public void test052(){ + runTest("StackOverFlowException with circular +implements's."); + } + + public void test053(){ + runTest("Introducing protected methods is causing a crash"); + } + + public void test054(){ + runTest("Introducing protected fields is causing a crash"); + } + + public void test055(){ + runTest("two classes with the same fully-qualified names [eachjvm]"); + } + + public void test056(){ + runTest("Undefined pointcuts were throwing exceptions in 07b11 [callsto]"); + } + + public void test057(){ + runTest("advice on abstract pointcuts"); + } + + public void test058(){ + runTest("Whoops, I forgot to put a class in the field access PCD."); + } + + public void test059(){ + runTest("the arounds return something but there is no returns statement"); + } + + public void test060(){ + runTest("multiple conflicting introductions"); + } + + public void test061(){ + runTest("referencing non-static pointcuts in outer aspects"); + } + + public void test062(){ + runTest("javac correct compiler error if there is no return in around returning result"); + } + + public void test063(){ + runTest("should give an error for introducing two members with the same name"); + } + + public void test064(){ + runTest("wimpy test for undeclared and uncaught exceptions"); + } + + public void test065(){ + runTest("Given non-matching TypePattern, CE flags use of non-introduced method rather than failure to introduce"); + } + + public void test066(){ + runTest("Compiler should suggest using aspect when advice, pointcuts, or introduction is in a class"); + } + + public void test067(){ + runTest("declare error working with pointcut and-not (amp,amp,bang)"); + } + + public void test068(){ + runTest("aspect as member of interface (private and protected)"); + } + + public void test069(){ + runTest("introduced inner interfaces - compile should fail to bind interface name outside of Aspect or if implementing method is not public"); + } + + public void test070(){ + runTest("aspects may not implement Serializable or Cloneable"); + } + + public void test071(){ + runTest("explicit constructor calls can throw exceptions"); + } + + public void test072(){ + runTest("bad proceed args good error messages"); + } + +} + diff --git a/tests/src/org/aspectj/systemtest/pre10x/pre10x-tests.xml b/tests/src/org/aspectj/systemtest/pre10x/pre10x-tests.xml new file mode 100644 index 000000000..90a1de463 --- /dev/null +++ b/tests/src/org/aspectj/systemtest/pre10x/pre10x-tests.xml @@ -0,0 +1,629 @@ +<!-- AspectJ v0.8 - 0.99 Tests --> + + + <ajc-test dir="pureJava" title="Using 'aspect' as identifier is legal TODO" + keywords="from-java" comment="keep this test in main suite"> + <compile files="KeywordAspect.java"/> + <run class="KeywordAspect"/> + </ajc-test> + + <ajc-test dir="pureJava" + title="Using 'pointcut' as identifier is legal TODO" + keywords="from-java" comment="keep this test in main suite"> + <compile files="KeywordPointcut.java"/> + <run class="KeywordPointcut"/> + </ajc-test> + + <ajc-test dir="new/introTypeMissing" + title="CF expected when enclosing class superclass used as this qualifier in inner class" + keywords="from-java"> + <compile files="TargetClassCF.java,Util.java"> + <message kind="error" line="22"/> + <message kind="error" line="23"/> + <message kind="error" line="27"/> + <message kind="error" line="28"/> + </compile> + </ajc-test> + + <ajc-test dir="new/introTypeMissing" + title="enclosing class may be used as this qualifier in inner class" + keywords="from-java"> + <compile files="TargetClassCP.java,Util.java"/> + <run class="TargetClassCP"/> + </ajc-test> + + <ajc-test dir="errors" + title="reasonable error for crosscut reference with no formals specified" + keywords="from-errors"> + <compile files="NoFormalsCrosscut.java"> + <message kind="error" line="6"/> + <message kind="error" line="7"/> + <message kind="error" line="8"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" + title="reasonable error for introduction on type whose source isn't found" + keywords="from-errors"> + <compile files="NoSource.java"> + <message kind="error" line="4"/> + </compile> + </ajc-test> + + + <ajc-test dir="errors" + title="handle errors in crosscut designators, insist that they end with a semicolon" + keywords="from-errors"> + <compile files="BadDesignator.java"> + <message kind="error" line="4"/> + </compile> + </ajc-test> + + + <ajc-test dir="errors" + title="try to return from a before, after, after throwing and after returning" + keywords="from-errors"> + <compile files="InvalidReturn.java"> + <message kind="error" line="12"/> + <message kind="error" line="16"/> + <message kind="error" line="19"/> + <message kind="error" line="22"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" pr="130" + title="the designator has a wildcard for method name but no return type specified" + keywords="from-errors"> + <compile files="NoReturnTypeInDesignator.java"> + <message kind="error" line="6"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" + title="the designator for the introduction has no type after the | charcter" + keywords="from-errors"> + <compile files="BadIntroductionDesignator.java"> + <message kind="error" line="6"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" pr="140" title="crosscut signature does not match" + keywords="from-errors"> + <compile files="BadCCutSig.java"> + <message kind="error" line="8"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" + title="proper exit conditions when errors fall through to javac" + keywords="from-errors"> + <compile files="FromJavac.java"> + <message kind="error" line="11"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" pr="213" + title="mismatched parens on advice (wasn't binding Tester)" + keywords="from-errors"> + <compile files="MismatchedParens.java"> + <message kind="error" line="16"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" pr="209" title="Non-static advice silently ignored" + keywords="from-errors"> + <compile files="BadPointcutName.java"> + <message kind="error" line="15"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" pr="219" title="extra closing brace" + keywords="from-errors"> + <compile files="ExtraClosingBrace.java"> + <message kind="error" line="8"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" pr="244" + title="decent errors for around return type not matching target point" + keywords="from-errors"> + <compile files="AroundReturnType.java"> + <message kind="error" line="3"/> + <message kind="error" line="7"/> + <message kind="error" line="16"/> + <message kind="error" line="21"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" title="eachobject: can't call new on an aspect of" + keywords="from-errors"> + <compile files="CantCallConstructorOnAspects.java"> + <message kind="error" line="4"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" + title="eachobject: only zero-argument constructors allowed in an aspect" + keywords="from-errors,fail-unimplemented"> + <compile files="AspectsCantHaveYesArgumentConstructors.java"> + <message kind="error" line="8"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" title="eachobject: can't extend a concrete aspect" + keywords="from-errors,fail-unimplemented"> + <compile files="SubAspectsCantExtendNonAbstractAspects.java"> + <message kind="error" line="14"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" pr="271" title="instanceof used without a class" + keywords="from-errors"> + <compile files="InstanceofWithoutClass.java"> + <message kind="error" line="14"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" pr="280" title="wildcard used for returns clause" + keywords="from-errors"> + <compile files="WildcardForReturns.java"> + <message kind="error" line="17"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" pr="280" title="no return statement in around advice" + keywords="from-errors,new-messages-vary"> + <compile files="NoReturnStatement.java"> + <message kind="error" line="14"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" pr="286" + title="inner aspects must be static (no longer matches PR#286)" + keywords="from-errors,fail-unimplemented"> + <compile files="AbstractAspectOf.java"> + <message kind="error" line="12"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" + title="Casting class declarations as interfaces" + keywords="from-errors"> + <compile files="InterfaceCast.java"> + <message kind="error" line="14"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" + title="omits a variable name and crashes with a null pointer" + keywords="from-errors"> + <compile files="BindingNullPointer.java"> + <message kind="error" line="7"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" + title="Not generating an error for using new as a method name" + keywords="from-errors"> + <compile files="New.java"> + <message kind="error" line="12"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" title="ClassCastException on the int literal" + keywords="from-errors"> + <compile files="IntLiteral.java"> + <message kind="error" line="17"/> + </compile> + </ajc-test> + + <ajc-test dir="new" + title="Wrong strictfp keyword usage in interface function prototype [TODO: move to errors]" + keywords="from-errors"> + <compile files="StrictFpCErr1.java"> + <message kind="error" line="3"/> + </compile> + </ajc-test> + + <ajc-test dir="new" + title="Wrong strictfp keyword usage in field declaration [TODO: move to errors]" + keywords="from-errors"> + <compile files="StrictFpCErr2.java"> + <message kind="error" line="3"/> + </compile> + </ajc-test> + + <ajc-test dir="new" + title="Wrong strictfp keyword usage in constructor declaration [TODO: move to errors]" + keywords="from-errors"> + <compile files="StrictFpCErr3.java"> + <message kind="error" line="3"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" + title="Incorrect static casts to primitively foldable arguments should not crash the compiler." + keywords="from-errors"> + <compile files="BadStaticCast.java"> + <message kind="error" line="5"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" title="Dominates with commas should signal an error." + keywords="from-errors"> + <compile files="DominatesWithCommas.java"> + <message kind="error" line="9"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" pr="95" + title="stack overflow with recursive crosscut specifier" + keywords="from-errors"> + <compile files="RecursiveCCutSpecifier.java"> + <message kind="error" line="10"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" + title="Throwing a NullPointerException when formals can't be bound in named pointcut" + keywords="from-errors"> + <compile files="BadFormalsToCalls.java"> + <message kind="error" line="22"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" pr="385" + title="disallow defining more than one pointcut with the same name" + keywords="from-errors,fail-unimplemented"> + <compile files="OverloadedPointcuts.java"> + <message kind="error" line="4"/> + <message kind="error" line="5"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" + title="pre 0.7 introduction form outside aspect body causes an EmptyStackException" + keywords="from-errors"> + <compile files="BadIntroduction.java"> + <message kind="error" line="3"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" title="a class can't extend an aspect" + keywords="from-errors,fail-unimplemented"> + <compile files="ClassExtendingAspect.java"> + <message kind="error" line="19"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" + title="a before() clause at the class-level causes an EmptyStackException" + keywords="from-errors"> + <compile files="TopLevelBefore.java"> + <message kind="error" line="3"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" + title="an after() clause at the class-level causes an EmptyStackException" + keywords="from-errors"> + <compile files="TopLevelAfter.java"> + <message kind="error" line="3"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" + title="an around() clause at the class-level causes an EmptyStackException" + keywords="from-errors"> + <compile files="TopLevelAround.java"> + <message kind="error" line="3"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" title="Doesn't detect cyclic inheritance of aspects." + keywords="from-errors"> + <compile files="CircularExtendsAspect.java"> + <message kind="error" line="18"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" + title="Binds the pointcut formals to member variables instead of pointcut formals." + keywords="from-errors"> + <compile files="PointcutFormals.java" options="-Xlint:warning"> + <message kind="error" line="14"/> + <message kind="error" line="15"/> + <message kind="warning" line="16"/> + <message kind="warning" line="17"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" title="ambiguous formal in formals pattern" + keywords="from-errors"> + <compile files="AmbiguousFormal.java"> + <message kind="error" line="6"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" + title="good error for field name instead of type name" + keywords="from-errors"> + <compile files="BadTypeName.java"> + <message kind="error" line="2"/> + <message kind="error" line="4"/> + <message kind="error" line="6"/> + <message kind="error" line="8"/> + <message kind="error" line="10"/> + <message kind="error" line="12"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" title="errors in aspect inheritance - 1" + keywords="from-errors"> + <compile files="AspectInheritance1.java"> + <message kind="error" line="17"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" title="errors in aspect inheritance - 2" + keywords="from-errors"> + <compile files="AspectInheritance2.java"> + <message kind="error" line="8"/> + <message kind="error" line="16"/> + <message kind="error" line="20"/> + <message kind="error" line="26"/> + <message kind="error" line="30"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" title="errors in aspect inheritance - 3" + keywords="from-errors"> + <compile files="AspectInheritance3.java"> + <message kind="error" line="19"/> + <message kind="error" line="24"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" title="errors in aspect inheritance - 4" + keywords="from-errors"> + <compile files="AspectInheritance4.java"> + <message kind="error" line="17"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" + title="circular dominates leading to irresolvable advice precedence" + keywords="from-errors"> + <compile files="CircularDominates.java"> + <message kind="error" line="12"/> + <message kind="error" line="16"/> + <message kind="error" line="20"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" + title="Should issue an error for using 'class' instead of 'aspect'" + keywords="from-errors"> + <compile files="NoAspect.java"> + <message kind="error" line="12"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" + title="Should signal an error when we need an exposed value but don't provide it" + keywords="from-errors"> + <compile files="MissingExposure.java"> + <message kind="error" line="13"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" + title="StackOverFlowException with circular +implements's." + keywords="from-errors"> + <compile files="CircularPlusImplementsIntros.java"> + <message kind="error" line="19"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" + title="Introducing protected methods is causing a crash" + keywords="from-errors"> + <compile files="ProtectedIntro.java"> + <message kind="error" line="14"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" + title="Introducing protected fields is causing a crash" + keywords="from-errors"> + <compile files="ProtectedFieldIntro.java"> + <message kind="error" line="14"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" pr="388" + title="two classes with the same fully-qualified names [eachjvm]" + keywords="from-errors" + comment="XXX error not flagging initial type"> + <compile files="DuplicatedNames.java"> + <message kind="error" line="3"/> + <message kind="error" line="5"/> + <message kind="error" line="7"/> + <message kind="error" line="9"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" pr="396" + title="Undefined pointcuts were throwing exceptions in 07b11 [callsto]" + keywords="from-errors"> + <compile files="UndefinedPointCut_PR396.java"> + <message kind="error" line="8"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" pr="240" title="advice on abstract pointcuts" + keywords="from-errors"> + <compile files="StaticAdviceOnAbstract.java"> + <message kind="error" line="17"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" + title="Whoops, I forgot to put a class in the field access PCD." + keywords="from-errors"> + <compile files="BadGetPCD.java"> + <message kind="error" line="5"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" pr="138" + title="the arounds return something but there is no returns statement" + keywords="from-errors"> + <compile files="MissingReturns.java"> + <message kind="error" line="14"/> + <message kind="error" line="20"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" title="multiple conflicting introductions" + keywords="from-errors"> + <compile files="MultipleIntros.java"> + <message kind="error" line="5"/> + <message kind="error" line="16"/> + <message kind="error" line="18"/> + <message kind="error" line="19"/> + <message kind="error" line="22"/> + <message kind="error" line="27"/> + <message kind="error" line="30"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" + title="referencing non-static pointcuts in outer aspects" + keywords="from-errors"> + <compile files="StaticPointcutRefs.java"> + <message kind="error" line="8"/> + </compile> + </ajc-test> + + <ajc-test dir="new" + title="javac correct compiler error if there is no return in around returning result" + keywords="from-errors"> + <compile files="NoReturnInProceed.java"> + <message kind="error" line="16"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" + title="should give an error for introducing two members with the same name" + keywords="from-errors"> + <compile files="TwoIntros.java"> + <message kind="error" line="10"/> + <message kind="error" line="14"/> + <message kind="error" line="16"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" + title="wimpy test for undeclared and uncaught exceptions" + keywords="from-errors"> + <compile files="UndeclaredThrows.java"> + <message kind="error" line="12"/> + <message kind="error" line="18"/> + </compile> + </ajc-test> + + <ajc-test dir="new" + title="Given non-matching TypePattern, CE flags use of non-introduced method rather than failure to introduce" + keywords="from-errors"> + <compile + files="typepatternmatch/pack1/IntroErrorLocation.java,typepatternmatch/pack2/TargetClass.java"> + <message kind="error" line="28" + file="pack1/IntroErrorLocation.java" + text="TargetClass cannot be resolved"/> + <message kind="warning" line="33" + file="pack1/IntroErrorLocation.java" + text="no match for this type name: TargetClass"/> + <message kind="error" line="39" + file="pack1/IntroErrorLocation.java" + text="undefined for the type TargetClass"/> + </compile> + </ajc-test> + + <ajc-test dir="new" pr="457" + title="Compiler should suggest using aspect when advice, pointcuts, or introduction is in a class" + keywords="from-errors,poorErrorMessages"> + <compile files="RecognizeAspectCE.java"> + <message kind="error" line="3" + file="RecognizeAspectCE.java" + text="Syntax error"/> + <message kind="error" line="6" + file="RecognizeAspectCE.java" + text="Syntax error"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" + title="declare error working with pointcut and-not (amp,amp,bang)" + keywords="from-errors"> + <compile files="DeclareError.java"> + <message kind="error" line="5"/> + <message kind="error" line="19"/> + </compile> + </ajc-test> + + <ajc-test dir="new" pr="534" + title="aspect as member of interface (private and protected)" + keywords="from-errors"> + <compile files="AspectInInterfaceCF.java"> + <message kind="error" line="11"/> + <message kind="error" line="14"/> + </compile> + </ajc-test> + + <ajc-test dir="new" pr="494" + title="introduced inner interfaces - compile should fail to bind interface name outside of Aspect or if implementing method is not public" + keywords="from-errors"> + <compile files="IntroduceInnerInterfaceCF.java" options="-Xlint:ignore"> + <message kind="error" line="18"/> + <message kind="error" line="19"/> + <message kind="error" line="20"/> + <message kind="error" line="24"/> + <message kind="error" line="42"/> + <message kind="error" line="45"/> + <message kind="error" line="48"/> + <message kind="error" line="50"/> + <message kind="error" line="58"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" + title="aspects may not implement Serializable or Cloneable" + keywords="from-errors"> + <compile files="AspectInterfaces.java"> + <message kind="error" line="4"/> + <message kind="error" line="5"/> + <message kind="error" line="9"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" + title="explicit constructor calls can throw exceptions" + keywords="from-errors"> + <compile files="ExplicitConstructorThrows.java"> + <message kind="error" line="3"/> + <message kind="error" line="12"/> + <message kind="error" line="18"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" pr="664" title="bad proceed args good error messages" + keywords="from-errors"> + <compile files="ProceedArgsCE.java"> + <message kind="error" line="13"/> + <message kind="error" line="16"/> + <message kind="error" line="19"/> + </compile> + </ajc-test> + + diff --git a/tests/src/org/aspectj/systemtest/pre10x/pre10x.xml b/tests/src/org/aspectj/systemtest/pre10x/pre10x.xml new file mode 100644 index 000000000..cfaa7480d --- /dev/null +++ b/tests/src/org/aspectj/systemtest/pre10x/pre10x.xml @@ -0,0 +1,10 @@ +<!DOCTYPE suite SYSTEM "../tests/ajcTestSuite.dtd"[ +<!ENTITY tests SYSTEM "../tests/src/org/aspectj/systemtest/pre10x/pre10x-tests.xml"> +]> +<!-- AspectJ v0.8 - 0.99 Tests --> + +<suite> + +&tests; + +</suite>
\ No newline at end of file diff --git a/tests/src/org/aspectj/systemtest/purejava/PureJavaTests.java b/tests/src/org/aspectj/systemtest/purejava/PureJavaTests.java new file mode 100644 index 000000000..d692464f5 --- /dev/null +++ b/tests/src/org/aspectj/systemtest/purejava/PureJavaTests.java @@ -0,0 +1,992 @@ +/* ******************************************************************* + * Copyright (c) 2004 IBM Corporation + * All rights reserved. + * This program and the accompanying materials are made available + * under the terms of the Common Public License v1.0 + * which accompanies this distribution and is available at + * http://www.eclipse.org/legal/cpl-v10.html + * + * ******************************************************************/ +package org.aspectj.systemtest.purejava; + +import java.io.File; +import junit.framework.Test; +import org.aspectj.testing.XMLBasedAjcTestCase; + +public class PureJavaTests extends org.aspectj.testing.XMLBasedAjcTestCase { + + public static Test suite() { + return XMLBasedAjcTestCase.loadSuite(PureJavaTests.class); + } + + protected File getSpecFile() { + return new File("../tests/src/org/aspectj/systemtest/pureJava/pureJava.xml"); + } + + + public void test001(){ + runTest("unicodes and literals"); + } + + public void test002(){ + runTest("For Statement"); + } + + public void test003(){ + runTest("correct super call lookup for method().name()"); + } + + public void test004(){ + runTest("combined logic expression (handling coericions vs. parens)"); + } + + public void test005(){ + runTest("comment after class closes (with no new line at end)"); + } + + public void test006(){ + runTest("multi-dimensional array initializers"); + } + + public void test007(){ + runTest("probelm with the generated names of exceptions"); + } + + public void test008(){ + runTest("checks if the class field can be used on all of the primitive types"); + } + + public void test009(){ + runTest("Doesn't parse an array-returning method that throws an exception"); + } + + public void test010(){ + runTest("check that nested constructions of local classes work"); + } + + public void test011(){ + runTest("Make sure anonymous classes can have non-nullary constructors"); + } + + public void test012(){ + runTest("Full names are dropped from inner interfaces"); + } + + public void test013(){ + runTest("Making sure full names stay on static inner classes"); + } + + public void test014(){ + runTest("Not binding constructor when using more than one compilation"); + } + + public void test015(){ + runTest("return;;; is not really legal"); + } + + public void test016(){ + runTest("ajc treating Throwable as checked, issuing error if not found"); + } + + public void test017(){ + runTest("package protected classes becoming public"); + } + + public void test018(){ + runTest("IOException on windows if nul used as identifier"); + } + + public void test019(){ + runTest("NullPointerException (not compiler error) when extending non-static inner class"); + } + + public void test020(){ + runTest("compiler flags final static variable as indefinite in member assignment."); + } + + public void test021(){ + runTest("confirm no IOException on windows if nul used as identifier"); + } + + public void test022(){ + runTest("final constructor parameter causes incorrect compiler error"); + } + + public void test023(){ + runTest("Error expected for field of type void"); + } + + public void test024(){ + runTest("Error expected for constructor in interfaces"); + } + + public void test025(){ + runTest("class name for identifier as String should provoke error"); + } + + public void test026(){ + runTest("cyclic interface inheritance not detected if no classes implement the interfaces"); + } + + public void test027(){ + runTest("cyclic class inheritance"); + } + + public void test028(){ + runTest("type and package name conflicts are resolved happily (1a)"); + } + + public void test029(){ + runTest("(fails in USEJAVAC) type and package name conflicts are resolved happily (1b)"); + } + + public void test030(){ + runTest("type and package name conflicts caught as errors (1)"); + } + + public void test031(){ + runTest("flow analysis where final variable set in another constructor"); + } + + public void test032(){ + runTest("Can construct inner classes using qualified expressions"); + } + + public void test033(){ + runTest("subclass unable to access protected static methods using type-qualified references"); + } + + public void test034(){ + runTest("Undefined inner class constructor"); + } + + public void test035(){ + runTest("classes that are package prefixes are illegal"); + } + + public void test036(){ + runTest("valid type expressions for introduced type testing"); + } + + public void test037(){ + runTest("PR591 compiler error expected when directly calling unimplemented abstract method using super"); + } + + public void test038(){ + runTest("suggested by Jacks 15.28-qualified-namestr tests"); + } + + public void test039(){ + runTest("suggested by jacks 3.7-15 all comments must be closed"); + } + + public void test040(){ + runTest("package class access not enforced outside of package"); + } + + public void test041(){ + runTest("expecting CE for ambiguous reference"); + } + + public void test042(){ + runTest("try without catch or finally"); + } + + public void test043(){ + runTest("invalid floating-point constant"); + } + + public void test044(){ + runTest("concrete aspect unable to access abstract package-private method in parent for overriding"); + } + + public void test045(){ + runTest("super reference used to disambiguate names of different but compatible types"); + } + + public void test046(){ + runTest("anonymous explicit inner constructors"); + } + + public void test047(){ + runTest("Overruning the lineStarts buffer, DO NOT EDIT THIS FILE!!!!"); + } + + public void test048(){ + runTest("no CE for unambiguous type reference"); + } + + public void test049(){ + runTest("CE for ambiguous type reference (imports)"); + } + + public void test050(){ + runTest("CE for ambiguous type reference (two type declarations)"); + } + + public void test051(){ + runTest("CE for ambiguous type reference (two inner types)"); + } + + public void test052(){ + runTest("final assignment in loop"); + } + + public void test053(){ + runTest("private super access in inners"); + } + + public void test054(){ + runTest("nested interface does not require new qualifier (8)"); + } + + public void test055(){ + runTest("nested interface does not require new qualifier (9)"); + } + + public void test056(){ + runTest("nested interface does not require new qualifier (10)"); + } + + public void test057(){ + runTest("nested interface does not require new qualifier (14)"); + } + + public void test058(){ + runTest("nested interface does not require new qualifier (15)"); + } + + public void test059(){ + runTest("nested interface does not require new qualifier (16)"); + } + + public void test060(){ + runTest("check that constructor name's match the enclosing type"); + } + + public void test061(){ + runTest("errors for not applicable or accessible methods"); + } + + public void test062(){ + runTest("import statement within class body crashes compiler"); + } + + public void test063(){ + runTest("Accessing instance fields and instance methods statically."); + } + + public void test064(){ + runTest("Crashes when a cast is within another cast"); + } + + public void test065(){ + runTest("Crashes when a cast of the form )int) appears"); + } + + public void test066(){ + runTest("Crashes when the closing brace is reversed"); + } + + public void test067(){ + runTest("Crashes when a method name is missing in a call -- e.g. 'System.out.();'"); + } + + public void test068(){ + runTest("Crashes when a bad r-value appears."); + } + + public void test069(){ + runTest("Two underscores as a variables causes a crash"); + } + + public void test070(){ + runTest("Crashes when assigning to a final static in an intializer and declaration"); + } + + public void test071(){ + runTest("Crashes when two dots appear instead of one"); + } + + public void test072(){ + runTest("Crashes when there're stray dots"); + } + + public void test073(){ + runTest("Stray characters cause a crash"); + } + + public void test074(){ + runTest("Colon instead of a semi-colon causes a crash"); + } + + public void test075(){ + runTest("type error in initializer caught by ajc, not javac"); + } + + public void test076(){ + runTest("Circular inheritance with classes causes a stack overflow."); + } + + public void test077(){ + runTest("Missing ;"); + } + + public void test078(){ + runTest("cast expressions should not allow casts between ifaces and array types"); + } + + public void test079(){ + runTest("parsing errors for various bad forms of NewArrayExprs."); + } + + public void test080(){ + runTest("good error for bad field and inner class references"); + } + + public void test081(){ + runTest("Implementing a non-interface used to crash the compiler."); + } + + public void test082(){ + runTest("error of no return statement detected not by ajc but by javac (line 4)"); + } + + public void test083(){ + runTest("class and interface extension"); + } + + public void test084(){ + runTest("types in throws clauses"); + } + + public void test085(){ + runTest("bad switch syntax"); + } + + public void test086(){ + runTest("Referencing various things from static contexts"); + } + + public void test087(){ + runTest("Some expressions are illegal expression statements"); + } + + public void test088(){ + runTest("illegal forward reference"); + } + + public void test089(){ + runTest("protected accessibility"); + } + + public void test090(){ + runTest("parse-time illegal modifiers"); + } + + public void test091(){ + runTest("check-time illegal modifiers"); + } + + public void test092(){ + runTest("illegal synchronized stmts"); + } + + public void test093(){ + runTest("modifiers on interface members"); + } + + public void test094(){ + runTest("good errors (and not too many) for missing members"); + } + + public void test095(){ + runTest("expecting compile failures with subclass narrowing scope of superclass methods or accessing private superclass variables"); + } + + public void test096(){ + runTest("inner classes may not have static non-constant members"); + } + + public void test097(){ + runTest("flow analysis with local types"); + } + + public void test098(){ + runTest("PR584 Can construct inner classes using qualified expressions"); + } + + public void test099(){ + runTest("incrementing objects, arrays - 2"); + } + + public void test100(){ + runTest("incrementing objects, arrays CE"); + } + + public void test101(){ + runTest("incrementing objects, arrays - 3"); + } + + public void test102(){ + runTest("incrementing objects, arrays"); + } + + public void test103(){ + runTest("no circularity errors simply because of inners (1)"); + } + + public void test104(){ + runTest("no circularity errors simply because of inners (2)"); + } + + public void test105(){ + runTest("should have circular inheritance errors (1)"); + } + + public void test106(){ + runTest("should have circular inheritance errors (2)"); + } + + public void test107(){ + runTest("interface using preceding subinterface in its definition"); + } + + public void test108(){ + runTest("Parent interface using public inner interface of child in same file"); + } + + public void test109(){ + runTest("a type is not allowed to extend or implement its own innner type"); + } + + public void test110(){ + runTest("try requires block JLS 14.19"); + } + + public void test111(){ + runTest("loop expressions not declarations"); + } + + public void test112(){ + runTest("no error when public class is in file of a different name"); + } + + public void test113(){ + runTest("local variables must be final to be accessed from inner class"); + } + + public void test114(){ + runTest("final local variables may be accessed from inner class"); + } + + public void test115(){ + runTest("missing package identifier"); + } + + public void test116(){ + runTest("CE for ambiguous type reference (two files in package)"); + } + + public void test117(){ + runTest("initializer can throw so long as all constructors declare so"); + } + + public void test118(){ + runTest("interfaces may not contain initializers (bug found by jacks)"); + } + + public void test119(){ + runTest("initializers must be able to complete normally (found by jacks)"); + } + + public void test120(){ + runTest("more tests of super alone"); + } + + public void test121(){ + runTest("subclass access to enclosing super class private members"); + } + + public void test122(){ + runTest("various tests of switch bounds"); + } + + public void test123(){ + runTest("VerifyError if nested sync returning result"); + } + + public void test124(){ + runTest("assert flow"); + } + + public void test125(){ + runTest("assert flow - 2"); + } + + public void test126(){ + runTest("assert typing"); + } + + public void test127(){ + runTest("assert coverage tests [requires 1.4]"); + } + + public void test128(){ + runTest("assert coverage tests in one package [requires 1.4]"); + } + + public void test129(){ + runTest("compiling asserts in methods"); + } + + public void test130(){ + runTest("import of a class in the default package"); + } + + public void test131(){ + runTest("Referencing static interfaces with import statements"); + } + + public void test132(){ + runTest("Referencing static interfaces with import statements stars"); + } + + public void test133(){ + runTest("Referencing static interfaces with import statements stars 2"); + } + + public void test134(){ + runTest("Referencing static interfaces with import statements stars 3"); + } + + public void test135(){ + runTest("Referencing interfaces with import statements"); + } + + public void test136(){ + runTest("Referencing interfaces with import statements stars"); + } + + public void test137(){ + runTest("Referencing interfaces with import statements stars 2"); + } + + public void test138(){ + runTest("Referencing interfaces with import statements stars 3"); + } + + public void test139(){ + runTest("import any inner from interface implementor"); + } + + public void test140(){ + runTest("equals method on quoted strings"); + } + + public void test141(){ + runTest("anonymous inner class"); + } + + public void test142(){ + runTest("parsing of parenthesized 'this' (in returns)"); + } + + public void test143(){ + runTest("Strings are folded and interned correctly"); + } + + public void test144(){ + runTest("Cast binds tighter than equality tests"); + } + + public void test145(){ + runTest("Boundary base values can be parsed"); + } + + public void test146(){ + runTest("State is passed correctly across nested annonymous inners"); + } + + public void test147(){ + runTest("?: expressions should typecheck in interesting ways"); + } + + public void test148(){ + runTest("cast expressions should allow casts to/from interfaces at compile-time."); + } + + public void test149(){ + runTest("various anonymous inner classes plus super types tests"); + } + + public void test150(){ + runTest("Various comment syntaxes should be handled."); + } + + public void test151(){ + runTest("Abstract inner classes across package boundaries"); + } + + public void test152(){ + runTest("inner classes accessing outers and some more inner class names"); + } + + public void test153(){ + runTest("remember to cast folded values down to the proper types."); + } + + public void test154(){ + runTest("inner classes can be built using protected constructors in super"); + } + + public void test155(){ + runTest("The current AspectJ compiler cannot parse qualified superclass constructor invocations"); + } + + public void test156(){ + runTest("More thourough test of static members using full names"); + } + + public void test157(){ + runTest("More thourough test of static members using imports"); + } + + public void test158(){ + runTest("Looking in class Java for java.lang.String WITH separate compilation"); + } + + public void test159(){ + runTest("Looking in class Java for java.lang.String WITHOUT separate compilation"); + } + + public void test160(){ + runTest("Looking in class Java for java.lang.String WITH separate compilation with packages"); + } + + public void test161(){ + runTest("Looking in class Java for java.lang.String WITHOUT separate compilation with packages"); + } + + public void test162(){ + runTest("Testing ternary operations."); + } + + public void test163(){ + runTest("Lifting locals in switch statements."); + } + + public void test164(){ + runTest("Getting confused when looking up method signatures"); + } + + public void test165(){ + runTest("Not recognizing the chars '\0', '\1', '\2', '\3', '\4', '\5', '\6', '\7'"); + } + + public void test166(){ + runTest("Test chars '\0', '\1', '\2', '\3', '\4', '\5', '\6', '\7' with a case statement"); + } + + public void test167(){ + runTest("Checking character values with all the unicode chars."); + } + + public void test168(){ + runTest("Trouble finding methods with the same name and different parameter types"); + } + + public void test169(){ + runTest("Binding non-public static inner classes of interfaces in other packages"); + } + + public void test170(){ + runTest("Not recognizing the octal chars '\0', '\1', '\2', '\3', '\4', '\5', '\6', '\7'"); + } + + public void test171(){ + runTest("Members with the same name as their package cause confusion with fully-qualified names."); + } + + public void test172(){ + runTest("Fully-qual'ed names with same start as variable names"); + } + + public void test173(){ + runTest("Fully qualifying inner classes within annonymous classes causes problems."); + } + + public void test174(){ + runTest("Calls to methods in outer annonymous classes are being qual's incorrectly with 'this'"); + } + + public void test175(){ + runTest("Reading inner classes from source and bytecode (1) -- was failing"); + } + + public void test176(){ + runTest("Reading inner classes from source and bytecode (2)"); + } + + public void test177(){ + runTest("Reading inner classes from source and bytecode (3)"); + } + + public void test178(){ + runTest("Not lifting types correctly with bytes and shorts with ternary ops"); + } + + public void test179(){ + runTest("Not looking up methods inside of anonymous declarations correctly."); + } + + public void test180(){ + runTest("Resolving extended classes with array parameters"); + } + + public void test181(){ + runTest("Assignments as second arguments in ternary operators."); + } + + public void test182(){ + runTest("Conflicting inner classes with interfaces."); + } + + public void test183(){ + runTest("confusions of casts and parens"); + } + + public void test184(){ + runTest("default constructors seen by inner classes subtyping outers"); + } + + public void test185(){ + runTest("folding fields set to anonymous instances containing self-references"); + } + + public void test186(){ + runTest("finally at the end of a method that needs to return"); + } + + public void test187(){ + runTest("overriding methods from object in interfaces and multiple-inheritance"); + } + + public void test188(){ + runTest("private fields in an outer class accessed by an inner which also extends the outer"); + } + + public void test189(){ + runTest("breaking out of a labeled block inside of an if"); + } + + public void test190(){ + runTest("abstractifying a method and getting it back through super"); + } + + public void test191(){ + runTest("Packages and static classes with the same name produce compile errors."); + } + + public void test192(){ + runTest("Inner types must generate classfiles with only Public/Default access flags."); + } + + public void test193(){ + runTest("Default constructors have same access as their enclosing type"); + } + + public void test194(){ + runTest("Returning primitive values matching method return type (minimal)"); + } + + public void test195(){ + runTest("Flow analysis and if(true)"); + } + + public void test196(){ + runTest("packages and generated inner types (for I.class)"); + } + + public void test197(){ + runTest("A.this exprs match by exact type matching"); + } + + public void test198(){ + runTest("Implicit this for new inner instance must be avaliable"); + } + + public void test199(){ + runTest("Inners can reference protected fields of their outer's super."); + } + + public void test200(){ + runTest("Primitives that special case for a constant arm should work"); + } + + public void test201(){ + runTest("Parenthesized true and false don't parse"); + } + + public void test202(){ + runTest("Field sets to public fields of private fields of enclosing types"); + } + + public void test203(){ + runTest("Constant values should be stored with the correct type of their fields"); + } + + public void test204(){ + runTest("Local variables in initializers should not be treated as blank final fields"); + } + + public void test205(){ + runTest("Binops aren't allowed as update stmts in for loops"); + } + + public void test206(){ + runTest("Can't avoid doing division in case of div by zero"); + } + + public void test207(){ + runTest("Testing frames w/greater than FF locals and 7F incs (i.e., WIDE instruction)"); + } + + public void test208(){ + runTest("correct numeric literals"); + } + + public void test209(){ + runTest("invalid numeric literals"); + } + + public void test210(){ + runTest("inner types can't have the same simple name as an enclosing type"); + } + + public void test211(){ + runTest("test the unops and binops with various values"); + } + + public void test212(){ + runTest("test + and += for strings and variously typed values"); + } + + public void test213(){ + runTest("test try/catch/finally statements"); + } + + public void test214(){ + runTest("local types can be bound in the signatures of other local types"); + } + + public void test215(){ + runTest("type and package name conflicts are resolved happily (2)"); + } + + public void test216(){ + runTest("try statements work sorta like scoped items for exception flow control"); + } + + public void test217(){ + runTest("qualified this must work exactly, not based on subtypes"); + } + + public void test218(){ + runTest("nested finally blocks have interesting frame location problems"); + } + + public void test219(){ + runTest("nested synchronized blocks have interesting frame location problems"); + } + + public void test220(){ + runTest("anonymous inner classes with inner types"); + } + + public void test221(){ + runTest("qualified super call expr"); + } + + public void test222(){ + runTest("interfaces with non-explicitly static inner classes"); + } + + public void test223(){ + runTest("Operands work correctly"); + } + + public void test224(){ + runTest("simple tests of throws and for stmt typing"); + } + + public void test225(){ + runTest("test for not folding circular constants"); + } + + public void test226(){ + runTest("continue targets must be continuable"); + } + + public void test227(){ + runTest("qualified this to non-inner should be caught"); + } + + public void test228(){ + runTest("Cannot bind a name."); + } + + public void test229(){ + runTest("interface declaration not permitted in local method scope"); + } + + public void test230(){ + runTest("Locals inside other locals, ordering of processing [eh]"); + } + + public void test231(){ + runTest("asserts"); + } + + public void test232(){ + runTest("non-constant static final fields marked as final in .class"); + } + + public void test233(){ + runTest("handle multiple nested inner classes"); + } + + public void test234(){ + runTest("advice on a static method"); + } + + public void test235(){ + runTest("inner constructor syntax causes compile error"); + } + + public void test236(){ + runTest("widening of method parameters to match javac"); + } + + public void test237(){ + runTest("parenthesized string literals matching primitive type names"); + } + + public void test238(){ + runTest("simple type coercions tests"); + } + + public void test239(){ + runTest("order of type declarations shouldn't matter"); + } + + public void test240(){ + runTest("Scanner non recognizing strictfp."); + } + + public void test241(){ + runTest("Crashes when a lot of zeros are in front of a double variable [!!! purejava]"); + } + +} + diff --git a/tests/src/org/aspectj/systemtest/purejava/pureJava-tests.xml b/tests/src/org/aspectj/systemtest/purejava/pureJava-tests.xml new file mode 100644 index 000000000..9864ffe79 --- /dev/null +++ b/tests/src/org/aspectj/systemtest/purejava/pureJava-tests.xml @@ -0,0 +1,1894 @@ +<!-- Pure Java Tests --> + + <ajc-test dir="pureJava/test120" title="unicodes and literals" + keywords="from-base,purejava"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="pureJava/test126" title="For Statement" + keywords="from-base,purejava"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="pureJava/test133" + title="correct super call lookup for method().name()" + keywords="from-base,purejava"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="new" pr="99" + title="combined logic expression (handling coericions vs. parens)" + keywords="from-java,purejava"> + <compile files="CombinedLogic.java"/> + <run class="CombinedLogic"/> + </ajc-test> + + <ajc-test dir="new" pr="99" + title="comment after class closes (with no new line at end)" + keywords="from-java,purejava"> + <compile files="CommentAfterClass.java"/> + <run class="CommentAfterClass"/> + </ajc-test> + + <ajc-test dir="new" pr="108" title="multi-dimensional array initializers" + keywords="from-java,purejava"> + <compile files="MultiArrays.java"/> + <run class="MultiArrays"/> + </ajc-test> + + <ajc-test dir="new" pr="125" + title="probelm with the generated names of exceptions" + keywords="from-java,purejava"> + <compile files="ExceptionNames.java"/> + <run class="ExceptionNames"/> + </ajc-test> + + <ajc-test dir="new" pr="109" + title="checks if the class field can be used on all of the primitive types" + keywords="from-java,purejava"> + <compile files="ClassFieldOnPrimitiveType.java"/> + <run class="ClassFieldOnPrimitiveType"/> + </ajc-test> + + <ajc-test dir="new" + title="Doesn't parse an array-returning method that throws an exception" + keywords="from-java,purejava"> + <compile files="ArrayMethod.java"/> + <run class="ArrayMethod"/> + </ajc-test> + + <ajc-test dir="pureJava" + title="check that nested constructions of local classes work" + keywords="from-java,purejava"> + <compile files="NestedConstructionsOfLocalClasses.java"/> + <run class="NestedConstructionsOfLocalClasses"/> + </ajc-test> + + <ajc-test dir="pureJava" + title="Make sure anonymous classes can have non-nullary constructors" + keywords="from-java,purejava"> + <compile files="NonNullaryAnonymous.java"/> + <run class="NonNullaryAnonymous"/> + </ajc-test> + + <ajc-test dir="new" pr="417" + title="Full names are dropped from inner interfaces" + keywords="from-java,purejava"> + <compile files="PR417a.java"/> + <run class="PR417a"/> + </ajc-test> + + <ajc-test dir="new" pr="417" + title="Making sure full names stay on static inner classes" + keywords="from-java,purejava"> + <compile files="PR417b.java"/> + <run class="PR417b"/> + </ajc-test> + + <ajc-test dir="new" pr="408" + title="Not binding constructor when using more than one compilation" + keywords="from-java,purejava"> + <compile files="OuterAbstract_PR408.java"/> + <compile files="ExtendsOuterAbstract_PR408.java"/> + <compile files="ConstructorNotFound_PR408.java"/> + <run class="ConstructorNotFound_PR408"/> + </ajc-test> + + <ajc-test dir="pureJava" title="return;;; is not really legal" + keywords="from-java,purejava"> + <compile files="ReachableEmpty.java"> + <message kind="error" line="5"/> + <message kind="error" line="9"/> + <message kind="error" line="13"/> + <message kind="error" line="17"/> + </compile> + </ajc-test> + + <ajc-test dir="new" + title="ajc treating Throwable as checked, issuing error if not found" + keywords="from-java,purejava"> + <compile files="FalseThrowsCE.java"/> + <run class="FalseThrowsCE"/> + </ajc-test> + + <ajc-test dir="new" pr="328" + title="package protected classes becoming public" + keywords="from-java,purejava"> + <compile files="PR328.java"/> + <run class="PR328"/> + </ajc-test> + + <ajc-test dir="new" title="IOException on windows if nul used as identifier" + keywords="from-java,purejava"> + <compile files="NulIOException.java"> + <message kind="error" line="12"/> + <message kind="error" line="14"/> + <message kind="error" line="17"/> + </compile> + </ajc-test> + + <ajc-test dir="new" + title="NullPointerException (not compiler error) when extending non-static inner class" + keywords="from-java,purejava"> + <compile files="ExtendInnerCE.java"> + <message kind="error" line="3"/> + </compile> + </ajc-test> + + <ajc-test dir="new" + title="compiler flags final static variable as indefinite in member assignment." + keywords="from-java,purejava"> + <compile files="DefiniteStatic.java"/> + <run class="DefiniteStatic"/> + </ajc-test> + + <ajc-test dir="new" + title="confirm no IOException on windows if nul used as identifier" + keywords="from-java,purejava"> + <compile files="NulIOException2.java"/> + <run class="NulIOException2"/> + </ajc-test> + + <ajc-test dir="new" + title="final constructor parameter causes incorrect compiler error" + keywords="from-java,purejava"> + <compile files="FinalConstructorParm.java"/> + <run class="FinalConstructorParm"/> + </ajc-test> + + <ajc-test dir="new" title="Error expected for field of type void" + keywords="from-java,purejava"> + <compile files="VoidField.java"> + <message kind="error" line="2"/> + <message kind="error" line="4"/> + <message kind="error" line="6"/> + </compile> + </ajc-test> + + <ajc-test dir="new" title="Error expected for constructor in interfaces" + keywords="from-java,purejava"> + <compile files="InterfaceConstructor.java"> + <message kind="error" line="2"/> + <message kind="error" line="6"/> + <message kind="error" line="8"/> + </compile> + </ajc-test> + + <ajc-test dir="new" pr="558" + title="class name for identifier as String should provoke error" + keywords="from-java,purejava"> + <compile files="PR558.java"> + <message kind="error" line="4"/> + </compile> + </ajc-test> + + <ajc-test dir="new" pr="567" + title="cyclic interface inheritance not detected if no classes implement the interfaces" + keywords="from-java,purejava,messages-vary"> + <compile files="CyclicInterfaceInheritance.java" + options="!eclipse"> + <message kind="error" line="14"/> + <message kind="error" line="15"/> + </compile> + </ajc-test> + + <ajc-test dir="new" pr="567" title="cyclic class inheritance" + keywords="from-java,purejava"> + <compile files="CyclicClassInheritance.java"> + <message kind="error" line="11"/> + <message kind="error" line="12"/> + </compile> + </ajc-test> + + <!-- broken test - both javac and eclipse give error on line 35 --> + <!-- + <ajc-test dir="pureJava" title="Type names are not expressions on their own" + keywords="from-java,purejava"> + <compile files="TypeExprErrors.java"> + <message kind="error" line="10"/> + <message kind="error" line="17"/> + <message kind="error" line="18"/> + <message kind="error" line="19"/> + <message kind="error" line="20"/> + <message kind="error" line="21"/> + <message kind="error" line="22"/> + <message kind="error" line="23"/> + <message kind="error" line="24"/> + <message kind="error" line="25"/> + <message kind="error" line="26"/> + <message kind="error" line="27"/> + <message kind="error" line="28"/> + <message kind="error" line="29"/> + <message kind="error" line="30"/> + <message kind="error" line="31"/> + <message kind="error" line="32"/> + <message kind="error" line="33"/> + <message kind="error" line="34"/> + <message kind="error" line="36"/> + <message kind="error" line="37"/> + </compile> + </ajc-test> + --> + + <ajc-test dir="pureJava/nameConflicts" + title="type and package name conflicts are resolved happily (1a)" + keywords="from-java,purejava"> + <compile files="p1/Main1.java,p1/Foo.java,p1/p2.java"/> + <run class="p1.Main1"/> + </ajc-test> + + <ajc-test dir="pureJava/nameConflicts" + title="(fails in USEJAVAC) type and package name conflicts are resolved happily (1b)" + keywords="from-java,purejava"> + <compile files="p1.java,p1/p2/Foo.java"/> + <compile files="p1/Main1.java,p1/Foo.java,p1/p2.java"/> + <run class="p1.Main1"/> + </ajc-test> + + <ajc-test dir="pureJava/nameConflicts" + title="type and package name conflicts caught as errors (1)" + keywords="from-java,purejava"> + <compile files="p1/p2.java,p1/Main1.java,p1/Foo.java,p1/p2/Foo.java"> + <message kind="error" line="3"/> + </compile> + </ajc-test> + + <ajc-test dir="pureJava" + title="flow analysis where final variable set in another constructor" + keywords="from-java,purejava"> + <compile files="ConstructorFlow.java"/> + <run class="ConstructorFlow"/> + </ajc-test> + + <ajc-test dir="new" pr="584" + title="Can construct inner classes using qualified expressions" + keywords="from-java,purejava"> + <compile files="PR584.java"/> + <run class="PR584"/> + </ajc-test> + + <ajc-test dir="new/protectedStatic" pr="585" + title="subclass unable to access protected static methods using type-qualified references" + keywords="from-java,purejava"> + <compile files="SubClass.java,pack/SuperClass.java"/> + <run class="SubClass"/> + </ajc-test> + + <ajc-test dir="new" pr="588" title="Undefined inner class constructor" + keywords="from-java,purejava"> + <compile files="UndefinedInner.java"> + <message kind="error" line="6"/> + </compile> + </ajc-test> + + <ajc-test dir="new/packagePrefix" pr="574" + title="classes that are package prefixes are illegal" + keywords="from-java,purejava,messages-vary"> + <compile files="p/prefix.java,p/prefix/SomeClass.java" + options="!eclipse"> + <message kind="error" line="2"/> + </compile> + </ajc-test> + + <ajc-test dir="new/introTypeMissing" + title="valid type expressions for introduced type testing" + keywords="from-java,purejava"> + <compile files="TargetClass.java,Util.java"/> + <run class="TargetClass"/> + </ajc-test> + + <ajc-test dir="new" + title="PR591 compiler error expected when directly calling unimplemented abstract method using super" + keywords="from-java,purejava"> + <compile files="AbstractMethodCall.java"> + <message kind="error" line="10"/> + </compile> + </ajc-test> + + <ajc-test dir="pureJava" + title="suggested by Jacks 15.28-qualified-namestr tests" + keywords="from-java,purejava,messages-vary"> + <compile files="NonConstants.java" + options="!eclipse"> + <message kind="error" line="13"/> + <message kind="error" line="14"/> + <message kind="error" line="15"/> + <message kind="error" line="16"/> + <message kind="error" line="17"/> + </compile> + </ajc-test> + + <ajc-test dir="pureJava" + title="suggested by jacks 3.7-15 all comments must be closed" + keywords="from-java,purejava"> + <compile files="OpenComment.java"> + <message kind="error" line="7"/> + </compile> + </ajc-test> + + <ajc-test dir="new/classaccess" + title="package class access not enforced outside of package" + keywords="from-java,purejava"> + <compile files="main/Main.java,pack1/Target.java"> + <message kind="error" line="7"/> + </compile> + </ajc-test> + + <ajc-test dir="new" pr="631" title="expecting CE for ambiguous reference" + keywords="from-java,purejava"> + <compile files="AmbiguousClassReference.java"> + <message kind="error" line="11"/> + </compile> + </ajc-test> + + <ajc-test dir="new" pr="643" title="try without catch or finally" + keywords="from-java,purejava,message-vary"> + <compile files="TryNoCatchCE.java" + options="!eclipse"> + <message kind="error" line="6"/> + </compile> + </ajc-test> + + <ajc-test dir="new" pr="642" title="invalid floating-point constant" + keywords="from-java,purejava,messages-vary"> + <compile files="ParsingFloatCE.java" + options="!eclipse"> + <message kind="error" line="5"/> + </compile> + </ajc-test> + + <ajc-test dir="new/subaspects" pr="647" + title="concrete aspect unable to access abstract package-private method in parent for overriding" + keywords="from-java,purejava,messages-vary" + comment="XXX fix source - package-private"> + <compile files="parent/ParentMethodCE.java,child/ChildMethodCE.java" + options="!eclipse"> + <message kind="warning" line="28"/> + <message kind="error" line="27"/> + </compile> + </ajc-test> + + <ajc-test dir="new" + title="super reference used to disambiguate names of different but compatible types" + keywords="from-java,purejava"> + <compile files="SuperDisambiguatingType.java"/> + <run class="SuperDisambiguatingType"/> + </ajc-test> + + <ajc-test dir="pureJava" title="anonymous explicit inner constructors" + keywords="from-java,purejava"> + <compile files="QualifiedNewCP.java"/> + <run class="QualifiedNewCP"/> + </ajc-test> + + <ajc-test dir="pureJava" + title="Overruning the lineStarts buffer, DO NOT EDIT THIS FILE!!!!" + keywords="from-java,purejava"> + <compile files="AJError.java"/> + <run class="AJError"/> + </ajc-test> + + <ajc-test dir="new" pr="701" title="no CE for unambiguous type reference" + keywords="from-java,purejava"> + <compile files="UnambiguousClassReference3CP.java"/> + <run class="UnambiguousClassReference3CP"/> + </ajc-test> + + <ajc-test dir="new" pr="701" + title="CE for ambiguous type reference (imports)" + keywords="from-java,purejava"> + <compile files="AmbiguousClassReference2CE.java"> + <message kind="error" line="2"/> + <message kind="error" line="10"/> + </compile> + </ajc-test> + + <ajc-test dir="new" pr="701" + title="CE for ambiguous type reference (two type declarations)" + keywords="from-java,purejava,messages-vary"> + <compile files="AmbiguousClassReference3CE.java" + options="!eclipse"> + <message kind="error" line="10"/> + </compile> + </ajc-test> + + <ajc-test dir="new" pr="701" + title="CE for ambiguous type reference (two inner types)" + keywords="from-java,purejava,messages-vary"> + <compile files="AmbiguousClassReference4CE.java" + options="!eclipse"> + <message kind="error" line="10"/> + </compile> + </ajc-test> + + <ajc-test dir="new" pr="709" title="final assignment in loop" + keywords="from-java,purejava"> + <compile files="FinalInLoop.java"/> + <run class="FinalInLoop"/> + </ajc-test> + + <ajc-test dir="pureJava" title="private super access in inners" + keywords="from-java,purejava"> + <compile files="PrivateSuperInnerAccess.java"/> + <run class="PrivateSuperInnerAccess"/> + </ajc-test> + + <ajc-test dir="pureJava" + title="nested interface does not require new qualifier (8)" + keywords="from-java,purejava"> + <compile files="InvalidNewQualifier8CE.java"> + <message kind="error" line="8"/> + </compile> + </ajc-test> + + <ajc-test dir="pureJava" + title="nested interface does not require new qualifier (9)" + keywords="from-java,purejava"> + <compile files="InvalidNewQualifier9CE.java"> + <message kind="error" line="9"/> + </compile> + </ajc-test> + + <ajc-test dir="pureJava" + title="nested interface does not require new qualifier (10)" + keywords="from-java,purejava"> + <compile files="InvalidNewQualifier10CE.java"> + <message kind="error" line="10"/> + </compile> + </ajc-test> + + <ajc-test dir="pureJava" + title="nested interface does not require new qualifier (14)" + keywords="from-java,purejava"> + <compile files="InvalidNewQualifier14CE.java"> + <message kind="error" line="14"/> + </compile> + </ajc-test> + + <ajc-test dir="pureJava" + title="nested interface does not require new qualifier (15)" + keywords="from-java,purejava"> + <compile files="InvalidNewQualifier15CE.java"> + <message kind="error" line="15"/> + </compile> + </ajc-test> + + <ajc-test dir="pureJava" + title="nested interface does not require new qualifier (16)" + keywords="from-java,purejava"> + <compile files="InvalidNewQualifier16CE.java"> + <message kind="error" line="16"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" + title="check that constructor name's match the enclosing type" + keywords="from-errors,purejava"> + <compile files="BadConstructorName.java"> + <message kind="error" line="4"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" + title="errors for not applicable or accessible methods" + keywords="from-errors,purejava"> + <compile files="MethodsNotFound.java"> + <message kind="error" line="4"/> + <message kind="error" line="8"/> + <message kind="error" line="12"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" pr="218" + title="import statement within class body crashes compiler" + keywords="from-errors,purejava"> + <compile files="ImportWithinClassBody.java"> + <message kind="error" line="8"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" + title="Accessing instance fields and instance methods statically." + keywords="from-errors,purejava"> + <compile files="AccessingInstanceFieldsStatically.java"> + <message kind="error" line="15"/> + <message kind="error" line="16"/> + <message kind="error" line="17"/> + <message kind="error" line="18"/> + <message kind="error" line="26"/> + <message kind="error" line="27"/> + <message kind="error" line="30"/> + <message kind="error" line="38"/> + <message kind="error" line="39"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" title="Crashes when a cast is within another cast" + keywords="from-errors,purejava"> + <compile files="CastInCast.java"> + <message kind="error" line="9"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" title="Crashes when a cast of the form )int) appears" + keywords="from-errors,purejava,messages-vary"> + <compile files="BadCast.java" + options="!eclipse"> + <message kind="error" line="9"/> + <message kind="error" line="10"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" title="Crashes when the closing brace is reversed" + keywords="from-errors,purejava,messages-vary"> + <compile files="ClosingBrace.java" + options="!eclipse"> + <message kind="error" line="11"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" + title="Crashes when a method name is missing in a call -- e.g. 'System.out.();'" + keywords="from-errors,purejava"> + <compile files="NoMethodName.java"> + <message kind="error" line="9"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" title="Crashes when a bad r-value appears." + keywords="from-errors,purejava"> + <compile files="BadValue.java"> + <message kind="error" line="9"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" title="Two underscores as a variables causes a crash" + keywords="from-errors,purejava"> + <compile files="BadVar.java"> + <message kind="error" line="9"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" + title="Crashes when assigning to a final static in an intializer and declaration" + keywords="from-errors,purejava"> + <compile files="FinalStatic.java"> + <message kind="error" line="13"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" title="Crashes when two dots appear instead of one" + keywords="from-errors,purejava"> + <compile files="TwoDots.java"> + <message kind="error" line="9"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" title="Crashes when there're stray dots" + keywords="from-errors,purejava"> + <compile files="StrayDot.java"> + <message kind="error" line="9"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" title="Stray characters cause a crash" + comment="XXX public class in wrong file" + keywords="from-errors,purejava"> + <compile files="StraySlash.java"> + <message kind="error" line="9"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" title="Colon instead of a semi-colon causes a crash" + comment="XXX public class in wrong file" + keywords="from-errors,purejava"> + <compile files="Colon.java"> + <message kind="error" line="9"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" + title="type error in initializer caught by ajc, not javac" + keywords="from-errors,purejava"> + <compile files="ArrayInitializerType.java"> + <message kind="error" line="2"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" + title="Circular inheritance with classes causes a stack overflow." + keywords="from-errors,purejava"> + <compile files="CircularExtends.java"> + <message kind="error" line="7"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" title="Missing ;" keywords="from-errors,purejava"> + <compile files="PR405.java"> + <message kind="error" line="15"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" + title="cast expressions should not allow casts between ifaces and array types" + keywords="from-errors,purejava"> + <compile files="InterfaceArrayCast.java"> + <message kind="error" line="9"/> + <message kind="error" line="10"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" + title="parsing errors for various bad forms of NewArrayExprs." + keywords="from-errors,purejava"> + <compile files="BadNewArrayExprs.java"> + <message kind="error" line="4"/> + <message kind="error" line="5"/> + <message kind="error" line="6"/> + <message kind="error" line="7"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" + title="good error for bad field and inner class references" + keywords="from-errors,purejava"> + <compile files="BadReferences.java"> + <message kind="error" line="3"/> + <message kind="error" line="5"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" + title="Implementing a non-interface used to crash the compiler." + keywords="from-errors,purejava"> + <compile files="PR333.java"> + <message kind="error" line="6"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" + title="error of no return statement detected not by ajc but by javac (line 4)" + keywords="from-errors,purejava"> + <compile files="NoReturnStatementSimple.java"> + <message kind="error" line="4"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" title="class and interface extension" + keywords="from-errors,purejava,messages-vary"> + <compile files="BadExtension.java" + options="!eclipse"> + <message kind="error" line="7"/> + <message kind="error" line="9"/> + <message kind="error" line="16"/> + <message kind="error" line="17"/> + <message kind="error" line="18"/> + <message kind="error" line="19"/> + <message kind="error" line="21"/> + <message kind="error" line="35"/> + <message kind="error" line="38"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" title="types in throws clauses" + keywords="from-errors,purejava"> + <compile files="ThrowsClause.java"> + <message kind="error" line="2"/> + <message kind="error" line="4"/> + <message kind="error" line="13"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" title="bad switch syntax" + keywords="from-errors,purejava"> + <compile files="Switch.java"> + <message kind="error" line="4"/> + </compile> + </ajc-test> + + <ajc-test dir="pureJava" + title="Referencing various things from static contexts" + keywords="from-errors,purejava"> + <compile files="StaticContexts.java"> + <message kind="error" line="11"/> + <message kind="error" line="18"/> + <message kind="error" line="19"/> + <message kind="error" line="20"/> + <message kind="error" line="21"/> + <message kind="error" line="27"/> + <message kind="error" line="28"/> + <message kind="error" line="31"/> + <message kind="error" line="35"/> + <message kind="error" line="36"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" + title="Some expressions are illegal expression statements" + keywords="from-errors,purejava"> + <compile files="BadExpressionStatement.java"> + <message kind="error" line="3"/> + </compile> + </ajc-test> + + <ajc-test dir="pureJava" title="illegal forward reference" + keywords="from-errors,purejava"> + <compile files="IllegalForwardReference.java"> + <message kind="error" line="9"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" title="protected accessibility" + keywords="from-errors,purejava"> + <compile files="protectedAccess/Main.java,protectedAccess/p1/C1.java"> + <message kind="error" line="26"/> + <message kind="error" line="28"/> + <message kind="error" line="29"/> + <message kind="error" line="31"/> + <message kind="error" line="37"/> + <message kind="error" line="45"/> + <message kind="error" line="46"/> + <message kind="error" line="54"/> + <message kind="error" line="55"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" title="parse-time illegal modifiers" + keywords="from-errors,purejava"> + <compile files="Modifiers1.java"> + <message kind="error" line="2"/> + <message kind="error" line="3"/> + <message kind="error" line="6"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" title="check-time illegal modifiers" + keywords="from-errors,purejava"> + <compile files="Modifiers.java"> + <message kind="error" line="2"/> + <message kind="error" line="3"/> + <message kind="error" line="4"/> + <message kind="error" line="6"/> + <message kind="error" line="7"/> + <message kind="error" line="8"/> + <message kind="error" line="9"/> + <message kind="error" line="11"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" title="illegal synchronized stmts" + keywords="from-errors,purejava,messages-vary"> + <compile files="BadSynchronized.java" + options="!eclipse"> + <message kind="error" line="6"/> + </compile> + </ajc-test> + + <ajc-test dir="pureJava" title="modifiers on interface members" + keywords="from-errors,purejava"> + <compile files="InterfaceMembers.java"> + <message kind="error" line="2"/> + <message kind="error" line="3"/> + <message kind="error" line="4"/> + <message kind="error" line="5"/> + <message kind="error" line="7"/> + <message kind="error" line="8"/> + <message kind="error" line="9"/> + <message kind="error" line="10"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" + title="good errors (and not too many) for missing members" + comment="XXX import of class in default package" + + keywords="from-errors,purejava"> + <compile files="NotFound.java"> + <message kind="error" line="1"/> + <message kind="error" line="2"/> + <message kind="error" line="6"/> + <message kind="error" line="9"/> + <message kind="error" line="10"/> + <message kind="error" line="14"/> + <message kind="error" line="16"/> + </compile> + </ajc-test> + + <ajc-test dir="new" pr="536" + title="expecting compile failures with subclass narrowing scope of superclass methods or accessing private superclass variables" + keywords="from-errors,purejava"> + <compile files="RestrictingVisibilityCF.java"> + <message kind="error" line="27"/> + <message kind="error" line="29"/> + <message kind="error" line="31"/> + <message kind="error" line="39"/> + <message kind="error" line="41"/> + <message kind="error" line="46"/> + <message kind="error" line="48"/> + <message kind="error" line="53"/> + </compile> + </ajc-test> + + <ajc-test dir="errors" + title="inner classes may not have static non-constant members" + keywords="from-errors,purejava"> + <compile files="InnerMembers.java"> + <message kind="error" line="8"/> + <message kind="error" line="9"/> + <message kind="error" line="10"/> + <message kind="error" line="11"/> + <message kind="error" line="16"/> + <message kind="error" line="17"/> + </compile> + </ajc-test> + + <ajc-test dir="pureJava" title="flow analysis with local types" + keywords="from-errors,purejava"> + <compile files="InnerFlow.java"> + <message kind="error" line="5"/> + </compile> + </ajc-test> + + <ajc-test dir="new" + title="PR584 Can construct inner classes using qualified expressions" + keywords="from-resolved_10rc3,purejava"> + <compile files="PR584.java"/> + <run class="PR584"/> + </ajc-test> + + <ajc-test dir="new" pr="715" title="incrementing objects, arrays - 2" + keywords="from-resolved_104,purejava"> + <compile files="ArrayInc2CE.java"> + <message kind="error" line="12"/> + <message kind="error" line="13"/> + <message kind="error" line="14"/> + <message kind="error" line="15"/> + </compile> + </ajc-test> + + <ajc-test dir="new" pr="715" title="incrementing objects, arrays CE" + keywords="from-resolved_104,purejava,messages-vary"> + <compile files="ArrayIncCE.java" + options="!eclipse"> + <message kind="error" line="15"/> + <message kind="error" line="16"/> + <message kind="error" line="17"/> + <message kind="error" line="18"/> + <message kind="error" line="19"/> + </compile> + </ajc-test> + + <ajc-test dir="new" pr="715" title="incrementing objects, arrays - 3" + keywords="from-resolved_104,purejava"> + <compile files="ArrayInc3CE.java"> + <message kind="error" line="15"/> + <message kind="error" line="16"/> + <message kind="error" line="17"/> + <message kind="error" line="18"/> + <message kind="error" line="19"/> + </compile> + </ajc-test> + + <ajc-test dir="new" pr="715" title="incrementing objects, arrays" + keywords="from-resolved_104,purejava"> + <compile files="ArrayInc.java"/> + <run class="ArrayInc"/> + </ajc-test> + + <ajc-test dir="pureJava" pr="737" + title="no circularity errors simply because of inners (1)" + keywords="from-resolved_105,purejava"> + <compile files="circle/Test1CP.java"/> + <run class="circle.Test1CP"/> + </ajc-test> + + <ajc-test dir="pureJava" pr="737" + title="no circularity errors simply because of inners (2)" + keywords="from-resolved_105,purejava"> + <compile files="circle/Test2CP.java"/> + <run class="circle.Test2CP"/> + </ajc-test> + + <ajc-test dir="pureJava" pr="737" + title="should have circular inheritance errors (1)" + keywords="from-resolved_105,purejava,messages-vary"> + <compile files="circle/Test1CF.java" + options="!eclipse"> + <message kind="error" line="7"/> + <message kind="error" line="15"/> + <message kind="error" line="17"/> + </compile> + </ajc-test> + + <ajc-test dir="pureJava" pr="737" + title="should have circular inheritance errors (2)" + keywords="from-resolved_105,purejava,messages-vary"> + <compile files="circle/Test2CF.java" + options="!eclipse"> + <message kind="error" line="6"/> + <message kind="error" line="10"/> + <message kind="error" line="15"/> + </compile> + </ajc-test> + + <ajc-test dir="pureJava" pr="728" + title="interface using preceding subinterface in its definition" + keywords="from-resolved_105,purejava"> + <compile files="ParentUsingChild.java"/> + <run class="ParentUsingChild"/> + </ajc-test> + + <ajc-test dir="new" pr="645" + title="Parent interface using public inner interface of child in same file" + keywords="from-resolved_105,purejava"> + <compile files="ParentInterfaceUsingChildInnerInterface.java"/> + <run class="ParentInterfaceUsingChildInnerInterface"/> + </ajc-test> + + <ajc-test dir="errors" + title="a type is not allowed to extend or implement its own innner type" + keywords="from-resolved_105,purejava"> + <compile files="NestedInterfaceTest.java"> + <message kind="error" line="1"/> + </compile> + </ajc-test> + + <ajc-test dir="pureJava" title="try requires block JLS 14.19" + keywords="from-resolved_105,purejava,messages-vary"> + <compile files="TryBlockRequiredCE.java" + options="!eclipse"> + <message kind="error" line="6"/> + </compile> + </ajc-test> + + <ajc-test dir="pureJava" pr="722" title="loop expressions not declarations" + keywords="from-resolved_105,purejava,messages-vary"> + <compile files="DeclarationsInLoopsCE.java" + options="!eclipse"> + <message kind="error" line="7"/> + </compile> + </ajc-test> + + + + + + + + + <ajc-test dir="new" pr="663" + title="no error when public class is in file of a different name" + keywords="from-resolved_105,purejava"> + <compile options="-strict" files="PublicClassWrongFilename.java"> + <message kind="error" line="3"/> + </compile> + </ajc-test> + + <ajc-test dir="pureJava" pr="739" + title="local variables must be final to be accessed from inner class" + keywords="from-resolved_105,purejava"> + <compile files="LocalsFromInnerCE.java"> + <message kind="error" line="6"/> + <message kind="error" line="13"/> + <message kind="error" line="19"/> + <message kind="error" line="25"/> + <message kind="error" line="32"/> + <message kind="error" line="40"/> + <message kind="error" line="51"/> + <message kind="error" line="61"/> + <message kind="error" line="67"/> + <message kind="error" line="75"/> + <message kind="error" line="81"/> + </compile> + </ajc-test> + + <ajc-test dir="pureJava" pr="739" + title="final local variables may be accessed from inner class" + keywords="from-resolved_105,purejava"> + <compile files="LocalsFromInnerCP.java"/> + <run class="LocalsFromInnerCP"/> + </ajc-test> + + + <ajc-test dir="pureJava" pr="723" title="missing package identifier" + keywords="from-resolved_105,purejava"> + <compile files="MissingPackageCE.java"> + <message kind="error" line="2"/> + </compile> + </ajc-test> + <ajc-test dir="new" pr="701" + title="CE for ambiguous type reference (two files in package)" + keywords="from-resolved_105,purejava"> + <compile + files="ambiguousClass/AmbiguousReferent.java,ambiguousClass/AmbiguousClassReference.java"> + <message kind="error" line="5"/> + </compile> + </ajc-test> + + + <ajc-test dir="new" + title="initializer can throw so long as all constructors declare so" + keywords="from-resolved_105,purejava"> + <compile files="InitializerWithThrow.java"/> + <run class="InitializerWithThrow"/> + </ajc-test> + + <ajc-test dir="pureJava" + title="interfaces may not contain initializers (bug found by jacks)" + keywords="from-resolved_105,purejava"> + <compile files="InterfaceMembersCf.java"> + <message kind="error" line="2"/> + <message kind="error" line="3"/> + </compile> + </ajc-test> + + <ajc-test dir="pureJava" + title="initializers must be able to complete normally (found by jacks)" + keywords="from-resolved_105,purejava,messages-vary"> + <compile files="InitializerFlowCf.java" + options="!eclipse"> + <message kind="error" line="2"/> + <message kind="error" line="4"/> + </compile> + </ajc-test> + + <ajc-test dir="pureJava" title="more tests of super alone" + keywords="from-resolved_105,purejava"> + <compile files="SuperIsWeird.java"> + <message kind="error" line="9"/> + <message kind="error" line="13"/> + <message kind="error" line="20"/> + <message kind="error" line="21"/> + </compile> + </ajc-test> + + <ajc-test dir="pureJava" pr="752" + title="subclass access to enclosing super class private members" + keywords="from-resolved_105,purejava,fail-unimplemented"> + <compile files="SubclassAccessToEnclosingSuperClassPrivate.java"/> + <run class="SubclassAccessToEnclosingSuperClassPrivate"/> + </ajc-test> + + <ajc-test dir="pureJava" title="various tests of switch bounds" + keywords="from-resolved_106,purejava"> + <compile files="SwitchBounds.java"/> + <run class="SwitchBounds"/> + </ajc-test> + + <ajc-test dir="new" pr="601" + title="VerifyError if nested sync returning result" + comment="XXX inconsistent behavior?" + keywords="from-resolved_10final,purejava"> + <compile files="NestedSyncWithResult.java"/> + <run class="NestedSyncWithResult"/> + </ajc-test> + + + <ajc-test dir="new" pr="134" + title="import of a class in the default package" + keywords="from-broken14usejavac,purejava"> + <compile files="ImportFromUnnamed.java,DeclaredExcs.java"/> + <run class="ImportFromUnnamed"/> + </ajc-test> + + <ajc-test dir="pureJava" pr="386" + title="Referencing static interfaces with import statements" + keywords="from-broken14usejavac,purejava"> + <compile files="ClassWithStaticInnerInterfaces.java"/> + <compile files="ImportingStaticInnerInterfaces_PR386.java"/> + <run class="ImportingStaticInnerInterfaces_PR386"/> + </ajc-test> + + <ajc-test dir="pureJava" pr="386" + title="Referencing static interfaces with import statements stars" + keywords="purejava,from-broken14usejavac"> + <compile files="ClassWithStaticInnerInterfaces.java"/> + <compile files="ImportingStaticInnerInterfacesStars_PR386.java"/> + <run class="ImportingStaticInnerInterfacesStars_PR386"/> + </ajc-test> + + <ajc-test dir="pureJava" pr="386" + title="Referencing static interfaces with import statements stars 2" + keywords="purejava,from-broken14usejavac"> + <compile files="ClassWithStaticInnerInterfaces.java"/> + <compile files="ImportingStaticInnerInterfacesStars2_PR386.java"/> + <run class="ImportingStaticInnerInterfacesStars2_PR386"/> + </ajc-test> + + <ajc-test dir="pureJava" pr="386" + title="Referencing static interfaces with import statements stars 3" + keywords="purejava,from-broken14usejavac"> + <compile files="ClassWithStaticInnerInterfaces.java"/> + <compile files="ImportingStaticInnerInterfacesStars3_PR386.java"/> + <run class="ImportingStaticInnerInterfacesStars3_PR386"/> + </ajc-test> + + <ajc-test dir="pureJava" pr="386" + title="Referencing interfaces with import statements" + keywords="purejava,from-broken14usejavac"> + <compile + files="ClassWithInnerInterfaces.java,ImportingInnerInterfaces_PR386.java"/> + <run class="ImportingInnerInterfaces_PR386"/> + </ajc-test> + + <ajc-test dir="pureJava" pr="386" + title="Referencing interfaces with import statements stars" + keywords="purejava,from-broken14usejavac"> + <compile + files="ClassWithInnerInterfaces.java,ImportingInnerInterfacesStars_PR386.java"/> + <run class="ImportingInnerInterfacesStars_PR386"/> + </ajc-test> + + <ajc-test dir="pureJava" pr="386" + title="Referencing interfaces with import statements stars 2" + keywords="purejava,from-broken14usejavac"> + <compile + files="ClassWithInnerInterfaces.java,ImportingInnerInterfacesStars2_PR386.java"/> + <run class="ImportingInnerInterfacesStars2_PR386"/> + </ajc-test> + + <ajc-test dir="pureJava" pr="386" + title="Referencing interfaces with import statements stars 3" + keywords="purejava,from-broken14usejavac"> + <compile + files="ClassWithInnerInterfaces.java,ImportingInnerInterfacesStars3_PR386.java"/> + <run class="ImportingInnerInterfacesStars3_PR386"/> + </ajc-test> + + <ajc-test dir="new/PR862" pr="862" + title="import any inner from interface implementor" + keywords="purejava"> + <compile files="pack/ImportInnerFromInterfaceImplementor.java"> + <dir-changes added="pack.ImportInnerFromInterfaceImplementor"/> + </compile> + <run class="pack.ImportInnerFromInterfaceImplementor"/> + </ajc-test> + + <ajc-test dir="pureJava/equalsMethOnStr" pr="214" + title="equals method on quoted strings" keywords="from-java"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="pureJava/anonInnerClass" pr="294" + title="anonymous inner class" keywords="from-java"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="pureJava" + title="parsing of parenthesized 'this' (in returns)" keywords="from-java"> + <compile files="ReturnThis.java"/> + <run class="ReturnThis"/> + </ajc-test> + + <ajc-test dir="pureJava" title="Strings are folded and interned correctly" + keywords="from-java"> + <compile files="StringFold.java"/> + <run class="StringFold"/> + </ajc-test> + + <ajc-test dir="pureJava" title="Cast binds tighter than equality tests" + keywords="from-java"> + <compile files="CastAndBinary.java"/> + <run class="CastAndBinary"/> + </ajc-test> + + <ajc-test dir="pureJava" title="Boundary base values can be parsed" + keywords="from-java"> + <compile files="BoundaryNums.java"/> + <run class="BoundaryNums"/> + </ajc-test> + + <ajc-test dir="pureJava" + title="State is passed correctly across nested annonymous inners" + keywords="from-java"> + <compile files="NestedInners.java"/> + <run class="NestedInners"/> + </ajc-test> + + <ajc-test dir="pureJava" + title="?: expressions should typecheck in interesting ways" + keywords="from-java"> + <compile files="TriTestTypecheck.java"/> + <run class="TriTestTypecheck"/> + </ajc-test> + + <ajc-test dir="pureJava" + title="cast expressions should allow casts to/from interfaces at compile-time." + keywords="from-java"> + <compile files="InterfaceCast.java"/> + <run class="InterfaceCast"/> + </ajc-test> + + <ajc-test dir="pureJava" + title="various anonymous inner classes plus super types tests" + keywords="from-java"> + <compile files="InnerSuper.java"/> + <run class="InnerSuper"/> + </ajc-test> + + <ajc-test dir="pureJava" title="Various comment syntaxes should be handled." + keywords="from-java"> + <compile files="CommentSyntax.java"/> + <run class="CommentSyntax"/> + </ajc-test> + + <ajc-test dir="pureJava/abstractInner" + title="Abstract inner classes across package boundaries" + keywords="from-java"> + <compile files="C.java,pkg/A.java"/> + <run class="C"/> + </ajc-test> + + <ajc-test dir="pureJava" + title="inner classes accessing outers and some more inner class names" + keywords="from-java"> + <compile files="InnerAccess.java"/> + <run class="InnerAccess"/> + </ajc-test> + + <ajc-test dir="pureJava" + title="remember to cast folded values down to the proper types." + keywords="from-java"> + <compile files="CastingFoldedValues.java"/> + <run class="CastingFoldedValues"/> + </ajc-test> + + <ajc-test dir="pureJava" + title="inner classes can be built using protected constructors in super" + keywords="from-java"> + <compile files="VariousConstructors.java"/> + <run class="VariousConstructors"/> + </ajc-test> + + <ajc-test dir="pureJava" pr="401" + title="The current AspectJ compiler cannot parse qualified superclass constructor invocations" + keywords="from-java"> + <compile files="QualifiedSuperClassConstructorInvocations_PR401.java"/> + <run class="QualifiedSuperClassConstructorInvocations_PR401"/> + </ajc-test> + + <ajc-test dir="pureJava" pr="421" + title="More thourough test of static members using full names" + keywords="from-java"> + <compile + files="Statics.java,StaticMembers_PR421.java,p1/C1.java,p1/P1Statics.java,p1/subp1/SubC1.java,p1/p2/P1P2Statics.java"/> + <run class="StaticMembers_PR421"/> + </ajc-test> + + <ajc-test dir="pureJava" pr="421" + title="More thourough test of static members using imports" + keywords="from-java"> + <compile + files="Statics.java,StaticMembersImports_PR421.java,p1/C1.java,p1/P1Statics.java,p1/subp1/SubC1.java,p1/p2/P1P2Statics.java"/> + <run class="StaticMembersImports_PR421"/> + </ajc-test> + + <ajc-test dir="pureJava/conflictingPackageNames" pr="437" + title="Looking in class Java for java.lang.String WITH separate compilation" + keywords="from-java"> + <compile files="Java.java"/> + <compile files="Main.java"/> + <run class="Main"/> + </ajc-test> + + <ajc-test dir="pureJava/conflictingPackageNames" pr="437" + title="Looking in class Java for java.lang.String WITHOUT separate compilation" + keywords="from-java"> + <compile files="Main.java,Java.java"/> + <run class="Main"/> + </ajc-test> + + <ajc-test dir="pureJava/conflictingPackageNamesWithPackages" pr="437" + title="Looking in class Java for java.lang.String WITH separate compilation with packages" + keywords="from-java"> + <compile files="Java.java"/> + <compile files="Main.java"/> + <run class="conflictingPackageNamesWithPackages.Main"/> + </ajc-test> + + <ajc-test dir="pureJava/conflictingPackageNamesWithPackages" pr="437" + title="Looking in class Java for java.lang.String WITHOUT separate compilation with packages" + keywords="from-java"> + <compile files="Main.java,Java.java"/> + <run class="conflictingPackageNamesWithPackages.Main"/> + </ajc-test> + + <ajc-test dir="pureJava" title="Testing ternary operations." + keywords="from-java"> + <compile files="MultiTernaryOps.java"/> + <run class="MultiTernaryOps"/> + </ajc-test> + + <ajc-test dir="pureJava" title="Lifting locals in switch statements." + keywords="from-java"> + <compile files="SwitchStmtLocals.java"/> + <run class="SwitchStmtLocals"/> + </ajc-test> + + <ajc-test dir="pureJava" + title="Getting confused when looking up method signatures" + keywords="from-java"> + <compile files="MethodSigs.java"/> + <run class="MethodSigs"/> + </ajc-test> + + <ajc-test dir="pureJava" + title="Not recognizing the chars '\0', '\1', '\2', '\3', '\4', '\5', '\6', '\7'" + keywords="from-java"> + <compile files="Chars.java"/> + <run class="Chars"/> + </ajc-test> + + <ajc-test dir="pureJava" + title="Test chars '\0', '\1', '\2', '\3', '\4', '\5', '\6', '\7' with a case statement" + keywords="from-java"> + <compile files="CaseClauses.java"/> + <run class="CaseClauses"/> + </ajc-test> + + <ajc-test dir="pureJava" + title="Checking character values with all the unicode chars." + keywords="from-java"> + <compile files="CharsUnicode.java"/> + <run class="CharsUnicode"/> + </ajc-test> + + <ajc-test dir="pureJava" + title="Trouble finding methods with the same name and different parameter types" + keywords="from-java"> + <compile files="MethodsWithTheSameName.java"/> + <run class="MethodsWithTheSameName"/> + </ajc-test> + + <ajc-test dir="pureJava" + title="Binding non-public static inner classes of interfaces in other packages" + keywords="from-java"> + <compile + files="StaticClassesInInterfaces.java,anotherPackage/AnotherPackageInterface.java"/> + <run class="StaticClassesInInterfaces"/> + </ajc-test> + + <ajc-test dir="pureJava" + title="Not recognizing the octal chars '\0', '\1', '\2', '\3', '\4', '\5', '\6', '\7'" + keywords="from-java"> + <compile files="OctalChars.java"/> + <run class="OctalChars"/> + </ajc-test> + + <ajc-test dir="pureJava" + title="Members with the same name as their package cause confusion with fully-qualified names." + keywords="from-java"> + <compile files="samenames/Main.java,samenames/Other.java"/> + <run class="samenames.Main"/> + </ajc-test> + + <ajc-test dir="pureJava" + title="Fully-qual'ed names with same start as variable names" + keywords="from-java"> + <compile files="FullNames.java"/> + <run class="FullNames"/> + </ajc-test> + + <ajc-test dir="pureJava" + title="Fully qualifying inner classes within annonymous classes causes problems." + keywords="from-java"> + <compile files="InnerClassesInAnnonymousClasses.java"/> + <run class="InnerClassesInAnnonymousClasses"/> + </ajc-test> + + <ajc-test dir="pureJava" + title="Calls to methods in outer annonymous classes are being qual's incorrectly with 'this'" + keywords="from-java"> + <compile files="MisplacedThisInAnnonymousInnerClasses.java"/> + <run class="MisplacedThisInAnnonymousInnerClasses"/> + </ajc-test> + + <ajc-test dir="pureJava/innersFromSourceAndBytecode" + title="Reading inner classes from source and bytecode (1) -- was failing" + keywords="from-java"> + <compile files="C.java,D.java"/> + <compile files="Main.java,C.java" + includeClassesDir="true"/> + <run class="Main"/> + </ajc-test> + + <ajc-test dir="pureJava/innersFromSourceAndBytecode" + title="Reading inner classes from source and bytecode (2)" + keywords="from-java"> + <compile files="Main.java,C.java,D.java"/> + <run class="Main"/> + </ajc-test> + + <ajc-test dir="pureJava/innersFromSourceAndBytecode" + title="Reading inner classes from source and bytecode (3)" + keywords="from-java"> + <compile files="C.java,D.java"/> + <compile files="Main.java,C.java,D.java" + includeClassesDir="true"/> + <run class="Main"/> + </ajc-test> + + <ajc-test dir="pureJava" + title="Not lifting types correctly with bytes and shorts with ternary ops" + keywords="from-java"> + <compile files="TernaryPrimitiveOps.java"/> + <run class="TernaryPrimitiveOps"/> + </ajc-test> + + <ajc-test dir="pureJava" + title="Not looking up methods inside of anonymous declarations correctly." + keywords="from-java"> + <compile files="AnonymousMethodLookup.java"/> + <run class="AnonymousMethodLookup"/> + </ajc-test> + + <ajc-test dir="pureJava" + title="Resolving extended classes with array parameters" + keywords="from-java"> + <compile files="ResolvingArrayParameters.java"/> + <run class="ResolvingArrayParameters"/> + </ajc-test> + + <ajc-test dir="pureJava" + title="Assignments as second arguments in ternary operators." + keywords="from-java"> + <compile files="TernaryAssignments.java"/> + <run class="TernaryAssignments"/> + </ajc-test> + + + <ajc-test dir="pureJava" title="Conflicting inner classes with interfaces." + keywords="from-java"> + <compile files="PR413.java"/> + <run class="PR413"/> + </ajc-test> + + <ajc-test dir="pureJava" title="confusions of casts and parens" + keywords="from-java"> + <compile files="CastVsParen.java"/> + <run class="CastVsParen"/> + </ajc-test> + + <ajc-test dir="pureJava" + title="default constructors seen by inner classes subtyping outers" + keywords="from-java"> + <compile files="DefaultConsAndInner.java"/> + <run class="DefaultConsAndInner"/> + </ajc-test> + + <ajc-test dir="pureJava" + title="folding fields set to anonymous instances containing self-references" + keywords="from-java"> + <compile files="AnonFolding.java"/> + <run class="AnonFolding"/> + </ajc-test> + + <ajc-test dir="pureJava" + title="finally at the end of a method that needs to return" + keywords="from-java"> + <compile files="FinallyAndReturns.java"/> + <run class="FinallyAndReturns"/> + </ajc-test> + + <ajc-test dir="pureJava" + title="overriding methods from object in interfaces and multiple-inheritance" + keywords="from-java"> + <compile files="InterfaceAndObject.java"/> + <run class="InterfaceAndObject"/> + </ajc-test> + + <ajc-test dir="pureJava" + title="private fields in an outer class accessed by an inner which also extends the outer" + keywords="from-java"> + <compile files="PrivateFields.java"/> + <run class="PrivateFields"/> + </ajc-test> + + <ajc-test dir="pureJava" + title="breaking out of a labeled block inside of an if" + keywords="from-java"> + <compile files="Breaks.java"/> + <run class="Breaks"/> + </ajc-test> + + <ajc-test dir="pureJava" + title="abstractifying a method and getting it back through super" + keywords="from-java"> + <compile files="Abstracts.java"/> + <run class="Abstracts"/> + </ajc-test> + + <ajc-test dir="pureJava" + title="Packages and static classes with the same name produce compile errors." + keywords="from-java"> + <compile files="PackagesAndStaticClassesWithTheSameName.java"/> + <run class="PackagesAndStaticClassesWithTheSameName"/> + </ajc-test> + + <ajc-test dir="pureJava/innerTypeModifiers" + title="Inner types must generate classfiles with only Public/Default access flags." + keywords="from-java"> + <compile files="pkg1/Main.java,pkg2/Foo.java"/> + <run class="pkg1.Main"/> + </ajc-test> + + <ajc-test dir="pureJava/innerDefaultConstructors" + title="Default constructors have same access as their enclosing type" + keywords="from-java"> + <compile files="pkg1/Main.java,pkg2/Foo.java"> + <message kind="error" line="6"/> + </compile> + </ajc-test> + + <ajc-test dir="pureJava" + title="Returning primitive values matching method return type (minimal)" + keywords="from-java"> + <compile files="ReturnTypes.java"/> + <run class="ReturnTypes"/> + </ajc-test> + + <ajc-test dir="pureJava" title="Flow analysis and if(true)" + keywords="from-java"> + <compile files="Flow.java"/> + <run class="Flow"/> + </ajc-test> + + <ajc-test dir="pureJava" + title="packages and generated inner types (for I.class)" + keywords="from-java"> + <compile files="InterfaceAndClass.java"/> + <run class="p.InterfaceAndClass"/> + </ajc-test> + + <ajc-test dir="pureJava" title="A.this exprs match by exact type matching" + keywords="from-java"> + <compile files="QualifiedThisMatchesExactly.java"> + <message kind="error" line="14"/> + </compile> + </ajc-test> + + <ajc-test dir="pureJava" + title="Implicit this for new inner instance must be avaliable" + keywords="from-java"> + <compile files="ImplicitThisMissing.java"> + <message kind="error" line="4"/> + </compile> + </ajc-test> + + <ajc-test dir="pureJava" + title="Inners can reference protected fields of their outer's super." + keywords="from-java"> + <compile + files="protectedFieldRefInInner/Main.java,protectedFieldRefInInner/p1/C.java"/> + <run class="protectedFieldRefInInner.Main"/> + </ajc-test> + + <ajc-test dir="pureJava" + title="Primitives that special case for a constant arm should work" + keywords="from-java"> + <compile files="OneArmedPrimitiveTests.java"/> + <run class="OneArmedPrimitiveTests"/> + </ajc-test> + + <ajc-test dir="pureJava" title="Parenthesized true and false don't parse" + keywords="from-java"> + <compile files="ParenKeywords.java"/> + <run class="ParenKeywords"/> + </ajc-test> + + <ajc-test dir="pureJava" + title="Field sets to public fields of private fields of enclosing types" + keywords="from-java"> + <compile files="InnerFieldRef.java"/> + <run class="InnerFieldRef"/> + </ajc-test> + + <ajc-test dir="pureJava" + title="Constant values should be stored with the correct type of their fields" + keywords="from-java"> + <compile files="ConstantValueConversion.java"/> + <run class="ConstantValueConversion"/> + </ajc-test> + + <ajc-test dir="pureJava" + title="Local variables in initializers should not be treated as blank final fields" + keywords="from-java"> + <compile files="LocalInitializerVariableNotBlank.java"/> + <run class="LocalInitializerVariableNotBlank"/> + </ajc-test> + + <ajc-test dir="pureJava" + title="Binops aren't allowed as update stmts in for loops" + keywords="from-java"> + <compile files="NonStmtInFor.java"> + <message kind="error" line="3"/> + </compile> + </ajc-test> + + <ajc-test dir="pureJava" + title="Can't avoid doing division in case of div by zero" + keywords="from-java"> + <compile files="DivOpMustHappen.java"/> + <run class="DivOpMustHappen"/> + </ajc-test> + + <ajc-test dir="pureJava" + title="Testing frames w/greater than FF locals and 7F incs (i.e., WIDE instruction)" + keywords="from-java"> + <compile files="BigFrameTest.java"/> + <run class="BigFrameTest"/> + </ajc-test> + + <ajc-test dir="pureJava" title="correct numeric literals" + keywords="from-java"> + <compile files="LiteralsCp.java"/> + <run class="LiteralsCp"/> + </ajc-test> + + <ajc-test dir="pureJava" title="invalid numeric literals" + keywords="from-java"> + <compile files="LiteralsCf.java"> + <message kind="error" line="8"/> + <message kind="error" line="9"/> + <message kind="error" line="10"/> + <message kind="error" line="11"/> + <message kind="error" line="12"/> + <message kind="error" line="17"/> + <message kind="error" line="18"/> + <message kind="error" line="19"/> + <message kind="error" line="20"/> + <message kind="error" line="21"/> + <message kind="error" line="22"/> + <message kind="error" line="23"/> + <message kind="error" line="25"/> + <message kind="error" line="27"/> + <message kind="error" line="28"/> + <message kind="error" line="29"/> + <message kind="error" line="30"/> + <message kind="error" line="32"/> + </compile> + </ajc-test> + + <ajc-test dir="pureJava" pr="538" + title="inner types can't have the same simple name as an enclosing type" + keywords="from-java"> + <compile files="InnerNameConflictsCf.java"> + <message kind="error" line="9"/> + <message kind="error" line="14"/> + <message kind="error" line="20"/> + <message kind="error" line="21"/> + </compile> + </ajc-test> + + <ajc-test dir="pureJava" + title="test the unops and binops with various values" keywords="from-java"> + <compile files="BigOps.java"/> + <run class="BigOps"/> + </ajc-test> + + <ajc-test dir="pureJava" + title="test + and += for strings and variously typed values" + keywords="from-java"> + <compile files="BigString.java"/> + <run class="BigString"/> + </ajc-test> + + <ajc-test dir="pureJava" title="test try/catch/finally statements" + keywords="from-java"> + <compile files="TryCatchFinally.java"/> + <run class="TryCatchFinally"/> + </ajc-test> + + + <ajc-test dir="pureJava" pr="547" + title="local types can be bound in the signatures of other local types" + keywords="from-resolved_10rc3,from-java"> + <compile files="LocalInners.java"/> + <run class="LocalInners"/> + </ajc-test> + + <ajc-test dir="pureJava/nameConflicts" + title="type and package name conflicts are resolved happily (2)" + keywords="from-java"> + <compile files="p1/Main2.java,p1/p2/Foo.java"/> + <run class="p1.Main2"/> + </ajc-test> + + <ajc-test dir="pureJava" + title="try statements work sorta like scoped items for exception flow control" + keywords="from-java"> + <compile files="TryWorksLikeEnvironment.java"/> + <run class="TryWorksLikeEnvironment"/> + </ajc-test> + + <ajc-test dir="pureJava" + title="qualified this must work exactly, not based on subtypes" + keywords="from-java"> + <compile files="QualifiedThisExactness.java"> + <message kind="error" line="6"/> + </compile> + </ajc-test> + + <ajc-test dir="pureJava" + title="nested finally blocks have interesting frame location problems" + keywords="from-java"> + <compile files="NestedFinally.java"/> + <run class="NestedFinally"/> + </ajc-test> + + <ajc-test dir="pureJava" pr="601" + title="nested synchronized blocks have interesting frame location problems" + keywords="from-java"> + <compile files="NestedSynchronized.java"/> + <run class="NestedSynchronized"/> + </ajc-test> + + <ajc-test dir="pureJava" title="anonymous inner classes with inner types" + keywords="from-java"> + <compile files="AnonymousWithInner.java"/> + <run class="AnonymousWithInner"/> + </ajc-test> + + <ajc-test dir="pureJava" pr="651" title="qualified super call expr" + keywords="from-java"> + <compile files="QualifiedSuperCall.java"/> + <run class="QualifiedSuperCall"/> + </ajc-test> + + <ajc-test dir="pureJava" pr="680" + title="interfaces with non-explicitly static inner classes" + keywords="from-java"> + <compile files="InterfaceAndInnerHelper.java"/> + <compile files="InterfaceAndInner.java" + includeClassesDir="true"/> + <run class="InterfaceAndInner"/> + </ajc-test> + + <ajc-test dir="pureJava" title="Operands work correctly" + keywords="from-bigjava"> + <compile files="Ops.java"/> + <run class="Ops"/> + </ajc-test> + + <ajc-test dir="pureJava" title="simple tests of throws and for stmt typing" + keywords="from-errors"> + <compile files="SimpleSpec.java"> + <message kind="error" line="4"/> + <message kind="error" line="7"/> + </compile> + </ajc-test> + + <ajc-test dir="pureJava" title="test for not folding circular constants" + keywords="from-errors"> + <compile files="CircularFolding.java"> + <message kind="error" line="6"/> + <message kind="error" line="7"/> + <message kind="error" line="8"/> + </compile> + </ajc-test> + + <ajc-test dir="pureJava" title="continue targets must be continuable" + keywords="from-errors"> + <compile files="BadContinueTarget.java"> + <message kind="error" line="6"/> + </compile> + </ajc-test> + + <ajc-test dir="pureJava" + title="qualified this to non-inner should be caught" + keywords="from-errors"> + <compile files="BadQualifiedNew.java"> + <message kind="error" line="4"/> + </compile> + </ajc-test> + + <ajc-test dir="new" + title="Cannot bind a name." keywords="from-resolved_10x,purejava"> + <compile files="CannotReferenceSuper.java"/> + <run class="CannotReferenceSuper"/> + </ajc-test> + + <ajc-test dir="pureJava" pr="721" + title="interface declaration not permitted in local method scope" + keywords="from-resolved_105"> + <compile files="LocalInterfaceCE.java"> + <message kind="error" line="5"/> + <message kind="error" line="8"/> + <message kind="error" line="11"/> + <message kind="error" line="15"/> + </compile> + </ajc-test> + + <ajc-test dir="pureJava" + title="Locals inside other locals, ordering of processing [eh]" + keywords="from-resolved_105"> + <compile files="LocalInners2.java"/> + <run class="LocalInners2"/> + </ajc-test> + + <ajc-test dir="pureJava" pr="866" + title="non-constant static final fields marked as final in .class"> + <compile files="FinalStaticField.java"/> + <run class="FinalStaticField"/> + </ajc-test> + + <ajc-test dir="new" title="handle multiple nested inner classes" + keywords="from-java"> + <compile files="InnerHell.java"/> + <run class="InnerHell"/> + </ajc-test> + + <ajc-test dir="new/volatileKeyword" pr="151" + title="advice on a static method" keywords="from-java"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="new/innerConsSyntax" pr="192" + title="inner constructor syntax causes compile error" keywords="from-java"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="new/paramWidening" pr="195" + title="widening of method parameters to match javac" keywords="from-java"> + <compile files="Driver.java"/> + <run class="Driver"/> + </ajc-test> + + <ajc-test dir="new" pr="313" + title="parenthesized string literals matching primitive type names" + keywords="from-java"> + <compile files="ParenPrimitive.java"/> + <run class="ParenPrimitive"/> + </ajc-test> + + <ajc-test dir="new" title="simple type coercions tests" keywords="from-java"> + <compile files="TypeCoercions.java"/> + <run class="TypeCoercions"/> + </ajc-test> + + <ajc-test dir="new" title="order of type declarations shouldn't matter" + keywords="from-java"> + <compile files="OrderOfTypes.java"/> + <run class="OrderOfTypes"/> + </ajc-test> + + <ajc-test dir="new" title="Scanner non recognizing strictfp." + keywords="from-java"> + <compile files="StrictFp.java"/> + <run class="StrictFp"/> + </ajc-test> + + <ajc-test dir="new" + title="Crashes when a lot of zeros are in front of a double variable [!!! purejava]" + keywords="from-java"> + <compile files="Zeros.java"/> + <run class="Zeros"/> + </ajc-test> + diff --git a/tests/src/org/aspectj/systemtest/purejava/pureJava.xml b/tests/src/org/aspectj/systemtest/purejava/pureJava.xml new file mode 100644 index 000000000..1eb4b9f60 --- /dev/null +++ b/tests/src/org/aspectj/systemtest/purejava/pureJava.xml @@ -0,0 +1,10 @@ +<!DOCTYPE suite SYSTEM "../tests/ajcTestSuite.dtd"[ +<!ENTITY tests SYSTEM "../tests/src/org/aspectj/systemtest/purejava/pureJava-tests.xml"> +]> +<!-- Pure Java Tests --> + +<suite> + +&tests; + +</suite>
\ No newline at end of file diff --git a/tests/src/org/aspectj/systemtest/serialVerUID/SUIDTests.java b/tests/src/org/aspectj/systemtest/serialVerUID/SUIDTests.java new file mode 100644 index 000000000..8f5241287 --- /dev/null +++ b/tests/src/org/aspectj/systemtest/serialVerUID/SUIDTests.java @@ -0,0 +1,96 @@ +/* ******************************************************************* + * Copyright (c) 2004 IBM Corporation + * All rights reserved. + * This program and the accompanying materials are made available + * under the terms of the Common Public License v1.0 + * which accompanies this distribution and is available at + * http://www.eclipse.org/legal/cpl-v10.html + * + * ******************************************************************/ +package org.aspectj.systemtest.serialVerUID; + +import java.io.File; +import junit.framework.Test; +import org.aspectj.testing.XMLBasedAjcTestCase; + +public class SUIDTests extends org.aspectj.testing.XMLBasedAjcTestCase { + + public static Test suite() { + return XMLBasedAjcTestCase.loadSuite(SUIDTests.class); + } + + protected File getSpecFile() { + return new File("../tests/src/org/aspectj/systemtest/serialVerUID/serialVerUID.xml"); + } + + + public void test001(){ + runTest("SUID: Before execution advice"); + } + + public void test002(){ + runTest("SUID: Around execution advice"); + } + + public void test003(){ + runTest("SUID: Around closure execution advice (-Xlint:ignore)"); + } + + public void test004(){ + runTest("SUID: Around closure execution advice"); + } + + public void test005(){ + runTest("SUID: thisJoinPoint"); + } + + public void test006(){ + runTest("SUID: thisJoinPoint with clinit method"); + } + + public void test007(){ + runTest("SUID: After returning staticinitialization advice"); + } + + public void test008(){ + runTest("SUID: After returning staticinitialization advice with serialVersionUID field"); + } + + public void test009(){ + runTest("SUID: ITD field"); + } + + public void test010(){ + runTest("SUID: ITD method"); + } + + public void test011(){ + runTest("SUID: Declare extends"); + } + + public void test012(){ + runTest("SUID: Declare implements (compile)"); + } + + public void test013(){ + runTest("SUID: Declare implements non-Serializable (compile)"); + } + + public void test014(){ + runTest("SUID: Declare implements Serializable (compile)"); + } + + public void test015(){ + runTest("SUID: Declare implements (weave)"); + } + + public void test016(){ + runTest("SUID: Priviliged aspect"); + } + + public void test017(){ + runTest("SUID: Perthis aspect"); + } + +} + diff --git a/tests/src/org/aspectj/systemtest/serialVerUID/serialVerUID-tests.xml b/tests/src/org/aspectj/systemtest/serialVerUID/serialVerUID-tests.xml new file mode 100644 index 000000000..f121ac3f1 --- /dev/null +++ b/tests/src/org/aspectj/systemtest/serialVerUID/serialVerUID-tests.xml @@ -0,0 +1,165 @@ +<!-- SUID Tests --> + + <ajc-test dir="bugs/serialVersionUID" + title="SUID: Before execution advice" pr="41181"> + <compile files="Test.java, Util.java"/> + <run class="Test"/> + <compile files="Test.java, Util.java, BeforeExecutionAdvice.aj" options="-Xlint:warning"/> + <run class="Util"/> + </ajc-test> + + <ajc-test dir="bugs/serialVersionUID" + title="SUID: Around execution advice" comment="OK because around_body private" pr="41181"> + <compile files="Test.java, Util.java"/> + <run class="Test"/> + <compile files="Test.java, Util.java, AroundExecutionAdvice.aj" options="-Xlint:warning"/> + <run class="Util"/> + </ajc-test> + + <ajc-test dir="bugs/serialVersionUID" + title="SUID: Around closure execution advice (-Xlint:ignore)" comment="OK because ignoring warnings" + pr="41181"> + <compile files="Test.java, Util.java"/> + <run class="Test"/> + <compile files="Test.java, Util.java, AroundClosureExecutionAdvice.aj" options="-Xlint:ignore"/> + <run class="Util" options="-fail"/> + </ajc-test> + + <ajc-test dir="bugs/serialVersionUID" + title="SUID: Around closure execution advice" comment="Warning because around_body non-private" + pr="41181"> + <compile files="Test.java, Util.java"/> + <run class="Test"/> + <compile files="Test.java, Util.java, AroundClosureExecutionAdvice.aj" + xlintfile="Xlint.properties"> + <message kind="warning" line="9"/> + </compile> + <run class="Util" options="-fail"/> + </ajc-test> + + <ajc-test dir="bugs/serialVersionUID" + title="SUID: thisJoinPoint" comment="Warning because of introduced clinit" pr="41181"> + <compile files="Test.java, Util.java"/> + <run class="Test"/> + <compile + files="Test.java, Util.java, TJP.aj" options="-Xlint:warning"> + <message kind="warning" line="6"/> + <message kind="warning" line="13"/> + <message kind="warning" line="17"/> + <message kind="warning" line="24"/> + <message kind="warning" line="31"/> + </compile> + <run class="Util" options="-fail"/> + </ajc-test> + + <ajc-test dir="bugs/serialVersionUID" + title="SUID: thisJoinPoint with clinit method" comment="OK if tjp private and existing clinit" + pr="41181"> + <compile files="ClinitTest.java, Util.java"/> + <run class="ClinitTest"/> + <compile files="ClinitTest.java, Util.java, TJP.aj" options="-Xlint:warning"/> + <run class="Util" options="-read"/> + </ajc-test> + + <ajc-test dir="bugs/serialVersionUID" + title="SUID: After returning staticinitialization advice" comment="Warning because of added clinit" + pr="41181"> + <compile files="Test.java, Util.java"/> + <run class="Test"/> + <compile + files="Test.java, Util.java, AfterReturningStaticinitializationAdvice.aj" options="-Xlint:warning"> + <message kind="warning" line="6"/> + </compile> + <run class="Util" options="-fail"/> + </ajc-test> + + <ajc-test dir="bugs/serialVersionUID" + title="SUID: After returning staticinitialization advice with serialVersionUID field" + comment="OK because of serialVersionUID field" pr="41181"> + <compile files="SuidTest.java, Util.java" /> + <run class="SuidTest"/> + <compile files="SuidTest.java, Util.java, AfterReturningStaticinitializationAdvice.aj" options="-Xlint:warning"/> + <run class="Util"/> + </ajc-test> + + <ajc-test dir="bugs/serialVersionUID" + title="SUID: ITD field" comment="Error because added field may not be initialized" pr="41181"> + <compile files="Test.java, Util.java"/> + <run class="Test"/> + <compile files="Test.java, Util.java, ITDField.aj" options="-Xlint:error"> + <message kind="error" line="0"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs/serialVersionUID" + title="SUID: ITD method" comment="Warning because of added method" pr="41181"> + <compile files="Test.java, Util.java" /> + <run class="Test"/> + <compile files="Test.java, Util.java, ITDMethod.aj" options="-Xlint:warning"> + <message kind="warning" line="3"/> + </compile> + <run class="Util" options="-fail"/> + </ajc-test> + + <ajc-test dir="bugs/serialVersionUID" + title="SUID: Declare extends" comment="OK" pr="41181"> + <compile files="Test.java, Util.java" /> + <run class="Test"/> + <compile files="Test.java, Util.java, DeclareExtends.aj" options="-Xlint:warning"/> + <run class="Util"/> + </ajc-test> + + <ajc-test dir="bugs/serialVersionUID" + title="SUID: Declare implements (compile)" comment="Warning because of added interface" pr="41181"> + <compile files="Test.java, Util.java" /> + <run class="Test"/> + <compile files="Test.java, Util.java, DeclareImplements.aj" options="-Xlint:warning"> + <message kind="warning"/> + </compile> + <run class="Util" options="-fail"/> + </ajc-test> + + <ajc-test dir="bugs/serialVersionUID" + title="SUID: Declare implements non-Serializable (compile)" comment="OK because not Serializable" + pr="41181"> + <compile files="NonSerializableTest.java, DeclareImplements.aj" options="-Xlint:warning"/> + </ajc-test> + + <ajc-test dir="bugs/serialVersionUID" + title="SUID: Declare implements Serializable (compile)" comment="OK because adding Serializable" + pr="41181"> + <compile files="NonSerializableTest.java, DeclareImplementsSerializable.aj" options="-Xlint:warning"/> + </ajc-test> + + <ajc-test dir="bugs/serialVersionUID" + title="SUID: Declare implements (weave)" comment="Warning because of added interface" pr="41181"> + <compile files="Test.java, Util.java" /> + <run class="Test"/> + <compile files="injar.jar, DeclareImplements.aj" options="-Xlint:warning"> + <message kind="warning" line="0"/> + </compile> + <run class="Util" options="-fail"/> + </ajc-test> + + <ajc-test dir="bugs/serialVersionUID" title="SUID: Priviliged aspect" pr="41181"> + <compile files="Test.java, Util.java"/> + <run class="Test"/> + <compile files="Test.java, Util.java, PrivilegedAspect.aj" options="-Xlint:warning"> + <message kind="warning" line="1"/> + </compile> + <run class="Util" options="-fail"/> + </ajc-test> + + <ajc-test dir="bugs/serialVersionUID" + title="SUID: Perthis aspect" + comment="Warning because added of added interface MightHaveAspect. Added field is private transient" + pr="41181"> + <compile files="Test.java, Util.java" /> + <run class="Test"/> + <compile files="Test.java, Util.java, PerThisAspect.aj" options="-Xlint:warning"> + <message kind="warning" line="0"/> + </compile> + <run class="Util" options="-fail"/> + </ajc-test> + + diff --git a/tests/src/org/aspectj/systemtest/serialVerUID/serialVerUID.xml b/tests/src/org/aspectj/systemtest/serialVerUID/serialVerUID.xml new file mode 100644 index 000000000..20bfa889d --- /dev/null +++ b/tests/src/org/aspectj/systemtest/serialVerUID/serialVerUID.xml @@ -0,0 +1,10 @@ +<!DOCTYPE suite SYSTEM "../tests/ajcTestSuite.dtd"[ +<!ENTITY tests SYSTEM "../tests/src/org/aspectj/systemtest/serialVerUID/serialVerUID-tests.xml"> +]> +<!-- SUID Tests --> + +<suite> + +&tests; + +</suite> diff --git a/tests/src/org/aspectj/systemtest/xlint/XLintTests.java b/tests/src/org/aspectj/systemtest/xlint/XLintTests.java new file mode 100644 index 000000000..d3c1c54aa --- /dev/null +++ b/tests/src/org/aspectj/systemtest/xlint/XLintTests.java @@ -0,0 +1,104 @@ +/* ******************************************************************* + * Copyright (c) 2004 IBM Corporation + * All rights reserved. + * This program and the accompanying materials are made available + * under the terms of the Common Public License v1.0 + * which accompanies this distribution and is available at + * http://www.eclipse.org/legal/cpl-v10.html + * + * ******************************************************************/ +package org.aspectj.systemtest.xlint; + +import java.io.File; +import junit.framework.Test; +import org.aspectj.testing.XMLBasedAjcTestCase; + +public class XLintTests extends org.aspectj.testing.XMLBasedAjcTestCase { + + public static Test suite() { + return XMLBasedAjcTestCase.loadSuite(XLintTests.class); + } + + protected File getSpecFile() { + return new File("../tests/src/org/aspectj/systemtest/xlint/xlint.xml"); + } + + + public void test001(){ + runTest("options -Xlint args()"); + } + + public void test002(){ + runTest("options declare field on bad type"); + } + + public void test003(){ + runTest("options declare method on bad type"); + } + + public void test004(){ + runTest("options -Xlint declare parent"); + } + + public void test005(){ + runTest("options -Xlint target()"); + } + + public void test006(){ + runTest("options -Xlint this()"); + } + + public void test007(){ + runTest("options negative -Xlint args()"); + } + + public void test008(){ + runTest("options negative -Xlint declare parent"); + } + + public void test009(){ + runTest("options negative -Xlint target()"); + } + + public void test010(){ + runTest("options negative -Xlint this()"); + } + + public void test011(){ + runTest("unmatched type name in a declare parents should result in a warning in -Xlint mode"); + } + + public void test012(){ + runTest("privileged access to code outside the control of the compiler"); + } + + public void test013(){ + runTest("Unexpected Xlint:unresolvableMember warning with withincode"); + } + + public void test014(){ + runTest("valid XLintWarningTest file, default level of warning"); + } + + public void test015(){ + runTest("XLint:ignore suppresses XLint warnings"); + } + + public void test016(){ + runTest("XLint:error promotes XLint warnings to error"); + } + + public void test017(){ + runTest("alias getCause for getWrappedThrowable in SoftException"); + } + + public void test018(){ + runTest("XLint warning for call PCD's using subtype of defining type"); + } + + public void test019(){ + runTest("XLint warning for call PCD's using subtype of defining type (-1.3 -Xlint:ignore)"); + } + +} + diff --git a/tests/src/org/aspectj/systemtest/xlint/xlint-tests.xml b/tests/src/org/aspectj/systemtest/xlint/xlint-tests.xml new file mode 100644 index 000000000..150aa984a --- /dev/null +++ b/tests/src/org/aspectj/systemtest/xlint/xlint-tests.xml @@ -0,0 +1,161 @@ +<!-- XLint Tests --> + + <!-- .................................... -Xlint tests --> + <!-- ............... positive -Xlint tests --> + <ajc-test dir="options" + title="options -Xlint args()" + keywords="lint"> + <compile files="XLintTypeArgsPCD.java"> + <message kind="warning" line="10"/> + </compile> + </ajc-test> + + <ajc-test dir="options" + title="options declare field on bad type"> + <compile files="XLintTypeDeclareField.java" options="!eclipse"> + <message kind="error" line="10"/> + </compile> + </ajc-test> + + <ajc-test dir="options" + title="options declare method on bad type"> + <compile files="XLintTypeDeclareMethod.java" options="!eclipse"> + <message kind="error" line="10"/> + </compile> + </ajc-test> + + <ajc-test dir="options" + title="options -Xlint declare parent" + keywords="lint"> + <compile files="XLintTypeDeclareParent.java"> + <message kind="warning" line="10"/> + </compile> + </ajc-test> + + <ajc-test dir="options" + title="options -Xlint target()" + keywords="lint"> + <compile files="XLintTypeTargetPCD.java"> + <message kind="warning" line="10"/> + </compile> + </ajc-test> + + <ajc-test dir="options" + title="options -Xlint this()" + keywords="lint"> + <compile files="XLintTypeThisPCD.java"> + <message kind="warning" line="10"/> + </compile> + </ajc-test> + + <!-- ............... negative -Xlint tests --> + <ajc-test dir="options" + title="options negative -Xlint args()" + keywords="lint"> + <compile files="XLintTypeArgsPCD.java" options="-Xlint:ignore"/> + </ajc-test> + + <ajc-test dir="options" + title="options negative -Xlint declare parent" + keywords="lint"> + <compile files="XLintTypeDeclareParent.java" options="-Xlint:ignore"/> + </ajc-test> + + <ajc-test dir="options" + title="options negative -Xlint target()" + keywords="lint"> + <compile files="XLintTypeTargetPCD.java" options="-Xlint:ignore"/> + </ajc-test> + + <ajc-test dir="options" + title="options negative -Xlint this()" + keywords="lint"> + <compile files="XLintTypeThisPCD.java" options="-Xlint:ignore"/> + </ajc-test> + + + <ajc-test dir="new" + title="unmatched type name in a declare parents should result in a warning in -Xlint mode" + keywords="tofix"> + <compile options="-Xlint" files="MissingTypeInDeclareParents.java"> + <message kind="warning" line="20"/> + </compile> + <run class="MissingTypeInDeclareParents"/> + </ajc-test> + + + <!-- The correct behavior of this program is to produce an Xlint + warning for the lack of access to the needed type, and then + to generate code with link errors that will throw a NoSuchMethodError + when run. + --> + <ajc-test dir="bugs" pr="906" + title="privileged access to code outside the control of the compiler"> + <compile files="PrivilegeBeyondScope.java" options="-Xlint:warning"> + <message kind="warning" line="23"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs" pr="37739" + title="Unexpected Xlint:unresolvableMember warning with withincode"> + <compile files="CatchSig.java"> + </compile> + <run class="CatchSig"/> + </ajc-test> + + + <ajc-test dir="harness" + title="valid XLintWarningTest file, default level of warning"> + <compile files="XLintWarningTest.java"> + <message kind="warning" line="5" + text="Xlint:invalidAbsoluteTypeName"/> + </compile> + </ajc-test> + + <ajc-test dir="harness" + title="XLint:ignore suppresses XLint warnings"> + <compile files="XLintWarningTest.java" options="-Xlint:ignore"/> + </ajc-test> + + <ajc-test dir="harness" + title="XLint:error promotes XLint warnings to error"> + <compile files="XLintWarningTest.java" options="-Xlint:error"> + <message kind="error" line="5" + text="Xlint:invalidAbsoluteTypeName"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs" pr="49250" + title="alias getCause for getWrappedThrowable in SoftException"> + <compile files="GetCauseOnSoftException.java" options="-Xlint:warning"> + </compile> + <run vm="1.3" class="GetCauseOnSoftException"/> + </ajc-test> + + <ajc-test dir="bugs" + title="XLint warning for call PCD's using subtype of defining type" + pr="41952" + > + <compile + files="DeclaringTypeWarning.java" + options="-1.3" > + <message kind="warning" line="6" text="declaring type"> + <source line="12" file="DeclaringTypeWarning.java" /> + </message> + <message kind="warning" line="6" text="declaring type"> + <source line="14" file="DeclaringTypeWarning.java" /> + </message> + </compile> + </ajc-test> + + <ajc-test dir="bugs" + title="XLint warning for call PCD's using subtype of defining type (-1.3 -Xlint:ignore)" + pr="41952" + > + <compile + options="-Xlint:ignore,-1.3" + files="DeclaringTypeWarning.java" > + </compile> + </ajc-test> + +
\ No newline at end of file diff --git a/tests/src/org/aspectj/systemtest/xlint/xlint.xml b/tests/src/org/aspectj/systemtest/xlint/xlint.xml new file mode 100644 index 000000000..efe2a0014 --- /dev/null +++ b/tests/src/org/aspectj/systemtest/xlint/xlint.xml @@ -0,0 +1,10 @@ +<!DOCTYPE suite SYSTEM "../tests/ajcTestSuite.dtd"[ +<!ENTITY tests SYSTEM "../tests/src/org/aspectj/systemtest/xlint/xlint-tests.xml"> +]> +<!-- XLint Tests --> + +<suite> + +&tests; + +</suite>
\ No newline at end of file |