From 85da9d243140453d129f355b4ebfa7db15b5ac6b Mon Sep 17 00:00:00 2001
From: jhugunin
This document is intended to completely describe the 1.1 language -and tools in relation to AspectJ 1.0.6. With that in mind, many -features are documented sketchily with the flag "not working in -1.1beta2", but we believe it to include some description of all the -features of 1.1 that are different from those in 1.0.6. +and tools in relation to AspectJ 1.0.6.
The information in this document will be folded into the main line @@ -124,7 +121,7 @@ release schedule closely, however, these are the changes since the In all but a few cases, programs written in AspectJ 1.0 should compile correctly in AspectJ 1.1. In many cases, there are new or preferred forms in AspectJ 1.1. However, some AspectJ 1.0 - features are not yet implemented in 1.1, so some 1.0 programs + features have changed in 1.1, so some 1.0 programs will not compile in this release.
@@ -231,7 +228,7 @@ release schedule closely, however, these are the changes since the same as the interface to ajc 1.0. There are two important changes under the hood, however. -First, the 1.1 compiler is implemented on top of IBM's +
First, the 1.1 compiler is implemented on top of the open-source Eclipse compiler. This has two benefits: It allows us to concentrate on the AspectJ extensions to Java and let the Eclipse team worry about making sure the Java edge cases work, and it allows @@ -257,9 +254,6 @@ release schedule closely, however, these are the changes since the takes one or more jar files, and indicates that all the classfiles in the jar files should be woven into. -
AspectJ 1.1 will not include ajdb, the AspectJ - stand-alone debugger. It is no longer necessary because more + stand-alone debugger. It is no longer necessary for two reasons. + First, the -XnoInline flag will tell the compiler to generate + code without inlining that should work correctly with any Java + debugger. For code generated with inlining enabled, more third-party debuggers are starting to work according to JSR 45, "Debugging support for other languages", which we plan to support in AspectJ 1.1.
@@ -473,7 +470,7 @@ release schedule closely, however, these are the changes since the && within(Aspect) to restrict it to only those pieces of advice defined in a particular aspect.preinitialization(ConstructorPattern)
will
- pick out pre-initialization join points where the initializaiton
+ pick out pre-initialization join points where the initialization
process is entered through
ConstructorPattern
.
@@ -1113,6 +1110,9 @@ release schedule closely, however, these are the changes since the
-XnoInline
in the final.
+ Building on the eclipse compiler has given us access to a very @@ -1135,11 +1135,8 @@ release schedule closely, however, these are the changes since the better error messages than from ajc-1.0.6. However, when we don't handle errors correctly this can sometimes lead to cascading error messages where a single small syntax error will produce dozens of - other messages.
- -Many error condition in beta2 are signalled by exception. You - may see RuntimeException("unimplemented") produced from programs - that use features we just haven't implemented yet.
+ other messages. Please report any very confusing error messages as + bugs.AspectJ 1.1 does not have a -porting option. We believe that - many useful porting information will be presented by the -Xlint - option when it is enabled.
+AspectJ 1.1 does not have a -porting option.
Because we build on Eclipse, the compiler will no longer run under J2SE 1.2. You must run the compiler (and all tools based on - the compiler) using J2SE 1.3 or later.
+ the compiler) using J2SE 1.3 or later. The code generated by the + compiler can still run on Java1.1 or later VMs if compiled against + the correct runtime libraries.