diff options
author | acolyer <acolyer> | 2005-01-17 11:05:53 +0000 |
---|---|---|
committer | acolyer <acolyer> | 2005-01-17 11:05:53 +0000 |
commit | 35cab775d1ac2fc45f614b4659047b2f291dcd96 (patch) | |
tree | d416d7bc3c066995ea8bcb704aedeb086cd40f1f | |
parent | 767d730c50fd21915fed0dd64ad9f40500be0a6b (diff) | |
download | aspectj-35cab775d1ac2fc45f614b4659047b2f291dcd96.tar.gz aspectj-35cab775d1ac2fc45f614b4659047b2f291dcd96.zip |
java 5 support
45 files changed, 882 insertions, 159 deletions
diff --git a/asm/src/org/aspectj/asm/IProgramElement.java b/asm/src/org/aspectj/asm/IProgramElement.java index 476b6aaa0..a4d43fa47 100644 --- a/asm/src/org/aspectj/asm/IProgramElement.java +++ b/asm/src/org/aspectj/asm/IProgramElement.java @@ -219,6 +219,8 @@ public interface IProgramElement extends Serializable { public static final Kind CLASS = new Kind("class"); public static final Kind INTERFACE = new Kind("interface"); public static final Kind ASPECT = new Kind("aspect"); + public static final Kind ENUM = new Kind("enum"); + public static final Kind ANNOTATION = new Kind("annotation"); public static final Kind INITIALIZER = new Kind("initializer"); public static final Kind INTER_TYPE_FIELD = new Kind("inter-type field"); public static final Kind INTER_TYPE_METHOD = new Kind("inter-type method"); @@ -251,6 +253,8 @@ public interface IProgramElement extends Serializable { CLASS, INTERFACE, ASPECT, + ENUM, + ANNOTATION, INITIALIZER, INTER_TYPE_FIELD, INTER_TYPE_METHOD, diff --git a/org.aspectj.ajdt.core/.classpath b/org.aspectj.ajdt.core/.classpath index 32c74b39c..f31838dd6 100644 --- a/org.aspectj.ajdt.core/.classpath +++ b/org.aspectj.ajdt.core/.classpath @@ -2,7 +2,6 @@ <classpath> <classpathentry kind="src" path="src"/> <classpathentry sourcepath="JRE_SRC" kind="var" path="JRE_LIB"/> - <classpathentry kind="src" path="/org.eclipse.jdt.core"/> <classpathentry kind="src" path="/bridge"/> <classpathentry kind="src" path="/weaver"/> <classpathentry kind="src" path="/asm"/> @@ -13,5 +12,6 @@ <classpathentry sourcepath="/lib/junit/junit-src.jar" kind="lib" path="/lib/junit/junit.jar"/> <classpathentry kind="src" path="/testing-util"/> <classpathentry kind="src" path="/testing-client"/> + <classpathentry kind="src" path="/org.eclipse.jdt.core"/> <classpathentry kind="output" path="bin"/> </classpath> diff --git a/org.aspectj.ajdt.core/ajcore.20050113.174142.843.txt b/org.aspectj.ajdt.core/ajcore.20050113.174142.843.txt new file mode 100644 index 000000000..13bc2ac81 --- /dev/null +++ b/org.aspectj.ajdt.core/ajcore.20050113.174142.843.txt @@ -0,0 +1,181 @@ +---- AspectJ Properties --- +AspectJ Compiler DEVELOPMENT built on Monday Dec 27, 2004 at 13:36:56 GMT +---- Dump Properties --- +Dump file: ajcore.20050113.174142.843.txt +Dump reason: java.lang.ArrayIndexOutOfBoundsException +Dump on exception: true +Dump at exit condition: abort +---- Exception Information --- +java.lang.ArrayIndexOutOfBoundsException: -1 + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.getTypeReference(TheOriginalJDTParserClass.java:6187) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.Parser.consumeInterTypeMethodHeaderName(Parser.java:721) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.Parser.consumeRule(Parser.java:1213) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.parse(TheOriginalJDTParserClass.java:6900) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.parse(TheOriginalJDTParserClass.java:7065) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.parse(TheOriginalJDTParserClass.java:7030) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.dietParse(TheOriginalJDTParserClass.java:5774) + at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.beginToCompile(Compiler.java:319) + at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:348) + at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilation(AjBuildManager.java:682) + at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild(AjBuildManager.java:168) + at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild(AjBuildManager.java:102) + at org.aspectj.ajdt.ajc.AjdtCommand.doCommand(AjdtCommand.java:111) + at org.aspectj.ajdt.ajc.AjdtCommand.runCommand(AjdtCommand.java:60) + at org.aspectj.tools.ajc.Main.run(Main.java:291) + at org.aspectj.tools.ajc.Main.runMain(Main.java:227) + at org.aspectj.tools.ajc.Main.main(Main.java:80) +---- System Properties --- +java.runtime.name=Java(TM) 2 Runtime Environment, Standard Edition +sun.boot.library.path=C:\ColyerRoot\Programs\jdk1.5.0\jre\bin +java.vm.version=1.5.0-rc-b63 +java.vm.vendor=Sun Microsystems Inc. +java.vendor.url=http://java.sun.com/ +path.separator=; +java.vm.name=Java HotSpot(TM) Client VM +file.encoding.pkg=sun.io +user.country=GB +sun.os.patch.level=Service Pack 1 +java.vm.specification.name=Java Virtual Machine Specification +user.dir=C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\org.aspectj.ajdt.core +java.runtime.version=1.5.0-rc-b63 +java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment +java.endorsed.dirs=C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\endorsed +os.arch=x86 +java.io.tmpdir=C:\DOCUME~1\colyer\LOCALS~1\Temp\ +line.separator= + +java.vm.specification.vendor=Sun Microsystems Inc. +user.variant= +os.name=Windows XP +sun.jnu.encoding=Cp1252 +java.library.path=C:\ColyerRoot\Programs\jdk1.5.0\jre\bin;.;C:\WINDOWS\System32;C:\WINDOWS;c:\ColyerRoot\Programs\jdk1.5.0\bin;c:\colyerroot\programs\ruby\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\PROGRAM FILES\THINKPAD\UTILITIES;C:\Program Files\IBM\Trace Facility\;C:\Program Files\IBM\Personal Communications\;C:\COLYERROOT\PROGRAMS\CYGWIN\BIN;C:\COLYERROOT\PROGRAMS\JAKARTA-ANT-1.5.1\BIN;C:\COLYERROOT\PROGRAMS\ASPECTJ1.1\BIN;C:\PSM;C:\ColyerRoot\Programs\UnixUtilities +java.specification.name=Java Platform API Specification +java.class.version=49.0 +sun.management.compiler=HotSpot Client Compiler +os.version=5.1 +user.home=C:\Documents and Settings\colyer +user.timezone=Europe/London +java.awt.printerjob=sun.awt.windows.WPrinterJob +file.encoding=Cp1252 +java.specification.version=1.5 +java.class.path=C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\org.aspectj.ajdt.core\bin;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\bridge\bin;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\junit\junit.jar;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\util\bin;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\weaver\bin;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\runtime\bin;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\bcel\bcel.jar;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\junit\junit.jar;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\testing-util\bin;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\jdiff\jdiff.jar;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\asm\bin;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\bcel\bcel.jar;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\testing-client\bin;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\shadows.org.eclipse.jdt.core.aj5\antbin;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\shadows.org.eclipse.jdt.core.aj5\bin;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\shadows.org.eclipse.jdt.core.aj5\lib\jdtDepends.jar +user.name=colyer +java.vm.specification.version=1.0 +java.home=C:\ColyerRoot\Programs\jdk1.5.0\jre +sun.arch.data.model=32 +user.language=en +java.specification.vendor=Sun Microsystems Inc. +awt.toolkit=sun.awt.windows.WToolkit +java.vm.info=mixed mode +java.version=1.5.0-rc +java.ext.dirs=C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\ext +sun.boot.class.path=C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\rt.jar;C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\i18n.jar;C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\sunrsasign.jar;C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\jsse.jar;C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\jce.jar;C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\charsets.jar;C:\ColyerRoot\Programs\jdk1.5.0\jre\classes;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\test\aspectjrt.jar +java.vendor=Sun Microsystems Inc. +file.separator=\ +java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport.cgi +sun.io.unicode.encoding=UnicodeLittle +sun.cpu.endian=little +sun.desktop=windows +sun.cpu.isalist= +---- Command Line --- +-source +1.5 +-sourceroots +c:\temp\ajtemp +---- Full Classpath --- +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\rt.jar(37557672 bytes) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\i18n.jar(missing) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\sunrsasign.jar(missing) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\jsse.jar(548670 bytes) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\jce.jar(81615 bytes) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\charsets.jar(8628006 bytes) +C:\ColyerRoot\Programs\jdk1.5.0\jre\classes(missing) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\test\aspectjrt.jar(41549 bytes) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\ext\dnsns.jar(8176 bytes) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\ext\localedata.jar(802502 bytes) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\ext\sunjce_provider.jar(153036 bytes) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\ext\sunpkcs11.jar(173235 bytes) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\org.aspectj.ajdt.core\bin(7 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\bridge\bin(3 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\junit\junit.jar(121070 bytes) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\util\bin(3 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\weaver\bin(13 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\runtime\bin(3 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\bcel\bcel.jar(574117 bytes) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\junit\junit.jar(121070 bytes) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\testing-util\bin(3 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\jdiff\jdiff.jar(22880 bytes) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\asm\bin(4 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\bcel\bcel.jar(574117 bytes) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\testing-client\bin(3 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\shadows.org.eclipse.jdt.core.aj5\antbin(1 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\shadows.org.eclipse.jdt.core.aj5\bin(2 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\shadows.org.eclipse.jdt.core.aj5\lib\jdtDepends.jar(2390857 bytes) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\ext\dnsns.jar(8176 bytes) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\ext\localedata.jar(802502 bytes) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\ext\sunjce_provider.jar(153036 bytes) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\ext\sunpkcs11.jar(173235 bytes) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\org.aspectj.ajdt.core\bin(7 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\bridge\bin(3 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\junit\junit.jar(121070 bytes) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\util\bin(3 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\weaver\bin(13 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\runtime\bin(3 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\bcel\bcel.jar(574117 bytes) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\junit\junit.jar(121070 bytes) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\testing-util\bin(3 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\jdiff\jdiff.jar(22880 bytes) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\asm\bin(4 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\bcel\bcel.jar(574117 bytes) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\testing-client\bin(3 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\shadows.org.eclipse.jdt.core.aj5\antbin(1 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\shadows.org.eclipse.jdt.core.aj5\bin(2 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\shadows.org.eclipse.jdt.core.aj5\lib\jdtDepends.jar(2390857 bytes) +---- Compiler Messages --- +error at (no source information available) +C:\temp\ajtemp\a\A.java:0::0 Internal compiler error +java.lang.ArrayIndexOutOfBoundsException: -1 + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.getTypeReference(TheOriginalJDTParserClass.java:6187) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.Parser.consumeInterTypeMethodHeaderName(Parser.java:721) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.Parser.consumeRule(Parser.java:1213) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.parse(TheOriginalJDTParserClass.java:6900) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.parse(TheOriginalJDTParserClass.java:7065) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.parse(TheOriginalJDTParserClass.java:7030) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.dietParse(TheOriginalJDTParserClass.java:5774) + at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.beginToCompile(Compiler.java:319) + at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:348) + at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilation(AjBuildManager.java:682) + at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild(AjBuildManager.java:168) + at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild(AjBuildManager.java:102) + at org.aspectj.ajdt.ajc.AjdtCommand.doCommand(AjdtCommand.java:111) + at org.aspectj.ajdt.ajc.AjdtCommand.runCommand(AjdtCommand.java:60) + at org.aspectj.tools.ajc.Main.run(Main.java:291) + at org.aspectj.tools.ajc.Main.runMain(Main.java:227) + at org.aspectj.tools.ajc.Main.main(Main.java:80) + +abort ABORT -- (ArrayIndexOutOfBoundsException) -1 +-1 +java.lang.ArrayIndexOutOfBoundsException: -1 + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.getTypeReference(TheOriginalJDTParserClass.java:6187) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.Parser.consumeInterTypeMethodHeaderName(Parser.java:721) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.Parser.consumeRule(Parser.java:1213) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.parse(TheOriginalJDTParserClass.java:6900) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.parse(TheOriginalJDTParserClass.java:7065) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.parse(TheOriginalJDTParserClass.java:7030) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.dietParse(TheOriginalJDTParserClass.java:5774) + at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.beginToCompile(Compiler.java:319) + at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:348) + at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilation(AjBuildManager.java:682) + at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild(AjBuildManager.java:168) + at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild(AjBuildManager.java:102) + at org.aspectj.ajdt.ajc.AjdtCommand.doCommand(AjdtCommand.java:111) + at org.aspectj.ajdt.ajc.AjdtCommand.runCommand(AjdtCommand.java:60) + at org.aspectj.tools.ajc.Main.run(Main.java:291) + at org.aspectj.tools.ajc.Main.runMain(Main.java:227) + at org.aspectj.tools.ajc.Main.main(Main.java:80) + +---- org.aspectj.weaver.bcel.BcelWorld ---- +Shadow mungers: +Empty +Type mungers: +Empty diff --git a/org.aspectj.ajdt.core/ajcore.20050113.174530.570.txt b/org.aspectj.ajdt.core/ajcore.20050113.174530.570.txt new file mode 100644 index 000000000..45f68f30d --- /dev/null +++ b/org.aspectj.ajdt.core/ajcore.20050113.174530.570.txt @@ -0,0 +1,160 @@ +---- AspectJ Properties --- +AspectJ Compiler DEVELOPMENT built on Monday Dec 27, 2004 at 13:36:56 GMT +---- Dump Properties --- +Dump file: ajcore.20050113.174530.570.txt +Dump reason: java.lang.ArrayIndexOutOfBoundsException +Dump on exception: true +Dump at exit condition: abort +---- Exception Information --- +java.lang.ArrayIndexOutOfBoundsException: -1 + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.getTypeReference(TheOriginalJDTParserClass.java:6188) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.consumeMethodHeaderName(TheOriginalJDTParserClass.java:3854) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.Parser.consumeRule(Parser.java:1517) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.parse(TheOriginalJDTParserClass.java:6901) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.parse(TheOriginalJDTParserClass.java:7066) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.parse(TheOriginalJDTParserClass.java:7031) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.dietParse(TheOriginalJDTParserClass.java:5774) + at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.beginToCompile(Compiler.java:319) + at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:348) + at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilation(AjBuildManager.java:682) + at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild(AjBuildManager.java:168) + at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild(AjBuildManager.java:102) + at org.aspectj.ajdt.ajc.AjdtCommand.doCommand(AjdtCommand.java:111) + at org.aspectj.ajdt.ajc.AjdtCommand.runCommand(AjdtCommand.java:60) + at org.aspectj.tools.ajc.Main.run(Main.java:291) + at org.aspectj.tools.ajc.Main.runMain(Main.java:227) + at org.aspectj.tools.ajc.Main.main(Main.java:80) +---- System Properties --- +java.runtime.name=Java(TM) 2 Runtime Environment, Standard Edition +sun.boot.library.path=C:\ColyerRoot\Programs\jdk1.5.0\jre\bin +java.vm.version=1.5.0-rc-b63 +java.vm.vendor=Sun Microsystems Inc. +java.vendor.url=http://java.sun.com/ +path.separator=; +java.vm.name=Java HotSpot(TM) Client VM +file.encoding.pkg=sun.io +user.country=GB +sun.os.patch.level=Service Pack 1 +java.vm.specification.name=Java Virtual Machine Specification +user.dir=C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\org.aspectj.ajdt.core +java.runtime.version=1.5.0-rc-b63 +java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment +java.endorsed.dirs=C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\endorsed +os.arch=x86 +java.io.tmpdir=C:\DOCUME~1\colyer\LOCALS~1\Temp\ +line.separator= + +java.vm.specification.vendor=Sun Microsystems Inc. +user.variant= +os.name=Windows XP +sun.jnu.encoding=Cp1252 +java.library.path=C:\ColyerRoot\Programs\jdk1.5.0\jre\bin;.;C:\WINDOWS\System32;C:\WINDOWS;c:\ColyerRoot\Programs\jdk1.5.0\bin;c:\colyerroot\programs\ruby\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\PROGRAM FILES\THINKPAD\UTILITIES;C:\Program Files\IBM\Trace Facility\;C:\Program Files\IBM\Personal Communications\;C:\COLYERROOT\PROGRAMS\CYGWIN\BIN;C:\COLYERROOT\PROGRAMS\JAKARTA-ANT-1.5.1\BIN;C:\COLYERROOT\PROGRAMS\ASPECTJ1.1\BIN;C:\PSM;C:\ColyerRoot\Programs\UnixUtilities +java.specification.name=Java Platform API Specification +java.class.version=49.0 +sun.management.compiler=HotSpot Client Compiler +os.version=5.1 +user.home=C:\Documents and Settings\colyer +user.timezone=Europe/London +java.awt.printerjob=sun.awt.windows.WPrinterJob +file.encoding=Cp1252 +java.specification.version=1.5 +java.class.path=C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\org.aspectj.ajdt.core\bin;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\bridge\bin;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\junit\junit.jar;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\util\bin;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\weaver\bin;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\runtime\bin;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\bcel\bcel.jar;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\junit\junit.jar;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\testing-util\bin;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\jdiff\jdiff.jar;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\asm\bin;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\bcel\bcel.jar;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\testing-client\bin;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\shadows.org.eclipse.jdt.core.aj5\antbin;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\shadows.org.eclipse.jdt.core.aj5\bin;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\shadows.org.eclipse.jdt.core.aj5\lib\jdtDepends.jar +user.name=colyer +java.vm.specification.version=1.0 +java.home=C:\ColyerRoot\Programs\jdk1.5.0\jre +sun.arch.data.model=32 +user.language=en +java.specification.vendor=Sun Microsystems Inc. +awt.toolkit=sun.awt.windows.WToolkit +java.vm.info=mixed mode +java.version=1.5.0-rc +java.ext.dirs=C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\ext +sun.boot.class.path=C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\rt.jar;C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\i18n.jar;C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\sunrsasign.jar;C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\jsse.jar;C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\jce.jar;C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\charsets.jar;C:\ColyerRoot\Programs\jdk1.5.0\jre\classes;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\test\aspectjrt.jar +java.vendor=Sun Microsystems Inc. +file.separator=\ +java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport.cgi +sun.io.unicode.encoding=UnicodeLittle +sun.cpu.endian=little +sun.desktop=windows +sun.cpu.isalist= +---- Command Line --- +-source +1.5 +-sourceroots +c:\temp\ajtemp +---- Full Classpath --- +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\rt.jar(37557672 bytes) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\i18n.jar(missing) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\sunrsasign.jar(missing) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\jsse.jar(548670 bytes) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\jce.jar(81615 bytes) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\charsets.jar(8628006 bytes) +C:\ColyerRoot\Programs\jdk1.5.0\jre\classes(missing) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\test\aspectjrt.jar(41549 bytes) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\ext\dnsns.jar(8176 bytes) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\ext\localedata.jar(802502 bytes) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\ext\sunjce_provider.jar(153036 bytes) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\ext\sunpkcs11.jar(173235 bytes) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\org.aspectj.ajdt.core\bin(7 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\bridge\bin(3 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\junit\junit.jar(121070 bytes) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\util\bin(3 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\weaver\bin(13 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\runtime\bin(3 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\bcel\bcel.jar(574117 bytes) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\junit\junit.jar(121070 bytes) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\testing-util\bin(3 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\jdiff\jdiff.jar(22880 bytes) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\asm\bin(4 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\bcel\bcel.jar(574117 bytes) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\testing-client\bin(3 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\shadows.org.eclipse.jdt.core.aj5\antbin(1 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\shadows.org.eclipse.jdt.core.aj5\bin(2 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\shadows.org.eclipse.jdt.core.aj5\lib\jdtDepends.jar(2390857 bytes) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\ext\dnsns.jar(8176 bytes) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\ext\localedata.jar(802502 bytes) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\ext\sunjce_provider.jar(153036 bytes) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\ext\sunpkcs11.jar(173235 bytes) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\org.aspectj.ajdt.core\bin(7 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\bridge\bin(3 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\junit\junit.jar(121070 bytes) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\util\bin(3 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\weaver\bin(13 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\runtime\bin(3 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\bcel\bcel.jar(574117 bytes) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\junit\junit.jar(121070 bytes) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\testing-util\bin(3 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\jdiff\jdiff.jar(22880 bytes) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\asm\bin(4 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\bcel\bcel.jar(574117 bytes) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\testing-client\bin(3 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\shadows.org.eclipse.jdt.core.aj5\antbin(1 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\shadows.org.eclipse.jdt.core.aj5\bin(2 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\shadows.org.eclipse.jdt.core.aj5\lib\jdtDepends.jar(2390857 bytes) +---- Compiler Messages --- +abort ABORT -- (ArrayIndexOutOfBoundsException) -1 +-1 +java.lang.ArrayIndexOutOfBoundsException: -1 + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.getTypeReference(TheOriginalJDTParserClass.java:6188) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.consumeMethodHeaderName(TheOriginalJDTParserClass.java:3854) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.Parser.consumeRule(Parser.java:1517) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.parse(TheOriginalJDTParserClass.java:6901) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.parse(TheOriginalJDTParserClass.java:7066) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.parse(TheOriginalJDTParserClass.java:7031) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.dietParse(TheOriginalJDTParserClass.java:5774) + at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.beginToCompile(Compiler.java:319) + at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:348) + at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilation(AjBuildManager.java:682) + at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild(AjBuildManager.java:168) + at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild(AjBuildManager.java:102) + at org.aspectj.ajdt.ajc.AjdtCommand.doCommand(AjdtCommand.java:111) + at org.aspectj.ajdt.ajc.AjdtCommand.runCommand(AjdtCommand.java:60) + at org.aspectj.tools.ajc.Main.run(Main.java:291) + at org.aspectj.tools.ajc.Main.runMain(Main.java:227) + at org.aspectj.tools.ajc.Main.main(Main.java:80) + +---- org.aspectj.weaver.bcel.BcelWorld ---- +Shadow mungers: +Empty +Type mungers: +Empty diff --git a/org.aspectj.ajdt.core/ajcore.20050113.194328.125.txt b/org.aspectj.ajdt.core/ajcore.20050113.194328.125.txt new file mode 100644 index 000000000..b48a17af1 --- /dev/null +++ b/org.aspectj.ajdt.core/ajcore.20050113.194328.125.txt @@ -0,0 +1,178 @@ +---- AspectJ Properties --- +AspectJ Compiler DEVELOPMENT built on Monday Dec 27, 2004 at 13:36:56 GMT +---- Dump Properties --- +Dump file: ajcore.20050113.194328.125.txt +Dump reason: java.lang.ArrayIndexOutOfBoundsException +Dump on exception: true +Dump at exit condition: abort +---- Exception Information --- +java.lang.ArrayIndexOutOfBoundsException: -1 + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.Parser.consumeInterTypeMethodHeaderName(Parser.java:725) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.Parser.consumeRule(Parser.java:1213) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.parse(TheOriginalJDTParserClass.java:6900) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.parse(TheOriginalJDTParserClass.java:7065) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.parse(TheOriginalJDTParserClass.java:7030) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.dietParse(TheOriginalJDTParserClass.java:5774) + at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.beginToCompile(Compiler.java:319) + at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:348) + at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilation(AjBuildManager.java:682) + at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild(AjBuildManager.java:168) + at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild(AjBuildManager.java:102) + at org.aspectj.ajdt.ajc.AjdtCommand.doCommand(AjdtCommand.java:111) + at org.aspectj.ajdt.ajc.AjdtCommand.runCommand(AjdtCommand.java:60) + at org.aspectj.tools.ajc.Main.run(Main.java:291) + at org.aspectj.tools.ajc.Main.runMain(Main.java:227) + at org.aspectj.tools.ajc.Main.main(Main.java:80) +---- System Properties --- +java.runtime.name=Java(TM) 2 Runtime Environment, Standard Edition +sun.boot.library.path=C:\ColyerRoot\Programs\jdk1.5.0\jre\bin +java.vm.version=1.5.0-rc-b63 +java.vm.vendor=Sun Microsystems Inc. +java.vendor.url=http://java.sun.com/ +path.separator=; +java.vm.name=Java HotSpot(TM) Client VM +file.encoding.pkg=sun.io +user.country=GB +sun.os.patch.level=Service Pack 1 +java.vm.specification.name=Java Virtual Machine Specification +user.dir=C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\org.aspectj.ajdt.core +java.runtime.version=1.5.0-rc-b63 +java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment +java.endorsed.dirs=C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\endorsed +os.arch=x86 +java.io.tmpdir=C:\DOCUME~1\colyer\LOCALS~1\Temp\ +line.separator= + +java.vm.specification.vendor=Sun Microsystems Inc. +user.variant= +os.name=Windows XP +sun.jnu.encoding=Cp1252 +java.library.path=C:\ColyerRoot\Programs\jdk1.5.0\jre\bin;.;C:\WINDOWS\System32;C:\WINDOWS;c:\ColyerRoot\Programs\jdk1.5.0\bin;c:\colyerroot\programs\ruby\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\PROGRAM FILES\THINKPAD\UTILITIES;C:\Program Files\IBM\Trace Facility\;C:\Program Files\IBM\Personal Communications\;C:\COLYERROOT\PROGRAMS\CYGWIN\BIN;C:\COLYERROOT\PROGRAMS\JAKARTA-ANT-1.5.1\BIN;C:\COLYERROOT\PROGRAMS\ASPECTJ1.1\BIN;C:\PSM;C:\ColyerRoot\Programs\UnixUtilities +java.specification.name=Java Platform API Specification +java.class.version=49.0 +sun.management.compiler=HotSpot Client Compiler +os.version=5.1 +user.home=C:\Documents and Settings\colyer +user.timezone=Europe/London +java.awt.printerjob=sun.awt.windows.WPrinterJob +file.encoding=Cp1252 +java.specification.version=1.5 +java.class.path=C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\org.aspectj.ajdt.core\bin;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\bridge\bin;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\junit\junit.jar;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\util\bin;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\weaver\bin;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\runtime\bin;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\bcel\bcel.jar;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\junit\junit.jar;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\testing-util\bin;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\jdiff\jdiff.jar;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\asm\bin;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\bcel\bcel.jar;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\testing-client\bin;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\shadows.org.eclipse.jdt.core.aj5\antbin;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\shadows.org.eclipse.jdt.core.aj5\bin;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\shadows.org.eclipse.jdt.core.aj5\lib\jdtDepends.jar +user.name=colyer +java.vm.specification.version=1.0 +java.home=C:\ColyerRoot\Programs\jdk1.5.0\jre +sun.arch.data.model=32 +user.language=en +java.specification.vendor=Sun Microsystems Inc. +awt.toolkit=sun.awt.windows.WToolkit +java.vm.info=mixed mode +java.version=1.5.0-rc +java.ext.dirs=C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\ext +sun.boot.class.path=C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\rt.jar;C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\i18n.jar;C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\sunrsasign.jar;C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\jsse.jar;C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\jce.jar;C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\charsets.jar;C:\ColyerRoot\Programs\jdk1.5.0\jre\classes;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\test\aspectjrt.jar +java.vendor=Sun Microsystems Inc. +file.separator=\ +java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport.cgi +sun.io.unicode.encoding=UnicodeLittle +sun.cpu.endian=little +sun.desktop=windows +sun.cpu.isalist= +---- Command Line --- +-source +1.5 +-sourceroots +c:\temp\ajtemp +---- Full Classpath --- +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\rt.jar(37557672 bytes) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\i18n.jar(missing) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\sunrsasign.jar(missing) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\jsse.jar(548670 bytes) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\jce.jar(81615 bytes) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\charsets.jar(8628006 bytes) +C:\ColyerRoot\Programs\jdk1.5.0\jre\classes(missing) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\test\aspectjrt.jar(41549 bytes) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\ext\dnsns.jar(8176 bytes) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\ext\localedata.jar(802502 bytes) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\ext\sunjce_provider.jar(153036 bytes) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\ext\sunpkcs11.jar(173235 bytes) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\org.aspectj.ajdt.core\bin(7 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\bridge\bin(3 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\junit\junit.jar(121070 bytes) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\util\bin(3 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\weaver\bin(13 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\runtime\bin(3 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\bcel\bcel.jar(574117 bytes) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\junit\junit.jar(121070 bytes) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\testing-util\bin(3 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\jdiff\jdiff.jar(22880 bytes) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\asm\bin(4 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\bcel\bcel.jar(574117 bytes) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\testing-client\bin(3 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\shadows.org.eclipse.jdt.core.aj5\antbin(1 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\shadows.org.eclipse.jdt.core.aj5\bin(2 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\shadows.org.eclipse.jdt.core.aj5\lib\jdtDepends.jar(2390857 bytes) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\ext\dnsns.jar(8176 bytes) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\ext\localedata.jar(802502 bytes) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\ext\sunjce_provider.jar(153036 bytes) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\ext\sunpkcs11.jar(173235 bytes) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\org.aspectj.ajdt.core\bin(7 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\bridge\bin(3 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\junit\junit.jar(121070 bytes) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\util\bin(3 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\weaver\bin(13 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\runtime\bin(3 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\bcel\bcel.jar(574117 bytes) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\junit\junit.jar(121070 bytes) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\testing-util\bin(3 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\jdiff\jdiff.jar(22880 bytes) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\asm\bin(4 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\bcel\bcel.jar(574117 bytes) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\testing-client\bin(3 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\shadows.org.eclipse.jdt.core.aj5\antbin(1 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\shadows.org.eclipse.jdt.core.aj5\bin(2 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\shadows.org.eclipse.jdt.core.aj5\lib\jdtDepends.jar(2390857 bytes) +---- Compiler Messages --- +error at (no source information available) +C:\temp\ajtemp\a\A.java:0::0 Internal compiler error +java.lang.ArrayIndexOutOfBoundsException: -1 + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.Parser.consumeInterTypeMethodHeaderName(Parser.java:725) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.Parser.consumeRule(Parser.java:1213) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.parse(TheOriginalJDTParserClass.java:6900) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.parse(TheOriginalJDTParserClass.java:7065) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.parse(TheOriginalJDTParserClass.java:7030) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.dietParse(TheOriginalJDTParserClass.java:5774) + at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.beginToCompile(Compiler.java:319) + at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:348) + at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilation(AjBuildManager.java:682) + at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild(AjBuildManager.java:168) + at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild(AjBuildManager.java:102) + at org.aspectj.ajdt.ajc.AjdtCommand.doCommand(AjdtCommand.java:111) + at org.aspectj.ajdt.ajc.AjdtCommand.runCommand(AjdtCommand.java:60) + at org.aspectj.tools.ajc.Main.run(Main.java:291) + at org.aspectj.tools.ajc.Main.runMain(Main.java:227) + at org.aspectj.tools.ajc.Main.main(Main.java:80) + +abort ABORT -- (ArrayIndexOutOfBoundsException) -1 +-1 +java.lang.ArrayIndexOutOfBoundsException: -1 + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.Parser.consumeInterTypeMethodHeaderName(Parser.java:725) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.Parser.consumeRule(Parser.java:1213) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.parse(TheOriginalJDTParserClass.java:6900) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.parse(TheOriginalJDTParserClass.java:7065) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.parse(TheOriginalJDTParserClass.java:7030) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.dietParse(TheOriginalJDTParserClass.java:5774) + at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.beginToCompile(Compiler.java:319) + at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:348) + at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilation(AjBuildManager.java:682) + at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild(AjBuildManager.java:168) + at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild(AjBuildManager.java:102) + at org.aspectj.ajdt.ajc.AjdtCommand.doCommand(AjdtCommand.java:111) + at org.aspectj.ajdt.ajc.AjdtCommand.runCommand(AjdtCommand.java:60) + at org.aspectj.tools.ajc.Main.run(Main.java:291) + at org.aspectj.tools.ajc.Main.runMain(Main.java:227) + at org.aspectj.tools.ajc.Main.main(Main.java:80) + +---- org.aspectj.weaver.bcel.BcelWorld ---- +Shadow mungers: +Empty +Type mungers: +Empty diff --git a/org.aspectj.ajdt.core/ajcore.20050113.201230.099.txt b/org.aspectj.ajdt.core/ajcore.20050113.201230.099.txt new file mode 100644 index 000000000..d2bcc6a0b --- /dev/null +++ b/org.aspectj.ajdt.core/ajcore.20050113.201230.099.txt @@ -0,0 +1,160 @@ +---- AspectJ Properties --- +AspectJ Compiler DEVELOPMENT built on Monday Dec 27, 2004 at 13:36:56 GMT +---- Dump Properties --- +Dump file: ajcore.20050113.201230.099.txt +Dump reason: java.lang.NullPointerException +Dump on exception: true +Dump at exit condition: abort +---- Exception Information --- +java.lang.NullPointerException + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.Parser.createMethodDeclaration(Parser.java:212) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.consumeMethodHeaderName(TheOriginalJDTParserClass.java:3845) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.Parser.consumeRule(Parser.java:1517) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.parse(TheOriginalJDTParserClass.java:6900) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.parse(TheOriginalJDTParserClass.java:7065) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.parse(TheOriginalJDTParserClass.java:7030) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.dietParse(TheOriginalJDTParserClass.java:5774) + at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.beginToCompile(Compiler.java:319) + at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:348) + at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilation(AjBuildManager.java:682) + at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild(AjBuildManager.java:168) + at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild(AjBuildManager.java:102) + at org.aspectj.ajdt.ajc.AjdtCommand.doCommand(AjdtCommand.java:111) + at org.aspectj.ajdt.ajc.AjdtCommand.runCommand(AjdtCommand.java:60) + at org.aspectj.tools.ajc.Main.run(Main.java:291) + at org.aspectj.tools.ajc.Main.runMain(Main.java:227) + at org.aspectj.tools.ajc.Main.main(Main.java:80) +---- System Properties --- +java.runtime.name=Java(TM) 2 Runtime Environment, Standard Edition +sun.boot.library.path=C:\ColyerRoot\Programs\jdk1.5.0\jre\bin +java.vm.version=1.5.0-rc-b63 +java.vm.vendor=Sun Microsystems Inc. +java.vendor.url=http://java.sun.com/ +path.separator=; +java.vm.name=Java HotSpot(TM) Client VM +file.encoding.pkg=sun.io +user.country=GB +sun.os.patch.level=Service Pack 1 +java.vm.specification.name=Java Virtual Machine Specification +user.dir=C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\org.aspectj.ajdt.core +java.runtime.version=1.5.0-rc-b63 +java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment +java.endorsed.dirs=C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\endorsed +os.arch=x86 +java.io.tmpdir=C:\DOCUME~1\colyer\LOCALS~1\Temp\ +line.separator= + +java.vm.specification.vendor=Sun Microsystems Inc. +user.variant= +os.name=Windows XP +sun.jnu.encoding=Cp1252 +java.library.path=C:\ColyerRoot\Programs\jdk1.5.0\jre\bin;.;C:\WINDOWS\System32;C:\WINDOWS;c:\ColyerRoot\Programs\jdk1.5.0\bin;c:\colyerroot\programs\ruby\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\PROGRAM FILES\THINKPAD\UTILITIES;C:\Program Files\IBM\Trace Facility\;C:\Program Files\IBM\Personal Communications\;C:\COLYERROOT\PROGRAMS\CYGWIN\BIN;C:\COLYERROOT\PROGRAMS\JAKARTA-ANT-1.5.1\BIN;C:\COLYERROOT\PROGRAMS\ASPECTJ1.1\BIN;C:\PSM;C:\ColyerRoot\Programs\UnixUtilities +java.specification.name=Java Platform API Specification +java.class.version=49.0 +sun.management.compiler=HotSpot Client Compiler +os.version=5.1 +user.home=C:\Documents and Settings\colyer +user.timezone=Europe/London +java.awt.printerjob=sun.awt.windows.WPrinterJob +file.encoding=Cp1252 +java.specification.version=1.5 +java.class.path=C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\org.aspectj.ajdt.core\bin;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\bridge\bin;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\junit\junit.jar;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\util\bin;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\weaver\bin;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\runtime\bin;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\bcel\bcel.jar;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\junit\junit.jar;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\testing-util\bin;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\jdiff\jdiff.jar;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\asm\bin;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\bcel\bcel.jar;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\testing-client\bin;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\shadows.org.eclipse.jdt.core.aj5\antbin;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\shadows.org.eclipse.jdt.core.aj5\bin;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\shadows.org.eclipse.jdt.core.aj5\lib\jdtDepends.jar +user.name=colyer +java.vm.specification.version=1.0 +java.home=C:\ColyerRoot\Programs\jdk1.5.0\jre +sun.arch.data.model=32 +user.language=en +java.specification.vendor=Sun Microsystems Inc. +awt.toolkit=sun.awt.windows.WToolkit +java.vm.info=mixed mode +java.version=1.5.0-rc +java.ext.dirs=C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\ext +sun.boot.class.path=C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\rt.jar;C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\i18n.jar;C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\sunrsasign.jar;C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\jsse.jar;C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\jce.jar;C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\charsets.jar;C:\ColyerRoot\Programs\jdk1.5.0\jre\classes;C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\test\aspectjrt.jar +java.vendor=Sun Microsystems Inc. +file.separator=\ +java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport.cgi +sun.io.unicode.encoding=UnicodeLittle +sun.cpu.endian=little +sun.desktop=windows +sun.cpu.isalist= +---- Command Line --- +-source +1.5 +-sourceroots +c:\temp\ajtemp +---- Full Classpath --- +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\rt.jar(37557672 bytes) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\i18n.jar(missing) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\sunrsasign.jar(missing) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\jsse.jar(548670 bytes) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\jce.jar(81615 bytes) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\charsets.jar(8628006 bytes) +C:\ColyerRoot\Programs\jdk1.5.0\jre\classes(missing) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\test\aspectjrt.jar(41549 bytes) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\ext\dnsns.jar(8176 bytes) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\ext\localedata.jar(802502 bytes) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\ext\sunjce_provider.jar(153036 bytes) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\ext\sunpkcs11.jar(173235 bytes) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\org.aspectj.ajdt.core\bin(7 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\bridge\bin(3 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\junit\junit.jar(121070 bytes) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\util\bin(3 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\weaver\bin(13 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\runtime\bin(3 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\bcel\bcel.jar(574117 bytes) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\junit\junit.jar(121070 bytes) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\testing-util\bin(3 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\jdiff\jdiff.jar(22880 bytes) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\asm\bin(4 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\bcel\bcel.jar(574117 bytes) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\testing-client\bin(3 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\shadows.org.eclipse.jdt.core.aj5\antbin(1 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\shadows.org.eclipse.jdt.core.aj5\bin(2 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\shadows.org.eclipse.jdt.core.aj5\lib\jdtDepends.jar(2390857 bytes) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\ext\dnsns.jar(8176 bytes) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\ext\localedata.jar(802502 bytes) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\ext\sunjce_provider.jar(153036 bytes) +C:\ColyerRoot\Programs\jdk1.5.0\jre\lib\ext\sunpkcs11.jar(173235 bytes) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\org.aspectj.ajdt.core\bin(7 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\bridge\bin(3 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\junit\junit.jar(121070 bytes) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\util\bin(3 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\weaver\bin(13 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\runtime\bin(3 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\bcel\bcel.jar(574117 bytes) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\junit\junit.jar(121070 bytes) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\testing-util\bin(3 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\jdiff\jdiff.jar(22880 bytes) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\asm\bin(4 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\lib\bcel\bcel.jar(574117 bytes) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\testing-client\bin(3 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\shadows.org.eclipse.jdt.core.aj5\antbin(1 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\shadows.org.eclipse.jdt.core.aj5\bin(2 entries) +C:\ColyerRoot\Data\EclipseWorkspaces\AspectJDev\shadows.org.eclipse.jdt.core.aj5\lib\jdtDepends.jar(2390857 bytes) +---- Compiler Messages --- +abort ABORT -- (NullPointerException) null +null +java.lang.NullPointerException + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.Parser.createMethodDeclaration(Parser.java:212) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.consumeMethodHeaderName(TheOriginalJDTParserClass.java:3845) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.Parser.consumeRule(Parser.java:1517) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.parse(TheOriginalJDTParserClass.java:6900) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.parse(TheOriginalJDTParserClass.java:7065) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.parse(TheOriginalJDTParserClass.java:7030) + at org.aspectj.org.eclipse.jdt.internal.compiler.parser.TheOriginalJDTParserClass.dietParse(TheOriginalJDTParserClass.java:5774) + at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.beginToCompile(Compiler.java:319) + at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:348) + at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilation(AjBuildManager.java:682) + at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild(AjBuildManager.java:168) + at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild(AjBuildManager.java:102) + at org.aspectj.ajdt.ajc.AjdtCommand.doCommand(AjdtCommand.java:111) + at org.aspectj.ajdt.ajc.AjdtCommand.runCommand(AjdtCommand.java:60) + at org.aspectj.tools.ajc.Main.run(Main.java:291) + at org.aspectj.tools.ajc.Main.runMain(Main.java:227) + at org.aspectj.tools.ajc.Main.main(Main.java:80) + +---- org.aspectj.weaver.bcel.BcelWorld ---- +Shadow mungers: +Empty +Type mungers: +Empty diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/ajc/BuildArgParser.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/ajc/BuildArgParser.java index e383fb458..0c2806acc 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/ajc/BuildArgParser.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/ajc/BuildArgParser.java @@ -614,19 +614,19 @@ public class BuildArgParser extends Main { showError("dir arg not permitted: " + arg); } else if (arg.equals("-1.5")) { buildConfig.setBehaveInJava5Way(true); + unparsedArgs.add("-1.5"); // this would enable the '-source 1.5' to do the same as '-1.5' but doesnt sound quite right as // as an option right now as it doesnt mean we support 1.5 source code - people will get confused... -// } else if (arg.equals("-source")) { -// if (args.size() > nextArgIndex) { -// String level = ((ConfigParser.Arg)args.get(nextArgIndex)).getValue(); -// if (!level.equals("1.5")) { -// unparsedArgs.add("-source"); -// unparsedArgs.add(level); -// } else { -// buildConfig.setJava5Behaviour(true); -// } -// args.remove(args.get(nextArgIndex)); -// } + } else if (arg.equals("-source")) { + if (args.size() > nextArgIndex) { + String level = ((ConfigParser.Arg)args.get(nextArgIndex)).getValue(); + if (level.equals("1.5")){ + buildConfig.setBehaveInJava5Way(true); + } + unparsedArgs.add("-source"); + unparsedArgs.add(level); + args.remove(args.get(nextArgIndex)); + } } else { // argfile, @file parsed by superclass // no eclipse options parsed: diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/AjCompilerAdapter.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/AjCompilerAdapter.java index 5f1e66525..1b64e7fc3 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/AjCompilerAdapter.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/AjCompilerAdapter.java @@ -109,7 +109,7 @@ public class AjCompilerAdapter implements ICompilerAdapter { reportedErrors = false; } - public void afterCompiling() { + public void afterCompiling(CompilationUnitDeclaration[] units) { try { if (isXNoWeave || (reportedErrors && !proceedOnError)) { // no point weaving... just tell the requestor we're done diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/AccessForInlineVisitor.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/AccessForInlineVisitor.java index abed08cee..06e7381c0 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/AccessForInlineVisitor.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/AccessForInlineVisitor.java @@ -116,7 +116,7 @@ public class AccessForInlineVisitor extends ASTVisitor { MethodBinding superAccessBinding = getSuperAccessMethod(send.binding); AstUtil.replaceMethodBinding(send, superAccessBinding); } else if (!isPublic(send.binding)) { - send.syntheticAccessor = getAccessibleMethod(send.binding, send.receiverType); + send.syntheticAccessor = getAccessibleMethod(send.binding, send.actualReceiverType); } } public void endVisit(AllocationExpression send, BlockScope scope) { diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/AdviceDeclaration.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/AdviceDeclaration.java index c6aaca762..a81ad0abf 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/AdviceDeclaration.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/AdviceDeclaration.java @@ -77,7 +77,7 @@ public class AdviceDeclaration extends AjMethodDeclaration { l.add(new EclipseAttributeAdapter(makeAttribute())); addDeclarationStartLineAttribute(l,classFile); - return classFile.generateMethodInfoAttribute(binding, l); + return classFile.generateMethodInfoAttribute(binding, false, l); } public AjAttribute makeAttribute() { @@ -184,7 +184,7 @@ public class AdviceDeclaration extends AjMethodDeclaration { classFile.generateMethodInfoHeader(binding); int methodAttributeOffset = classFile.contentsOffset; - int attributeNumber = classFile.generateMethodInfoAttribute(binding, AstUtil.getAjSyntheticAttribute()); + int attributeNumber = classFile.generateMethodInfoAttribute(binding, false, AstUtil.getAjSyntheticAttribute()); int codeAttributeOffset = classFile.contentsOffset; classFile.generateCodeAttributeHeader(); CodeStream codeStream = classFile.codeStream; @@ -203,7 +203,12 @@ public class AdviceDeclaration extends AjMethodDeclaration { // build the Object[] codeStream.generateInlinedValue(nargs-1); - codeStream.newArray(classScope, new ArrayBinding(classScope.getType(TypeBinding.JAVA_LANG_OBJECT), 1)); + codeStream.newArray( + new ArrayBinding( + classScope.getType(TypeBinding.JAVA_LANG_OBJECT, + TypeBinding.JAVA_LANG_OBJECT.length), + 1, + classScope.environment())); int index = 0; for (int i=0; i < nargs-1; i++) { diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/AjConstructorDeclaration.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/AjConstructorDeclaration.java index c5128e9af..504631c9c 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/AjConstructorDeclaration.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/AjConstructorDeclaration.java @@ -39,7 +39,7 @@ public class AjConstructorDeclaration extends ConstructorDeclaration { // add extra attributes into list then call 2-arg version of generateInfoAttributes... List extras = new ArrayList(); addDeclarationStartLineAttribute(extras,classFile); - return classFile.generateMethodInfoAttribute(binding,extras); + return classFile.generateMethodInfoAttribute(binding,false,extras); } protected void addDeclarationStartLineAttribute(List extraAttributeList, ClassFile classFile) { diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/AjMethodDeclaration.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/AjMethodDeclaration.java index 1d888ed57..92f1fafa3 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/AjMethodDeclaration.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/AjMethodDeclaration.java @@ -39,7 +39,7 @@ public class AjMethodDeclaration extends MethodDeclaration { // add extra attributes into list then call 2-arg version of generateInfoAttributes... List extras = new ArrayList(); addDeclarationStartLineAttribute(extras,classFile); - return classFile.generateMethodInfoAttribute(binding,extras); + return classFile.generateMethodInfoAttribute(binding,false,extras); } protected void addDeclarationStartLineAttribute(List extraAttributeList, ClassFile classFile) { diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration.java index 43eec43d1..cfb0381ce 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration.java @@ -28,6 +28,7 @@ import org.aspectj.org.eclipse.jdt.internal.compiler.ast.MethodDeclaration; import org.aspectj.org.eclipse.jdt.internal.compiler.ast.TypeDeclaration; import org.aspectj.org.eclipse.jdt.internal.compiler.codegen.CodeStream; import org.aspectj.org.eclipse.jdt.internal.compiler.codegen.Label; +import org.aspectj.org.eclipse.jdt.internal.compiler.env.IGenericType; import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.*; //import org.aspectj.org.eclipse.jdt.internal.compiler.parser.Parser; @@ -315,9 +316,9 @@ public class AspectDeclaration extends TypeDeclaration { List attrs = new ArrayList(); attrs.addAll(AstUtil.getAjSyntheticAttribute()); attrs.addAll(additionalAttributes); - attributeNumber = classFile.generateMethodInfoAttribute(methodBinding, attrs); + attributeNumber = classFile.generateMethodInfoAttribute(methodBinding, false, attrs); } else { - attributeNumber = classFile.generateMethodInfoAttribute(methodBinding, AstUtil.getAjSyntheticAttribute()); + attributeNumber = classFile.generateMethodInfoAttribute(methodBinding, false, AstUtil.getAjSyntheticAttribute()); } int codeAttributeOffset = classFile.contentsOffset; @@ -875,7 +876,7 @@ public class AspectDeclaration extends TypeDeclaration { superclass.print(0, output); } if (superInterfaces != null && superInterfaces.length > 0) { - output.append(isInterface() ? " extends " : " implements ");//$NON-NLS-2$ //$NON-NLS-1$ + output.append((kind() == IGenericType.INTERFACE_DECL) ? " extends " : " implements ");//$NON-NLS-2$ //$NON-NLS-1$ for (int i = 0; i < superInterfaces.length; i++) { if (i > 0) output.append( ", "); //$NON-NLS-1$ superInterfaces[i].print(0, output); diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/AstUtil.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/AstUtil.java index ebee3e425..00c6ed69b 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/AstUtil.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/AstUtil.java @@ -37,7 +37,7 @@ import org.aspectj.org.eclipse.jdt.internal.compiler.codegen.CodeStream; import org.aspectj.org.eclipse.jdt.internal.compiler.env.IConstants; import org.aspectj.org.eclipse.jdt.internal.compiler.impl.Constant; import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.BaseTypes; -import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.BindingIds; +import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Binding; import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope; import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding; import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.MethodBinding; @@ -83,7 +83,8 @@ public class AstUtil { public static TypeReference makeTypeReference(TypeBinding binding) { // ??? does this work for primitives QualifiedTypeReference ref = - new QualifiedTypeReference(new char[][] {binding.sourceName()}, binding, new long[] {0}); //??? + new QualifiedTypeReference(new char[][] {binding.sourceName()}, new long[] {0}); //??? + ref.resolvedType = binding; ref.constant = Constant.NotAConstant; return ref; } @@ -136,7 +137,7 @@ public class AstUtil { ret.codegenBinding = binding; ret.constant = ASTNode.NotAConstant; ret.bits &= ~ASTNode.RestrictiveFlagMASK; // clear bits - ret.bits |= BindingIds.VARIABLE; + ret.bits |= Binding.VARIABLE; return ret; } @@ -148,7 +149,7 @@ public class AstUtil { ret.codegenBinding = binding; ret.constant = ASTNode.NotAConstant; ret.bits &= ~ASTNode.RestrictiveFlagMASK; // clear bits - ret.bits |= BindingIds.LOCAL; + ret.bits |= Binding.LOCAL; return ret; } diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/IfMethodDeclaration.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/IfMethodDeclaration.java index 82c1da1bb..d1977b91b 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/IfMethodDeclaration.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/IfMethodDeclaration.java @@ -39,7 +39,7 @@ public class IfMethodDeclaration extends AjMethodDeclaration { } protected int generateInfoAttributes(ClassFile classFile) { - return classFile.generateMethodInfoAttribute(binding, AstUtil.getAjSyntheticAttribute()); + return classFile.generateMethodInfoAttribute(binding, false, AstUtil.getAjSyntheticAttribute()); } public void resolveStatements() { diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/InterSuperFixerVisitor.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/InterSuperFixerVisitor.java index 7a7e34e61..55059a51f 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/InterSuperFixerVisitor.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/InterSuperFixerVisitor.java @@ -44,7 +44,11 @@ public class InterSuperFixerVisitor extends ASTVisitor { this.onType = dec.onTypeBinding; this.world = world; - if (onType.superclass() != null) { + // AMC with the java 5 compiler the superclass() of an interface is object, + // not a parent interface (if one exists) + if (onType.isInterface() && onType.superInterfaces().length == 1) { + superType=onType.superInterfaces()[0]; + } else if (onType.superclass() != null) { superType = onType.superclass(); } else if (onType.superInterfaces() == null || onType.superInterfaces().length == 0) { superType = scope.getJavaLangObject(); diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/InterTypeConstructorDeclaration.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/InterTypeConstructorDeclaration.java index 0ca059836..c715533b2 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/InterTypeConstructorDeclaration.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/InterTypeConstructorDeclaration.java @@ -74,7 +74,7 @@ public class InterTypeConstructorDeclaration extends InterTypeDeclaration { TypeX aspectTypeX = EclipseFactory.fromBinding(binding.declaringClass); TypeX targetTypeX = EclipseFactory.fromBinding(onTypeBinding); - ArrayBinding objectArrayBinding = scope.createArray(scope.getJavaLangObject(), 1); + ArrayBinding objectArrayBinding = scope.createArrayType(scope.getJavaLangObject(), 1); MethodDeclaration pre = new MethodDeclaration(compilationResult); diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/InterTypeDeclaration.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/InterTypeDeclaration.java index a10ab56de..07b35dc7a 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/InterTypeDeclaration.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/InterTypeDeclaration.java @@ -126,7 +126,7 @@ public abstract class InterTypeDeclaration extends AjMethodDeclaration { protected void resolveOnType(ClassScope classScope) { checkSpec(); - onTypeBinding = (ReferenceBinding)onType.getTypeBinding(classScope); + onTypeBinding = (ReferenceBinding)onType.getTypeBindingPublic(classScope); if (!onTypeBinding.isValidBinding()) { classScope.problemReporter().invalidType(onType, onTypeBinding); ignoreFurtherInvestigation = true; @@ -169,7 +169,7 @@ public abstract class InterTypeDeclaration extends AjMethodDeclaration { } addDeclarationStartLineAttribute(l,classFile); - return classFile.generateMethodInfoAttribute(binding, l); + return classFile.generateMethodInfoAttribute(binding, false, l); } protected abstract Shadow.Kind getShadowKindForBody(); diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/InterTypeFieldDeclaration.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/InterTypeFieldDeclaration.java index 3df0df771..cc325269d 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/InterTypeFieldDeclaration.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/InterTypeFieldDeclaration.java @@ -223,7 +223,7 @@ public class InterTypeFieldDeclaration extends InterTypeDeclaration { } classFile.generateMethodInfoHeader(binding); int methodAttributeOffset = classFile.contentsOffset; - int attributeNumber = classFile.generateMethodInfoAttribute(binding, + int attributeNumber = classFile.generateMethodInfoAttribute(binding, false, makeEffectiveSignatureAttribute(sig, isGetter ? Shadow.FieldGet : Shadow.FieldSet, false)); int codeAttributeOffset = classFile.contentsOffset; classFile.generateCodeAttributeHeader(); diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/InterTypeMethodDeclaration.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/InterTypeMethodDeclaration.java index 2f651430d..98de6d00c 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/InterTypeMethodDeclaration.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/InterTypeMethodDeclaration.java @@ -170,7 +170,8 @@ public class InterTypeMethodDeclaration extends InterTypeDeclaration { classFile.generateMethodInfoHeader(dispatchBinding); int methodAttributeOffset = classFile.contentsOffset; - int attributeNumber = classFile.generateMethodInfoAttribute(dispatchBinding, + int attributeNumber = classFile.generateMethodInfoAttribute(dispatchBinding, + false, makeEffectiveSignatureAttribute(signature, Shadow.MethodCall, false)); int codeAttributeOffset = classFile.contentsOffset; classFile.generateCodeAttributeHeader(); diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/KnownFieldReference.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/KnownFieldReference.java index 2ffbdf17a..cb784ebf0 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/KnownFieldReference.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/KnownFieldReference.java @@ -13,8 +13,10 @@ package org.aspectj.ajdt.internal.compiler.ast; + import org.aspectj.org.eclipse.jdt.internal.compiler.ast.QualifiedNameReference; import org.aspectj.org.eclipse.jdt.internal.compiler.impl.Constant; +import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Binding; import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.BlockScope; import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.FieldBinding; import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeBinding; @@ -26,10 +28,9 @@ public class KnownFieldReference extends QualifiedNameReference { super(new char[][] {binding.name},new long[1], 0, 0); this.binding = this.codegenBinding = binding; this.constant = Constant.NotAConstant; - this.receiverType = this.actualReceiverType = - binding.declaringClass; + this.actualReceiverType = binding.declaringClass; - this.bits = FIELD; + this.bits = Binding.FIELD; //this.receiver = AstUtil.makeTypeReference(binding.declaringClass); } diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/Proceed.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/Proceed.java index ca5f13453..2fc292801 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/Proceed.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/Proceed.java @@ -16,6 +16,7 @@ package org.aspectj.ajdt.internal.compiler.ast; import org.aspectj.weaver.AdviceKind; +import org.aspectj.org.eclipse.jdt.internal.compiler.ast.CastExpression; import org.aspectj.org.eclipse.jdt.internal.compiler.ast.Expression; import org.aspectj.org.eclipse.jdt.internal.compiler.ast.MessageSend; import org.aspectj.org.eclipse.jdt.internal.compiler.impl.ReferenceContext; @@ -45,10 +46,16 @@ public class Proceed extends MessageSend { this.arguments = parent.arguments; this.binding = parent.binding; this.codegenBinding = parent.codegenBinding; + this.syntheticAccessor = parent.syntheticAccessor; + this.expectedType = parent.expectedType; this.nameSourcePosition = parent.nameSourcePosition; - this.receiverType = parent.receiverType; - this.qualifyingType = parent.qualifyingType; + this.actualReceiverType = parent.actualReceiverType; + //this.qualifyingType = parent.qualifyingType; + + this.valueCast = parent.valueCast; + this.typeArguments = parent.typeArguments; + this.genericTypeArguments = parent.genericTypeArguments; this.sourceStart = parent.sourceStart; this.sourceEnd = parent.sourceEnd; @@ -66,7 +73,7 @@ public class Proceed extends MessageSend { constant = NotAConstant; binding = codegenBinding = aroundDecl.proceedMethodBinding; - this.qualifyingType = this.receiverType = binding.declaringClass; + this.actualReceiverType = binding.declaringClass; int baseArgCount = 0; if (arguments != null) { @@ -95,7 +102,14 @@ public class Proceed extends MessageSend { return null; //binding.returnType; } - + boolean argsContainCast = false; + for (int i=0; i<arguments.length;i++) { + if (arguments[i] instanceof CastExpression) argsContainCast = true; + } + + checkInvocationArguments(scope,null,this.actualReceiverType,binding, + this.arguments,binding.parameters,argsContainCast,this); + for (int i=0, len=arguments.length; i < len; i++) { Expression arg = arguments[i]; TypeBinding argType = arg.resolveType(scope); @@ -104,7 +118,6 @@ public class Proceed extends MessageSend { if (!argType.isCompatibleWith(paramType)) { scope.problemReporter().typeMismatchError(argType, paramType, arg); } - arg.implicitWidening(binding.parameters[i], argType); } } diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/ThisJoinPointVisitor.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/ThisJoinPointVisitor.java index a0f809766..f5d5c2e1a 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/ThisJoinPointVisitor.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/ThisJoinPointVisitor.java @@ -169,7 +169,7 @@ public class ThisJoinPointVisitor extends ASTVisitor { ReferenceBinding thisJoinPointStaticPartType = (ReferenceBinding)thisJoinPointStaticPartDec.type; - receiver.receiverType = receiver.actualReceiverType = + receiver.actualReceiverType = receiver.resolvedType = thisJoinPointStaticPartType; call.setActualReceiverType(thisJoinPointStaticPartType); diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/AjLookupEnvironment.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/AjLookupEnvironment.java index a04ca410d..cb24fe5c5 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/AjLookupEnvironment.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/AjLookupEnvironment.java @@ -24,18 +24,10 @@ import org.aspectj.ajdt.internal.compiler.ast.AspectDeclaration; import org.aspectj.ajdt.internal.compiler.ast.PointcutDeclaration; import org.aspectj.bridge.IMessage; import org.aspectj.bridge.WeaveMessage; -import org.aspectj.weaver.AsmRelationshipProvider; -import org.aspectj.weaver.ConcreteTypeMunger; -import org.aspectj.weaver.ResolvedTypeMunger; -import org.aspectj.weaver.ResolvedTypeX; -import org.aspectj.weaver.TypeX; -import org.aspectj.weaver.WeaverStateInfo; -import org.aspectj.weaver.World; -import org.aspectj.weaver.bcel.LazyClassGen; -import org.aspectj.weaver.patterns.DeclareParents; import org.aspectj.org.eclipse.jdt.core.compiler.CharOperation; import org.aspectj.org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration; import org.aspectj.org.eclipse.jdt.internal.compiler.ast.TypeDeclaration; +import org.aspectj.org.eclipse.jdt.internal.compiler.env.AccessRestriction; import org.aspectj.org.eclipse.jdt.internal.compiler.env.IBinaryType; import org.aspectj.org.eclipse.jdt.internal.compiler.env.INameEnvironment; import org.aspectj.org.eclipse.jdt.internal.compiler.impl.CompilerOptions; @@ -48,6 +40,15 @@ import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.PackageBinding; import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding; import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding; import org.aspectj.org.eclipse.jdt.internal.compiler.problem.ProblemReporter; +import org.aspectj.weaver.AsmRelationshipProvider; +import org.aspectj.weaver.ConcreteTypeMunger; +import org.aspectj.weaver.ResolvedTypeMunger; +import org.aspectj.weaver.ResolvedTypeX; +import org.aspectj.weaver.TypeX; +import org.aspectj.weaver.WeaverStateInfo; +import org.aspectj.weaver.World; +import org.aspectj.weaver.bcel.LazyClassGen; +import org.aspectj.weaver.patterns.DeclareParents; /** * Overrides the default eclipse LookupEnvironment for two purposes. @@ -463,7 +464,7 @@ public class AjLookupEnvironment extends LookupEnvironment { sourceType.rememberTypeHierarchy(); if (parentBinding.isClass()) { sourceType.superclass = parentBinding; - + // this used to be true, but I think I've fixed it now, decp is done at weave time! // TAG: WeavingMessage DECLARE PARENTS: EXTENDS // Compiler restriction: Can't do EXTENDS at weave time @@ -520,14 +521,16 @@ public class AjLookupEnvironment extends LookupEnvironment { public BinaryTypeBinding createBinaryTypeFrom( IBinaryType binaryType, PackageBinding packageBinding, - boolean needFieldsAndMethods) + boolean needFieldsAndMethods, + AccessRestriction accessRestriction) { if (inBinaryTypeCreationAndWeaving) { BinaryTypeBinding ret = super.createBinaryTypeFrom( binaryType, packageBinding, - needFieldsAndMethods); + needFieldsAndMethods, + accessRestriction); pendingTypesToFinish.add(ret); return ret; } @@ -537,7 +540,8 @@ public class AjLookupEnvironment extends LookupEnvironment { BinaryTypeBinding ret = super.createBinaryTypeFrom( binaryType, packageBinding, - needFieldsAndMethods); + needFieldsAndMethods, + accessRestriction); weaveInterTypeDeclarations(ret); return ret; } finally { diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/AjTypeConstants.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/AjTypeConstants.java index 5e81ad397..7f57c1d4e 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/AjTypeConstants.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/AjTypeConstants.java @@ -54,7 +54,9 @@ public class AjTypeConstants { } public static ReferenceBinding getConversionsType(Scope scope) { - return (ReferenceBinding)scope.getType(ORG_ASPECTJ_RUNTIME_INTERNAL_CONVERSIONS); + return (ReferenceBinding)scope.getType( + ORG_ASPECTJ_RUNTIME_INTERNAL_CONVERSIONS, + ORG_ASPECTJ_RUNTIME_INTERNAL_CONVERSIONS.length); } public static MethodBinding getConversionMethodToObject(Scope scope, TypeBinding fromType) { diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/EclipseScope.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/EclipseScope.java index d7c0e7d8e..ab3a9d687 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/EclipseScope.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/EclipseScope.java @@ -61,7 +61,8 @@ public class EclipseScope implements IScope { public TypeX lookupType(String name, IHasPosition location) { - TypeBinding b = scope.getType(WildTypePattern.splitNames(name)); + char[][] splitName = WildTypePattern.splitNames(name); + TypeBinding b = scope.getType(splitName,splitName.length); //FIXME need reasonable error handling... if (!b.isValidBinding()) { return ResolvedTypeX.MISSING; diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/HelperInterfaceBinding.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/HelperInterfaceBinding.java index cb3a4d153..0b17726f6 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/HelperInterfaceBinding.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/HelperInterfaceBinding.java @@ -41,8 +41,9 @@ public class HelperInterfaceBinding extends SourceTypeBinding { this.sourceName = enclosingType.scope.referenceContext.name; this.enclosingType = enclosingType; this.typeX = typeX; - + this.typeVariables = NoTypeVariables; this.scope = enclosingType.scope; + this.superInterfaces = new ReferenceBinding[0]; } public HelperInterfaceBinding( diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/InlineAccessFieldBinding.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/InlineAccessFieldBinding.java index 713068424..379693fc2 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/InlineAccessFieldBinding.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/InlineAccessFieldBinding.java @@ -20,7 +20,8 @@ import org.aspectj.org.eclipse.jdt.internal.compiler.ast.ASTNode; import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.FieldBinding; import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.InvocationSite; import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Scope; -import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.SyntheticAccessMethodBinding; +import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.SyntheticMethodBinding; +import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.SyntheticMethodBinding; import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeBinding; @@ -63,7 +64,7 @@ public class InlineAccessFieldBinding extends FieldBinding { return true; } - public SyntheticAccessMethodBinding getAccessMethod(boolean isReadAccess) { + public SyntheticMethodBinding getAccessMethod(boolean isReadAccess) { if (isReadAccess) return reader; else return writer; } diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/InterTypeFieldBinding.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/InterTypeFieldBinding.java index fd575a0be..4ec365b8e 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/InterTypeFieldBinding.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/InterTypeFieldBinding.java @@ -22,13 +22,13 @@ import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.InvocationSite; import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding; import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Scope; import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding; -import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.SyntheticAccessMethodBinding; +import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.SyntheticMethodBinding; import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeBinding; public class InterTypeFieldBinding extends FieldBinding { public ReferenceBinding targetType; - public SyntheticAccessMethodBinding reader; - public SyntheticAccessMethodBinding writer; + public SyntheticMethodBinding reader; + public SyntheticMethodBinding writer; public AbstractMethodDeclaration sourceMethod; public InterTypeFieldBinding(EclipseFactory world, ResolvedMember signature, TypeX withinType, @@ -39,8 +39,9 @@ public class InterTypeFieldBinding extends FieldBinding { targetType = (ReferenceBinding)world.makeTypeBinding(signature.getDeclaringType()); this.declaringClass = (ReferenceBinding)world.makeTypeBinding(withinType); - - reader = new SimpleSyntheticAccessMethodBinding(world.makeMethodBinding( + + reader = new SimpleSyntheticAccessMethodBinding( + world.makeMethodBinding( AjcMemberMaker.interFieldGetDispatcher(signature, withinType) )); @@ -100,7 +101,7 @@ public class InterTypeFieldBinding extends FieldBinding { } - public SyntheticAccessMethodBinding getAccessMethod(boolean isReadAccess) { + public SyntheticMethodBinding getAccessMethod(boolean isReadAccess) { if (isReadAccess) return reader; else return writer; } diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/InterTypeMemberFinder.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/InterTypeMemberFinder.java index 02e74b1b9..96b220ba5 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/InterTypeMemberFinder.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/InterTypeMemberFinder.java @@ -17,6 +17,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope; import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.FieldBinding; import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.IMemberFinder; import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.InvocationSite; @@ -289,9 +290,10 @@ public class InterTypeMemberFinder implements IMemberFinder { public MethodBinding getExactMethod( SourceTypeBinding sourceTypeBinding, char[] selector, - TypeBinding[] argumentTypes) + TypeBinding[] argumentTypes, + CompilationUnitScope refScope) { - MethodBinding ret = sourceTypeBinding.getExactMethodBase(selector, argumentTypes); + MethodBinding ret = sourceTypeBinding.getExactMethodBase(selector, argumentTypes,refScope); // An intertype declaration may override an inherited member (Bug#50776) for (int i=0, len=interTypeMethods.size(); i < len; i++) { diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/PointcutBinding.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/PointcutBinding.java index 51456722c..b847088e2 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/PointcutBinding.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/PointcutBinding.java @@ -13,6 +13,7 @@ package org.aspectj.ajdt.internal.compiler.lookup; +import org.aspectj.org.eclipse.jdt.internal.compiler.ast.ASTNode; import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Binding; /** @@ -33,4 +34,11 @@ public class PointcutBinding extends Binding { return null; } + /* (non-Javadoc) + * @see org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Binding#kind() + */ + public int kind() { + return ASTNode.Bit14; + } + } diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/PrivilegedFieldBinding.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/PrivilegedFieldBinding.java index a6004c0c0..670e6c721 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/PrivilegedFieldBinding.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/PrivilegedFieldBinding.java @@ -19,7 +19,7 @@ import org.aspectj.org.eclipse.jdt.internal.compiler.ast.ASTNode; import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.FieldBinding; import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.InvocationSite; import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Scope; -import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.SyntheticAccessMethodBinding; +import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.SyntheticMethodBinding; import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeBinding; public class PrivilegedFieldBinding extends FieldBinding { @@ -53,7 +53,7 @@ public class PrivilegedFieldBinding extends FieldBinding { } - public SyntheticAccessMethodBinding getAccessMethod(boolean isReadAccess) { + public SyntheticMethodBinding getAccessMethod(boolean isReadAccess) { if (baseField.alwaysNeedsAccessMethod(isReadAccess)) { return baseField.getAccessMethod(isReadAccess); } diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/SimpleSyntheticAccessMethodBinding.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/SimpleSyntheticAccessMethodBinding.java index 51b35e3e7..18b6463ce 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/SimpleSyntheticAccessMethodBinding.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/SimpleSyntheticAccessMethodBinding.java @@ -14,15 +14,19 @@ package org.aspectj.ajdt.internal.compiler.lookup; import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.MethodBinding; -import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.SyntheticAccessMethodBinding; +import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.SyntheticMethodBinding; -public class SimpleSyntheticAccessMethodBinding extends SyntheticAccessMethodBinding { - public SimpleSyntheticAccessMethodBinding(MethodBinding method) { - super(method); - this.declaringClass = method.declaringClass; +public class SimpleSyntheticAccessMethodBinding extends SyntheticMethodBinding { +// public SimpleSyntheticAccessMethodBinding(MethodBinding method) { +// super(method); +// this.declaringClass = method.declaringClass; // this.selector = method.selector; // this.modifiers = method.modifiers; // this.parameters = method.parameters; // this.returnType = method.returnType; +// } + + public SimpleSyntheticAccessMethodBinding(MethodBinding binding) { + super(binding); } } diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/problem/AjProblemReporter.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/problem/AjProblemReporter.java index a6c9f78b2..b71472be8 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/problem/AjProblemReporter.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/problem/AjProblemReporter.java @@ -15,13 +15,19 @@ import java.lang.reflect.Modifier; import java.util.Iterator; +import java.util.List; import org.aspectj.ajdt.internal.compiler.ast.AdviceDeclaration; import org.aspectj.ajdt.internal.compiler.ast.PointcutDeclaration; import org.aspectj.ajdt.internal.compiler.ast.Proceed; import org.aspectj.ajdt.internal.compiler.lookup.EclipseFactory; -import org.aspectj.org.eclipse.jdt.core.compiler.CharOperation; -import org.aspectj.org.eclipse.jdt.core.compiler.IProblem; +import org.aspectj.util.FuzzyBoolean; +import org.aspectj.weaver.AjcMemberMaker; +import org.aspectj.weaver.ConcreteTypeMunger; +import org.aspectj.weaver.ResolvedMember; +import org.aspectj.weaver.ResolvedTypeX; +import org.aspectj.weaver.Shadow; +import org.aspectj.weaver.patterns.DeclareSoft; import org.aspectj.org.eclipse.jdt.internal.compiler.CompilationResult; import org.aspectj.org.eclipse.jdt.internal.compiler.IErrorHandlingPolicy; import org.aspectj.org.eclipse.jdt.internal.compiler.IProblemFactory; @@ -37,13 +43,8 @@ import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding; import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding; import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeBinding; import org.aspectj.org.eclipse.jdt.internal.compiler.problem.ProblemReporter; -import org.aspectj.util.FuzzyBoolean; -import org.aspectj.weaver.AjcMemberMaker; -import org.aspectj.weaver.ConcreteTypeMunger; -import org.aspectj.weaver.ResolvedMember; -import org.aspectj.weaver.ResolvedTypeX; -import org.aspectj.weaver.Shadow; -import org.aspectj.weaver.patterns.DeclareSoft; +import org.aspectj.org.eclipse.jdt.core.compiler.CharOperation; +import org.aspectj.org.eclipse.jdt.core.compiler.IProblem; /** * Extends problem reporter to support compiler-side implementation of declare soft. @@ -214,31 +215,16 @@ public class AjProblemReporter extends ProblemReporter { // PR71076 - public void javadocMissingParamTag(Argument arg, int modifiers) { + public void javadocMissingParamTag(char[] name, int sourceStart, int sourceEnd, int modifiers) { boolean reportIt = true; - if (arg.binding!=null && (arg.binding.declaringScope instanceof MethodScope) ) { - MethodScope ms = (MethodScope) arg.binding.declaringScope; - if (ms.referenceContext!=null && (ms.referenceContext instanceof AdviceDeclaration)) { - AdviceDeclaration adviceDecl = (AdviceDeclaration)ms.referenceContext; - if (arg.name!=null) { - if (adviceDecl.selector.length>4 && - adviceDecl.selector[0] == 'a' && - adviceDecl.selector[1] == 'j' && - adviceDecl.selector[2] == 'c' && - adviceDecl.selector[3] == '$') { - - String stringArgName = new String(arg.name); - if (stringArgName.equals("thisJoinPoint")) reportIt = false; - if (stringArgName.equals("thisJoinPointStaticPart")) reportIt = false; - if (stringArgName.equals("thisEnclosingJoinPointStaticPart")) reportIt = false; - if (arg.type.toString().indexOf("AroundClosure")!=-1) reportIt = false; - } - } - } - } - if (arg.name!=null && new String(arg.name).startsWith("ajc$")) reportIt = false; + String sName = new String(name); + if (sName.startsWith("ajc$")) reportIt = false; + if (sName.equals("thisJoinPoint")) reportIt = false; + if (sName.equals("thisJoinPointStaticPart")) reportIt = false; + if (sName.equals("thisEnclosingJoinPointStaticPart")) reportIt = false; + if (sName.equals("ajc_aroundClosure")) reportIt = false; if (reportIt) - super.javadocMissingParamTag(arg, modifiers); + super.javadocMissingParamTag(name,sourceStart,sourceEnd,modifiers); } public void abstractMethodInAbstractClass(SourceTypeBinding type, AbstractMethodDeclaration methodDecl) { diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AsmHierarchyBuilder.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AsmHierarchyBuilder.java index fda7e326a..7db5a9983 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AsmHierarchyBuilder.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AsmHierarchyBuilder.java @@ -16,53 +16,31 @@ package org.aspectj.ajdt.internal.core.builder; import java.io.File; import java.io.IOException; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.ListIterator; -import java.util.Stack; +import java.util.*; -import org.aspectj.ajdt.internal.compiler.ast.AdviceDeclaration; +import org.aspectj.ajdt.internal.compiler.ast.*; import org.aspectj.ajdt.internal.compiler.ast.AspectDeclaration; import org.aspectj.ajdt.internal.compiler.ast.InterTypeDeclaration; -import org.aspectj.ajdt.internal.compiler.ast.PointcutDeclaration; import org.aspectj.ajdt.internal.compiler.lookup.AjLookupEnvironment; import org.aspectj.ajdt.internal.compiler.lookup.EclipseFactory; -import org.aspectj.asm.AsmManager; +import org.aspectj.asm.*; import org.aspectj.asm.IHierarchy; import org.aspectj.asm.IProgramElement; -import org.aspectj.asm.IRelationship; import org.aspectj.asm.internal.ProgramElement; +import org.aspectj.asm.internal.Relationship; import org.aspectj.bridge.ISourceLocation; import org.aspectj.bridge.SourceLocation; import org.aspectj.org.eclipse.jdt.internal.compiler.ASTVisitor; import org.aspectj.org.eclipse.jdt.internal.compiler.CompilationResult; -import org.aspectj.org.eclipse.jdt.internal.compiler.ast.ASTNode; -import org.aspectj.org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration; -import org.aspectj.org.eclipse.jdt.internal.compiler.ast.AbstractVariableDeclaration; -import org.aspectj.org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration; -import org.aspectj.org.eclipse.jdt.internal.compiler.ast.ConstructorDeclaration; -import org.aspectj.org.eclipse.jdt.internal.compiler.ast.ExtendedStringLiteral; -import org.aspectj.org.eclipse.jdt.internal.compiler.ast.FieldDeclaration; -import org.aspectj.org.eclipse.jdt.internal.compiler.ast.ImportReference; -import org.aspectj.org.eclipse.jdt.internal.compiler.ast.Initializer; -import org.aspectj.org.eclipse.jdt.internal.compiler.ast.MethodDeclaration; -import org.aspectj.org.eclipse.jdt.internal.compiler.ast.QualifiedAllocationExpression; -import org.aspectj.org.eclipse.jdt.internal.compiler.ast.TypeDeclaration; -import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.BlockScope; -import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ClassScope; -import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope; -import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.MethodScope; +import org.aspectj.org.eclipse.jdt.internal.compiler.ast.*; +import org.aspectj.org.eclipse.jdt.internal.compiler.env.IGenericType; +import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.*; import org.aspectj.org.eclipse.jdt.internal.compiler.problem.ProblemHandler; import org.aspectj.util.LangUtil; +import org.aspectj.weaver.*; import org.aspectj.weaver.Member; import org.aspectj.weaver.ResolvedMember; -import org.aspectj.weaver.TypeX; -import org.aspectj.weaver.World; -import org.aspectj.weaver.patterns.AndPointcut; -import org.aspectj.weaver.patterns.OrPointcut; -import org.aspectj.weaver.patterns.Pointcut; -import org.aspectj.weaver.patterns.ReferencePointcut; +import org.aspectj.weaver.patterns.*; /** * At each iteration of <CODE>processCompilationUnit</CODE> the declarations for a @@ -236,7 +214,9 @@ public class AsmHierarchyBuilder extends ASTVisitor { String name = new String(typeDeclaration.name); IProgramElement.Kind kind = IProgramElement.Kind.CLASS; if (typeDeclaration instanceof AspectDeclaration) kind = IProgramElement.Kind.ASPECT; - else if (typeDeclaration.isInterface()) kind = IProgramElement.Kind.INTERFACE; + else if (typeDeclaration.kind() == IGenericType.INTERFACE_DECL) kind = IProgramElement.Kind.INTERFACE; + else if (typeDeclaration.kind() == IGenericType.ENUM_DECL) kind = IProgramElement.Kind.ENUM; + else if (typeDeclaration.kind() == IGenericType.ANNOTATION_TYPE_DECL) kind = IProgramElement.Kind.ANNOTATION; IProgramElement peNode = new ProgramElement( name, @@ -262,7 +242,9 @@ public class AsmHierarchyBuilder extends ASTVisitor { IProgramElement.Kind kind = IProgramElement.Kind.CLASS; if (memberTypeDeclaration instanceof AspectDeclaration) kind = IProgramElement.Kind.ASPECT; - else if (memberTypeDeclaration.isInterface()) kind = IProgramElement.Kind.INTERFACE; + else if (memberTypeDeclaration.kind() == IGenericType.INTERFACE_DECL) kind = IProgramElement.Kind.INTERFACE; + else if (memberTypeDeclaration.kind() == IGenericType.ENUM_DECL) kind = IProgramElement.Kind.ENUM; + else if (memberTypeDeclaration.kind() == IGenericType.ANNOTATION_TYPE_DECL) kind = IProgramElement.Kind.ANNOTATION; IProgramElement peNode = new ProgramElement( name, @@ -298,7 +280,9 @@ public class AsmHierarchyBuilder extends ASTVisitor { } IProgramElement.Kind kind = IProgramElement.Kind.CLASS; - if (memberTypeDeclaration.isInterface()) kind = IProgramElement.Kind.INTERFACE; + if (memberTypeDeclaration.kind() == IGenericType.INTERFACE_DECL) kind = IProgramElement.Kind.INTERFACE; + else if (memberTypeDeclaration.kind() == IGenericType.ENUM_DECL) kind = IProgramElement.Kind.ENUM; + else if (memberTypeDeclaration.kind() == IGenericType.ANNOTATION_TYPE_DECL) kind = IProgramElement.Kind.ANNOTATION; IProgramElement peNode = new ProgramElement( fullName, diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/StatefulNameEnvironment.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/StatefulNameEnvironment.java index d38342f3d..713f6e728 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/StatefulNameEnvironment.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/StatefulNameEnvironment.java @@ -64,7 +64,9 @@ public class StatefulNameEnvironment implements INameEnvironment { try { //System.out.println("from cache: " + name); - return new NameEnvironmentAnswer(new ClassFileReader(cf.getBytes(), cf.getFilename().toCharArray())); + return new NameEnvironmentAnswer( + new ClassFileReader(cf.getBytes(), cf.getFilename().toCharArray()), + null /* no access restriction */); } catch (ClassFormatException e) { return null; //!!! seems to match FileSystem behavior } diff --git a/tests/java5/annotations/AnnotationAspect04.aj b/tests/java5/annotations/AnnotationAspect04.aj index 62466ae1c..7c1632f7b 100644 --- a/tests/java5/annotations/AnnotationAspect04.aj +++ b/tests/java5/annotations/AnnotationAspect04.aj @@ -3,9 +3,11 @@ import java.lang.annotation.Annotation; public aspect AnnotationAspect04 {
declare parents: SimpleAnnotation implements java.io.Serializable;
- class C extends Annotation { }
+ class C {}
declare parents: SimpleAnnotation extends C;
class D {}
declare parents: D extends Annotation;
}
+
+
diff --git a/tests/pureJava/KeywordAspect.java b/tests/pureJava/KeywordAspect.java index 9fcf0c446..b08fc41a3 100644 --- a/tests/pureJava/KeywordAspect.java +++ b/tests/pureJava/KeywordAspect.java @@ -8,7 +8,7 @@ public class KeywordAspect { public void realMain(String[] args) { int aspect = 0; - aspect += 10; + aspect += 10; Tester.checkEqual(aspect, 10); Tester.checkEqual(pointcut, "hi-bye"); diff --git a/tests/src/org/aspectj/systemtest/ajc11/ajc11-tests.xml b/tests/src/org/aspectj/systemtest/ajc11/ajc11-tests.xml index db8c780ac..d9849ceb3 100644 --- a/tests/src/org/aspectj/systemtest/ajc11/ajc11-tests.xml +++ b/tests/src/org/aspectj/systemtest/ajc11/ajc11-tests.xml @@ -671,7 +671,8 @@ <ajc-test dir="bugs" pr="39460" title="Missing import crashes compiler"> <compile files="MissingImport.java"> - <message kind="error" line="13"/> + <message kind="error" line="13"/> + <message kind="error" line="14"/> </compile> </ajc-test> diff --git a/tests/src/org/aspectj/systemtest/ajc121/ajc121-tests.xml b/tests/src/org/aspectj/systemtest/ajc121/ajc121-tests.xml index 9089289e9..64e966c94 100644 --- a/tests/src/org/aspectj/systemtest/ajc121/ajc121-tests.xml +++ b/tests/src/org/aspectj/systemtest/ajc121/ajc121-tests.xml @@ -347,7 +347,7 @@ <message kind="error" line="9" text="The method ancientI() from the type Foo is not visible"/> <message kind="error" line="10" text="The method ancientJ() from the type AncientFoo is not visible"/> <message kind="error" line="11" text="The method clone() from the type Object is not visible"/> - <message kind="error" line="12" text="The method clone() from the type Object is not static"/> + <message kind="error" line="12" text="Cannot make a static reference to the non-static method clone() from the type Object"/> </compile> </ajc-test> diff --git a/tests/src/org/aspectj/systemtest/ajc150/Annotations.java b/tests/src/org/aspectj/systemtest/ajc150/Annotations.java index 94760cc4f..1a8b83cc9 100644 --- a/tests/src/org/aspectj/systemtest/ajc150/Annotations.java +++ b/tests/src/org/aspectj/systemtest/ajc150/Annotations.java @@ -54,7 +54,7 @@ public class Annotations extends TestUtils { // Deals with the cases where an explicit type is specified and it is an annotation type public void test002_decpOnAnnotationNotAllowed_errors() { - CompilationResult cR = binaryWeave("testcode.jar","AnnotationAspect04.aj",3,0,true); + CompilationResult cR = binaryWeave("testcode.jar","AnnotationAspect04.aj",3,0,true,new String[]{"-source","1.5"}); IMessage msg = (IMessage)cR.getErrorMessages().get(1); assertTrue("Expected a message about can't use decp to alter supertype of an annotation: "+msg, msg.toString().indexOf("to alter supertype of annotation type")!=-1); diff --git a/tests/src/org/aspectj/systemtest/ajc150/Enums.java b/tests/src/org/aspectj/systemtest/ajc150/Enums.java index ff0ba4167..20bd6ef77 100644 --- a/tests/src/org/aspectj/systemtest/ajc150/Enums.java +++ b/tests/src/org/aspectj/systemtest/ajc150/Enums.java @@ -59,7 +59,7 @@ public class Enums extends TestUtils { // Deals with the cases where an explicit type is specified and it is an enum type public void test003_decpOnEnumNotAllowed_errors() { - CompilationResult cR = binaryWeave("testcode.jar","EnumAspect03.aj",3,0,true); + CompilationResult cR = binaryWeave("testcode.jar","EnumAspect03.aj",4,0,true); // THE ORDERING CAN BE SENSITIVE HERE... OUGHT TO FIX IT PROPERLY AND ALLOW FOR THEM // IN ANY POSITION IMessage msg = (IMessage)cR.getErrorMessages().get(1); @@ -71,6 +71,9 @@ public class Enums extends TestUtils { msg = (IMessage)cR.getErrorMessages().get(0); assertTrue("Expected a message about can't use decp to make Enum parent of another type: "+msg, msg.toString().indexOf("the parent of type")!=-1); + msg = (IMessage)cR.getErrorMessages().get(3); + assertTrue("Excpected message about not subclassing Enum: "+msg, + msg.toString().indexOf("The type C may not subclass Enum explicitly")!=-1); verifyWeavingMessagesOutput(cR,new String[]{}); } diff --git a/tests/src/org/aspectj/systemtest/ajc150/TestUtils.java b/tests/src/org/aspectj/systemtest/ajc150/TestUtils.java index dbaf6917d..180f9a7c7 100644 --- a/tests/src/org/aspectj/systemtest/ajc150/TestUtils.java +++ b/tests/src/org/aspectj/systemtest/ajc150/TestUtils.java @@ -29,23 +29,35 @@ public abstract class TestUtils extends AjcTestCase { } protected CompilationResult binaryWeave(String inpath, String insource,int expErrors,int expWarnings,boolean xlinterror) { - return binaryWeave(inpath,insource,expErrors,expWarnings,xlinterror,""); + return binaryWeave(inpath,insource,expErrors,expWarnings,xlinterror,(String[])null); } protected CompilationResult binaryWeave(String inpath, String insource,int expErrors,int expWarnings,String extraOption) { return binaryWeave(inpath,insource,expErrors,expWarnings,false,extraOption); } - + protected CompilationResult binaryWeave(String inpath, String insource,int expErrors,int expWarnings,boolean xlinterror,String extraOption) { + return binaryWeave(inpath, insource, expErrors, expWarnings,xlinterror,new String[] {extraOption}); + } + + protected CompilationResult binaryWeave(String inpath, String insource,int expErrors,int expWarnings,boolean xlinterror,String[] extraOptions) { String[] args = null; if (xlinterror) { - if (extraOption!=null && extraOption.length()>0) - args = new String[] {"-inpath",inpath,insource,"-showWeaveInfo","-proceedOnError","-Xlint:warning",extraOption}; + if (extraOptions!=null && extraOptions.length > 0) { + String[] firstargs = new String[] {"-inpath",inpath,insource,"-showWeaveInfo","-proceedOnError","-Xlint:warning"}; + args = new String[firstargs.length + extraOptions.length]; + System.arraycopy(firstargs,0,args,0,firstargs.length); + System.arraycopy(extraOptions,0,args,firstargs.length,extraOptions.length); + } else args = new String[] {"-inpath",inpath,insource,"-showWeaveInfo","-proceedOnError","-Xlint:warning"}; } else { - if (extraOption!=null && extraOption.length()>0) - args = new String[] {"-inpath",inpath,insource,"-showWeaveInfo","-proceedOnError",extraOption}; + if (extraOptions!=null && extraOptions.length>0) { + String[] firstargs = new String[] {"-inpath",inpath,insource,"-showWeaveInfo","-proceedOnError"}; + args = new String[firstargs.length + extraOptions.length]; + System.arraycopy(firstargs,0,args,0,firstargs.length); + System.arraycopy(extraOptions,0,args,firstargs.length,extraOptions.length); + } else args = new String[] {"-inpath",inpath,insource,"-showWeaveInfo","-proceedOnError"}; } diff --git a/tests/src/org/aspectj/systemtest/pre10x/pre10x-tests.xml b/tests/src/org/aspectj/systemtest/pre10x/pre10x-tests.xml index d96bc3e4b..4d4cb999d 100644 --- a/tests/src/org/aspectj/systemtest/pre10x/pre10x-tests.xml +++ b/tests/src/org/aspectj/systemtest/pre10x/pre10x-tests.xml @@ -286,7 +286,7 @@ title="pre 0.7 introduction form outside aspect body causes an EmptyStackException" keywords="from-errors"> <compile files="BadIntroduction.java"> - <message kind="error" line="3"/> + <message kind="error" line="1" /> </compile> </ajc-test> @@ -301,7 +301,7 @@ title="a before() clause at the class-level causes an EmptyStackException" keywords="from-errors"> <compile files="TopLevelBefore.java"> - <message kind="error" line="3"/> + <message kind="error" line="1"/> </compile> </ajc-test> @@ -309,7 +309,7 @@ title="an after() clause at the class-level causes an EmptyStackException" keywords="from-errors"> <compile files="TopLevelAfter.java"> - <message kind="error" line="3"/> + <message kind="error" line="1"/> </compile> </ajc-test> @@ -317,7 +317,7 @@ title="an around() clause at the class-level causes an EmptyStackException" keywords="from-errors"> <compile files="TopLevelAround.java"> - <message kind="error" line="3"/> + <message kind="error" line="1"/> </compile> </ajc-test> diff --git a/weaver/src/org/aspectj/weaver/bcel/BcelTypeMunger.java b/weaver/src/org/aspectj/weaver/bcel/BcelTypeMunger.java index 3bf3642b7..935d2f966 100644 --- a/weaver/src/org/aspectj/weaver/bcel/BcelTypeMunger.java +++ b/weaver/src/org/aspectj/weaver/bcel/BcelTypeMunger.java @@ -223,7 +223,7 @@ public class BcelTypeMunger extends ConcreteTypeMunger { } if (!satisfiedByITD) { error(weaver, - "Class must implement the inherited abstract method "+o.getDeclaringType()+"."+o.getName()+o.getParameterSignature(), + "The type " + newParentTarget.getName() + " must implement the inherited abstract method "+o.getDeclaringType()+"."+o.getName()+o.getParameterSignature(), newParentTarget.getType().getSourceLocation(),new ISourceLocation[]{o.getSourceLocation(),mungerLoc}); ruleCheckingSucceeded=false; } |