Browse Source

Fix outdated ajcTestSuite.dtd and lots of XML problems

Now there should be no more inspection warnings when working with XML
test definitions. Only the strangely looking XML files used by
PureJavaTests and KnownLimitationsTests are left to be analysed and
fixed.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
tags/java16-add-opens
Alexander Kriegisch 3 years ago
parent
commit
0cec8aea6f

+ 82
- 83
testing/src/test/java/org/aspectj/testing/xml/AjcSpecXmlReader.java View File

/* ******************************************************************* /* *******************************************************************
* Copyright (c) 1999-2001 Xerox Corporation,
* Copyright (c) 1999-2001 Xerox Corporation,
* 2002 Palo Alto Research Center, Incorporated (PARC), * 2002 Palo Alto Research Center, Incorporated (PARC),
* 2003 Contributors. * 2003 Contributors.
* All rights reserved.
* This program and the accompanying materials are made available
* under the terms of the Eclipse Public License v1.0
* which accompanies this distribution and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Xerox/PARC initial implementation
* All rights reserved.
* This program and the accompanying materials are made available
* under the terms of the Eclipse Public License v1.0
* which accompanies this distribution and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Xerox/PARC initial implementation
* Wes Isberg resolver * Wes Isberg resolver
* ******************************************************************/ * ******************************************************************/


import org.xml.sax.InputSource; import org.xml.sax.InputSource;
import org.xml.sax.SAXException; import org.xml.sax.SAXException;


/**
* Read an ajc test specification in xml form.
/**
* Read an ajc test specification in xml form.
* Input files should comply with DOCTYPE * Input files should comply with DOCTYPE
*/ */
public class AjcSpecXmlReader { public class AjcSpecXmlReader {
* To add new elements or attributes: * To add new elements or attributes:
* - update the DOCTYPE * - update the DOCTYPE
* - update setupDigester(..) * - update setupDigester(..)
* - new sub-elements should be created
* - new sub-elements should be created
* - new attributes should have values set as bean properties * - new attributes should have values set as bean properties
* (possibly by mapping names) * (possibly by mapping names)
* - new sub-elements should be added to parents * - new sub-elements should be added to parents
* - update any client writers referring to the DOCTYPE, as necessary. * - update any client writers referring to the DOCTYPE, as necessary.
* - the parent IXmlWriter should delegate to the child component * - the parent IXmlWriter should delegate to the child component
* as IXmlWriter (or write the subelement itself) * as IXmlWriter (or write the subelement itself)
*
*
* Debugging * Debugging
* - use logLevel = 2 for tracing * - use logLevel = 2 for tracing
* - common mistakes * - common mistakes
* - no rule defined (or misdefined) so element ignored * - no rule defined (or misdefined) so element ignored
* - property read-only (?) * - property read-only (?)
*/ */
// private static final String EOL = "\n"; // private static final String EOL = "\n";
/** presumed relative-path to dtd file for any XML files written by writeSuiteToXmlFile */ /** presumed relative-path to dtd file for any XML files written by writeSuiteToXmlFile */
public static final String DTD_PATH = "../tests/ajcTestSuite.dtd"; public static final String DTD_PATH = "../tests/ajcTestSuite.dtd";
/** expected doc type of AjcSpec XML files */ /** expected doc type of AjcSpec XML files */
public static final String DOCTYPE = "<!DOCTYPE "
public static final String DOCTYPE = "<!DOCTYPE "
+ AjcTest.Suite.Spec.XMLNAME + " SYSTEM \"" + DTD_PATH + "\">"; + AjcTest.Suite.Spec.XMLNAME + " SYSTEM \"" + DTD_PATH + "\">";


private static final AjcSpecXmlReader ME
private static final AjcSpecXmlReader ME
= new AjcSpecXmlReader(); = new AjcSpecXmlReader();
/** @return shared instance */ /** @return shared instance */
public static final AjcSpecXmlReader getReader() { public static final AjcSpecXmlReader getReader() {
return ME; return ME;
} }
public static void main(String[] a) throws IOException { public static void main(String[] a) throws IOException {
writeDTD(new File("../tests/ajcTestSuite2.dtd")); writeDTD(new File("../tests/ajcTestSuite2.dtd"));
} }
/**
/**
* Write a DTD to dtdFile. * Write a DTD to dtdFile.
* @deprecated * @deprecated
* @param dtdFile the File to write to * @param dtdFile the File to write to
LangUtil.throwIaxIfNull(dtdFile, "dtdFile"); LangUtil.throwIaxIfNull(dtdFile, "dtdFile");
PrintWriter out = new PrintWriter(new FileWriter(dtdFile)); PrintWriter out = new PrintWriter(new FileWriter(dtdFile));
try { try {
out.println("<!-- document type for ajc test suite - see "
out.println("<!-- document type for ajc test suite - see "
+ AjcSpecXmlReader.class.getName() + " -->"); + AjcSpecXmlReader.class.getName() + " -->");
//out.println(getDocType()); //out.println(getDocType());
} finally { } finally {
out.close(); out.close();
}
}
} }


private static final String[] LOG = new String[] {"info", "debug", "trace" }; private static final String[] LOG = new String[] {"info", "debug", "trace" };
// XXX logLevel n>0 causes JUnit tests to fail! // XXX logLevel n>0 causes JUnit tests to fail!
private int logLevel = 0; // use 2 for tracing
private int logLevel = 0; // use 2 for tracing
private AjcSpecXmlReader() {} private AjcSpecXmlReader() {}


/** @param level 0..2, info..trace */ /** @param level 0..2, info..trace */
if (level > 2) { if (level > 2) {
level = 2; level = 2;
} }
logLevel = level;
logLevel = level;
} }


/** /**
* Print an IXmlWritable to the output file * Print an IXmlWritable to the output file
* with our leader and DOCTYPE. * with our leader and DOCTYPE.
* @param output the File to write to - overwritten * @param output the File to write to - overwritten
* @param tests the List of IXmlWritable to write
* @return null if no warnings detected, warnings otherwise * @return null if no warnings detected, warnings otherwise
*/ */
public String writeSuiteToXmlFile(File output, IXmlWritable topNode) throws IOException { public String writeSuiteToXmlFile(File output, IXmlWritable topNode) throws IOException {
String parent = output.getParent(); String parent = output.getParent();
if (null == parent) { if (null == parent) {
parent = "."; parent = ".";
}
}
String dtdPath = parent + "/" + DTD_PATH; String dtdPath = parent + "/" + DTD_PATH;
File dtdFile = new File(dtdPath); File dtdFile = new File(dtdPath);
if (!dtdFile.canRead()) { if (!dtdFile.canRead()) {
} }
return null; return null;
} }
/**
/**
* Read the specifications for a suite of AjcTest from an XML file. * Read the specifications for a suite of AjcTest from an XML file.
* This also sets the suite dir in the specification. * This also sets the suite dir in the specification.
* @param file the File must be readable, comply with DOCTYPE. * @param file the File must be readable, comply with DOCTYPE.
* @return AjcTest.Suite.Spec read from file * @return AjcTest.Suite.Spec read from file
* @see setLogLevel(int)
* @see #setLogLevel(int)
*/ */
public AjcTest.Suite.Spec readAjcSuite(File file) throws IOException, AbortException { public AjcTest.Suite.Spec readAjcSuite(File file) throws IOException, AbortException {
// setup loggers for digester and beanutils... // setup loggers for digester and beanutils...
if (null != input) { if (null != input) {
input.close(); input.close();
input = null; input = null;
}
}
} }
AjcTest.Suite.Spec result = holder.spec; AjcTest.Suite.Spec result = holder.spec;
if (null != result) { if (null != result) {
} }
return result; return result;
} }
private Digester makeDigester(final File suiteFile) { private Digester makeDigester(final File suiteFile) {
// implement EntityResolver directly; set is failing // implement EntityResolver directly; set is failing
Digester result = new Digester() { Digester result = new Digester() {
final SuiteResolver resolver = new SuiteResolver(suiteFile); final SuiteResolver resolver = new SuiteResolver(suiteFile);
public InputSource resolveEntity( public InputSource resolveEntity(
String publicId,
String publicId,
String systemId) String systemId)
throws SAXException { throws SAXException {
return resolver.resolveEntity(publicId, systemId); return resolver.resolveEntity(publicId, systemId);
setupDigester(result); setupDigester(result);
return result; return result;
} }
/** set up the mapping between the xml and Java. */ /** set up the mapping between the xml and Java. */
private void setupDigester(Digester digester) { private void setupDigester(Digester digester) {
// XXX supply sax parser to ignore white space? // XXX supply sax parser to ignore white space?
digester.addObjectCreate(compileX, CompilerRun.Spec.class.getName()); digester.addObjectCreate(compileX, CompilerRun.Spec.class.getName());
//digester.addObjectCreate(compileX + "/file", AbstractRunSpec.WrapFile.class.getName()); //digester.addObjectCreate(compileX + "/file", AbstractRunSpec.WrapFile.class.getName());
digester.addObjectCreate(inccompileX, IncCompilerRun.Spec.class.getName()); digester.addObjectCreate(inccompileX, IncCompilerRun.Spec.class.getName());
digester.addObjectCreate(runX, JavaRun.Spec.class.getName());
digester.addObjectCreate(runX, JavaRun.Spec.class.getName());
digester.addObjectCreate(messageX, SoftMessage.class.getName()); digester.addObjectCreate(messageX, SoftMessage.class.getName());
digester.addObjectCreate(messageSrcLocX, SoftSourceLocation.class.getName()); digester.addObjectCreate(messageSrcLocX, SoftSourceLocation.class.getName());
digester.addObjectCreate(dirchangesX, DirChanges.Spec.class.getName()); digester.addObjectCreate(dirchangesX, DirChanges.Spec.class.getName());
// ---- set bean properties for sub-elements created automatically // ---- set bean properties for sub-elements created automatically
// -- some remapped - warnings // -- some remapped - warnings
// - if property exists, map will not be used // - if property exists, map will not be used
digester.addSetProperties(suiteX); // ok to have suite messages and global suite options, etc. digester.addSetProperties(suiteX); // ok to have suite messages and global suite options, etc.
digester.addSetProperties(ajctestX,
digester.addSetProperties(ajctestX,
new String[] { "title", "dir", "pr"}, new String[] { "title", "dir", "pr"},
new String[] { "description", "testDirOffset", "bugId"}); new String[] { "description", "testDirOffset", "bugId"});
digester.addSetProperties(compileX,
digester.addSetProperties(compileX,
new String[] { "files", "argfiles"}, new String[] { "files", "argfiles"},
new String[] { "paths", "argfiles"}); new String[] { "paths", "argfiles"});
digester.addSetProperties(compileX + "/file"); digester.addSetProperties(compileX + "/file");
digester.addSetProperties(inccompileX, "classes", "paths"); digester.addSetProperties(inccompileX, "classes", "paths");
digester.addSetProperties(runX,
digester.addSetProperties(runX,
new String[] { "class", "vm", "skipTester", "fork", "vmargs", "aspectpath", "module"}, new String[] { "class", "vm", "skipTester", "fork", "vmargs", "aspectpath", "module"},
new String[] { "className", "javaVersion", "skipTester", "fork", "vmArgs", "aspectpath", "module"}); new String[] { "className", "javaVersion", "skipTester", "fork", "vmArgs", "aspectpath", "module"});
digester.addSetProperties(dirchangesX); digester.addSetProperties(dirchangesX);
// only file subelement of compile uses text as path... XXX vestigial // only file subelement of compile uses text as path... XXX vestigial
digester.addCallMethod(compileX + "/file", "setFile", 0); digester.addCallMethod(compileX + "/file", "setFile", 0);


// ---- when subelements are created, add to parent
// ---- when subelements are created, add to parent
// add ajctest to suite, runs to ajctest, files to compile, messages to any parent... // add ajctest to suite, runs to ajctest, files to compile, messages to any parent...
// the method name (e.g., "addSuite") is in the parent (SuiteHolder) // the method name (e.g., "addSuite") is in the parent (SuiteHolder)
// the class (e.g., AjcTest.Suite.Spec) refers to the type of the object created // the class (e.g., AjcTest.Suite.Spec) refers to the type of the object created
// addSourceLocation is for the extra // addSourceLocation is for the extra
digester.addSetNext(messageSrcLocX, "addSourceLocation", ISourceLocation.class.getName()); digester.addSetNext(messageSrcLocX, "addSourceLocation", ISourceLocation.class.getName());
digester.addSetNext(dirchangesX, "addDirChanges", DirChanges.Spec.class.getName()); digester.addSetNext(dirchangesX, "addDirChanges", DirChanges.Spec.class.getName());
// can set parent, but prefer to have "knows-about" flow down only... // can set parent, but prefer to have "knows-about" flow down only...
} }


// ------------------------------------------------------------ testing code // ------------------------------------------------------------ testing code
/**
* Get expected bean properties for introspection tests.
/**
* Get expected bean properties for introspection tests.
* This should return an expected property for every attribute in DOCTYPE, * This should return an expected property for every attribute in DOCTYPE,
* using any mapped-to names from setupDigester. * using any mapped-to names from setupDigester.
*/ */
static BProps[] expectedProperties() { static BProps[] expectedProperties() {
return new BProps[]
return new BProps[]
{ {
new BProps(AjcTest.Suite.Spec.class,
new BProps(AjcTest.Suite.Spec.class,
new String[] { "suiteDir"}), // verbose removed new String[] { "suiteDir"}), // verbose removed
new BProps(AjcTest.Spec.class,
new BProps(AjcTest.Spec.class,
new String[] { "description", "testDirOffset", "bugId"}), new String[] { "description", "testDirOffset", "bugId"}),
// mapped from { "title", "dir", "pr"} // mapped from { "title", "dir", "pr"}
new BProps(CompilerRun.Spec.class,
new String[] { "files", "options",
new BProps(CompilerRun.Spec.class,
new String[] { "files", "options",
"staging", "badInput", "reuseCompiler", "includeClassesDir", "staging", "badInput", "reuseCompiler", "includeClassesDir",
"argfiles", "aspectpath", "classpath", "extdirs",
"argfiles", "aspectpath", "classpath", "extdirs",
"sourceroots", "xlintfile", "outjar"}), "sourceroots", "xlintfile", "outjar"}),
new BProps(IncCompilerRun.Spec.class,
new BProps(IncCompilerRun.Spec.class,
new String[] { "tag" }), new String[] { "tag" }),
new BProps(JavaRun.Spec.class,
new String[] { "className", "skipTester", "options",
new BProps(JavaRun.Spec.class,
new String[] { "className", "skipTester", "options",
"javaVersion", "errStreamIsError", "outStreamIsError", "javaVersion", "errStreamIsError", "outStreamIsError",
"fork", "vmArgs", "aspectpath"}), "fork", "vmArgs", "aspectpath"}),
// mapped from { "class", ...} // mapped from { "class", ...}
new BProps(DirChanges.Spec.class,
new BProps(DirChanges.Spec.class,
new String[] { "added", "removed", "updated", "unchanged", "dirToken", "defaultSuffix"}), new String[] { "added", "removed", "updated", "unchanged", "dirToken", "defaultSuffix"}),
// new BProps(AbstractRunSpec.WrapFile.class,
// new BProps(AbstractRunSpec.WrapFile.class,
// new String[] { "path"}), // new String[] { "path"}),
new BProps(SoftMessage.class,
new BProps(SoftMessage.class,
new String[] { "kindAsString", "lineAsString", "text", "details", "file"}) new String[] { "kindAsString", "lineAsString", "text", "details", "file"})
// mapped from { "kind", "line", ...} // mapped from { "kind", "line", ...}
}; };
} }
/**
/**
* This is only to do compile-time checking for the APIs impliedly * This is only to do compile-time checking for the APIs impliedly
* used in setupDigester(..). * used in setupDigester(..).
* The property setter checks are redundant with tests based on * The property setter checks are redundant with tests based on
* expectedProperties(). * expectedProperties().
*/ */
private static void setupDigesterCompileTimeCheck() {
private static void setupDigesterCompileTimeCheck() {
if (true) { throw new Error("never invoked"); } if (true) { throw new Error("never invoked"); }
AjcTest.Suite.Spec suite = new AjcTest.Suite.Spec(); AjcTest.Suite.Spec suite = new AjcTest.Suite.Spec();
AjcTest.Spec test = new AjcTest.Spec(); AjcTest.Spec test = new AjcTest.Spec();
// ajctest.setTestBaseDirOffset((String) null); // ajctest.setTestBaseDirOffset((String) null);
// ajctest.setBugId((String) null); // ajctest.setBugId((String) null);
// ajctest.setTestSourceLocation((ISourceLocation) null); // ajctest.setTestSourceLocation((ISourceLocation) null);
CompilerRun.Spec crunSpec = new CompilerRun.Spec(); CompilerRun.Spec crunSpec = new CompilerRun.Spec();
crunSpec.addMessage((IMessage) null); crunSpec.addMessage((IMessage) null);
// XXX crunSpec.addSourceLocation((ISourceLocation) null); // XXX crunSpec.addSourceLocation((ISourceLocation) null);
crunSpec.setReuseCompiler(false); crunSpec.setReuseCompiler(false);
crunSpec.setXlintfile((String) null); crunSpec.setXlintfile((String) null);
crunSpec.setOutjar((String)null); crunSpec.setOutjar((String)null);
IncCompilerRun.Spec icrunSpec = new IncCompilerRun.Spec(); IncCompilerRun.Spec icrunSpec = new IncCompilerRun.Spec();
icrunSpec.addMessage((IMessage) null); icrunSpec.addMessage((IMessage) null);
icrunSpec.setTag((String) null); icrunSpec.setTag((String) null);
jrunspec.setClassName((String) null); jrunspec.setClassName((String) null);
jrunspec.addMessage((IMessage) null); jrunspec.addMessage((IMessage) null);
// input s.b. interpretable by Boolean.valueOf(String) // input s.b. interpretable by Boolean.valueOf(String)
jrunspec.setSkipTester(true);
jrunspec.setSkipTester(true);
jrunspec.setErrStreamIsError("false"); jrunspec.setErrStreamIsError("false");
jrunspec.setOutStreamIsError("false"); jrunspec.setOutStreamIsError("false");
jrunspec.setAspectpath(""); jrunspec.setAspectpath("");
jrunspec.setFork(false); jrunspec.setFork(false);
jrunspec.setLTW("false"); jrunspec.setLTW("false");
jrunspec.setException("Error"); jrunspec.setException("Error");
DirChanges.Spec dcspec = new DirChanges.Spec(); DirChanges.Spec dcspec = new DirChanges.Spec();
dcspec.setAdded((String) null); dcspec.setAdded((String) null);
dcspec.setRemoved((String) null); dcspec.setRemoved((String) null);
m.setText((String) null); m.setText((String) null);
m.setKindAsString((String) null); m.setKindAsString((String) null);
m.setDetails((String) null); m.setDetails((String) null);
SoftSourceLocation sl = new SoftSourceLocation(); SoftSourceLocation sl = new SoftSourceLocation();
sl.setFile((String) null);
sl.setLine((String) null);
sl.setColumn((String) null);
sl.setEndLine((String) null);
sl.setFile((String) null);
sl.setLine((String) null);
sl.setColumn((String) null);
sl.setEndLine((String) null);
// add attribute setters to validate? // add attribute setters to validate?
} }
/** top element on Digester stack holds the test suite */ /** top element on Digester stack holds the test suite */
public static class SuiteHolder { public static class SuiteHolder {
AjcTest.Suite.Spec spec; AjcTest.Suite.Spec spec;
this.spec = spec; this.spec = spec;
} }
} }
/** hold class/properties association for testing */ /** hold class/properties association for testing */
static class BProps { static class BProps {
final Class cl; final Class cl;
this.props = props; this.props = props;
} }
} }
/** /**
* Find file NAME=="ajcTestSuite.dtd" from some reasonably-local * Find file NAME=="ajcTestSuite.dtd" from some reasonably-local
* relative directories. * relative directories.
* XXX bug: commons parser doesn't accept second registration, * XXX bug: commons parser doesn't accept second registration,
* so we override Digester's implementation instead. * so we override Digester's implementation instead.
* XXX cannot JUnit test SuiteResolver since they run from
* XXX cannot JUnit test SuiteResolver since they run from
* local directory with valid reference * local directory with valid reference
* XXX does not fix JDK 1.4 parser message "unable to resolve without base URI" * XXX does not fix JDK 1.4 parser message "unable to resolve without base URI"
* XXX should be able to just set BaseURI instead... * XXX should be able to just set BaseURI instead...
public SuiteResolver(File suiteFile) { public SuiteResolver(File suiteFile) {
this.suiteFile = suiteFile; this.suiteFile = suiteFile;
} }


private String getPath(String id) { private String getPath(String id) {
// first, try id relative to suite file // first, try id relative to suite file
return result.getPath(); return result.getPath();
} }
} }
// then try misc paths relative to suite file or current dir
// then try misc paths relative to suite file or current dir
final File[] baseDirs = new File[] final File[] baseDirs = new File[]
{ suiteFileDir, new File(".") { suiteFileDir, new File(".")
}; };
final String[] locations = new String[] final String[] locations = new String[]
{ ".", "..", "../tests", "../../tests",
{ ".", "..", "../tests", "../../tests",
"../../../tests", "tests", "modules/tests" "../../../tests", "tests", "modules/tests"
}; };
File baseDir; File baseDir;
return null; return null;
} }
public InputSource resolveEntity( public InputSource resolveEntity(
String publicId,
String publicId,
String systemId) String systemId)
throws SAXException { throws SAXException {
InputSource result = null; InputSource result = null;
if ((null != systemId) &&
if ((null != systemId) &&
systemId.endsWith(NAME)) { systemId.endsWith(NAME)) {
String path = getPath(systemId); String path = getPath(systemId);
if (null != path) { if (null != path) {
// int start = line.indexOf("\""); // int start = line.indexOf("\"");
// int end = line.lastIndexOf(NAME + "\""); // int end = line.lastIndexOf(NAME + "\"");
// if ((0 < start) && (start < end)) { // if ((0 < start) && (start < end)) {
// return upper.substring(start+1,
// end + NAME.length());
// return upper.substring(start+1,
// end + NAME.length());
// } // }
// } else if (!line.startsWith("<?xml")) { // } else if (!line.startsWith("<?xml")) {
// break; // something else... // break; // something else...

+ 119
- 71
tests/ajcTestSuite.dtd View File

<!-- this defines a DOCTYPE for a suite of ajc tests -->
<!-- element-component mappings are in org.aspectj.testing.xml.AjcSpecXmlReader -->
<!-- element names are determined by the component XMLNAME static variable -->
<!ELEMENT suite (ajc-test*)>
<!ATTLIST suite suiteDir CDATA #IMPLIED >
<!-- permits leading inc-compile, will fail -->
<!ELEMENT ajc-test ((compile | inc-compile | run)*)>
<!ATTLIST ajc-test title CDATA #REQUIRED >
<!ATTLIST ajc-test dir CDATA #REQUIRED >
<!ATTLIST ajc-test pr CDATA #IMPLIED >
<!ATTLIST ajc-test keywords CDATA #IMPLIED >
<!ATTLIST ajc-test comment CDATA #IMPLIED >
<!ELEMENT compile (dir-changes*,message*)>
<!ATTLIST compile staging CDATA #IMPLIED >
<!ATTLIST compile badInput CDATA #IMPLIED >
<!ATTLIST compile files CDATA #IMPLIED >
<!ATTLIST compile reuseCompiler CDATA #IMPLIED >
<!ATTLIST compile includeClassesDir CDATA #IMPLIED >
<!ATTLIST compile argfiles CDATA #IMPLIED >
<!ATTLIST compile aspectpath CDATA #IMPLIED >
<!ATTLIST compile classpath CDATA #IMPLIED >
<!ATTLIST compile extdirs CDATA #IMPLIED >
<!ATTLIST compile options CDATA #IMPLIED >
<!ATTLIST compile sourceroots CDATA #IMPLIED >
<!ATTLIST compile xlintfile CDATA #IMPLIED >
<!ATTLIST compile outjar CDATA #IMPLIED >
<!ELEMENT inc-compile (dir-changes*,message*)>
<!ATTLIST inc-compile tag CDATA #REQUIRED >
<!ATTLIST inc-compile fresh CDATA #IMPLIED >
<!ATTLIST inc-compile checkModel CDATA #IMPLIED >
<!ELEMENT run (dir-changes*,message*)>
<!ATTLIST run class CDATA #REQUIRED >
<!ATTLIST run skipTester CDATA #IMPLIED >
<!ATTLIST run vm CDATA #IMPLIED >
<!ATTLIST run options CDATA #IMPLIED >
<!ATTLIST run errStreamIsError CDATA #IMPLIED >
<!ATTLIST run outStreamIsError CDATA #IMPLIED >
<!ATTLIST run fork CDATA #IMPLIED >
<!ATTLIST run vmargs CDATA #IMPLIED >
<!ATTLIST run aspectpath CDATA #IMPLIED >
<!ATTLIST run classpath CDATA #IMPLIED >
<!ATTLIST run LTW CDATA #IMPLIED >
<!ATTLIST run usefullltw CDATA #IMPLIED >
<!ATTLIST run exception CDATA #IMPLIED >
<!ELEMENT message (source*)>
<!ATTLIST message kind (abort | fail | error | warning | info | Xlint) #REQUIRED >
<!ATTLIST message line CDATA #IMPLIED >
<!ATTLIST message text CDATA #IMPLIED >
<!ATTLIST message file CDATA #IMPLIED >
<!ATTLIST message details CDATA #IMPLIED >
<!ELEMENT source (#PCDATA)>
<!ATTLIST source line CDATA #IMPLIED >
<!ATTLIST source file CDATA #IMPLIED >
<!ELEMENT dir-changes (#PCDATA)>
<!ATTLIST dir-changes dirToken (classes | run) #IMPLIED >
<!ATTLIST dir-changes defaultSuffix (.class) #IMPLIED >
<!ATTLIST dir-changes added CDATA #IMPLIED >
<!ATTLIST dir-changes removed CDATA #IMPLIED >
<!ATTLIST dir-changes updated CDATA #IMPLIED >
<!ATTLIST dir-changes unchanged CDATA #IMPLIED >
<!ATTLIST dir-changes expDir CDATA #IMPLIED >
<!ATTLIST dir-changes fastFail CDATA #IMPLIED >
<!ATTLIST dir-changes delay CDATA #IMPLIED >
<!-- this defines a DOCTYPE for a suite of ajc tests -->
<!-- element-component mappings are in org.aspectj.testing.xml.AjcSpecXmlReader -->
<!-- element names are determined by the component XMLNAME static variable -->

<!ELEMENT suite (ajc-test | comment)*>
<!ATTLIST suite suiteDir CDATA #IMPLIED >

<!-- permits leading inc-compile, will fail -->
<!ELEMENT ajc-test ((compile | inc-compile | run | weave | file | ant | comment)*)>
<!ATTLIST ajc-test title CDATA #REQUIRED >
<!ATTLIST ajc-test dir CDATA #REQUIRED >
<!ATTLIST ajc-test pr CDATA #IMPLIED >
<!ATTLIST ajc-test keywords CDATA #IMPLIED >
<!ATTLIST ajc-test comment CDATA #IMPLIED >
<!ATTLIST ajc-test vm CDATA #IMPLIED >

<!ELEMENT compile (dir-changes*,message*)>
<!ATTLIST compile comment CDATA #IMPLIED >
<!ATTLIST compile staging CDATA #IMPLIED >
<!ATTLIST compile badInput CDATA #IMPLIED >
<!ATTLIST compile files CDATA #IMPLIED >
<!ATTLIST compile reuseCompiler CDATA #IMPLIED >
<!ATTLIST compile includeClassesDir CDATA #IMPLIED >
<!ATTLIST compile argfiles CDATA #IMPLIED >
<!ATTLIST compile aspectpath CDATA #IMPLIED >
<!ATTLIST compile aspectsFiles CDATA #IMPLIED >
<!ATTLIST compile classpath CDATA #IMPLIED >
<!ATTLIST compile modulepath CDATA #IMPLIED >
<!ATTLIST compile inpath CDATA #IMPLIED >
<!ATTLIST compile extdirs CDATA #IMPLIED >
<!ATTLIST compile options CDATA #IMPLIED >
<!ATTLIST compile sourceroots CDATA #IMPLIED >
<!ATTLIST compile xlintfile CDATA #IMPLIED >
<!ATTLIST compile outjar CDATA #IMPLIED >
<!ATTLIST compile outxmlfile CDATA #IMPLIED >

<!ELEMENT inc-compile (dir-changes*,message*)>
<!ATTLIST inc-compile tag CDATA #REQUIRED >
<!ATTLIST inc-compile fresh CDATA #IMPLIED >
<!ATTLIST inc-compile checkModel CDATA #IMPLIED >

<!ELEMENT run (dir-changes*,message*,stdout*,stderr*)>
<!-- Either class or modulepath is required -->
<!ATTLIST run class CDATA #IMPLIED >
<!ATTLIST run modulepath CDATA #IMPLIED >
<!ATTLIST run module CDATA #IMPLIED >
<!ATTLIST run skipTester CDATA #IMPLIED >
<!ATTLIST run vm CDATA #IMPLIED >
<!ATTLIST run options CDATA #IMPLIED >
<!ATTLIST run errStreamIsError CDATA #IMPLIED >
<!ATTLIST run outStreamIsError CDATA #IMPLIED >
<!ATTLIST run fork CDATA #IMPLIED >
<!ATTLIST run vmargs CDATA #IMPLIED >
<!ATTLIST run aspectpath CDATA #IMPLIED >
<!ATTLIST run classpath CDATA #IMPLIED >
<!ATTLIST run ltw CDATA #IMPLIED >
<!ATTLIST run usefullltw CDATA #IMPLIED >
<!ATTLIST run exception CDATA #IMPLIED >
<!ATTLIST run xlintfile CDATA #IMPLIED >

<!ELEMENT message (source*)>
<!ATTLIST message kind (abort | fail | error | warning | info | Xlint | weave) #IMPLIED >
<!ATTLIST message line CDATA #IMPLIED >
<!ATTLIST message text CDATA #IMPLIED >
<!ATTLIST message file CDATA #IMPLIED >
<!ATTLIST message details CDATA #IMPLIED >

<!ELEMENT source (#PCDATA)>
<!ATTLIST source line CDATA #IMPLIED >
<!ATTLIST source file CDATA #IMPLIED >

<!ELEMENT dir-changes (#PCDATA)>
<!ATTLIST dir-changes dirToken (classes | run) #IMPLIED >
<!ATTLIST dir-changes defaultSuffix (.class) #IMPLIED >
<!ATTLIST dir-changes added CDATA #IMPLIED >
<!ATTLIST dir-changes removed CDATA #IMPLIED >
<!ATTLIST dir-changes updated CDATA #IMPLIED >
<!ATTLIST dir-changes unchanged CDATA #IMPLIED >
<!ATTLIST dir-changes expDir CDATA #IMPLIED >
<!ATTLIST dir-changes fastFail CDATA #IMPLIED >
<!ATTLIST dir-changes delay CDATA #IMPLIED >

<!ATTLIST dir-changes dirToken (classes | run) #IMPLIED >
<!ATTLIST dir-changes defaultSuffix (.class) #IMPLIED >
<!ATTLIST dir-changes added CDATA #IMPLIED >
<!ATTLIST dir-changes removed CDATA #IMPLIED >
<!ATTLIST dir-changes updated CDATA #IMPLIED >
<!ATTLIST dir-changes unchanged CDATA #IMPLIED >
<!ATTLIST dir-changes expDir CDATA #IMPLIED >
<!ATTLIST dir-changes fastFail CDATA #IMPLIED >
<!ATTLIST dir-changes delay CDATA #IMPLIED >

<!ELEMENT stdout (line*)>
<!ATTLIST stdout ordered CDATA #IMPLIED >

<!ELEMENT stderr (line*)>
<!ATTLIST stderr ordered CDATA #IMPLIED >

<!ELEMENT line (line*)>
<!ATTLIST line text CDATA #REQUIRED >
<!ATTLIST line vm CDATA #IMPLIED >

<!ELEMENT weave (message*)>
<!ATTLIST weave classesFiles CDATA #REQUIRED >
<!ATTLIST weave aspectsFiles CDATA #REQUIRED >
<!ATTLIST weave options CDATA #REQUIRED >
<!ATTLIST weave xlintfile CDATA #IMPLIED >

<!ELEMENT file EMPTY>
<!ATTLIST file deletefile CDATA #IMPLIED >
<!ATTLIST file renamefrom CDATA #IMPLIED >
<!ATTLIST file renameto CDATA #IMPLIED >

<!ELEMENT ant (stdout*,stderr*)>
<!ATTLIST ant file CDATA #IMPLIED >
<!ATTLIST ant target CDATA #IMPLIED >
<!ATTLIST ant verbose CDATA #IMPLIED >

<!ELEMENT comment (#PCDATA)>

+ 60
- 60
tests/src/test/resources/org/aspectj/systemtest/ajc121/ajc121.xml View File

<message kind="error" line="4" file="DisjunctVarBinding_3.java" text="ambiguous binding of parameter(s) a, b across '||' in pointcut"/> <message kind="error" line="4" file="DisjunctVarBinding_3.java" text="ambiguous binding of parameter(s) a, b across '||' in pointcut"/>
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="bugs/IfPerThis" <ajc-test dir="bugs/IfPerThis"
pr="62458" title="An if() pointcut inside a perthis() clauses an ABORT - null pointer exception in ajc"> pr="62458" title="An if() pointcut inside a perthis() clauses an ABORT - null pointer exception in ajc">
<compile files="Testcase1.java"> <compile files="Testcase1.java">
<message kind="error" line="27" 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> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="bugs/IfPerThis" <ajc-test dir="bugs/IfPerThis"
pr="62458" title="An if() pointcut inside a perthis() clauses an ABORT - null pointer exception in ajc"> pr="62458" title="An if() pointcut inside a perthis() clauses an ABORT - null pointer exception in ajc">
<compile files="Testcase2.java"/> <compile files="Testcase2.java"/>
<run class="Testcase2"/> <run class="Testcase2"/>
</ajc-test> </ajc-test>
<ajc-test dir="bugs/IfPerThis" <ajc-test dir="bugs/IfPerThis"
pr="62458" title="An if() pointcut inside a perthis() clauses an ABORT - null pointer exception in ajc"> pr="62458" title="An if() pointcut inside a perthis() clauses an ABORT - null pointer exception in ajc">
<compile files="Testcase3.java"> <compile files="Testcase3.java">
<message kind="error" line="2" text="if() pointcut designator cannot be used directly in a per clause"/> <message kind="error" line="2" text="if() pointcut designator cannot be used directly in a per clause"/>
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="bugs/bug70619" <ajc-test dir="bugs/bug70619"
pr="70619" title="compiler aborts with 'conflicting dominates orders' with circular declare precedences"> pr="70619" title="compiler aborts with 'conflicting dominates orders' with circular declare precedences">
<compile files="Precedence.java"> <compile files="Precedence.java">
<message kind="error" line="0" text="conflicting declare precedence"/> <message kind="error" line="0" text="conflicting declare precedence"/>
</compile> </compile>
<compile files="Conflict.java,Order2.aj,Order1.aj">
<compile files="Conflict.java,Order2.aj,Order1.aj">
<message kind="error" line="0" text="conflicting declare precedence"/> <message kind="error" line="0" text="conflicting declare precedence"/>
</compile> </compile>
<compile files="Conflict.java,Order1.aj,Order2.aj"> <compile files="Conflict.java,Order1.aj,Order2.aj">
<message kind="error" line="0" text="conflicting declare precedence"/> <message kind="error" line="0" text="conflicting declare precedence"/>
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="bugs" <ajc-test dir="bugs"
pr="53999" title="'can't bind type' message has $ for . in type name for declare soft"> pr="53999" title="'can't bind type' message has $ for . in type name for declare soft">
<compile files="Cosmetic.java"> <compile files="Cosmetic.java">
<message kind="error" line="9" text="can't bind type name 'unknown.Error'"/> <message kind="error" line="9" text="can't bind type name 'unknown.Error'"/>
</compile> </compile>
</ajc-test>
</ajc-test>
<ajc-test dir="bugs/intertypeOverrides" <ajc-test dir="bugs/intertypeOverrides"
pr="69459" title="Hiding of Instance Methods by static methods"> pr="69459" title="Hiding of Instance Methods by static methods">
<compile files="IntertypeOverrides.java"> <compile files="IntertypeOverrides.java">
<message kind="error" line="8" text="void Sub.m() cannot override void Super.m(); overridden method is static"/> <message kind="error" line="8" text="void Sub.m() cannot override void Super.m(); overridden method is static"/>
</compile> </compile>
<compile files="Superclass.java,Subclass.java,Aspect1.java"> <compile files="Superclass.java,Subclass.java,Aspect1.java">
<message file="Aspect1.java" kind="error" line="2"
<message file="Aspect1.java" kind="error" line="2"
text="void Subclass.staticMethod() cannot override void Superclass.staticMethod(); overridden method is static"/> text="void Subclass.staticMethod() cannot override void Superclass.staticMethod(); overridden method is static"/>
</compile> </compile>
<compile files="Superclass.java,Subclass.java,Aspect2.java"> <compile files="Superclass.java,Subclass.java,Aspect2.java">
text="void Subclass.nonstaticMethod() cannot override void Superclass.nonstaticMethod(); overriding method is static"/> text="void Subclass.nonstaticMethod() cannot override void Superclass.nonstaticMethod(); overriding method is static"/>
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="new" <ajc-test dir="new"
title="if(false) optimisation" pr="48990"> title="if(false) optimisation" pr="48990">
<compile files="IfFalse.aj" options="-1.4"/> <compile files="IfFalse.aj" options="-1.4"/>
<run class="IfFalse"/> <run class="IfFalse"/>
</ajc-test> </ajc-test>
<ajc-test dir="new" <ajc-test dir="new"
title="if(true) optimisation" pr="48990"> title="if(true) optimisation" pr="48990">
<compile files="IfTrue.aj" options="-1.4"/> <compile files="IfTrue.aj" options="-1.4"/>
<run class="IfTrue"/> <run class="IfTrue"/>
</ajc-test>
</ajc-test>
<ajc-test dir="bugs/abstractITDs" <ajc-test dir="bugs/abstractITDs"
pr="64331" title="java.lang.NullPointerException in WeaverMessageHandler class"> pr="64331" title="java.lang.NullPointerException in WeaverMessageHandler class">
<compile files="A.java,C.java" aspectpath="B.jar"> <compile files="A.java,C.java" aspectpath="B.jar">
<message kind="error" line="1" text="must implement abstract inter-type declaration: void A.foo()"/> <message kind="error" line="1" text="must implement abstract inter-type declaration: void A.foo()"/>
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="bugs/pr64262" <ajc-test dir="bugs/pr64262"
title="ClassCastException at BcelRenderer.java:169" pr="64262"> title="ClassCastException at BcelRenderer.java:169" pr="64262">
<compile files="PrimitiveCoercionInExactTypePatternMatching.java"/> <compile files="PrimitiveCoercionInExactTypePatternMatching.java"/>
</ajc-test> </ajc-test>
<ajc-test dir="bugs" <ajc-test dir="bugs"
pr="61536" title="Front-end bug, shouldn't allow patterns of the form foo.., should be foo..*"> pr="61536" title="Front-end bug, shouldn't allow patterns of the form foo.., should be foo..*">
<compile files="EllipsesStar.java"> <compile files="EllipsesStar.java">
<message kind="error" line="12" text="Syntax error on token"/> <message kind="error" line="12" text="Syntax error on token"/>
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="bugs" <ajc-test dir="bugs"
pr="67774" title="Nullpointer-Exception when defining a withincode() pointcut"> pr="67774" title="Nullpointer-Exception when defining a withincode() pointcut">
<compile files="WithincodeNPE01.java"> <compile files="WithincodeNPE01.java">
<message kind="warning" line="11" text="In String ctor"/> <message kind="warning" line="11" text="In String ctor"/>
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="bugs" pr="60015" <ajc-test dir="bugs" pr="60015"
title="NPE, Incorrect XLint:unmatchedSuperTypeInCall warning"> title="NPE, Incorrect XLint:unmatchedSuperTypeInCall warning">
<compile files="IncorrectXlintOnInterface.java"> <compile files="IncorrectXlintOnInterface.java">
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="bugs/typeVisibilityProblem" pr="67591" <ajc-test dir="bugs/typeVisibilityProblem" pr="67591"
title="invalid warning indicating no match when a match really occurs"> title="invalid warning indicating no match when a match really occurs">
<compile files="Main.java"> <compile files="Main.java">
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="bugs" pr="71273" <ajc-test dir="bugs" pr="71273"
title="RuntimeException thrown: Could not find instruction: org.apache.bcel.generic.B2I"> title="RuntimeException thrown: Could not find instruction: org.apache.bcel.generic.B2I">
<compile files="NoByteToInt.java"/> <compile files="NoByteToInt.java"/>
<run class="NoByteToInt"/> <run class="NoByteToInt"/>
</ajc-test> </ajc-test>
<ajc-test dir="bugs/AroundAdviceJPs" pr="71377" <ajc-test dir="bugs/AroundAdviceJPs" pr="71377"
title="Cannot advise private method call in around advice"> title="Cannot advise private method call in around advice">
<compile files="JoinPointInAroundAdvice.java"/> <compile files="JoinPointInAroundAdvice.java"/>
<run class="JoinPointInAroundAdvice"/> <run class="JoinPointInAroundAdvice"/>
</ajc-test> </ajc-test>
<ajc-test dir="bugs/AroundAdviceJPs" pr="71377" <ajc-test dir="bugs/AroundAdviceJPs" pr="71377"
title="Cannot advise private field sets in around advice"> title="Cannot advise private field sets in around advice">
<compile files="FieldJoinPointsInAroundAdvice.java"/> <compile files="FieldJoinPointsInAroundAdvice.java"/>
<run class="FieldJoinPointsInAroundAdvice"/> <run class="FieldJoinPointsInAroundAdvice"/>
</ajc-test> </ajc-test>
<ajc-test dir="bugs/AroundAdviceJPs" pr="71377" <ajc-test dir="bugs/AroundAdviceJPs" pr="71377"
title="Cannot advise private field gets in around advice"> title="Cannot advise private field gets in around advice">
<compile files="FieldGetJoinPointsInAroundAdvice.java"/> <compile files="FieldGetJoinPointsInAroundAdvice.java"/>
</ajc-test> </ajc-test>
--> -->


<!-- these next two tests commented out as they take minutes to run - reinstate if you need to
investigate 59208 for any reason
<!-- these next two tests commented out as they take minutes to run - reinstate if you need to
investigate 59208 for any reason
<ajc-test dir="bugs/pr59208" pr="59208" <ajc-test dir="bugs/pr59208" pr="59208"
title="Weaver fails in BCEL for large classes"> title="Weaver fails in BCEL for large classes">
<compile files="Foo.java, A.aj"> <compile files="Foo.java, A.aj">


<ajc-test dir="bugs/pr59208" pr="59208" <ajc-test dir="bugs/pr59208" pr="59208"
title="Weaver fails in BCEL for large classes (binary)"> title="Weaver fails in BCEL for large classes (binary)">
<compile
<compile
aspectpath="test.jar" aspectpath="test.jar"
inpath="classes"> inpath="classes">
<message kind="error" line="0" text="constant pool too big"></message> <message kind="error" line="0" text="constant pool too big"></message>
<ajc-test dir="bugs" pr="61572" <ajc-test dir="bugs" pr="61572"
title="ITDs on inner classes should be static context"> title="ITDs on inner classes should be static context">
<compile files="PR61572.aj"> <compile files="PR61572.aj">
<message kind="error" line="19" text="Cannot make a static reference to the non-static field zzz"></message>
<message kind="error" line="19" text="Cannot make a static reference to the non-static field zzz"/>
</compile> </compile>
</ajc-test> </ajc-test>


<message kind="error" line="29" text="ambiguous binding of parameter(s) x across '||' in pointcut"/> <message kind="error" line="29" text="ambiguous binding of parameter(s) x across '||' in pointcut"/>
</compile> </compile>
</ajc-test> </ajc-test>
<!-- should NOT raise error, despite Oxford expectations to the contrary --> <!-- should NOT raise error, despite Oxford expectations to the contrary -->
<ajc-test dir="bugs/oxford" pr="62475" <ajc-test dir="bugs/oxford" pr="62475"
title="resolution of IT field inits"> title="resolution of IT field inits">
<compile files="PR62475.java"> <compile files="PR62475.java">
</compile> </compile>
</ajc-test> </ajc-test>


<ajc-test
dir="bugs/invalidAbsoluteTypeName"

<ajc-test
dir="bugs/invalidAbsoluteTypeName"
pr="65925" pr="65925"
title="Valid but inaccessible type names should not be flagged by XLint:invalidAbsoluteTypeName"> title="Valid but inaccessible type names should not be flagged by XLint:invalidAbsoluteTypeName">
<compile files="False_InvalidAbsoluteTypeName.java"> <compile files="False_InvalidAbsoluteTypeName.java">
</compile> </compile>
<run class="False_InvalidAbsoluteTypeName"/> <run class="False_InvalidAbsoluteTypeName"/>
</ajc-test> </ajc-test>
<ajc-test dir="bugs/PR68991" pr="68991" <ajc-test dir="bugs/PR68991" pr="68991"
title="intertype initialisers should match field set pointcuts"> title="intertype initialisers should match field set pointcuts">
<compile files="Simple.java"/> <compile files="Simple.java"/>
<run class="Simple"/> <run class="Simple"/>
</ajc-test> </ajc-test>
<ajc-test dir="bugs/PR68991" pr="68991" <ajc-test dir="bugs/PR68991" pr="68991"
title="intertype initialisers should match field set pointcuts (oxford testcase)"> title="intertype initialisers should match field set pointcuts (oxford testcase)">
<compile files="Oxford.java"/> <compile files="Oxford.java"/>
<run class="Oxford"/> <run class="Oxford"/>
</ajc-test> </ajc-test>
<ajc-test dir="bugs" pr="54421" <ajc-test dir="bugs" pr="54421"
title="Compile time declarations (warning and error) do not accept string concatenation (with +)"> title="Compile time declarations (warning and error) do not accept string concatenation (with +)">
<compile files="decwStrings.java"> <compile files="decwStrings.java">
<message kind="warning" line="39" text="abcdefghijklmnopqrstuvwxyz"/> <message kind="warning" line="39" text="abcdefghijklmnopqrstuvwxyz"/>
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="bugs" pr="54421" <ajc-test dir="bugs" pr="54421"
title="Compile time declarations (warning and error) do not accept string concatenation (with +) (2)"> title="Compile time declarations (warning and error) do not accept string concatenation (with +) (2)">
<compile files="decwStringsErroneous.java"> <compile files="decwStringsErroneous.java">
<message kind="error" line="22"/> <message kind="error" line="22"/>
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="bugs/oxford" pr="61768" <ajc-test dir="bugs/oxford" pr="61768"
title="scope for inter-type methods"> title="scope for inter-type methods">
<compile files="PR61768.java"> <compile files="PR61768.java">
<compile files="PrivateCall2.java,PrivateCall3.java"/> <compile files="PrivateCall2.java,PrivateCall3.java"/>
<run class="def.PrivateCall3"/> <run class="def.PrivateCall3"/>
</ajc-test> </ajc-test>
<ajc-test dir="bugs/doYouHaveVisiblePrivates" pr="71372" <ajc-test dir="bugs/doYouHaveVisiblePrivates" pr="71372"
title="NoSuchMethodError calling private method from around advice in inner aspect (3)"> title="NoSuchMethodError calling private method from around advice in inner aspect (3)">
<compile files="PrivateCallInstance.java"/> <compile files="PrivateCallInstance.java"/>
<run class="PrivateCallInstance"/> <run class="PrivateCallInstance"/>
</ajc-test> </ajc-test>
<ajc-test dir="bugs/doYouHaveVisiblePrivates" pr="71372" <ajc-test dir="bugs/doYouHaveVisiblePrivates" pr="71372"
title="NoSuchMethodError calling private method from around advice in inner aspect (4)"> title="NoSuchMethodError calling private method from around advice in inner aspect (4)">
<compile files="PrivateCall_Instance_Package1.java,PrivateCall_Instance_Package2.java"/> <compile files="PrivateCall_Instance_Package1.java,PrivateCall_Instance_Package2.java"/>
<compile files="a/ITD.aj,b/B.aj"/> <compile files="a/ITD.aj,b/B.aj"/>
<run class="b.B"/> <run class="b.B"/>
</ajc-test> </ajc-test>
<ajc-test dir="bugs/privilegedNPE" pr="67579" <ajc-test dir="bugs/privilegedNPE" pr="67579"
title="NPE on privileged aspect error (2)"> title="NPE on privileged aspect error (2)">
<compile files="b/B.aj,a/ITD.aj"/> <compile files="b/B.aj,a/ITD.aj"/>
<compile files="b/B.aj,a/ITD.aj"/> <compile files="b/B.aj,a/ITD.aj"/>
<run class="b.B"/> <run class="b.B"/>
</ajc-test> </ajc-test>
<ajc-test dir="bugs/privilegedAccess" pr="67578" <ajc-test dir="bugs/privilegedAccess" pr="67578"
title="Privileged Aspect Access Problem Across Packages (2)"> title="Privileged Aspect Access Problem Across Packages (2)">
<compile files="b/B_notPrivileged.aj,a/ITD.aj"> <compile files="b/B_notPrivileged.aj,a/ITD.aj">
<message kind="error" line="7" text="The method returnNothing(Object) from the type ITD is not visible"/> <message kind="error" line="7" text="The method returnNothing(Object) from the type ITD is not visible"/>
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="bugs" pr="62642" <ajc-test dir="bugs" pr="62642"
title="proper handling of ExceptionInIntializer inside clinit in presence of after throwing advice"> title="proper handling of ExceptionInIntializer inside clinit in presence of after throwing advice">
<compile files="pr62642.java"/> <compile files="pr62642.java"/>
<message kind="error" line="12" text="Cannot make a static reference to the non-static method clone() from the type Object"/> <message kind="error" line="12" text="Cannot make a static reference to the non-static method clone() from the type Object"/>
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="design/sourceLines" pr="37020" <ajc-test dir="design/sourceLines" pr="37020"
title="wrong line for method execution join point"> title="wrong line for method execution join point">
<compile files="TestSourceLines.java"> <compile files="TestSourceLines.java">
title="The introduction on interface causes the interface implementation class error (1)"> title="The introduction on interface causes the interface implementation class error (1)">
<compile files="PublicPublic.java"/> <compile files="PublicPublic.java"/>
</ajc-test> </ajc-test>
<ajc-test dir="bugs/interfaceITDs" pr="70794" <ajc-test dir="bugs/interfaceITDs" pr="70794"
title="The introduction on interface causes the interface implementation class error (2)"> title="The introduction on interface causes the interface implementation class error (2)">
<compile files="PackagePublic.java"/> <compile files="PackagePublic.java"/>
</ajc-test> </ajc-test>
<ajc-test dir="bugs/interfaceITDs" pr="70794" <ajc-test dir="bugs/interfaceITDs" pr="70794"
title="The introduction on interface causes the interface implementation class error (3)"> title="The introduction on interface causes the interface implementation class error (3)">
<compile files="PackagePackage.java"> <compile files="PackagePackage.java">
<message kind="error" line="17" text="abstract intertype method declaration 'void PackagePackage.world()' on interface PackagePackage must be declared public (compiler limitation)"/> <message kind="error" line="17" text="abstract intertype method declaration 'void PackagePackage.world()' on interface PackagePackage must be declared public (compiler limitation)"/>
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="bugs/interfaceITDs" pr="70794" <ajc-test dir="bugs/interfaceITDs" pr="70794"
title="The introduction on interface causes the interface implementation class error (4)"> title="The introduction on interface causes the interface implementation class error (4)">
<compile files="PublicPackage.java"> <compile files="PublicPackage.java">
<message kind="error" line="2" text="The abstract pointcut tracingScope can only be defined in an abstract aspect"/> <message kind="error" line="2" text="The abstract pointcut tracingScope can only be defined in an abstract aspect"/>
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="bugs" pr="72699" <ajc-test dir="bugs" pr="72699"
title="Bogus error message: The abstract method ajc$pointcut$$tracingScope$a2 in type Tracing can only be defined by an abstract class (2)"> title="Bogus error message: The abstract method ajc$pointcut$$tracingScope$a2 in type Tracing can only be defined by an abstract class (2)">
<compile files="BogusMessage2.java"> <compile files="BogusMessage2.java">
<message kind="error" line="2" text="The abstract pointcut tracingScope can only be defined in an aspect"/> <message kind="error" line="2" text="The abstract pointcut tracingScope can only be defined in an aspect"/>
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="bugs/pr70404" pr="70404"
<ajc-test dir="bugs/pr70404" pr="70404"
title="passing null to array arguments confuzes static join point signature. (1)"> title="passing null to array arguments confuzes static join point signature. (1)">
<compile files="Main.java,MainAspect.java"/> <compile files="Main.java,MainAspect.java"/>
<run class="dk.infimum.aspectjtest.Main"/> <run class="dk.infimum.aspectjtest.Main"/>
</ajc-test> </ajc-test>


<ajc-test dir="bugs/pr70404" pr="70404"
<ajc-test dir="bugs/pr70404" pr="70404"
title="passing null to array arguments confuzes static join point signature. (2)"> title="passing null to array arguments confuzes static join point signature. (2)">
<compile files="Main2.java,MainAspect.java"/> <compile files="Main2.java,MainAspect.java"/>
<run class="dk.infimum.aspectjtest.Main2"/> <run class="dk.infimum.aspectjtest.Main2"/>
</ajc-test> </ajc-test>
<ajc-test dir="bugs" pr="72528" <ajc-test dir="bugs" pr="72528"
title="around advice throws java.lang.VerifyError at runtime"> title="around advice throws java.lang.VerifyError at runtime">
<compile files="ArrayCloning.java"/> <compile files="ArrayCloning.java"/>
<message kind="error" line="13" text="Unhandled"/> <message kind="error" line="13" text="Unhandled"/>
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test
dir="bugs"
<ajc-test
dir="bugs"
pr="75129" pr="75129"
title="NPE on thisJoinPoint mistake"> title="NPE on thisJoinPoint mistake">
<compile files="TjpMistake.java"> <compile files="TjpMistake.java">
<compile files="CounterTest01.java"/> <compile files="CounterTest01.java"/>
<run class="CounterTest01"/> <run class="CounterTest01"/>
</ajc-test> </ajc-test>
<ajc-test dir="cflow" pr="76030" title="Optimization of cflow - shared counters (2)"> <ajc-test dir="cflow" pr="76030" title="Optimization of cflow - shared counters (2)">
<compile files="CounterTest02.java" options="-1.4"/> <compile files="CounterTest02.java" options="-1.4"/>
<run class="CounterTest02"/> <run class="CounterTest02"/>
</ajc-test> </ajc-test>
<ajc-test dir="cflow" pr="76030" title="Optimization of cflow - shared stacks (3)"> <ajc-test dir="cflow" pr="76030" title="Optimization of cflow - shared stacks (3)">
<compile files="CounterTest03.java"/> <compile files="CounterTest03.java"/>
<run class="CounterTest03"/> <run class="CounterTest03"/>
</ajc-test> </ajc-test>
<ajc-test dir="cflow" pr="76030" title="Optimization of cflow - counters (4)"> <ajc-test dir="cflow" pr="76030" title="Optimization of cflow - counters (4)">
<compile files="CounterTest04.java" options="-1.4"/> <compile files="CounterTest04.java" options="-1.4"/>
<run class="CounterTest04"/> <run class="CounterTest04"/>
</ajc-test> </ajc-test>
<ajc-test dir="cflow" pr="76030" title="Optimization of cflow - counters with abstract pointcuts (5)"> <ajc-test dir="cflow" pr="76030" title="Optimization of cflow - counters with abstract pointcuts (5)">
<compile files="CounterTest05.java"/> <compile files="CounterTest05.java"/>
<run class="CounterTest05"/> <run class="CounterTest05"/>
</ajc-test> </ajc-test>
<ajc-test dir="bugs/pr76096" pr="76096" title="Anonymous classes unaware of introductions into abstract classes"> <ajc-test dir="bugs/pr76096" pr="76096" title="Anonymous classes unaware of introductions into abstract classes">
<compile files="ConcreteClassA.java"/> <compile files="ConcreteClassA.java"/>
<run class="ConcreteClassA"/> <run class="ConcreteClassA"/>
</ajc-test> </ajc-test>
<ajc-test dir="bugs" pr="74952" title="before,after not (cflow(within(Trace*))) prints nothing"> <ajc-test dir="bugs" pr="74952" title="before,after not (cflow(within(Trace*))) prints nothing">
<compile files="WhatsGoingOn.java"/> <compile files="WhatsGoingOn.java"/>
<run class="WhatsGoingOn"/> <run class="WhatsGoingOn"/>
</ajc-test> </ajc-test>
</suite> </suite>

+ 27
- 24
tests/src/test/resources/org/aspectj/systemtest/ajc150/ajc150.xml View File



<ajc-test dir="bugs150" pr="107059" title="target(@Foo *)"> <ajc-test dir="bugs150" pr="107059" title="target(@Foo *)">
<compile files="pr107059_2.aj" options="-1.5"> <compile files="pr107059_2.aj" options="-1.5">
<message kind="error" line="4" text="wildcard type pattern not allowed"></message>
<message kind="error" line="4" text="wildcard type pattern not allowed"/>
</compile> </compile>
</ajc-test> </ajc-test>




<ajc-test dir="bugs150" pr="108050" title="signature matching in override scenario"> <ajc-test dir="bugs150" pr="108050" title="signature matching in override scenario">
<compile files="pr108050.aj" options="-1.5"> <compile files="pr108050.aj" options="-1.5">
<message kind="warning" line = "2" text="servlet request"></message>
<message kind="warning" line = "7" text="servlet request"></message>
<message kind="warning" line = "21" text="servlet request"></message>
<message kind="warning" line="2" text="servlet request"/>
<message kind="warning" line="7" text="servlet request"/>
<message kind="warning" line="21" text="servlet request"/>
</compile> </compile>
</ajc-test> </ajc-test>




<ajc-test dir="bugs150/" pr="107953" title="@AfterThrowing with no formal specified"> <ajc-test dir="bugs150/" pr="107953" title="@AfterThrowing with no formal specified">
<compile files="pr107953.java" options="-1.5"> <compile files="pr107953.java" options="-1.5">
<message kind="error" line="8" text="throwing formal 'RuntimeException' must be declared as a parameter in the advice signature"></message>
<message kind="error" line="8"
text="throwing formal 'RuntimeException' must be declared as a parameter in the advice signature"/>
</compile> </compile>
</ajc-test> </ajc-test>




<ajc-test title="matching against Object[]" pr="72668" dir="bugs150"> <ajc-test title="matching against Object[]" pr="72668" dir="bugs150">
<compile files="pr72668.aj" options="-1.5"> <compile files="pr72668.aj" options="-1.5">
<message kind="error" line="3" text="incompatible return type applying to method-execution(java.lang.Number[] pr72668.getThoseInts())"></message>
<message kind="error" line="10" text="incompatible return type applying to method-execution(java.lang.Number[] pr72668.getThoseInts())"></message>
<message kind="error" line="3"
text="incompatible return type applying to method-execution(java.lang.Number[] pr72668.getThoseInts())"/>
<message kind="error" line="10"
text="incompatible return type applying to method-execution(java.lang.Number[] pr72668.getThoseInts())"/>
</compile> </compile>
</ajc-test> </ajc-test>




<ajc-test dir="bugs" pr="61568" title="Various kinds of ambiguous bindings"> <ajc-test dir="bugs" pr="61568" title="Various kinds of ambiguous bindings">
<compile files="AmbiguousBindings.aj" options="-1.4"> <compile files="AmbiguousBindings.aj" options="-1.4">
<message line="17" text="ambiguous binding of parameter(s) foo across '||' in pointcut"></message>
<message line="19" text="ambiguous binding of parameter(s) foo across '||' in pointcut"></message>
<message line="21" text="ambiguous binding of parameter(s) foo across '||' in pointcut"></message>
<message line="23" text="ambiguous binding of parameter(s) x across '||' in pointcut"></message>
<message line="25" text="ambiguous binding of parameter(s) foo across '||' in pointcut"></message>
<message line="17" text="ambiguous binding of parameter(s) foo across '||' in pointcut"/>
<message line="19" text="ambiguous binding of parameter(s) foo across '||' in pointcut"/>
<message line="21" text="ambiguous binding of parameter(s) foo across '||' in pointcut"/>
<message line="23" text="ambiguous binding of parameter(s) x across '||' in pointcut"/>
<message line="25" text="ambiguous binding of parameter(s) foo across '||' in pointcut"/>
</compile> </compile>
</ajc-test> </ajc-test>


<ajc-test dir="bugs" pr="61658" title="ambiguous args"> <ajc-test dir="bugs" pr="61658" title="ambiguous args">
<compile files="PR61658.java" options="-1.5"> <compile files="PR61658.java" options="-1.5">
<message line="17" text="ambiguous binding of parameter(s) a, b across '||' in pointcut"></message>
<message line="17" text="ambiguous binding of parameter(s) a, b across '||' in pointcut"/>
</compile> </compile>
</ajc-test> </ajc-test>




<ajc-test dir="bugs150" pr="107858" title="inlined field access in proceed call"> <ajc-test dir="bugs150" pr="107858" title="inlined field access in proceed call">
<compile files="pr107858.aj" options="-1.5"> <compile files="pr107858.aj" options="-1.5">
<message kind="error" line="9" text="too many arguments to proceed, expected 0"></message>
<message kind="error" line="10" text="too many arguments to proceed, expected 0"></message>
<message kind="error" line="9" text="too many arguments to proceed, expected 0"/>
<message kind="error" line="10" text="too many arguments to proceed, expected 0"/>
</compile> </compile>
</ajc-test> </ajc-test>




<ajc-test dir="bugs150/pr87530" pr="87530" title="final itd methods on interfaces"> <ajc-test dir="bugs150/pr87530" pr="87530" title="final itd methods on interfaces">
<compile files="FinalITDMOnInterface.aj" options="-1.5"> <compile files="FinalITDMOnInterface.aj" options="-1.5">
<message kind="error" line="12" text="Cannot override the final method from A.TestInterface"></message>
<message kind="error" line="12" text="Cannot override the final method from A.TestInterface"/>
</compile> </compile>
<compile files="FinalITDMOnInterface2.aj" options="-1.5"> <compile files="FinalITDMOnInterface2.aj" options="-1.5">
<!--message kind="error" line="8" text="Cannot override the final method from A.TestInterface"></message--> <!--message kind="error" line="8" text="Cannot override the final method from A.TestInterface"></message-->
<message kind="error" line="8" text="can't override final void A$TestInterface.m()"></message>
<message kind="error" line="8" text="can't override final void A$TestInterface.m()"/>
</compile> </compile>
</ajc-test> </ajc-test>




<ajc-test title="declare parents : hasmethod(..) - 1" dir="hasmember"> <ajc-test title="declare parents : hasmethod(..) - 1" dir="hasmember">
<compile files="HasMethod.aj" options="-1.5 -XhasMember"/> <compile files="HasMethod.aj" options="-1.5 -XhasMember"/>
<run class="HasMethod"></run>
<run class="HasMethod"/>
</ajc-test> </ajc-test>


<ajc-test title="declare parents : hasmethod(..) - 2" dir="hasmember"> <ajc-test title="declare parents : hasmethod(..) - 2" dir="hasmember">
<compile files="HasMethodInherited.aj" options="-1.5 -XhasMember"/> <compile files="HasMethodInherited.aj" options="-1.5 -XhasMember"/>
<run class="HasMethodInherited"></run>
<run class="HasMethodInherited"/>
</ajc-test> </ajc-test>


<ajc-test title="declare parents : hasmethod(..) - 3" dir="hasmember"> <ajc-test title="declare parents : hasmethod(..) - 3" dir="hasmember">
<compile files="HasPrivateMethodInherited.aj" options="-1.5 -XhasMember"/> <compile files="HasPrivateMethodInherited.aj" options="-1.5 -XhasMember"/>
<run class="HasPrivateMethodInherited"></run>
<run class="HasPrivateMethodInherited"/>
</ajc-test> </ajc-test>


<ajc-test title="declare parents : hasmethod(..) - 4" dir="hasmember"> <ajc-test title="declare parents : hasmethod(..) - 4" dir="hasmember">


<ajc-test title="declare parents : hasfield(..) - 1" dir="hasmember"> <ajc-test title="declare parents : hasfield(..) - 1" dir="hasmember">
<compile files="HasField.aj" options="-1.5 -XhasMember"/> <compile files="HasField.aj" options="-1.5 -XhasMember"/>
<run class="HasField"></run>
<run class="HasField"/>
</ajc-test> </ajc-test>


<ajc-test title="declare parents : hasfield(..) - 2" dir="hasmember"> <ajc-test title="declare parents : hasfield(..) - 2" dir="hasmember">
<compile files="HasFieldInherited.aj" options="-1.5 -XhasMember"/> <compile files="HasFieldInherited.aj" options="-1.5 -XhasMember"/>
<run class="HasFieldInherited"></run>
<run class="HasFieldInherited"/>
</ajc-test> </ajc-test>


<ajc-test title="declare parents : hasfield(..) - 3" dir="hasmember"> <ajc-test title="declare parents : hasfield(..) - 3" dir="hasmember">
<compile files="HasPrivateFieldInherited.aj" options="-1.5 -XhasMember"/> <compile files="HasPrivateFieldInherited.aj" options="-1.5 -XhasMember"/>
<run class="HasPrivateFieldInherited"></run>
<run class="HasPrivateFieldInherited"/>
</ajc-test> </ajc-test>


<!-- Annotation binding tests --> <!-- Annotation binding tests -->
<compile files="BaseTypes.java,DecaTypeBin5.aj" options="-1.5" xlintfile="ignoreTypeNotExposed.properties"> <compile files="BaseTypes.java,DecaTypeBin5.aj" options="-1.5" xlintfile="ignoreTypeNotExposed.properties">
<message kind="error" line="15" text="The annotation @ColorM is disallowed for this location"/> <message kind="error" line="15" text="The annotation @ColorM is disallowed for this location"/>
<message kind="error" line="16" text="The annotation @ColorC is disallowed for this location"/> <message kind="error" line="16" text="The annotation @ColorC is disallowed for this location"/>
<message king="error" line="17" text="A is not a valid target for annotation ColorA"/>
<message kind="error" line="17" text="A is not a valid target for annotation ColorA"/>
<message kind="error" line="18" text="The annotation @ColorF is disallowed for this location"/> <message kind="error" line="18" text="The annotation @ColorF is disallowed for this location"/>
<message kind="error" line="19" text="The annotation @ColorP is disallowed for this location"/> <message kind="error" line="19" text="The annotation @ColorP is disallowed for this location"/>
<message kind="error" line="20" text="The annotation @ColorL is disallowed for this location"/> <message kind="error" line="20" text="The annotation @ColorL is disallowed for this location"/>

+ 4
- 4
tests/src/test/resources/org/aspectj/systemtest/ajc153/ajc153.xml View File

<ajc-test dir="bugs153/pr149560" title="incorrect staticinitialization weaving - codestyle"> <ajc-test dir="bugs153/pr149560" title="incorrect staticinitialization weaving - codestyle">
<compile files="CodeStyle.java" options="-1.5 -showWeaveInfo"> <compile files="CodeStyle.java" options="-1.5 -showWeaveInfo">
<message kind="weave" text="Join point 'staticinitialization(void MyAspect.&lt;clinit&gt;())' in Type 'MyAspect' (CodeStyle.java:3) advised by after advice from 'MyAspect' (CodeStyle.java:4)"/> <message kind="weave" text="Join point 'staticinitialization(void MyAspect.&lt;clinit&gt;())' in Type 'MyAspect' (CodeStyle.java:3) advised by after advice from 'MyAspect' (CodeStyle.java:4)"/>
<message kind="weave" test="Join point 'staticinitialization(void CodeStyle.&lt;clini&gt;())' in Type 'CodeStyle' (CodeStyle.java:9) advised by after advice from 'MyAspect' (CodeStyle.java:4)"/>
<message kind="weave" text="Join point 'staticinitialization(void CodeStyle.&lt;clinit&gt;())' in Type 'CodeStyle' (CodeStyle.java:9) advised by after advice from 'MyAspect' (CodeStyle.java:4)"/>
</compile> </compile>
<run class="CodeStyle"> <run class="CodeStyle">
<stdout> <stdout>
<ajc-test dir="bugs153/pr149560" title="incorrect staticinitialization weaving - annstyle"> <ajc-test dir="bugs153/pr149560" title="incorrect staticinitialization weaving - annstyle">
<compile files="AnnStyle.java" options="-1.5 -showWeaveInfo"> <compile files="AnnStyle.java" options="-1.5 -showWeaveInfo">
<message kind="weave" text="Join point 'staticinitialization(void MyAspect.&lt;clinit&gt;())' in Type 'MyAspect' (AnnStyle.java:5) advised by after advice from 'MyAspect' (AnnStyle.java:7)"/> <message kind="weave" text="Join point 'staticinitialization(void MyAspect.&lt;clinit&gt;())' in Type 'MyAspect' (AnnStyle.java:5) advised by after advice from 'MyAspect' (AnnStyle.java:7)"/>
<message kind="weave" test="Join point 'staticinitialization(void AnnStyle.&lt;clini&gt;())' in Type 'AnnStyle' (AnnStyle.java:12) advised by after advice from 'MyAspect' (AnnStyle.java:7)"/>
<message kind="weave" text="Join point 'staticinitialization(void AnnStyle.&lt;clinit&gt;())' in Type 'AnnStyle' (AnnStyle.java:12) advised by after advice from 'MyAspect' (AnnStyle.java:7)"/>
</compile> </compile>
<run class="AnnStyle"> <run class="AnnStyle">
<stdout> <stdout>
<compile files="TestAroundClosure.aj" options="-1.4"/> <compile files="TestAroundClosure.aj" options="-1.4"/>
<run class="HelloWorld" ltw="aop-aroundclosure.xml"> <run class="HelloWorld" ltw="aop-aroundclosure.xml">
<stdout> <stdout>
<line text="&rt; ConcreteAspectWithAroundClosure()"/>
<line text="&gt; ConcreteAspectWithAroundClosure()"/>
<line text="&lt; ConcreteAspectWithAroundClosure()"/> <line text="&lt; ConcreteAspectWithAroundClosure()"/>
<line text="? void HelloWorld.main(String[])"/> <line text="? void HelloWorld.main(String[])"/>
<line text="&rt; HelloWorld()"/>
<line text="&gt; HelloWorld()"/>
<line text="&lt; HelloWorld()"/> <line text="&lt; HelloWorld()"/>
<line text="Hello World!"/> <line text="Hello World!"/>
</stdout> </stdout>

+ 2
- 2
tests/src/test/resources/org/aspectj/systemtest/ajc1612/ajc1612.xml View File



<ajc-test dir="bugs1612/pr345515" title="anno copying"> <ajc-test dir="bugs1612/pr345515" title="anno copying">
<compile files="Code.java" options="-1.5"/> <compile files="Code.java" options="-1.5"/>
<run class="Code"></run>
<run class="Code"/>
</ajc-test> </ajc-test>


<ajc-test dir="bugs1612/pr327867" title="synthetic methods"> <ajc-test dir="bugs1612/pr327867" title="synthetic methods">
<ajc-test dir="bugs1612/pr315398" title="verifyerror - 2"> <ajc-test dir="bugs1612/pr315398" title="verifyerror - 2">
<compile files="Code2.java" options="-1.5"> <compile files="Code2.java" options="-1.5">
</compile> </compile>
<run class="Code2"></run>
<run class="Code2"/>
</ajc-test> </ajc-test>


<ajc-test dir="bugs1612/pr335810" title="rawtype warning"> <ajc-test dir="bugs1612/pr335810" title="rawtype warning">

+ 57
- 57
tests/src/test/resources/org/aspectj/systemtest/ajc164/ajc164.xml View File

<ajc-test dir="bugs164/pr268689" title="generics aspects npe"> <ajc-test dir="bugs164/pr268689" title="generics aspects npe">
<compile files="GenericAspect.aj ConcreteAspect.aj" options="-1.5"/> <compile files="GenericAspect.aj ConcreteAspect.aj" options="-1.5"/>
</ajc-test> </ajc-test>
<ajc-test dir="bugs164/pr267559" title="generics and itd npe"> <ajc-test dir="bugs164/pr267559" title="generics and itd npe">
<compile files="IMarker.java ClassB.java Aspect.java ClassA.java" options="-1.5"/> <compile files="IMarker.java ClassB.java Aspect.java ClassA.java" options="-1.5"/>
</ajc-test> </ajc-test>
<ajc-test dir="bugs164/pr266564" title="annotation style long"> <ajc-test dir="bugs164/pr266564" title="annotation style long">
<compile files="AA.java" options="-1.5"/> <compile files="AA.java" options="-1.5"/>
<run class="business.AA"/> <run class="business.AA"/>
</ajc-test> </ajc-test>
<ajc-test dir="bugs164/pr266564" title="annotation style long - 2"> <ajc-test dir="bugs164/pr266564" title="annotation style long - 2">
<compile files="CC.java" options="-1.5"/> <compile files="CC.java" options="-1.5"/>
<run class="business.CC"/> <run class="business.CC"/>
</ajc-test> </ajc-test>
<ajc-test dir="bugs164/pr266420" title="unused private warning"> <ajc-test dir="bugs164/pr266420" title="unused private warning">
<compile files="A.java" options="-1.5 -warn:unusedPrivate"/> <compile files="A.java" options="-1.5 -warn:unusedPrivate"/>
</ajc-test> </ajc-test>
<ajc-test dir="bugs164/pr266420" title="unused private warning - 2"> <ajc-test dir="bugs164/pr266420" title="unused private warning - 2">
<compile files="B.java" options="-1.5 -warn:unusedPrivate"> <compile files="B.java" options="-1.5 -warn:unusedPrivate">
<message kind="warning" text="The value of the field B.i is not used"/> <message kind="warning" text="The value of the field B.i is not used"/>
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="bugs164/pr266420" title="unused private warning - 3"> <ajc-test dir="bugs164/pr266420" title="unused private warning - 3">
<compile files="C.java" options="-1.5 -warn:unusedPrivate"> <compile files="C.java" options="-1.5 -warn:unusedPrivate">
<message kind="warning" text="The value of the field C.j is not used"/> <message kind="warning" text="The value of the field C.j is not used"/>
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="bugs164/pr265729" title="aspectpath model"> <ajc-test dir="bugs164/pr265729" title="aspectpath model">
<compile files="Aspect.java Orange.java Strawberry.java Fruit.java" outjar="library.jar" options="-emacssym"/> <compile files="Aspect.java Orange.java Strawberry.java Fruit.java" outjar="library.jar" options="-emacssym"/>
<compile files="Orange.java Strawberry.java Fruit.java" aspectpath="library.jar" options="-emacssym"/> <compile files="Orange.java Strawberry.java Fruit.java" aspectpath="library.jar" options="-emacssym"/>
<!-- <!--
--> -->
</ajc-test> </ajc-test>
<ajc-test dir="bugs164/pr266220" title="generics and aop.xml"> <ajc-test dir="bugs164/pr266220" title="generics and aop.xml">
<compile files="Code.java"/> <compile files="Code.java"/>
<compile files="Isolator.java" outjar="aspects.jar" options="-1.5"/> <compile files="Isolator.java" outjar="aspects.jar" options="-1.5"/>
</stdout> </stdout>
</run> </run>
</ajc-test> </ajc-test>
<ajc-test dir="bugs164/pr266165" title="optimizing if for constant reference - 1"> <ajc-test dir="bugs164/pr266165" title="optimizing if for constant reference - 1">
<compile files="NeverWeave.java" options="-1.5 -Xlint:ignore -showWeaveInfo"/> <compile files="NeverWeave.java" options="-1.5 -Xlint:ignore -showWeaveInfo"/>
</ajc-test> </ajc-test>
<ajc-test dir="bugs164/pr266165" title="optimizing if for constant reference - 2"> <ajc-test dir="bugs164/pr266165" title="optimizing if for constant reference - 2">
<compile files="AlwaysWeave.java" options="-1.5 -showWeaveInfo"> <compile files="AlwaysWeave.java" options="-1.5 -showWeaveInfo">
<message kind="weave" text="Join point"/> <message kind="weave" text="Join point"/>
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="bugs164/pr266165" title="optimizing if for constant reference - 3"> <ajc-test dir="bugs164/pr266165" title="optimizing if for constant reference - 3">
<compile files="NeverWeave2.java" options="-1.5 -Xlint:ignore -showWeaveInfo"/> <compile files="NeverWeave2.java" options="-1.5 -Xlint:ignore -showWeaveInfo"/>
</ajc-test> </ajc-test>
<ajc-test dir="bugs164/pr266165" title="optimizing if for constant reference - 4"> <ajc-test dir="bugs164/pr266165" title="optimizing if for constant reference - 4">
<compile files="AlwaysWeave2.java" options="-1.5 -showWeaveInfo"> <compile files="AlwaysWeave2.java" options="-1.5 -showWeaveInfo">
<message kind="weave" text="Join point"/> <message kind="weave" text="Join point"/>
<message kind="warning" line="26" text="advice defined"/> <message kind="warning" line="26" text="advice defined"/>
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="bugs164/pr265695" title="new syntax for inherited anno - 1"> <ajc-test dir="bugs164/pr265695" title="new syntax for inherited anno - 1">
<compile files="AspNew.aj" options="-1.5 -showWeaveInfo"> <compile files="AspNew.aj" options="-1.5 -showWeaveInfo">
<message kind="weave" text="Join point"/> <message kind="weave" text="Join point"/>
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="bugs164/pr265695" title="new syntax for inherited anno - 3"> <ajc-test dir="bugs164/pr265695" title="new syntax for inherited anno - 3">
<compile files="AspNew2.aj" options="-1.5 -showWeaveInfo"> <compile files="AspNew2.aj" options="-1.5 -showWeaveInfo">
<message kind="weave" text="Join point"/> <message kind="weave" text="Join point"/>
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="bugs164/pr265418" title="varargs"> <ajc-test dir="bugs164/pr265418" title="varargs">
<compile files="A.java" options="-1.5"/> <compile files="A.java" options="-1.5"/>
<run class="A"> <run class="A">
</stdout> </stdout>
</run> </run>
</ajc-test> </ajc-test>
<ajc-test dir="bugs164" title="parser problem for array subtypes"> <ajc-test dir="bugs164" title="parser problem for array subtypes">
<compile files="PR148508.java"/> <compile files="PR148508.java"/>
<run class="PR148508"> <run class="PR148508">
</run> </run>
</ajc-test> </ajc-test>
<ajc-test dir="bugs164/pr265360" title="incorrect resolution of Date"> <ajc-test dir="bugs164/pr265360" title="incorrect resolution of Date">
<compile files="Foo.java Main.java" options="-1.5"> <compile files="Foo.java Main.java" options="-1.5">
<message kind="warning" text="no match for this type name: Date "/> <message kind="warning" text="no match for this type name: Date "/>
<message kind="warning" test="advice defined in"/>
<message kind="warning" text="advice defined in"/>
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="bugs164/pr233032" title="dual preClinit"> <ajc-test dir="bugs164/pr233032" title="dual preClinit">
<compile files="A.java" options="-1.5"/> <compile files="A.java" options="-1.5"/>
<run class="A"/> <run class="A"/>
</ajc-test> </ajc-test>
<ajc-test dir="features164/aopconfig/one" title="aop config - 1"> <ajc-test dir="features164/aopconfig/one" title="aop config - 1">
<compile files="A.java A2.java B.java foo.xml" options="-1.5 -showWeaveInfo -xmlConfigured"> <compile files="A.java A2.java B.java foo.xml" options="-1.5 -showWeaveInfo -xmlConfigured">
<message kind="weave" text="Join point 'staticinitialization(void A.&lt;clinit&gt;())' in Type 'A' (A.java:1) advised by before advice from 'A' (A.java:2)"/> <message kind="weave" text="Join point 'staticinitialization(void A.&lt;clinit&gt;())' in Type 'A' (A.java:1) advised by before advice from 'A' (A.java:2)"/>
<message kind="weave" text="Join point 'staticinitialization(void B.&lt;clinit&gt;())' in Type 'B' (B.java:1) advised by before advice from 'A' (A.java:2)"/> <message kind="weave" text="Join point 'staticinitialization(void B.&lt;clinit&gt;())' in Type 'B' (B.java:1) advised by before advice from 'A' (A.java:2)"/>
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="features164/aopconfig/one" title="aop config - 2"> <ajc-test dir="features164/aopconfig/one" title="aop config - 2">
<compile files="A.java A2.java B.java B2.java foo2.xml" options="-1.5 -showWeaveInfo -xmlConfigured"> <compile files="A.java A2.java B.java B2.java foo2.xml" options="-1.5 -showWeaveInfo -xmlConfigured">
<message kind="weave" text="Join point 'staticinitialization(void B.&lt;clinit&gt;())' in Type 'B' (B.java:1) advised by before advice from 'A' (A.java:2)"/> <message kind="weave" text="Join point 'staticinitialization(void B.&lt;clinit&gt;())' in Type 'B' (B.java:1) advised by before advice from 'A' (A.java:2)"/>
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="features164/aopconfig/two" title="aop config - 3"> <ajc-test dir="features164/aopconfig/two" title="aop config - 3">
<!-- type pattern in the scope in foo.xml is complete nonsense --> <!-- type pattern in the scope in foo.xml is complete nonsense -->
<compile files="A.java B.java foo.xml" options="-1.5 -Xlint:ignore -xmlConfigured"> <compile files="A.java B.java foo.xml" options="-1.5 -Xlint:ignore -xmlConfigured">
<message kind="error" text="Unable to parse scope as type pattern"/> <message kind="error" text="Unable to parse scope as type pattern"/>
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="features164/aopconfig/one" title="aop config - 4"> <ajc-test dir="features164/aopconfig/one" title="aop config - 4">
<!-- excluding a type --> <!-- excluding a type -->
<compile files="A.java A2.java B.java B2.java case4.xml" options="-1.5 -Xlint:ignore -xmlConfigured -showWeaveInfo"> <compile files="A.java A2.java B.java B2.java case4.xml" options="-1.5 -Xlint:ignore -xmlConfigured -showWeaveInfo">
<message kind="weave" text="Join point 'staticinitialization(void B.&lt;clinit&gt;())' in Type 'B' (B.java:1) advised by before advice from 'A' (A.java:2)"/> <message kind="weave" text="Join point 'staticinitialization(void B.&lt;clinit&gt;())' in Type 'B' (B.java:1) advised by before advice from 'A' (A.java:2)"/>
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="features164/aopconfig/one" title="aop config - 5"> <ajc-test dir="features164/aopconfig/one" title="aop config - 5">
<!-- excluding a type --> <!-- excluding a type -->
<compile files="A.java A2.java B.java B2.java case5.xml" options="-1.5 -Xlint:ignore -xmlConfigured -showWeaveInfo"> <compile files="A.java A2.java B.java B2.java case5.xml" options="-1.5 -Xlint:ignore -xmlConfigured -showWeaveInfo">
<message kind="weave" text="Join point 'staticinitialization(void A2.&lt;clinit&gt;())' in Type 'A2' (A2.java:1) advised by before advice from 'A' (A.java:2)"/> <message kind="weave" text="Join point 'staticinitialization(void A2.&lt;clinit&gt;())' in Type 'A2' (A2.java:1) advised by before advice from 'A' (A.java:2)"/>
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="bugs164/pr263310" title="inner handles"> <ajc-test dir="bugs164/pr263310" title="inner handles">
<compile files="HandleTestingAspect.java" options="-1.5 -emacssym -Xlint:ignore"/> <compile files="HandleTestingAspect.java" options="-1.5 -emacssym -Xlint:ignore"/>
</ajc-test> </ajc-test>
<ajc-test dir="bugs164/pr263666" title="around advice handles"> <ajc-test dir="bugs164/pr263666" title="around advice handles">
<compile files="x/A.java x/B.java x/OverrideOptions.aj" options="-1.5 -emacssym"/> <compile files="x/A.java x/B.java x/OverrideOptions.aj" options="-1.5 -emacssym"/>
</ajc-test> </ajc-test>
<ajc-test dir="bugs164" title="ajcthis not read"> <ajc-test dir="bugs164" title="ajcthis not read">
<compile files="pr195090.java" options="-1.5 -warn:+unusedArgument"> <compile files="pr195090.java" options="-1.5 -warn:+unusedArgument">
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="bugs164/pr256779" title="anno decprecedence"> <ajc-test dir="bugs164/pr256779" title="anno decprecedence">
<compile files="ThisAspect.java OtherAspect.java" options="-1.5"/> <compile files="ThisAspect.java OtherAspect.java" options="-1.5"/>
<run class="com.ThisAspect" ltw="aop.xml"/> <run class="com.ThisAspect" ltw="aop.xml"/>
</ajc-test> </ajc-test>
<ajc-test dir="bugs164/pr262905" title="recursive cflow"> <ajc-test dir="bugs164/pr262905" title="recursive cflow">
<compile files="A.java" options="-1.5"> <compile files="A.java" options="-1.5">
<message kind="warning" line="5" text="advice defined"/> <message kind="warning" line="5" text="advice defined"/>
<message kind="error" line="3" text="circular"/> <message kind="error" line="3" text="circular"/>
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="bugs164/pr194314" title="broken lvt - 1"> <ajc-test dir="bugs164/pr194314" title="broken lvt - 1">
<compile files="Service.java IService.java Main.java ServiceInterceptor.java" options="-1.5"/> <compile files="Service.java IService.java Main.java ServiceInterceptor.java" options="-1.5"/>
</ajc-test> </ajc-test>
<ajc-test dir="bugs164/pr194314" title="broken lvt - 2"> <ajc-test dir="bugs164/pr194314" title="broken lvt - 2">
<compile files="Service.java IService.java Main.java ServiceInterceptorCodeStyle.java" options="-1.5"/> <compile files="Service.java IService.java Main.java ServiceInterceptorCodeStyle.java" options="-1.5"/>
</ajc-test> </ajc-test>
<ajc-test dir="bugs164/pr194314" title="broken lvt - 3"> <ajc-test dir="bugs164/pr194314" title="broken lvt - 3">
<compile files="ITDOne.java" options="-1.5"/> <compile files="ITDOne.java" options="-1.5"/>
</ajc-test> </ajc-test>
<ajc-test dir="bugs164/pr262509" title="debugging before advice"> <ajc-test dir="bugs164/pr262509" title="debugging before advice">
<compile files="Foo.java" options="-1.5"/> <compile files="Foo.java" options="-1.5"/>
</ajc-test>
</ajc-test>
<ajc-test dir="bugs164/pr262509" title="debugging before advice - 2"> <ajc-test dir="bugs164/pr262509" title="debugging before advice - 2">
<compile files="Foo2.java" options="-1.5 -preserveAllLocals"/> <compile files="Foo2.java" options="-1.5 -preserveAllLocals"/>
</ajc-test>
</ajc-test>
<ajc-test dir="bugs164/pr262509" title="debugging before advice - 3"> <ajc-test dir="bugs164/pr262509" title="debugging before advice - 3">
<compile files="Foo3.java" options="-1.5 -preserveAllLocals"/> <compile files="Foo3.java" options="-1.5 -preserveAllLocals"/>
</ajc-test>
</ajc-test>
<ajc-test dir="bugs164/pr246393" title="rogue errors - 1"> <ajc-test dir="bugs164/pr246393" title="rogue errors - 1">
<compile files="D.java" options="-1.5"> <compile files="D.java" options="-1.5">
<message kind="error" line="2" text="error on token"/> <message kind="error" line="2" text="error on token"/>
</compile> </compile>
</ajc-test>
</ajc-test>


<ajc-test dir="bugs164/pr262257" title="name clash"> <ajc-test dir="bugs164/pr262257" title="name clash">
<compile files="C.java" options="-1.5"> <compile files="C.java" options="-1.5">
</compile> </compile>
</ajc-test>
</ajc-test>
<ajc-test dir="bugs164/pr260384" title="compiling spring"> <ajc-test dir="bugs164/pr260384" title="compiling spring">
<compile files="Broken.java" options="-1.5"> <compile files="Broken.java" options="-1.5">
</compile> </compile>
</ajc-test>
</ajc-test>


<ajc-test dir="bugs164/pr260384" title="compiling spring - 2"> <ajc-test dir="bugs164/pr260384" title="compiling spring - 2">
<compile files="Broken2.java" options="-1.5"> <compile files="Broken2.java" options="-1.5">
</compile> </compile>
</ajc-test>
</ajc-test>
<ajc-test dir="bugs164/pr260384" title="compiling spring - 3"> <ajc-test dir="bugs164/pr260384" title="compiling spring - 3">
<compile files="C.java" options="-1.5 -emacssym"/> <compile files="C.java" options="-1.5 -emacssym"/>
</ajc-test>
</ajc-test>
<ajc-test dir="bugs164/pr260384" title="compiling spring - 4"> <ajc-test dir="bugs164/pr260384" title="compiling spring - 4">
<compile files="D.java" options="-1.5"> <compile files="D.java" options="-1.5">
</compile> </compile>
</ajc-test>
</ajc-test>
<ajc-test dir="bugs164/pr164016" title="ataspectj decp 164016"> <ajc-test dir="bugs164/pr164016" title="ataspectj decp 164016">
<compile files="Code.aj" options="-1.5"/> <compile files="Code.aj" options="-1.5"/>
<run class="test.Code"/> <run class="test.Code"/>
</ajc-test>
</ajc-test>
<ajc-test dir="bugs164/pr164016" title="ataspectj decp 164016 - 2"> <ajc-test dir="bugs164/pr164016" title="ataspectj decp 164016 - 2">
<compile files="Code.java TargetBad.java TargetGood.java" aspectpath="code.jar" options="-1.5"/> <compile files="Code.java TargetBad.java TargetGood.java" aspectpath="code.jar" options="-1.5"/>
<run class="test.Code"/> <run class="test.Code"/>
</ajc-test>
</ajc-test>
<ajc-test dir="bugs164/pr258788" title="ataspectj decp 258788"> <ajc-test dir="bugs164/pr258788" title="ataspectj decp 258788">
<compile files="NameAware.java NameManager.java NameManagerImpl.java StartClass.java TargetClass.java TestAspect.java" options="-1.5"/> <compile files="NameAware.java NameManager.java NameManagerImpl.java StartClass.java TargetClass.java TestAspect.java" options="-1.5"/>
<run class="com.StartClass"/> <run class="com.StartClass"/>
</ajc-test>
</suite>
</ajc-test>
</suite>

+ 44
- 44
tests/src/test/resources/org/aspectj/systemtest/ajc170/ajc170.xml View File

<ajc-test dir="bugs170/pr382723" title="generic aspect"> <ajc-test dir="bugs170/pr382723" title="generic aspect">
<compile files="FooAspect.java" options="-1.5"/> <compile files="FooAspect.java" options="-1.5"/>
</ajc-test> </ajc-test>
<ajc-test dir="bugs170/pr382723" title="generic aspect 2"> <ajc-test dir="bugs170/pr382723" title="generic aspect 2">
<compile files="FooAspect2.java" options="-1.5"/> <compile files="FooAspect2.java" options="-1.5"/>
</ajc-test> </ajc-test>
<ajc-test dir="bugs170/pr382723" title="generic aspect 3"> <ajc-test dir="bugs170/pr382723" title="generic aspect 3">
<compile files="FooAspect3.java" options="-1.5"/> <compile files="FooAspect3.java" options="-1.5"/>
</ajc-test> </ajc-test>
<ajc-test dir="bugs170/pr382723" title="generic aspect 4"> <ajc-test dir="bugs170/pr382723" title="generic aspect 4">
<compile files="Foo.java" options="-1.5 -showWeaveInfo"> <compile files="Foo.java" options="-1.5 -showWeaveInfo">
<message kind="weave" text="Join point 'constructor-call(void java.util.LinkedList.&lt;init&gt;())' in Type 'Foo' (Foo.java:41) advised by around advice from 'Bar' (Foo.java:14)"/> <message kind="weave" text="Join point 'constructor-call(void java.util.LinkedList.&lt;init&gt;())' in Type 'Foo' (Foo.java:41) advised by around advice from 'Bar' (Foo.java:14)"/>
</stdout> </stdout>
</run> </run>
</ajc-test> </ajc-test>
<!-- no declare parents, only ITD --> <!-- no declare parents, only ITD -->
<ajc-test dir="bugs170/pr382189/one" title="covariant generics 1"> <ajc-test dir="bugs170/pr382189/one" title="covariant generics 1">
<compile files="A.java A_ITD.aj B.java SuperA.java SuperB.java" options="-1.5"/> <compile files="A.java A_ITD.aj B.java SuperA.java SuperB.java" options="-1.5"/>
</ajc-test> </ajc-test>
<!-- now declare parents and ITD --> <!-- now declare parents and ITD -->
<ajc-test dir="bugs170/pr382189/two" title="covariant generics 2"> <ajc-test dir="bugs170/pr382189/two" title="covariant generics 2">
<compile files="A.java A_ITD.aj B.java SuperA.java SuperB.java" options="-1.5"/> <compile files="A.java A_ITD.aj B.java SuperA.java SuperB.java" options="-1.5"/>
</ajc-test> </ajc-test>
<!-- now run it --> <!-- now run it -->
<ajc-test dir="bugs170/pr382189/three" title="covariant generics 3"> <ajc-test dir="bugs170/pr382189/three" title="covariant generics 3">
<compile files="A.java A_ITD.aj B.java SuperA.java SuperB.java" options="-1.5"/> <compile files="A.java A_ITD.aj B.java SuperA.java SuperB.java" options="-1.5"/>
<run class="A"/> <run class="A"/>
</ajc-test> </ajc-test>
<ajc-test dir="bugs170/pr382435/one" title="covariant generic itds 1"> <ajc-test dir="bugs170/pr382435/one" title="covariant generic itds 1">
<compile files="bug/A.java" options="-1.5"/> <compile files="bug/A.java" options="-1.5"/>
</ajc-test> </ajc-test>
<ajc-test dir="bugs170/pr382435/two" title="covariant generic itds 2"> <ajc-test dir="bugs170/pr382435/two" title="covariant generic itds 2">
<compile files="bug/A.java" options="-1.5"/> <compile files="bug/A.java" options="-1.5"/>
<run class="bug.A"/> <run class="bug.A"/>
</ajc-test> </ajc-test>
<ajc-test dir="bugs170/pr382189" title="covariant generics"> <ajc-test dir="bugs170/pr382189" title="covariant generics">
<compile files="covbug/A.java covbug/A_ITD.aj covbug/B.java covbug/SuperA.java covbug/SuperB.java" options="-1.5"/> <compile files="covbug/A.java covbug/A_ITD.aj covbug/B.java covbug/SuperA.java covbug/SuperB.java" options="-1.5"/>
<!-- <run class="Foo"> <!-- <run class="Foo">
<line text="@Anno()"/></stdout> <line text="@Anno()"/></stdout>
</run> --> </run> -->
</ajc-test> </ajc-test>
<ajc-test dir="bugs170/pr377130" title="missing annos on priv aspects"> <ajc-test dir="bugs170/pr377130" title="missing annos on priv aspects">
<compile files="Foo.java" options="-1.5"/> <compile files="Foo.java" options="-1.5"/>
<run class="Foo"> <run class="Foo">
<line text="@Anno()"/></stdout> <line text="@Anno()"/></stdout>
</run> </run>
</ajc-test> </ajc-test>
<ajc-test dir="bugs170/pr377130" title="missing annos on priv aspects - 2"> <ajc-test dir="bugs170/pr377130" title="missing annos on priv aspects - 2">
<compile files="Foo2.java" options="-1.5"/> <compile files="Foo2.java" options="-1.5"/>
<run class="Foo2"> <run class="Foo2">
<compile inpath="code.jar" aspectpath="aspects.jar" options="-showWeaveInfo"> <compile inpath="code.jar" aspectpath="aspects.jar" options="-showWeaveInfo">
<message kind="weave" text="Join point 'constructor-call(void R.&lt;init&gt;())'"/> <message kind="weave" text="Join point 'constructor-call(void R.&lt;init&gt;())'"/>
</compile> </compile>
<!--
<!--
if we had a 1.7 vm we could use this: if we had a 1.7 vm we could use this:
<compile files="RAj.java" options="-1.7 -Xlint:ignore"/> <compile files="RAj.java" options="-1.7 -Xlint:ignore"/>
<run class="R" ltw="aop.xml"> <run class="R" ltw="aop.xml">
</stdout> </stdout>
</run> </run>
</ajc-test> </ajc-test>
<ajc-test dir="bugs170/ltw" title="dec at field ordering 2"> <ajc-test dir="bugs170/ltw" title="dec at field ordering 2">
<compile files="Anno.java Main.java TriggerAll.java MyObject.java" options="-1.5"/> <compile files="Anno.java Main.java TriggerAll.java MyObject.java" options="-1.5"/>
<run class="ch.tests.Main"> <run class="ch.tests.Main">
</stdout> </stdout>
</run> </run>
</ajc-test> </ajc-test>
<ajc-test dir="bugs170/ltw" title="dec at field ordering ltw 1"> <ajc-test dir="bugs170/ltw" title="dec at field ordering ltw 1">
<compile files="Anno.java Main.java MyObject.java" options="-1.5"/> <compile files="Anno.java Main.java MyObject.java" options="-1.5"/>
<compile files="TriggerAll.java" options="-Xlint:ignore -1.5 "/> <compile files="TriggerAll.java" options="-Xlint:ignore -1.5 "/>
</stdout> </stdout>
</run> </run>
</ajc-test> </ajc-test>
<ajc-test dir="bugs170/xmldefs" title="xml defined dec at method 2"> <ajc-test dir="bugs170/xmldefs" title="xml defined dec at method 2">
<compile files="Hello.java Anno2.java" options="-1.5"/> <compile files="Hello.java Anno2.java" options="-1.5"/>
<run class="Hello" ltw="aop2.xml"> <run class="Hello" ltw="aop2.xml">
</stderr> </stderr>
</run> </run>
</ajc-test> </ajc-test>
<ajc-test dir="bugs170/xmldefs" title="xml defined dec at field"> <ajc-test dir="bugs170/xmldefs" title="xml defined dec at field">
<compile files="Hello2.java Anno.java" options="-1.5"/> <compile files="Hello2.java Anno.java" options="-1.5"/>
<run class="Hello2" ltw="aop3.xml"> <run class="Hello2" ltw="aop3.xml">
</stdout> </stdout>
</run> </run>
</ajc-test> </ajc-test>
<ajc-test dir="bugs170/xmldefs" title="xml defined dec anno - variants 1"> <ajc-test dir="bugs170/xmldefs" title="xml defined dec anno - variants 1">
<compile files="Hello4.java Anno4.java" options="-1.5"/> <compile files="Hello4.java Anno4.java" options="-1.5"/>
<run class="Hello4" ltw="aop4.xml"> <run class="Hello4" ltw="aop4.xml">
</stdout> </stdout>
</run> </run>
</ajc-test> </ajc-test>
<ajc-test dir="bugs170/xmldefs" title="xml defined dec anno - variants 2"> <ajc-test dir="bugs170/xmldefs" title="xml defined dec anno - variants 2">
<compile files="Hello5.java Anno5.java" options="-1.5"/> <compile files="Hello5.java Anno5.java" options="-1.5"/>
<run class="Hello5" ltw="aop5.xml"> <run class="Hello5" ltw="aop5.xml">
</stdout> </stdout>
</run> </run>
</ajc-test> </ajc-test>
<ajc-test dir="bugs170/xmldefs" title="xml defined dec anno - multiple values"> <ajc-test dir="bugs170/xmldefs" title="xml defined dec anno - multiple values">
<compile files="Hello6.java Anno6.java" options="-1.5"/> <compile files="Hello6.java Anno6.java" options="-1.5"/>
<run class="Hello6" ltw="aop6.xml"> <run class="Hello6" ltw="aop6.xml">
</stdout> </stdout>
</run> </run>
</ajc-test> </ajc-test>
<ajc-test dir="bugs170/xmldefs" title="xml defined dec anno - multiple values and spaces"> <ajc-test dir="bugs170/xmldefs" title="xml defined dec anno - multiple values and spaces">
<compile files="Hello6.java Anno6.java" options="-1.5"/> <compile files="Hello6.java Anno6.java" options="-1.5"/>
<run class="Hello6" ltw="aop6a.xml"> <run class="Hello6" ltw="aop6a.xml">
</stdout> </stdout>
</run> </run>
</ajc-test> </ajc-test>
<ajc-test dir="bugs170/xmldefs" title="xml defined dec anno - type"> <ajc-test dir="bugs170/xmldefs" title="xml defined dec anno - type">
<compile files="Hello7.java Anno7.java" options="-1.5"/> <compile files="Hello7.java Anno7.java" options="-1.5"/>
<run class="Hello7" ltw="aop7.xml"> <run class="Hello7" ltw="aop7.xml">
</compile> </compile>
<run class="AspectTest"/> <run class="AspectTest"/>
</ajc-test> </ajc-test>
<ajc-test dir="bugs170/transientTjpFields" title="transient tjp fields"> <ajc-test dir="bugs170/transientTjpFields" title="transient tjp fields">
<compile files="Code.java" options="-Xset:makeTjpFieldsTransient=true"> <compile files="Code.java" options="-Xset:makeTjpFieldsTransient=true">
</compile> </compile>
<compile files="PerThis.java" options="-1.7"> <compile files="PerThis.java" options="-1.7">
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="bugs170/language" title="pertarget"> <ajc-test dir="bugs170/language" title="pertarget">
<compile files="PerTarget.java" options="-1.7"> <compile files="PerTarget.java" options="-1.7">
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="bugs170/language" title="percflow"> <ajc-test dir="bugs170/language" title="percflow">
<compile files="PerCflow.java" options="-1.7"> <compile files="PerCflow.java" options="-1.7">
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="bugs170/language" title="pertypewithin"> <ajc-test dir="bugs170/language" title="pertypewithin">
<compile files="PerTypeWithin.java" options="-1.7"> <compile files="PerTypeWithin.java" options="-1.7">
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="bugs170/language" title="diamond 1"> <ajc-test dir="bugs170/language" title="diamond 1">
<compile files="Diamond.java" options="-1.5"> <compile files="Diamond.java" options="-1.5">
<message kind="error" line="11" text="'&lt;&gt;' operator is not allowed for source level below 1.7"/> <message kind="error" line="11" text="'&lt;&gt;' operator is not allowed for source level below 1.7"/>
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="bugs170/language" title="diamond 2"> <ajc-test dir="bugs170/language" title="diamond 2">
<compile files="Diamond.java" options="-1.7"> <compile files="Diamond.java" options="-1.7">
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="bugs170/language" title="diamond itd 1"> <ajc-test dir="bugs170/language" title="diamond itd 1">
<compile files="DiamondITD.java" options="-1.7"> <compile files="DiamondITD.java" options="-1.7">
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="bugs170/language" title="literals 1"> <ajc-test dir="bugs170/language" title="literals 1">
<compile files="Literals.java" options="-1.5"> <compile files="Literals.java" options="-1.5">
<message kind="error" line="8" text="Underscores can only be used with source level 1.7 or greater"/> <message kind="error" line="8" text="Underscores can only be used with source level 1.7 or greater"/>
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="bugs170/language" title="literals 2"> <ajc-test dir="bugs170/language" title="literals 2">
<compile files="Literals.java" options="-1.7"> <compile files="Literals.java" options="-1.7">
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="bugs170/language" title="literals itd 1"> <ajc-test dir="bugs170/language" title="literals itd 1">
<compile files="LiteralsITD.java" options="-1.7"> <compile files="LiteralsITD.java" options="-1.7">
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="bugs170/language" title="string switch 1"> <ajc-test dir="bugs170/language" title="string switch 1">
<compile files="StringSwitch.java" options="-1.5"> <compile files="StringSwitch.java" options="-1.5">
<message kind="error" line="9" text="Cannot switch on a value of type String for source level below 1.7. Only convertible int values or enum variables are permitted"/> <message kind="error" line="9" text="Cannot switch on a value of type String for source level below 1.7. Only convertible int values or enum variables are permitted"/>
<compile files="StringSwitch.java" options="-1.7"> <compile files="StringSwitch.java" options="-1.7">
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="bugs170/language" title="multi catch 1"> <ajc-test dir="bugs170/language" title="multi catch 1">
<compile files="MultiCatch.java" options="-1.5"> <compile files="MultiCatch.java" options="-1.5">
<message kind="error" line="6" text="Multi-catch parameters are not allowed for source level below 1.7"/> <message kind="error" line="6" text="Multi-catch parameters are not allowed for source level below 1.7"/>
<compile files="MultiCatch.java" options="-1.7"> <compile files="MultiCatch.java" options="-1.7">
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="bugs170/language" title="multi catch with handler 1"> <ajc-test dir="bugs170/language" title="multi catch with handler 1">
<compile files="MultiCatchWithHandler.java" options="-1.7"> <compile files="MultiCatchWithHandler.java" options="-1.7">
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="bugs170/language" title="multi catch aspect 1"> <ajc-test dir="bugs170/language" title="multi catch aspect 1">
<compile files="MultiCatchAspect.java" options="-1.7"> <compile files="MultiCatchAspect.java" options="-1.7">
</compile> </compile>
<compile files="TryResources.java" options="-1.7"> <compile files="TryResources.java" options="-1.7">
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="bugs170/language" title="try resources 2"> <ajc-test dir="bugs170/language" title="try resources 2">
<compile files="TryResourcesAspect.java" options="-1.7"> <compile files="TryResourcesAspect.java" options="-1.7">
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="bugs170/language" title="multi catch with handler 2"> <ajc-test dir="bugs170/language" title="multi catch with handler 2">
<compile files="MultiCatchWithHandler2.java" options="-1.7"> <compile files="MultiCatchWithHandler2.java" options="-1.7">
</compile> </compile>
<run class="MultiCatchWithHandler2"></run>
<run class="MultiCatchWithHandler2"/>
</ajc-test> </ajc-test>
<ajc-test dir="bugs170/sanity" title="sanity 1"> <ajc-test dir="bugs170/sanity" title="sanity 1">
<compile files="DeclareAtType.java" options="-1.5"> <compile files="DeclareAtType.java" options="-1.5">
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="bugs170/pr363979" title="missing impl"> <ajc-test dir="bugs170/pr363979" title="missing impl">
<compile files="Example.java" options="-1.5"/> <compile files="Example.java" options="-1.5"/>
<run class="Example"> <run class="Example">
</stdout> </stdout>
</run> </run>
</ajc-test> </ajc-test>
<ajc-test dir="bugs170/pr363979" title="missing impl 2"> <ajc-test dir="bugs170/pr363979" title="missing impl 2">
<compile files="Example2.java" options="-1.5"/> <compile files="Example2.java" options="-1.5"/>
<run class="Example2"> <run class="Example2">
</stdout> </stdout>
</run> </run>
</ajc-test> </ajc-test>
<ajc-test dir="bugs170/pr364380" title="stackoverflow"> <ajc-test dir="bugs170/pr364380" title="stackoverflow">
<compile files="X.aj" options="-1.5" outjar="foo.jar"/> <compile files="X.aj" options="-1.5" outjar="foo.jar"/>
<compile files="C.java" options="-1.5" inpath="foo.jar"> <compile files="C.java" options="-1.5" inpath="foo.jar">
<message kind="warning" text="An advice already exists for setting an owner"/> <message kind="warning" text="An advice already exists for setting an owner"/>
</compile> </compile>
</ajc-test> </ajc-test>
</suite> </suite>

+ 2
- 2
tests/src/test/resources/org/aspectj/systemtest/ajc172/ajc172.xml View File

</ajc-test> </ajc-test>


<ajc-test dir="bugs172/pr398246" title="if pointcut names 4"> <ajc-test dir="bugs172/pr398246" title="if pointcut names 4">
<compile files="Code4.java" options="-1.5"></compile>
<compile files="Code4.java" options="-1.5"/>
<compile files="Code4.java" options="-1.5" outjar="aspects.jar"/> <compile files="Code4.java" options="-1.5" outjar="aspects.jar"/>
<run class="Code4" options="-1.5"> <run class="Code4" options="-1.5">
<stdout> <stdout>
<line text="advice"/> <line text="advice"/>
</stdout> </stdout>
</run> </run>
<compile files="CodeExtra4.java" aspectpath="aspects.jar" options="-1.5"></compile>
<compile files="CodeExtra4.java" aspectpath="aspects.jar" options="-1.5"/>
<run class="CodeExtra4" options="-1.5"> <run class="CodeExtra4" options="-1.5">
<stdout> <stdout>
<line text="advice"/> <line text="advice"/>

+ 6
- 6
tests/src/test/resources/org/aspectj/systemtest/ajc1810/ajc1810.xml View File

</stdout> </stdout>
</run> </run>
</ajc-test> </ajc-test>
<ajc-test dir="bugs1810/500035" title="ataspectj binding 2"> <ajc-test dir="bugs1810/500035" title="ataspectj binding 2">
<compile options="-1.8" files="Code2.java"/> <compile options="-1.8" files="Code2.java"/>
<run class="Code2"> <run class="Code2">
</stdout> </stdout>
</run> </run>
</ajc-test> </ajc-test>
<ajc-test dir="bugs1810/500035" title="ataspectj binding 3 -XnoInline"> <ajc-test dir="bugs1810/500035" title="ataspectj binding 3 -XnoInline">
<compile options="-1.8 -XnoInline" files="Code3.java"/> <compile options="-1.8 -XnoInline" files="Code3.java"/>
<run class="Code3"> <run class="Code3">
</stdout> </stdout>
</run> </run>
</ajc-test> </ajc-test>
<ajc-test dir="bugs1810/500035" title="ataspectj binding 4"> <ajc-test dir="bugs1810/500035" title="ataspectj binding 4">
<compile options="-1.8" files="Code3.java"/> <compile options="-1.8" files="Code3.java"/>
<run class="Code3"> <run class="Code3">
</stdout> </stdout>
</run> </run>
</ajc-test> </ajc-test>
<ajc-test dir="bugs1810/501656" title="generics exception"> <ajc-test dir="bugs1810/501656" title="generics exception">
<compile options="-1.8 -parameters" files="ApplicationException.java ApplicationExceptionHandler.java"/> <compile options="-1.8 -parameters" files="ApplicationException.java ApplicationExceptionHandler.java"/>
</ajc-test> </ajc-test>


<ajc-test dir="bugs1810/493554" title="pertarget"> <ajc-test dir="bugs1810/493554" title="pertarget">
<compile options="-1.8" files="Dep.java FooAspect.aj Cmd.java"/> <compile options="-1.8" files="Dep.java FooAspect.aj Cmd.java"/>
<run class="example.kusedep.Cmd"></run>
<run class="example.kusedep.Cmd"/>
</ajc-test> </ajc-test>


<ajc-test dir="bugs1810/ambig" title="ambiguous message - 18"> <ajc-test dir="bugs1810/ambig" title="ambiguous message - 18">
<message kind="error" text="The method toList() in the type Collectors is not applicable for the arguments (Inner::getId)"/> <message kind="error" text="The method toList() in the type Collectors is not applicable for the arguments (Inner::getId)"/>
</compile> </compile>
</ajc-test> </ajc-test>
</suite> </suite>

+ 13
- 13
tests/src/test/resources/org/aspectj/systemtest/ajc183/ajc183.xml View File

</stdout> </stdout>
</run> </run>
</ajc-test> </ajc-test>
<ajc-test dir="bugs183/436653/abstract" title="suppress type not found - abstract 1"> <ajc-test dir="bugs183/436653/abstract" title="suppress type not found - abstract 1">
<compile options="-1.8 -Xlint:ignore" files="A.java" outjar="codeA.jar"/> <compile options="-1.8 -Xlint:ignore" files="A.java" outjar="codeA.jar"/>
<compile options="-1.8" files="AA.java X.java" classpath="codeA.jar" outjar="aspects.jar"/> <compile options="-1.8" files="AA.java X.java" classpath="codeA.jar" outjar="aspects.jar"/>
</stdout> </stdout>
</run> </run>
</ajc-test> </ajc-test>
<ajc-test dir="bugs183/436653" title="suppress type not found 4"> <ajc-test dir="bugs183/436653" title="suppress type not found 4">
<compile options="-1.8 -Xlint:ignore" files="X.java" outjar="aspects.jar"/> <compile options="-1.8 -Xlint:ignore" files="X.java" outjar="aspects.jar"/>
<compile options="-1.8" files="Runner.java"/> <compile options="-1.8" files="Runner.java"/>
</stdout> </stdout>
</run> </run>
</ajc-test> </ajc-test>
<ajc-test dir="bugs183/436653" title="suppress type not found 5"> <ajc-test dir="bugs183/436653" title="suppress type not found 5">
<compile options="-1.8 -Xlint:ignore" files="X.java" outjar="aspects.jar"/> <compile options="-1.8 -Xlint:ignore" files="X.java" outjar="aspects.jar"/>
<compile class="-1.8" files="A.java"/>
<compile options="-1.8" files="A.java"/>
<compile options="-1.8" files="Runner.java"/> <compile options="-1.8" files="Runner.java"/>
<run class="Runner" ltw="aop.xml"> <run class="Runner" ltw="aop.xml">
<stdout> <stdout>
</stdout> </stdout>
</run> </run>
</ajc-test> </ajc-test>
<!-- annotation style aspect, missing type so deactivated --> <!-- annotation style aspect, missing type so deactivated -->
<ajc-test dir="bugs183/436653" title="suppress type not found 6"> <ajc-test dir="bugs183/436653" title="suppress type not found 6">
<compile options="-1.8 -Xlint:ignore" files="AnnoX.java" outjar="aspects.jar"/> <compile options="-1.8 -Xlint:ignore" files="AnnoX.java" outjar="aspects.jar"/>
</stdout> </stdout>
</run> </run>
</ajc-test> </ajc-test>
<!-- annotation style aspect, type not missing so not deactivated --> <!-- annotation style aspect, type not missing so not deactivated -->
<ajc-test dir="bugs183/436653" title="suppress type not found 7"> <ajc-test dir="bugs183/436653" title="suppress type not found 7">
<compile options="-1.8 -Xlint:ignore" files="AnnoX.java A.java" outjar="aspects.jar"/> <compile options="-1.8 -Xlint:ignore" files="AnnoX.java A.java" outjar="aspects.jar"/>
</stdout> </stdout>
</run> </run>
</ajc-test> </ajc-test>
<!-- annotation style aspect, type not missing so not deactivated --> <!-- annotation style aspect, type not missing so not deactivated -->
<ajc-test dir="bugs183/436653" title="suppress type not found 8"> <ajc-test dir="bugs183/436653" title="suppress type not found 8">
<compile options="-1.8 -Xlint:ignore" files="AnnoX.java A.java" outjar="aspects.jar"/> <compile options="-1.8 -Xlint:ignore" files="AnnoX.java A.java" outjar="aspects.jar"/>
<message kind="info" text="*deactivating aspect 'XA2' as it requires type 'B' which cannot be found on the classpath"/> <message kind="info" text="*deactivating aspect 'XA2' as it requires type 'B' which cannot be found on the classpath"/>
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="bugs183/436653" title="suppress type not found 2"> <ajc-test dir="bugs183/436653" title="suppress type not found 2">
<compile options="-1.8" files="A.java" outjar="typeA.jar"/> <compile options="-1.8" files="A.java" outjar="typeA.jar"/>
<!-- adviceDidNotMatch messages are suppressed here --> <!-- adviceDidNotMatch messages are suppressed here -->
<compile options="-1.8" files="Code.java" aspectpath="aspects.jar"> <compile options="-1.8" files="Code.java" aspectpath="aspects.jar">
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="bugs183/436653" title="suppress type not found"> <ajc-test dir="bugs183/436653" title="suppress type not found">
<compile options="-1.8" files="A.java" outjar="typeA.jar"/> <compile options="-1.8" files="A.java" outjar="typeA.jar"/>
<!-- adviceDidNotMatch messages are suppressed here --> <!-- adviceDidNotMatch messages are suppressed here -->
<compile options="-1.8" files="ControlFlow.java ForReplacer.java ControlFlowCommand.java ControlFlowDriver.java"> <compile options="-1.8" files="ControlFlow.java ForReplacer.java ControlFlowCommand.java ControlFlowDriver.java">
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="bugs183/444398" title="abstract aspect npe"> <ajc-test dir="bugs183/444398" title="abstract aspect npe">
<compile options="-1.8" files="Bottom.java Middle.java Top.java"> <compile options="-1.8" files="Bottom.java Middle.java Top.java">
</compile> </compile>
</ajc-test> </ajc-test>
<ajc-test dir="bugs183/442425" title="anno style decp"> <ajc-test dir="bugs183/442425" title="anno style decp">
<compile options="-1.8" files="EntityController.java IEntityController.java MyAnnotatedController.java EntityControllerAspect.java EntityMongoController.java"> <compile options="-1.8" files="EntityController.java IEntityController.java MyAnnotatedController.java EntityControllerAspect.java EntityMongoController.java">
<message kind="error" line="23" text="Type mismatch: cannot convert from MyAnnotatedController&lt;String&gt; to IEntityController&lt;String&gt;"/> <message kind="error" line="23" text="Type mismatch: cannot convert from MyAnnotatedController&lt;String&gt; to IEntityController&lt;String&gt;"/>
</run> </run>
--> -->
</ajc-test> </ajc-test>
<ajc-test dir="bugs183/443477" title="verifyerror"> <ajc-test dir="bugs183/443477" title="verifyerror">
<compile options="-1.7" files="Coo.java"/> <compile options="-1.7" files="Coo.java"/>
<run class="Coo"/> <run class="Coo"/>
</ajc-test> </ajc-test>
</suite> </suite>

+ 2
- 2
tests/src/test/resources/org/aspectj/systemtest/ajc187/ajc187.xml View File

</ajc-test> </ajc-test>


<ajc-test dir="bugs187/469889" title="broken java"> <ajc-test dir="bugs187/469889" title="broken java">
<!--
<!--
<compile files="A.java B.java AbstractA.java BImpl.java Main.java" options="-1.8"/> <compile files="A.java B.java AbstractA.java BImpl.java Main.java" options="-1.8"/>
--> -->
<compile files="Code.java" options="-1.8"/> <compile files="Code.java" options="-1.8"/>
<compile files="B.java" options="-XhasMember -1.8 -showWeaveInfo"> <compile files="B.java" options="-XhasMember -1.8 -showWeaveInfo">
<message kind="weave" text="Extending interface set for type 'B' (B.java) to include 'java.io.Serializable' (B.java)"/> <message kind="weave" text="Extending interface set for type 'B' (B.java) to include 'java.io.Serializable' (B.java)"/>
</compile> </compile>
<run class="B"></run>
<run class="B"/>
</ajc-test> </ajc-test>


</suite> </suite>

+ 1
- 1
tests/src/test/resources/org/aspectj/systemtest/ajc190/ajc190.xml View File



<ajc-test dir="bugs190/modules" title="weave module"> <ajc-test dir="bugs190/modules" title="weave module">
<compile files="aspect1/Azpect1.java" inpath="module1/module-one.jar" outjar="runner.jar" options="-1.8"/> <compile files="aspect1/Azpect1.java" inpath="module1/module-one.jar" outjar="runner.jar" options="-1.8"/>
<java classpath="runner.jar" class="a.b.c.Code"/>
<run classpath="runner.jar" class="a.b.c.Code"/>
</ajc-test> </ajc-test>


<ajc-test dir="bugs190/various" title="setting static final outside clinit"> <ajc-test dir="bugs190/various" title="setting static final outside clinit">

+ 27
- 24
tests/src/test/resources/org/aspectj/systemtest/ajc190/ajc190_from150.xml View File



<ajc-test dir="bugs150" pr="107059" title="target(@Foo *)"> <ajc-test dir="bugs150" pr="107059" title="target(@Foo *)">
<compile files="pr107059_2.aj" options="-1.9"> <compile files="pr107059_2.aj" options="-1.9">
<message kind="error" line="4" text="wildcard type pattern not allowed"></message>
<message kind="error" line="4" text="wildcard type pattern not allowed"/>
</compile> </compile>
</ajc-test> </ajc-test>




<ajc-test dir="bugs150" pr="108050" title="signature matching in override scenario"> <ajc-test dir="bugs150" pr="108050" title="signature matching in override scenario">
<compile files="pr108050.aj" options="-1.9"> <compile files="pr108050.aj" options="-1.9">
<message kind="warning" line = "2" text="servlet request"></message>
<message kind="warning" line = "7" text="servlet request"></message>
<message kind="warning" line = "21" text="servlet request"></message>
<message kind="warning" line="2" text="servlet request"/>
<message kind="warning" line="7" text="servlet request"/>
<message kind="warning" line="21" text="servlet request"/>
</compile> </compile>
</ajc-test> </ajc-test>




<ajc-test dir="bugs150/" pr="107953" title="@AfterThrowing with no formal specified"> <ajc-test dir="bugs150/" pr="107953" title="@AfterThrowing with no formal specified">
<compile files="pr107953.java" options="-1.9"> <compile files="pr107953.java" options="-1.9">
<message kind="error" line="8" text="throwing formal 'RuntimeException' must be declared as a parameter in the advice signature"></message>
<message kind="error" line="8"
text="throwing formal 'RuntimeException' must be declared as a parameter in the advice signature"/>
</compile> </compile>
</ajc-test> </ajc-test>




<ajc-test title="matching against Object[]" pr="72668" dir="bugs150"> <ajc-test title="matching against Object[]" pr="72668" dir="bugs150">
<compile files="pr72668.aj" options="-1.9"> <compile files="pr72668.aj" options="-1.9">
<message kind="error" line="3" text="incompatible return type applying to method-execution(java.lang.Number[] pr72668.getThoseInts())"></message>
<message kind="error" line="10" text="incompatible return type applying to method-execution(java.lang.Number[] pr72668.getThoseInts())"></message>
<message kind="error" line="3"
text="incompatible return type applying to method-execution(java.lang.Number[] pr72668.getThoseInts())"/>
<message kind="error" line="10"
text="incompatible return type applying to method-execution(java.lang.Number[] pr72668.getThoseInts())"/>
</compile> </compile>
</ajc-test> </ajc-test>




<ajc-test dir="bugs" pr="61568" title="Various kinds of ambiguous bindings"> <ajc-test dir="bugs" pr="61568" title="Various kinds of ambiguous bindings">
<compile files="AmbiguousBindings.aj" options="-1.4"> <compile files="AmbiguousBindings.aj" options="-1.4">
<message line="17" text="ambiguous binding of parameter(s) foo across '||' in pointcut"></message>
<message line="19" text="ambiguous binding of parameter(s) foo across '||' in pointcut"></message>
<message line="21" text="ambiguous binding of parameter(s) foo across '||' in pointcut"></message>
<message line="23" text="ambiguous binding of parameter(s) x across '||' in pointcut"></message>
<message line="25" text="ambiguous binding of parameter(s) foo across '||' in pointcut"></message>
<message line="17" text="ambiguous binding of parameter(s) foo across '||' in pointcut"/>
<message line="19" text="ambiguous binding of parameter(s) foo across '||' in pointcut"/>
<message line="21" text="ambiguous binding of parameter(s) foo across '||' in pointcut"/>
<message line="23" text="ambiguous binding of parameter(s) x across '||' in pointcut"/>
<message line="25" text="ambiguous binding of parameter(s) foo across '||' in pointcut"/>
</compile> </compile>
</ajc-test> </ajc-test>


<ajc-test dir="bugs" pr="61658" title="ambiguous args"> <ajc-test dir="bugs" pr="61658" title="ambiguous args">
<compile files="PR61658.java" options="-1.9"> <compile files="PR61658.java" options="-1.9">
<message line="17" text="ambiguous binding of parameter(s) a, b across '||' in pointcut"></message>
<message line="17" text="ambiguous binding of parameter(s) a, b across '||' in pointcut"/>
</compile> </compile>
</ajc-test> </ajc-test>




<ajc-test dir="bugs150" pr="107858" title="inlined field access in proceed call"> <ajc-test dir="bugs150" pr="107858" title="inlined field access in proceed call">
<compile files="pr107858.aj" options="-1.9"> <compile files="pr107858.aj" options="-1.9">
<message kind="error" line="9" text="too many arguments to proceed, expected 0"></message>
<message kind="error" line="10" text="too many arguments to proceed, expected 0"></message>
<message kind="error" line="9" text="too many arguments to proceed, expected 0"/>
<message kind="error" line="10" text="too many arguments to proceed, expected 0"/>
</compile> </compile>
</ajc-test> </ajc-test>




<ajc-test dir="bugs150/pr87530" pr="87530" title="final itd methods on interfaces"> <ajc-test dir="bugs150/pr87530" pr="87530" title="final itd methods on interfaces">
<compile files="FinalITDMOnInterface.aj" options="-1.9"> <compile files="FinalITDMOnInterface.aj" options="-1.9">
<message kind="error" line="12" text="Cannot override the final method from A.TestInterface"></message>
<message kind="error" line="12" text="Cannot override the final method from A.TestInterface"/>
</compile> </compile>
<compile files="FinalITDMOnInterface2.aj" options="-1.9"> <compile files="FinalITDMOnInterface2.aj" options="-1.9">
<!--message kind="error" line="8" text="Cannot override the final method from A.TestInterface"></message--> <!--message kind="error" line="8" text="Cannot override the final method from A.TestInterface"></message-->
<message kind="error" line="8" text="can't override final void A$TestInterface.m()"></message>
<message kind="error" line="8" text="can't override final void A$TestInterface.m()"/>
</compile> </compile>
</ajc-test> </ajc-test>




<ajc-test title="declare parents : hasmethod(..) - 1" dir="hasmember"> <ajc-test title="declare parents : hasmethod(..) - 1" dir="hasmember">
<compile files="HasMethod.aj" options="-1.9 -XhasMember"/> <compile files="HasMethod.aj" options="-1.9 -XhasMember"/>
<run class="HasMethod"></run>
<run class="HasMethod"/>
</ajc-test> </ajc-test>


<ajc-test title="declare parents : hasmethod(..) - 2" dir="hasmember"> <ajc-test title="declare parents : hasmethod(..) - 2" dir="hasmember">
<compile files="HasMethodInherited.aj" options="-1.9 -XhasMember"/> <compile files="HasMethodInherited.aj" options="-1.9 -XhasMember"/>
<run class="HasMethodInherited"></run>
<run class="HasMethodInherited"/>
</ajc-test> </ajc-test>


<ajc-test title="declare parents : hasmethod(..) - 3" dir="hasmember"> <ajc-test title="declare parents : hasmethod(..) - 3" dir="hasmember">
<compile files="HasPrivateMethodInherited.aj" options="-1.9 -XhasMember"/> <compile files="HasPrivateMethodInherited.aj" options="-1.9 -XhasMember"/>
<run class="HasPrivateMethodInherited"></run>
<run class="HasPrivateMethodInherited"/>
</ajc-test> </ajc-test>


<ajc-test title="declare parents : hasmethod(..) - 4" dir="hasmember"> <ajc-test title="declare parents : hasmethod(..) - 4" dir="hasmember">


<ajc-test title="declare parents : hasfield(..) - 1" dir="hasmember"> <ajc-test title="declare parents : hasfield(..) - 1" dir="hasmember">
<compile files="HasField.aj" options="-1.9 -XhasMember"/> <compile files="HasField.aj" options="-1.9 -XhasMember"/>
<run class="HasField"></run>
<run class="HasField"/>
</ajc-test> </ajc-test>


<ajc-test title="declare parents : hasfield(..) - 2" dir="hasmember"> <ajc-test title="declare parents : hasfield(..) - 2" dir="hasmember">
<compile files="HasFieldInherited.aj" options="-1.9 -XhasMember"/> <compile files="HasFieldInherited.aj" options="-1.9 -XhasMember"/>
<run class="HasFieldInherited"></run>
<run class="HasFieldInherited"/>
</ajc-test> </ajc-test>


<ajc-test title="declare parents : hasfield(..) - 3" dir="hasmember"> <ajc-test title="declare parents : hasfield(..) - 3" dir="hasmember">
<compile files="HasPrivateFieldInherited.aj" options="-1.9 -XhasMember"/> <compile files="HasPrivateFieldInherited.aj" options="-1.9 -XhasMember"/>
<run class="HasPrivateFieldInherited"></run>
<run class="HasPrivateFieldInherited"/>
</ajc-test> </ajc-test>


<!-- Annotation binding tests --> <!-- Annotation binding tests -->
<compile files="BaseTypes.java,DecaTypeBin5.aj" options="-1.9" xlintfile="ignoreTypeNotExposed.properties"> <compile files="BaseTypes.java,DecaTypeBin5.aj" options="-1.9" xlintfile="ignoreTypeNotExposed.properties">
<message kind="error" line="15" text="The annotation @ColorM is disallowed for this location"/> <message kind="error" line="15" text="The annotation @ColorM is disallowed for this location"/>
<message kind="error" line="16" text="The annotation @ColorC is disallowed for this location"/> <message kind="error" line="16" text="The annotation @ColorC is disallowed for this location"/>
<message king="error" line="17" text="A is not a valid target for annotation ColorA"/>
<message kind="error" line="17" text="A is not a valid target for annotation ColorA"/>
<message kind="error" line="18" text="The annotation @ColorF is disallowed for this location"/> <message kind="error" line="18" text="The annotation @ColorF is disallowed for this location"/>
<message kind="error" line="19" text="The annotation @ColorP is disallowed for this location"/> <message kind="error" line="19" text="The annotation @ColorP is disallowed for this location"/>
<message kind="error" line="20" text="The annotation @ColorL is disallowed for this location"/> <message kind="error" line="20" text="The annotation @ColorL is disallowed for this location"/>

+ 4
- 4
tests/src/test/resources/org/aspectj/systemtest/bringup/bringup.xml View File

<suite> <suite>


<ajc-test title="empty class" dir="bringup"> <ajc-test title="empty class" dir="bringup">
<compile files="EmptyClass.java"></compile>
<compile files="EmptyClass.java"/>
</ajc-test> </ajc-test>


<ajc-test title="empty aspect" dir="bringup"> <ajc-test title="empty aspect" dir="bringup">
<compile files="EmptyAspect.aj"></compile>
<compile files="EmptyAspect.aj"/>
</ajc-test> </ajc-test>
</suite>
</suite>

Loading…
Cancel
Save