diff options
author | wisberg <wisberg> | 2005-01-27 05:17:41 +0000 |
---|---|---|
committer | wisberg <wisberg> | 2005-01-27 05:17:41 +0000 |
commit | 9c82919cca9ed50a606179979cd90c9cef26b013 (patch) | |
tree | 378cbb300200630fe4ad6d7be11984736ace9e5d /docs | |
parent | 74b121aaaa4ef74e13c336635927a2020ca9dd7e (diff) | |
download | aspectj-9c82919cca9ed50a606179979cd90c9cef26b013.tar.gz aspectj-9c82919cca9ed50a606179979cd90c9cef26b013.zip |
Summary of implementation limitations carefully worded to avoid the term "limitation" since Erik took it out. Proposed without objection on the mail list.
Diffstat (limited to 'docs')
-rw-r--r-- | docs/progGuideDB/implementation.xml | 63 |
1 files changed, 60 insertions, 3 deletions
diff --git a/docs/progGuideDB/implementation.xml b/docs/progGuideDB/implementation.xml index 5f255700e..ecd73fb7d 100644 --- a/docs/progGuideDB/implementation.xml +++ b/docs/progGuideDB/implementation.xml @@ -287,10 +287,67 @@ initialization, or to delegate to a <literal>this</literal> constructor if necessary. </para> - </sect2> - - </sect1> +<sect1> + <title>Summary of implementation requirements</title> + <para> + This summarizes the requirements of our implementation of AspectJ. + For more details, see the relevant sections of this guide. + </para> + <itemizedlist spacing="compact"> + <listitem> + <para>The invoking code must be under the control of ajc + for the following join points:</para> + <itemizedlist spacing="compact"> + <listitem>call join point</listitem> + <listitem>get join point</listitem> + <listitem>set join point</listitem> + </itemizedlist> + </listitem> + <listitem> + <para>The declaring/target code must be under the control of ajc + for the following join points and inter-type declarations:</para> + <itemizedlist spacing="compact"> + <listitem>execution join point</listitem> + <listitem>adviceexecution join point</listitem> + <listitem>handler join point</listitem> + <listitem>initialization join point</listitem> + <listitem>preinitialiaztion join point</listitem> + <listitem>staticinitialization join point</listitem> + <listitem>perthis aspect</listitem> + <listitem>pertarget aspect</listitem> + <listitem>declare parents</listitem> + <listitem>declare method or field (see interface caveats below)</listitem> + </itemizedlist> + </listitem> + <listitem> + <para>Implementation Caveats</para> + <itemizedlist spacing="compact"> + <listitem> + <para>The initialization and preinitialization join points + do not support around advice</para> + </listitem> + <listitem> + <para>The handler join point does not support...</para> + <itemizedlist spacing="compact"> + <listitem>after advice</listitem> + <listitem>around advice</listitem> + <listitem>cflow(handler(..))</listitem> + </itemizedlist> + </listitem> + <listitem> + <para>Declaring members on an interface in an aspect affects only + the topmost implementing classes the implementation controls.</para> + </listitem> + <listitem> + <para>cflow and cflowbelow pointcuts work within a single thread.</para> + </listitem> + </itemizedlist> + </listitem> + </itemizedlist> +</sect1> </appendix> + + |