From 21f9d5a71fa19792e0268a97955efdb8bf5d7916 Mon Sep 17 00:00:00 2001 From: wisberg Date: Thu, 13 Mar 2003 18:19:28 +0000 Subject: [PATCH] Updated for 1.1rc1: - removed "No exception checking during weaving" as fixed - removed promise of support for - XtargetNearSource - incremental mode in Ajbrowser (did NOT add uses-pointcut limitation for ajbrowser) - removed text polling for complaints wrt language changes - added as limitation: only one .. permitted in args - added limitation wrt error/warning source context - inlining of around advice now on by default --- build/products/tools/dist/README-11.html | 136 +++++++++++------------ 1 file changed, 65 insertions(+), 71 deletions(-) diff --git a/build/products/tools/dist/README-11.html b/build/products/tools/dist/README-11.html index 83af45f98..ece88a1c5 100644 --- a/build/products/tools/dist/README-11.html +++ b/build/products/tools/dist/README-11.html @@ -29,6 +29,19 @@ functionality of the tools.

This document is intended to completely describe the 1.1 language and tools in relation to AspectJ 1.0.6. +For the most up-to-date information about known issues in AspectJ 1.1, +see the bug database at + http://dev.eclipse.org/bugs, +especially the open bugs for the + + compiler, + + IDE support, + + documentation, and + + Ant tasks. +

The information in this document has been folded into the semantics @@ -74,7 +87,8 @@ are now part of a single downloadable distribution from Emacs, NetBeans and JBuilder are now -individual SourceForge projects.

+individual SourceForge projects, and their 1.1 releases may trail +the main AspectJ release.


@@ -159,32 +173,34 @@ individual SourceForge projects.

There are a couple of language limitations for things that are rarely used that make the - implementation simpler. If no one speaks up in defense of these, - they will probably become official simplifications of the language. - If defenders speak up, then they will be listed as limitations of - the current compiler implementation.

+ implementation simpler, so we have restricted the language accordingly. +

-

Finally, we did not implement the handling of multiple - .. wildcards in args PCDs (rarely encountered in the - wild) because we didn't have the time. It should be available in - 1.1rc1. Also, we did not implement the new +

Finally, + we did not implement the new pertype aspect specifier. It has been taken off the table for - 1.1rc, though it may well be in a future release.

+ 1.1, though it may well be in a future release.

@@ -240,21 +256,20 @@ individual SourceForge projects.

1.1 compiler supports incremental compilation. -

Some other features we plan to support for 1.1, but did not make - it into this beta release:

+

Some other features we wanted to support for 1.1, but did not make + it into this release:

But some features of the 1.0 compiler are not supported in the 1.1 compiler:

A short description of the options ajc accepts is available with - "ajc -help".

+ "ajc -help". + Longer descriptions are available in the Development Environment Guide + section on ajc.

@@ -294,8 +311,8 @@ individual SourceForge projects.

This release does not include ajdoc, the - documentation tool for AspectJ sources, and its 1.1 release looks - doubtful. Ajdoc is deeply dependent on the + documentation tool for AspectJ sources. + Ajdoc is deeply dependent on the abstract syntax tree classes from the old compiler, so it needs a bottom-up rewrite. We think it best to use this opportunity to implement more general API's for publishing and rendering static @@ -337,10 +354,10 @@ individual SourceForge projects.

distributed from Sourceforge, AJDE for JBuilder, AJDE for Netbeans, and AJDE for Emacs haven't changed much either. They use the batch-build mode of the new compiler. Incremental building and - bytecode weaving are not available in the AJDE tools in the beta - release, but might be in a future release.

+ bytecode weaving are not available in the AJDE tools in this release, + but might be in a future release.

-

Of note for the beta is that NetBeans 3.4 is supported, and there is now +

Of note is that NetBeans 3.4 is supported, and there is now better integration for the compiler messages output window.

@@ -940,19 +957,14 @@ individual SourceForge projects.

Incremental compilation

The AspectJ 1.1 compiler now supports incremental compilation. - For the final release, this will work from the various IDE plugins we - ship, but for the beta release, it is only supported on the - command-line compiler. -

- -

When ajc is called with the -incremental option, it must also be + When ajc is called with the -incremental option, it must also be passed a -sourceroots option specifying a directory to incrementally compile. Once the initial compile is done, ajc waits for console input. Every time it reads a new line (i.e., every time the user hits return) ajc recompiles those input files that need recompiling.

-

Limitations for beta

+

Limitations

This new functionality is still only lightly tested.

@@ -1127,19 +1139,15 @@ individual SourceForge projects.

-

Some confusing error messages in - 1.1beta

+

Some confusing error messages

Building on the eclipse compiler has given us access to a very sophisticated problem reporting system as well as highly optimized @@ -1164,28 +1171,17 @@ individual SourceForge projects.

bugs.

-

No exception checking during - weaving in 1.1beta5

- -

Advice that has an explicit throws clause needs to have that - throws clause checked during weaving for each join point that is - matched. This checking is not implemented in 1.1beta5 which can - lead to checked exceptions being thrown from places they are not - allowed by the Java language.

+

Source code context is not shown + for errors and warnings detected during bytecode weaving

-
    before() throws IOException : execution (void m()) {
-        InputStream s = new FileInputStream("m.out");
-        ...
-    }
-    ...
-    public void m() { ... }
-    
+

For compiler errors and warnings detected during bytecode weaving, + source code context will not be displayed. In particular, for declare + error and declare warning statements, the compiler now only emits the + file and line. We are investigating ways to overcome this in cases + where the source code is available; in cases where source code is + not available, we might specify the signature of the offending code. + For more information, see bug 31724.

-

This code should result in a link-time weaving error that the - throws clause in the advice is incompatible with the checked - exceptions which can be legally thrown from the matched join - point. In beta5 this will just silently weave in the advice and - it will be possible for an IOException to be thrown from m().

The -Xlint option

@@ -1198,17 +1194,17 @@ individual SourceForge projects.

org/aspectj/weaver/XlintDefault.properties for the default behavior and a template to copy.

-

Though more -Xlint warnings are supported in - 1.1beta5 than previously, we expect even more to be supported in - 1.1final. Because the configurability allows users to turn off - warnings, we will also be able to warn about more potentially +

More -Xlint warnings are supported now, and + we may add disabled warnings in subsequent bug-fix releases of 1.1. + Because the configurability allows users to turn off + warnings, we will be able to warn about more potentially dangerous situations, such as the potentially unsafe casts used by very polymorphic uses of proceed in around advice.

Source-specific options

-

Because AspectJ 1.1beta5 does not generate source code after - weaving, the source-code-specific options -source, -usejavac, +

Because AspectJ 1.1 does not generate source code after + weaving, the source-code-specific options -preprocess, -usejavac, -nocomment and -workingdir options are meaningless and so not supported.

@@ -1360,9 +1356,7 @@ individual SourceForge projects.

So, because it's easier to implement, and because we believe that this is the last possibility to make the semantics more useful, we - have made set join points have a void return type in 1.1beta5. - Please complain vociferously if you believe this is wrong, and we - can revert for the final version.

+ have made set join points have a void return type in 1.1.

The -XnoInline Option

-- 2.39.5