<title>Frequently Asked Questions about AspectJ</title>
<para>Copyright (c) 1997-2001 Xerox Corporation,
2002 Palo Alto Research Center, Incorporated,
- 2003 Contributors. All rights reserved.
+ 2003-2005 Contributors. All rights reserved.
</para>
<!-- todo Update me! -->
- <para>Last updated November 30, 2004
+ <para>Last updated March 10, 2005
</para>
<para>
For a list of recently-updated FAQ entries, see <xref linkend="q:faqchanges"/>
the impact of aspects on a system.
On the other hand, weaving at load-time simplifies build and deployment.
Before AspectJ 1.2, the user had to write a class loader that used the
- weaver API to weave at load time; since 1.2, AspectJ come with a
+ weaver API to weave at load time; since 1.2, AspectJ comes with a
command-line launcher to support weaving at class-load-time without
- any other changes to a build configuration.
+ any other changes to a build configuration. In AspectJ 5, we expect
+ to get a similar level of support as AspectWerkz, and to exploit
+ the class bytecode weaving hook available in Java 5 VM's.
</para>
<para>
Second, AspectJ programs, like Java programs generally, can be
<para>
Entries changed recently:
<itemizedlist>
- <listitem><para><xref linkend="q:dynamicaop"/></para></listitem>
<listitem><para><xref linkend="q:java5"/></para></listitem>
- <listitem><para><xref linkend="q:idesupportplans"/></para></listitem>
+ <listitem><para><xref linkend="q:dynamicaop"/></para></listitem>
</itemizedlist>
</para>
</answer>
</entry>
</row>
<row>
- <entry valign="top" align="center">1.3</entry>
+ <entry valign="top" align="center">1.3 (AspectJ 5)</entry>
<entry>Support for Java 1.5
</entry>
</row>
</question>
<answer>
<para>
- Yes. We are working on Java 5 support in phases:
+ Yes. We will support weaving Java 5 classes and upgrade the language
+ to use annotations and generics. For more information, see the
+ documentation for the AspectJ 5 release.
</para>
- <itemizedlist>
- <listitem><para>
- Ensure the weaver can cope with class files
- produced by a Java 5 compiler.
- We know we should not create join points for execution or call
- of methods that have the ACC_BRIDGE attribute (bug 70704), and
- we will look at covariance and members with the ACC_ENUM attribute.
- When we are done, users will be able to compile Java source using
- a Java 5 compiler, and weave with AspectJ.
- </para></listitem>
- <listitem><para>
- Extend the AspectJ compiler so that it can compile the
- new Java 5 features correctly. Mostly this involves waiting for the
- Eclipse JDT team to get their Java 5 support sufficiently down the road,
- and then we will pick this up and work out how to re-integrate it into
- AspectJ. When this is done, users will be able to use ajc to compile
- code with Java 5 constructs.
- </para></listitem>
- <listitem><para>
- Finally, we'll consider changes in the AspectJ language (pointcut
- expressions, treatment of generics, support of annotations, etc.).
- </para></listitem>
- </itemizedlist>
</answer>
</qandaentry>
</qandadiv>