Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] Authoritative Documentation

Wow, THANK YOU for pulling them together :-)

On Mon, Jan 9, 2012 at 1:25 PM, Andy Clement <andrew.clement@xxxxxxxxx> wrote:
Hi,

I'm afraid that effectively the up to date documentation is the
developers notebook plus the accumulated readmes since it was created.
 I know that isn't great but we just don't find the time to keep the
docs up to date.  However, given that there wasn't really anything in
Java6 and honestly there isn't a whole lot in Java7, there aren't many
fundamental changes to the syntax of the AspectJ language.  The
changes have been mainly around performance/memory/etc.  But let me
try and pull it together for you:

DevelopersNotebook - discusses everything in AspectJ 1.5

Big work items and language changes since then:

- pipeline compilation - drastically reduces memory required when
compiling large projects

- pertypewithin - added getWithinTypeName() special method for this
instantiation model

- parameter annotation matching -
http://www.eclipse.org/aspectj/doc/released/README-160.html

- annotation value matching -
http://www.eclipse.org/aspectj/doc/released/README-160.html

- huge weaver refactoring - removed 25% of the classes in the weaver.
http://www.eclipse.org/aspectj/doc/released/README-161.html

- annotation value binding optimization -
http://www.eclipse.org/aspectj/doc/released/README-161.html

- incremental compiler improvements under the IDE - much more analysis
done to reduce the need to fallback to full builds

- refactoring to split out matching from weaving - new 'matcher' jar
for environments that don't need weaving

- multi-project incremental build times greatly improved -
http://www.eclipse.org/aspectj/doc/released/README-164.html

- optimizing support for maintaining per join point state -
http://www.eclipse.org/aspectj/doc/released/README-164.html

- @DeclareMixin - better variant for declare parents for annotation
style aspects -
http://www.eclipse.org/aspectj/doc/released/README-164.html

- matching algorithms rewritten -
http://www.eclipse.org/aspectj/doc/released/README-167.html - much
faster matching and much less memory used.

- optimized generated code for annotation binding - much faster.
http://www.eclipse.org/aspectj/doc/released/README-167.html

- declare annotation supporting compound type patterns -
http://www.eclipse.org/aspectj/doc/released/README-169.html

- intertype declaration of member types -
http://www.eclipse.org/aspectj/doc/released/README-169.html

- 'overweaving' -
http://www.eclipse.org/aspectj/doc/released/README-169.html.  For
improved performance when weaving code that has previously already
been woven.

- aspect scoping - (in LTW can limit applicability of aspects) -
http://www.eclipse.org/aspectj/doc/released/README-169.html

- type category type patterns -
http://www.eclipse.org/aspectj/doc/released/README-169.html -
is(ClassType), is(InterfaceType), etc.

- message inserts for declare error/warning -
http://www.eclipse.org/aspectj/doc/released/README-169.html
e.g. declare warning: execution(* A.m(..)): "joinpoint is {joinpoint}";

- aspectJ snapshots now in a maven repo -
http://www.eclipse.org/aspectj/doc/released/README-169.html

- annotation removal syntax -
http://www.eclipse.org/aspectj/doc/released/README-1611.html
e.g. declare @field: int Foo.i: -@Anno;

- added our own optimized xml parser for aop.xml

- annotation value matching supports != -
http://www.eclipse.org/aspectj/doc/released/README-1612.html
e.g. get(@Anno(someValue!=2) * *)

- can create aspects entirely in XML, no need for a pre-existing
abstract aspect -
http://www.eclipse.org/aspectj/doc/released/README-1612.html

- 'thisAspectInstance' added -
http://www.eclipse.org/aspectj/doc/released/README-1612.html

- synthetic is supported in pointcut modifiers -
http://www.eclipse.org/aspectj/doc/released/README-1612.html

cheers,
Andy

On 8 January 2012 13:56, agks mehx <agksmehx@xxxxxxxxx> wrote:
> The Developer's Notebook seems to be from 2005, and I can't imagine there
> have been no significant changes in 6 years.
>
> What is the authoritative source of documentation / reference for AspectJ?
>  I am starting afresh on a greenfield project so I want to start with recent
> features (the upcoming Java 7 release) rather than old ways of specifiying
> aspects.
>
> Thanks!
>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>
_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/aspectj-users


Back to the top