From 679b2f8ad3808b2d58b7ae89e6512e81ff1f031a Mon Sep 17 00:00:00 2001 From: aclement Date: Tue, 7 Jun 2011 19:15:51 +0000 Subject: [PATCH] 1.6.12.m1 readme --- docs/dist/doc/README-1612.html | 80 ++++++++++++++++++++++++++++++++++ docs/dist/doc/index.html | 1 + 2 files changed, 81 insertions(+) create mode 100644 docs/dist/doc/README-1612.html diff --git a/docs/dist/doc/README-1612.html b/docs/dist/doc/README-1612.html new file mode 100644 index 000000000..fbe5a646b --- /dev/null +++ b/docs/dist/doc/README-1612.html @@ -0,0 +1,80 @@ + + +AspectJ 1.6.12 Readme + + + + +
+© Copyright 2010-2011 Contributors. +All rights reserved. +
+ +

AspectJ 1.6.12 Readme

+ +

The full list of resolved issues in 1.6.12 is available +here.

+ +

1.6.12.M1 available 7-Jun-2011

+ + +

Notable Changes

+
+

M1 - synthetic is supported in pointcut modifiers 327867

+

It is now possible to specify synthetic in pointcuts: +

+
pointcut p(): execution(!synthetic * *(..));
+
+ +

M1 - respect protection domain when generating types during weaving 328099

+

This enables us to weave signed jars correctly. AspectJ sometimes generates closure classes during weaving and +these must be defined with the same protection domain as the jar that gave rise to them. In 1.6.12.M1 this should +now work correctly. +

+ +

M1 - Suppressions inline with the JDT compiler 335810

+

Starting with Eclipse 3.6, the Eclipse compiler no longer suppresses raw type +warnings with @SuppressWarnings("unchecked"). You need to use +@SuppressWarnings("rawtypes") for that. AspectJ has now been updated with this rule too. +

+ +

M1 - Optimized annotation value binding for ints 347684

+

The optimized annotation value binding now supports ints - this is for use when you want to match upon the existence of an annotation but +you don't need the annotation, you just need a value from it. This code snippet shows an example:

+
@interface SomeAnnotation {
+  int i();
+}
+
+before(int i): execution(* *(..)) && @annotation(SomeAnnotation(i)) {
+
+

+Binding values in this way will result in code that runs *much* faster than using pointcuts that +bind the annotation itself then pull out the value. +

+ +

Under that same bug some changes were made to match values by name when binding too. Suppose the annotation +had multiple int values, how would we select which int to bind? AspectJ will now use the name (if it can) to select +the right value: +

@interface SomeAnnotation {
+  int mods();
+  int flags();
+}
+
+before(int flags): execution(* *(..)) && @annotation(SomeAnnotation(flags)) {
+
+

Here the use of 'flags' as the name of the value being bound will ensure the 'flags' value from any SomeAnnotation is +bound and not the 'mods' value.

+ + +

+ + + diff --git a/docs/dist/doc/index.html b/docs/dist/doc/index.html index 6ec7d2d6f..35e6339dc 100644 --- a/docs/dist/doc/index.html +++ b/docs/dist/doc/index.html @@ -138,6 +138,7 @@ README's Changes and porting guide for AspectJ + 1.6.12, 1.6.11, 1.6.10, 1.6.9, -- 2.39.5