updating aspectj version to be 1.5.0 final
diff --git a/org.aspectj.ajde/ajde.jar b/org.aspectj.ajde/ajde.jar
index c96f023..bc5a1ac 100755
--- a/org.aspectj.ajde/ajde.jar
+++ b/org.aspectj.ajde/ajde.jar
Binary files differ
diff --git a/org.aspectj.ajde/ajdesrc.zip b/org.aspectj.ajde/ajdesrc.zip
index c810d61..15b338c 100644
--- a/org.aspectj.ajde/ajdesrc.zip
+++ b/org.aspectj.ajde/ajdesrc.zip
Binary files differ
diff --git a/org.aspectj.ajde/doc/README-150.html b/org.aspectj.ajde/doc/README-150.html
index 2329a18..f36bc13 100755
--- a/org.aspectj.ajde/doc/README-150.html
+++ b/org.aspectj.ajde/doc/README-150.html
@@ -14,37 +14,33 @@
 
 <body>
 <div align="right"><small>
-&copy; Copyright 2004 Contributors.
+&copy; Copyright 2005 Contributors.
 All rights reserved.
 </small></div>
 
 <h1>AspectJ 5 Readme</h1>
 
 <p>AspectJ 5 introduces several important changes to the language and tools
-in order to support Java 5, and to extend the capabilities of AspectJ in
-general. These changes are too extensive to describe in a simple readme file,
-so instead we have created the <a href="adk15notebook/index.html">AspectJ 5
-Developer's Notebook</a> to describe them.</p>
+in order to support Java 5 and extend the capabilities of AspectJ in
+general. For language changes, see <a href="adk15notebook/index.html">AspectJ 5
+Developer's Notebook</a>.  For tools changes, see the
+<a href="devguide/index.html">AspectJ Development Environment Guide</a>,
+    especially the section on 
+<a href="devguide/ltw.html">Load-time weaving</a>.
+The changes are summarized in the 
+    <a href="faq.html#q:aspectj5features">FAQ entry on AspectJ 5</a>.
 
-<p>The 1.5.0 M1 milestone release supports a subset of the changes described
-in the developer's notebook. Currently implemented features are:</p>
-
-<ul>
-  <li><a href="adk15notebook/varargs.html">Varargs</a>
-  <li><a href="adk15notebook/enumeratedtypes.html">Enums</a>
-  <li><a href="adk15notebook/covariance.html">Covariance</a>
-  <li><a href="adk15notebook/annotations.html">Annotations</a>, with the following
-  exceptions: declare annotation is not yet implemented, and the @pcd forms
-  can be used for matching, but not yet for binding of formals.
-  <li><a href="adk15notebook/autoboxing.html">Autoboxing</a>
-  <li>Bridge methods created by Java compilers to support generics are treated
-  as synthetic and have no join points.
-</ul>
-
-<p>These are implemented as changes to the weaver, not the front-end compiler.
-The 1.5.0 M1 release cannot be used to <i>compile</i> code using Java 5 
-features, but can be used to weave (inpath) Java classes created by a Java 5
-compiler.</p>
+</p>
+<p>
+    Some of the other documentation has not been updated for AspectJ 5.
+    For the latest documentation, see
+    <a href="http://eclipse.org/aspectj/doc/next/index.html">
+        http://eclipse.org/aspectj/doc/next/index.html
+    </a>, linked off 
+    <a href="http://eclipse.org/aspectj/docs.php">
+        the AspectJ documentation home page
+    </a>.
+</p>
 
 <p>For information on bug fixes in AspectJ 5 v1.5.0, see the <a href="changes.html">
 changes</a> document.</p>
diff --git a/org.aspectj.ajde/doc/adk15notebook/annotations-declare.html b/org.aspectj.ajde/doc/adk15notebook/annotations-declare.html
index 1a7385c..0ea89d1 100755
--- a/org.aspectj.ajde/doc/adk15notebook/annotations-declare.html
+++ b/org.aspectj.ajde/doc/adk15notebook/annotations-declare.html
@@ -14,16 +14,16 @@
   	                          MethodPattern |
   	                          ConstructorPattern |
   	                          FieldPattern
-	</pre><p>The following examples illustrate the use of <tt>declare annotation</tt>.</p><div class="variablelist"><dl><dt><a name="d0e1614"></a><span class="term">declare @type : org.xyz.model..* : @BusinessDomain ;</span></dt><dd><p><a name="d0e1617"></a>
+	</pre><p>The following examples illustrate the use of <tt>declare annotation</tt>.</p><div class="variablelist"><dl><dt><a name="d0e1600"></a><span class="term">declare @type : org.xyz.model..* : @BusinessDomain ;</span></dt><dd><p><a name="d0e1603"></a>
                     All types defined in a package with the prefix <tt>org.xyz.model</tt>
                     have the <tt>@BusinessDomain</tt> annotation.
-	            </p></dd><dt><a name="d0e1626"></a><span class="term">declare @method : public * BankAccount+.*(..) : @Secured(role="supervisor")</span></dt><dd><p><a name="d0e1629"></a>
+	            </p></dd><dt><a name="d0e1612"></a><span class="term">declare @method : public * BankAccount+.*(..) : @Secured(role="supervisor")</span></dt><dd><p><a name="d0e1615"></a>
 	                All public methods in <tt>BankAccount</tt> and its subtypes have the
 	                annotation <tt>@Secured(role="supervisor")</tt>.
-	            </p></dd><dt><a name="d0e1638"></a><span class="term">declare @constructor : BankAccount+.new(..) : @Secured(role="supervisor")</span></dt><dd><p><a name="d0e1641"></a>
+	            </p></dd><dt><a name="d0e1624"></a><span class="term">declare @constructor : BankAccount+.new(..) : @Secured(role="supervisor")</span></dt><dd><p><a name="d0e1627"></a>
 	                All constructors in <tt>BankAccount</tt> and its subtypes have the
 	                annotation <tt>@Secured(role="supervisor")</tt>.
-	            </p></dd><dt><a name="d0e1650"></a><span class="term">declare @field : * DAO+.* : @Persisted;</span></dt><dd><p><a name="d0e1653"></a>
+	            </p></dd><dt><a name="d0e1636"></a><span class="term">declare @field : * DAO+.* : @Persisted;</span></dt><dd><p><a name="d0e1639"></a>
 	            	All fields defined in <tt>DAO</tt> or its subtypes have the
 	            	<tt>@Persisted</tt> annotation.
 	            </p></dd></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="annotations-decp.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="annotations-itds.html">Next</a></td></tr><tr><td width="40%" align="left">Using Annotations with declare statements&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="annotations.html">Up</a></td><td width="40%" align="right">&nbsp;Inter-type Declarations</td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/org.aspectj.ajde/doc/adk15notebook/annotations-decp.html b/org.aspectj.ajde/doc/adk15notebook/annotations-decp.html
index 62041b4..9b1c500 100755
--- a/org.aspectj.ajde/doc/adk15notebook/annotations-decp.html
+++ b/org.aspectj.ajde/doc/adk15notebook/annotations-decp.html
@@ -23,10 +23,10 @@
 		specification, it is now possible to match types based on the presence
 		of annotations <span class="emphasis"><i>with either class-file or runtime retention</i></span>.
 		For example:
-	</p><div class="variablelist"><dl><dt><a name="d0e1512"></a><span class="term">declare parents : (@Secured *) implements SecuredObject;</span></dt><dd><p><a name="d0e1515"></a>
+	</p><div class="variablelist"><dl><dt><a name="d0e1498"></a><span class="term">declare parents : (@Secured *) implements SecuredObject;</span></dt><dd><p><a name="d0e1501"></a>
 	            	All types with the <tt>@Secured</tt> annotation
 	            	implement the <tt>SecuredObject</tt> inteface.
-	            </p></dd><dt><a name="d0e1524"></a><span class="term">declare parents : (@Secured BankAccount+) implements SecuredObject;</span></dt><dd><p><a name="d0e1527"></a>
+	            </p></dd><dt><a name="d0e1510"></a><span class="term">declare parents : (@Secured BankAccount+) implements SecuredObject;</span></dt><dd><p><a name="d0e1513"></a>
 	            	The subset of types drawn from the <tt>BankAccount</tt> type and any subtype of
 	            	<tt>BankAccount</tt>, where the 
 	            	<tt>@Secured</tt> annotation is present, implement the
@@ -42,7 +42,7 @@
 	</pre><p>
 		AspectJ 5 allows the type patterns in the list to include annotation information
 		as part of the pattern specification. For example:
-	</p><div class="variablelist"><dl><dt><a name="d0e1554"></a><span class="term">declare precedence : (@Security *),*;</span></dt><dd><p><a name="d0e1557"></a>
+	</p><div class="variablelist"><dl><dt><a name="d0e1540"></a><span class="term">declare precedence : (@Security *),*;</span></dt><dd><p><a name="d0e1543"></a>
             	All aspects with the <tt>@Security</tt> annotation
             	take precedence over any other aspects in the system. (Or, more
             	informally, all security-related aspects take precedence).
diff --git a/org.aspectj.ajde/doc/adk15notebook/annotations-pointcuts-and-advice.html b/org.aspectj.ajde/doc/adk15notebook/annotations-pointcuts-and-advice.html
index 9204e92..556bdec 100755
--- a/org.aspectj.ajde/doc/adk15notebook/annotations-pointcuts-and-advice.html
+++ b/org.aspectj.ajde/doc/adk15notebook/annotations-pointcuts-and-advice.html
@@ -8,43 +8,35 @@
   </p><div class="sect2"><a name="annotation-patterns"></a><div class="titlepage"><div><h3 class="title"><a name="annotation-patterns"></a>Annotation Patterns</h3></div></div><p>
           For any kind of annotated element (type, method, constructor, package, etc.), 
           an annotation pattern can be used to match against the set of annotations
-          on the annotated element. Annotation patterns are defined by the following
-          grammar.
-      </p><pre class="programlisting">
-		AnnotationPattern := '!'? '@' AnnotationTypePattern AnnotationPattern* 
-        
-		AnnotationTypePattern := FullyQualifiedName |
-		                         '(' TypePattern ')'
-  		                     
-  		FullyQualifiedName := JavaIdentifierCharacter+ ('.' JavaIdentifierCharacter+)*  		
-      </pre><p>In simple terms, an annotation pattern element has one of two basic
-      forms:</p><div class="itemizedlist"><ul><li><a name="d0e792"></a>@&lt;qualified-name&gt;, for example, @Foo, or 
-          @org.xyz.Foo.</li><li><a name="d0e794"></a>@(&lt;type-pattern&gt;), for example, @(org.xyz..*), or
+          on the annotated element.An annotation pattern element has one of two basic
+          forms:
+      </p><div class="itemizedlist"><ul><li><a name="d0e783"></a>@&lt;qualified-name&gt;, for example, @Foo, or 
+          @org.xyz.Foo.</li><li><a name="d0e785"></a>@(&lt;type-pattern&gt;), for example, @(org.xyz..*), or
           @(Foo || Boo)</li></ul></div><p>These simple elements may be negated using <tt>!</tt>, and
       combined by simple concatentation. The pattern <tt>@Foo @Boo</tt>
       matches an annotated element that has both an annotation of type <tt>Foo</tt>
-      and an annotation of type <tt>Boo</tt>.</p><p>Some examples of annotation patterns follow:</p><div class="variablelist"><dl><dt><a name="d0e813"></a><span class="term">@Immutable</span></dt><dd><p><a name="d0e816"></a>
+      and an annotation of type <tt>Boo</tt>.</p><p>Some examples of annotation patterns follow:</p><div class="variablelist"><dl><dt><a name="d0e804"></a><span class="term">@Immutable</span></dt><dd><p><a name="d0e807"></a>
             	Matches any annotated element which has an annotation of 
       			type <tt>Immutable</tt>.
-            </p></dd><dt><a name="d0e822"></a><span class="term">!@Persistent</span></dt><dd><p><a name="d0e825"></a>
+            </p></dd><dt><a name="d0e813"></a><span class="term">!@Persistent</span></dt><dd><p><a name="d0e816"></a>
 				Matches any annotated element which does not have an annotation of 
       			type <tt>Persistent</tt>.
-            </p></dd><dt><a name="d0e831"></a><span class="term">@Foo @Goo</span></dt><dd><p><a name="d0e834"></a>
+            </p></dd><dt><a name="d0e822"></a><span class="term">@Foo @Goo</span></dt><dd><p><a name="d0e825"></a>
 				Matches any annotated element which has both an annotation of type <tt>Foo</tt> and
       			an annotation of type <tt>Goo</tt>.
-            </p></dd><dt><a name="d0e843"></a><span class="term">@(Foo || Goo)</span></dt><dd><p><a name="d0e846"></a>
+            </p></dd><dt><a name="d0e834"></a><span class="term">@(Foo || Goo)</span></dt><dd><p><a name="d0e837"></a>
 				  Matches any annotated element which has either an annotation of a type matching
 			      the type pattern <tt>(Foo || Goo)</tt>. 
 			      In other words, an annotated element with either an
 			      annotation of type <tt>Foo</tt> or
 			      an annotation of type <tt>Goo</tt> (or both). (The parenthesis are required in this example).
-            </p></dd><dt><a name="d0e858"></a><span class="term">@(org.xyz..*)</span></dt><dd><p><a name="d0e861"></a>
+            </p></dd><dt><a name="d0e849"></a><span class="term">@(org.xyz..*)</span></dt><dd><p><a name="d0e852"></a>
 		      Matches any annotated element which has either an annotation of a type matching
 		      the type pattern <tt>(org.xyz..*)</tt>. 
 		      In other words, an annotated element with an annotation that is declared in the
 		      org.xyz package or a sub-package. (The parenthesis are required in this example).
             </p></dd></dl></div></div><div class="sect2"><a name="type-patterns"></a><div class="titlepage"><div><h3 class="title"><a name="type-patterns"></a>Type Patterns</h3></div></div><p>AspectJ 1.5 extends type patterns to allow an optional <tt>AnnotationPattern</tt>
-	prefix. (Extensions to this definition for generics are shown in the next chapter).</p><pre class="programlisting">
+	prefix.</p><pre class="programlisting">
   	  	TypePattern := SimpleTypePattern |
   	  	               '!' TypePattern |
   	  	               '(' AnnotationPattern? TypePattern ')'
@@ -65,38 +57,39 @@
   		FullyQualifiedName := JavaIdentifierCharacter+ ('.' JavaIdentifierCharacter+)*  				  		  		  		               									 				  		             
 	</pre><p>Note that in most cases when annotations are used as part of a type pattern,
         the parenthesis are required (as in <tt>(@Foo Hello+)</tt>). In
-        some cases (such as a type pattern used within a <tt>this</tt>
-        pointcut expression, the parenthesis are optional:</p><pre class="programlisting">
+        some cases (such as a type pattern used within a <tt>within</tt> or
+        <tt>handler</tt>
+        pointcut expression), the parenthesis are optional:</p><pre class="programlisting">
         OptionalParensTypePattern := AnnotationPattern? TypePattern
       </pre><p>
 		The following examples illustrate the use of annotations in type
 		patterns:
-	</p><div class="variablelist"><dl><dt><a name="d0e890"></a><span class="term">(@Immutable *)</span></dt><dd><p><a name="d0e893"></a>
+	</p><div class="variablelist"><dl><dt><a name="d0e884"></a><span class="term">(@Immutable *)</span></dt><dd><p><a name="d0e887"></a>
             	Matches any type with an <tt>@Immutable</tt> annotation.
-            </p></dd><dt><a name="d0e899"></a><span class="term">(!@Immutable *)</span></dt><dd><p><a name="d0e902"></a>
+            </p></dd><dt><a name="d0e893"></a><span class="term">(!@Immutable *)</span></dt><dd><p><a name="d0e896"></a>
             	Matches any type which does not have an <tt>@Immutable</tt> annotation.
-            </p></dd><dt><a name="d0e908"></a><span class="term">  (@Immutable (org.xyz.* || org.abc.*))</span></dt><dd><p><a name="d0e911"></a>
+            </p></dd><dt><a name="d0e902"></a><span class="term">  (@Immutable (org.xyz.* || org.abc.*))</span></dt><dd><p><a name="d0e905"></a>
             	Matches any type in the <tt>org.xyz</tt> or <tt>org.abc</tt>
  			    packages with the <tt>@Immutable</tt> annotation.
-            </p></dd><dt><a name="d0e923"></a><span class="term">((@Immutable Foo+) || Goo)</span></dt><dd><p><a name="d0e926"></a>
+            </p></dd><dt><a name="d0e917"></a><span class="term">((@Immutable Foo+) || Goo)</span></dt><dd><p><a name="d0e920"></a>
             	Matches a type <tt>Foo</tt> or any of its subtypes, which have the <tt>@Immutable</tt>
      			annotation, or a type <tt>Goo</tt>.
-            </p></dd><dt><a name="d0e938"></a><span class="term">((@(Immutable || NonPersistent) org.xyz..*)</span></dt><dd><p><a name="d0e941"></a>
+            </p></dd><dt><a name="d0e932"></a><span class="term">((@(Immutable || NonPersistent) org.xyz..*)</span></dt><dd><p><a name="d0e935"></a>
             	Matches any type in a package beginning with the prefix <tt>org.xyz</tt>,
      			which has either the <tt>@Immutable</tt> annotation or the
      			<tt>@NonPersistent</tt> annotation.            	
-            </p></dd><dt><a name="d0e953"></a><span class="term">(@Immutable @NonPersistent org.xyz..*)</span></dt><dd><p><a name="d0e956"></a>
+            </p></dd><dt><a name="d0e947"></a><span class="term">(@Immutable @NonPersistent org.xyz..*)</span></dt><dd><p><a name="d0e950"></a>
             	 Matches any type in a package beginning with the prefix <tt>org.xyz</tt>,
 			     which has both an <tt>@Immutable</tt> annotation and an
 			     <tt>@NonPersistent</tt> annotation.
-            </p></dd><dt><a name="d0e968"></a><span class="term">  (@(@Inherited *) org.xyz..*)</span></dt><dd><p><a name="d0e971"></a>
+            </p></dd><dt><a name="d0e962"></a><span class="term">  (@(@Inherited *) org.xyz..*)</span></dt><dd><p><a name="d0e965"></a>
             	Matches any type in a package beginning with the prefix <tt>org.xyz</tt>,
 			     which has an inheritable annotation. The annotation pattern 
 			     <tt>@(@Inherited *)</tt> matches any annotation of a type matching the
 			     type pattern <tt>@Inherited *</tt>, which in turn matches any type with the
 			     <tt>@Inherited</tt> annotation.
-            </p></dd></dl></div></div><div class="sect2"><a name="signaturePatterns"></a><div class="titlepage"><div><h3 class="title"><a name="signaturePatterns"></a>Signature Patterns</h3></div></div><p>A <tt>FieldPattern</tt> is described by the following
-  	grammar:</p><pre class="programlisting">  	
+            </p></dd></dl></div></div><div class="sect2"><a name="signaturePatterns"></a><div class="titlepage"><div><h3 class="title"><a name="signaturePatterns"></a>Signature Patterns</h3></div></div><div class="sect3"><a name="fieldPatterns"></a><div class="titlepage"><div><h4 class="title"><a name="fieldPatterns"></a>Field Patterns</h4></div></div><p>A <tt>FieldPattern</tt> can optionally specify an annotation-matching
+  	pattern as the first element:</p><pre class="programlisting">  	
   		FieldPattern := 
   		    AnnotationPattern? FieldModifiersPattern? 
   		    TypePattern (TypePattern DotOrDotDot)? SimpleNamePattern
@@ -110,26 +103,27 @@
 		            		      		            			
 		SimpleNamePattern := JavaIdentifierChar+ ('*' SimpleNamePattern)?		            
 	</pre><p>
-  	    The optional <tt>AnnotationPattern</tt> restricts matches to fields with
+  	    If present, the <tt>AnnotationPattern</tt> restricts matches to fields with
   	    annotations that match the pattern. For example:
-  	</p><div class="variablelist"><dl><dt><a name="d0e1002"></a><span class="term">@SensitiveData * *</span></dt><dd><p><a name="d0e1005"></a>
+  	</p><div class="variablelist"><dl><dt><a name="d0e999"></a><span class="term">@SensitiveData * *</span></dt><dd><p><a name="d0e1002"></a>
             	Matches a field of any type and any name, that has an annotation of
             	type <tt>@SensitiveData</tt>
-            </p></dd><dt><a name="d0e1011"></a><span class="term">@SensitiveData List org.xyz..*.*</span></dt><dd><p><a name="d0e1014"></a>
+            </p></dd><dt><a name="d0e1008"></a><span class="term">@SensitiveData List org.xyz..*.*</span></dt><dd><p><a name="d0e1011"></a>
             	Matches a member field of a type in a package with prefix <tt>org.xzy</tt>,
             	where the field is of type <tt>List</tt>, and has an annotation of type
             	<tt>@SensitiveData</tt>
-            </p></dd><dt><a name="d0e1026"></a><span class="term">(@SensitiveData *) org.xyz..*.*</span></dt><dd><p><a name="d0e1029"></a>
+            </p></dd><dt><a name="d0e1023"></a><span class="term">(@SensitiveData *) org.xyz..*.*</span></dt><dd><p><a name="d0e1026"></a>
             	Matches a member field of a type in a package with prefix <tt>org.xzy</tt>,
             	where the field is of a type which has a <tt>@SensitiveData</tt> annotation.
-            </p></dd><dt><a name="d0e1038"></a><span class="term">@Foo (@Goo *) (@Hoo *).*</span></dt><dd><p><a name="d0e1041"></a>
+            </p></dd><dt><a name="d0e1035"></a><span class="term">@Foo (@Goo *) (@Hoo *).*</span></dt><dd><p><a name="d0e1038"></a>
             	Matches a field with an annotation <tt>@Foo</tt>, of a type with an 
             	annotation <tt>@Goo</tt>, declared in a type with annotation
             	<tt>@Hoo</tt>.
-            </p></dd><dt><a name="d0e1053"></a><span class="term">@Persisted @Classified * *</span></dt><dd><p><a name="d0e1056"></a>
+            </p></dd><dt><a name="d0e1050"></a><span class="term">@Persisted @Classified * *</span></dt><dd><p><a name="d0e1053"></a>
             	Matches a field with an annotation <tt>@Persisted</tt> and
             	an annotation <tt>@Classified</tt>.
-            </p></dd></dl></div><p>A <tt>MethodPattern</tt> is of the form</p><pre class="programlisting">  	
+            </p></dd></dl></div></div><div class="sect3"><a name="methodPatterns"></a><div class="titlepage"><div><h4 class="title"><a name="methodPatterns"></a>Method and Constructor Patterns</h4></div></div><p>A <tt>MethodPattern</tt> can optionally specify an annotation-matching
+  	pattern as the first element.</p><pre class="programlisting">  	
   		MethodPattern := 
   		    AnnotationPattern? MethodModifiersPattern? TypePattern 
   		                       (TypePattern DotOrDotDot)? SimpleNamePattern 
@@ -152,8 +146,7 @@
 		
 		TypePatternList := TypePattern (',' TypePattern)*
 		            					            
-	</pre><p><span class="emphasis"><i>Note: compared to the previous version, this definition of MethodPattern does
-  	not allow parameter annotation matching (only matching on annotations of parameter types).</i></span></p><p>A <tt>ConstructorPattern</tt> has the form</p><pre class="programlisting">  	
+	</pre><p>A <tt>ConstructorPattern</tt> has the form</p><pre class="programlisting">  	
   		ConstructorPattern := 
   		    AnnotationPattern? ConstructorModifiersPattern?  
   		                       (TypePattern DotOrDotDot)? 'new' '(' FormalsPattern ')'
@@ -167,35 +160,35 @@
   	    The optional <tt>AnnotationPattern</tt> at the beginning of a 
   	    method or constructor pattern restricts matches to methods/constructors with
   	    annotations that match the pattern. For example:
-  	</p><div class="variablelist"><dl><dt><a name="d0e1088"></a><span class="term">@Oneway * *(..)</span></dt><dd><p><a name="d0e1091"></a>
+  	</p><div class="variablelist"><dl><dt><a name="d0e1085"></a><span class="term">@Oneway * *(..)</span></dt><dd><p><a name="d0e1088"></a>
             	Matches a method with any return type and any name, that has an annotation of
             	type <tt>@Oneway</tt>.
-            </p></dd><dt><a name="d0e1097"></a><span class="term">@Transaction * (@Persistent org.xyz..*).*(..)</span></dt><dd><p><a name="d0e1100"></a>
+            </p></dd><dt><a name="d0e1094"></a><span class="term">@Transaction * (@Persistent org.xyz..*).*(..)</span></dt><dd><p><a name="d0e1097"></a>
             	Matches a method with the <tt>@Transaction</tt> annotation,
             	declared in a type with the <tt>@Persistent</tt> annotation, and
             	in a package beginning with the <tt>org.xyz</tt> prefix.
-            </p></dd><dt><a name="d0e1112"></a><span class="term">* *.*(@Immutable *,..)</span></dt><dd><p><a name="d0e1115"></a>
+            </p></dd><dt><a name="d0e1109"></a><span class="term">* *.*(@Immutable *,..)</span></dt><dd><p><a name="d0e1112"></a>
             	Matches any method taking at least one parameter, where the parameter
             	type has an annotation <tt>@Immutable</tt>.
-            </p></dd></dl></div></div><div class="sect2"><a name="example-pointcuts"></a><div class="titlepage"><div><h3 class="title"><a name="example-pointcuts"></a>Example Pointcuts</h3></div></div><div class="variablelist"><dl><dt><a name="d0e1125"></a><span class="term">within(@Secure *)</span></dt><dd><p><a name="d0e1128"></a>
+            </p></dd></dl></div></div></div><div class="sect2"><a name="example-pointcuts"></a><div class="titlepage"><div><h3 class="title"><a name="example-pointcuts"></a>Example Pointcuts</h3></div></div><div class="variablelist"><dl><dt><a name="d0e1122"></a><span class="term">within(@Secure *)</span></dt><dd><p><a name="d0e1125"></a>
             	Matches any join point where the code executing is declared in a 
             	type with an <tt>@Secure</tt>
             	annotation. The format of the <tt>within</tt> pointcut designator
             	in AspectJ 5 is <tt>'within' '(' OptionalParensTypePattern ')'</tt>.
-            </p></dd><dt><a name="d0e1140"></a><span class="term">staticinitialization(@Persistent *)</span></dt><dd><p><a name="d0e1143"></a>
+            </p></dd><dt><a name="d0e1137"></a><span class="term">staticinitialization(@Persistent *)</span></dt><dd><p><a name="d0e1140"></a>
             	Matches the staticinitialization join point of any type with the
             	<tt>@Persistent</tt> annotation. The format of the 
             	<tt>staticinitialization</tt> pointcut designator
             	in AspectJ 5 is <tt>'staticinitialization' '(' OptionalParensTypePattern ')'</tt>.
-            </p></dd><dt><a name="d0e1155"></a><span class="term">call(@Oneway * *(..))</span></dt><dd><p><a name="d0e1158"></a>
+            </p></dd><dt><a name="d0e1152"></a><span class="term">call(@Oneway * *(..))</span></dt><dd><p><a name="d0e1155"></a>
             	Matches a call to a method with a <tt>@Oneway</tt> annotation.
-            </p></dd><dt><a name="d0e1164"></a><span class="term">execution(public (@Immutable *) org.xyz..*.*(..))</span></dt><dd><p><a name="d0e1167"></a>
+            </p></dd><dt><a name="d0e1161"></a><span class="term">execution(public (@Immutable *) org.xyz..*.*(..))</span></dt><dd><p><a name="d0e1164"></a>
                 The execution of any public method in a package with prefix 
                 <tt>org.xyz</tt>, where the method returns an 
                 immutable result.
-            </p></dd><dt><a name="d0e1173"></a><span class="term">set(@Cachable * *)</span></dt><dd><p><a name="d0e1176"></a>
+            </p></dd><dt><a name="d0e1170"></a><span class="term">set(@Cachable * *)</span></dt><dd><p><a name="d0e1173"></a>
                 Matches the set of any cachable field.
-            </p></dd><dt><a name="d0e1179"></a><span class="term">handler(!@Catastrophic *)</span></dt><dd><p><a name="d0e1182"></a>
+            </p></dd><dt><a name="d0e1176"></a><span class="term">handler(!@Catastrophic *)</span></dt><dd><p><a name="d0e1179"></a>
                 Matches the handler join point for the handling of any exception that is
                 not <tt>Catastrophic</tt>. The format of the <tt>handler</tt>
                 pointcut designator in AspectJ 5 is <tt>'handler' '(' OptionalParensTypePattern ')'</tt>.
@@ -243,10 +236,10 @@
         a single type name. They match at join points where the object bound to 
         <tt>this</tt> (or <tt>target</tt>, respectively) has an
         annotation of the specified type. For example: 
-    </p><div class="variablelist"><dl><dt><a name="d0e1252"></a><span class="term">@this(Foo)</span></dt><dd><p><a name="d0e1255"></a>
+    </p><div class="variablelist"><dl><dt><a name="d0e1249"></a><span class="term">@this(Foo)</span></dt><dd><p><a name="d0e1252"></a>
             	Matches any join point where the object currently bound to 'this'
             	has an annotation of type <tt>Foo</tt>.
-            </p></dd><dt><a name="d0e1261"></a><span class="term">call(* *(..)) &amp;&amp; @target(Classified)</span></dt><dd><p><a name="d0e1264"></a>
+            </p></dd><dt><a name="d0e1258"></a><span class="term">call(* *(..)) &amp;&amp; @target(Classified)</span></dt><dd><p><a name="d0e1261"></a>
             	Matches a call to any object where the target of the call has
             	a <tt>@Classified</tt> annotation.
             </p></dd></dl></div><p>
@@ -281,12 +274,8 @@
   	 */
   	pointcut untrustedData(Untrusted untrustedDataSource) : 
   	    @args(*,*,untrustedDataSource);
-	</pre><p>
-        <span class="emphasis"><i>Note: an alternative design would be to allow both annotation
-        patterns and type patterns to be specified in the existing args pcd.
-        This works well for matching, but is more awkward when it comes to
-        exposing context.</i></span>
-    </p><p>Access to <tt>AnnotatedElement</tt> information is available
+	</pre><p>In addition to accessing annotation information at runtime through context binding,
+    access to <tt>AnnotatedElement</tt> information is also available
     reflectively with the body of advice through the <tt>thisJoinPoint</tt>,
     <tt>thisJoinPointStaticPart</tt>, and 
     <tt>thisEnclosingJoinPointStaticPart</tt> variables. To access 
@@ -296,14 +285,6 @@
   	Annotation[] targetAnnotations = thisJoinPoint.getTarget().getClass().getAnnotations();
   	Annotation[] firstParamAnnotations = thisJoinPoint.getArgs()[0].getClass().getAnnotations();
 	</pre><p>
-        <span class="emphasis"><i>Note: it would be nicer to provide direct helper methods in
-        the JoinPoint interface or a sub-interface that provide the annotations
-        directly, something like "AnnotatedElement getThisAnnotationInfo()".
-        The problem here is that the "AnnotatedElement" type is only in the
-        Java 5 runtime libraries, and we don't want to tie the AspectJ runtime
-        library to Java 5. A sub-interface and downcast solution could be used
-        if these helpers were felt to be sufficiently important.</i></span>
-    </p><p>
     The <tt>@within</tt> and <tt>@withincode</tt> pointcut designators
     match any join point where the executing code is defined within a type (<tt>@within</tt>),
      or a method/constructor (<tt>@withincode</tt>) that has an annotation of the specified 
@@ -311,11 +292,11 @@
     </p><pre class="programlisting">  	
         AtWithin := '@within' '(' AnnotationOrIdentifier ')'
         AtWithinCode := '@withincode' '(' AnnotationOrIdentifier ')'        
-    </pre><p>Some examples of using these designators follow:</p><div class="variablelist"><dl><dt><a name="d0e1344"></a><span class="term">@within(Foo)</span></dt><dd><p><a name="d0e1347"></a>
+    </pre><p>Some examples of using these designators follow:</p><div class="variablelist"><dl><dt><a name="d0e1331"></a><span class="term">@within(Foo)</span></dt><dd><p><a name="d0e1334"></a>
             	Matches any join point where the executing code is defined 
             	within a type which has an annotation of type <tt>Foo</tt>.
-            </p></dd><dt><a name="d0e1353"></a><span class="term">pointcut insideCriticalMethod(Critical c) : 
-                  @withincode(c);</span></dt><dd><p><a name="d0e1356"></a>
+            </p></dd><dt><a name="d0e1340"></a><span class="term">pointcut insideCriticalMethod(Critical c) : 
+                  @withincode(c);</span></dt><dd><p><a name="d0e1343"></a>
             	Matches any join point where the executing code is defined
             	in a method or constructor which has an annotation of type <tt>@Critical</tt>,
             	and exposes the value of the annotation in the parameter 
@@ -353,15 +334,9 @@
         to match against annotations that have at least class-file retention, and
         if used in the binding form the annotation must have runtime retention. 
     </p></div><div class="sect2"><a name="package-and-parameter-annotations"></a><div class="titlepage"><div><h3 class="title"><a name="package-and-parameter-annotations"></a>Package and Parameter Annotations</h3></div></div><p>
-          <span class="emphasis"><i>Note: A previous design allowed package annotation patterns to be specified
-          directly in type patterns, and parameter annotation patterns to be
-          specified directly in method and constructor signature patterns. Because
-          this made some pointcut expressions hard to read and understand, we moved
-          in favour of the design presented below, which also has its drawbacks. 
-          Matching on package and parameter annotations will be
-          deferred until after the 1.5.0 release so that we can gain more understanding
-          of the kinds of uses AspectJ users are making of annotations in pointcut
-          expressions before commiting to any one approach.</i></span>
+          <span class="emphasis"><i>Matching on package and parameter annotations is not supported
+          in AspectJ 1.5.0. Support for this capability may be considered in a future
+          release.</i></span>
       </p></div><div class="sect2"><a name="annotation-inheritance-and-pointcut-matching"></a><div class="titlepage"><div><h3 class="title"><a name="annotation-inheritance-and-pointcut-matching"></a>Annotation Inheritance and pointcut matching</h3></div></div><p>
   	    According to the Java 5 specification, non-type annotations are not
   	    inherited, and annotations on types are only inherited if they have the 
@@ -405,12 +380,11 @@
   	    to <tt>c2.aMethod</tt> is not matched because join point matching for
   	    modifiers (the visibility modifiers, annotations, and throws clause) is based on
   	    the subject of the join point (the method actually being called).
-  	</p></div><div class="sect2"><a name="limitations"></a><div class="titlepage"><div><h3 class="title"><a name="limitations"></a>Limitations</h3></div></div><p>
-        It would be useful to be able to match join points based on  
-        annotation values, rather than merely the presence of a
-        class-file retention annotation of a given type. This facility may be supported in a future version of AspectJ, by expanding the
-        definition of <tt>AnnotationPattern</tt>. Matching annotation values for
-        annotations with runtime retention can be done by exposing the annotation value
-        as a pointcut parameter and then using an <tt>if</tt> pointcut expression
-        to test the value. 
-    </p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="annotations-aspectmembers.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="annotations-decp.html">Next</a></td></tr><tr><td width="40%" align="left">Annotating Aspects&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="annotations.html">Up</a></td><td width="40%" align="right">&nbsp;Using Annotations with declare statements</td></tr></table></div></body></html>
\ No newline at end of file
+  	</p></div><div class="sect2"><a name="matchingOnAnnotationValues"></a><div class="titlepage"><div><h3 class="title"><a name="matchingOnAnnotationValues"></a>Matching based on annotation values</h3></div></div><p>
+    	The <tt>if</tt> pointcut designator can be used to write pointcuts
+    	that match based on the values annotation members. For example:    	
+    </p><pre class="programlisting">
+  	pointcut txRequiredMethod(Tx transactionAnnotation) :
+  	    execution(* *(..)) &amp;&amp; @this(transactionAnnotation) 
+  	    &amp;&amp; if(transactionAnnotation.policy() == TxPolicy.REQUIRED);
+	</pre></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="annotations-aspectmembers.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="annotations-decp.html">Next</a></td></tr><tr><td width="40%" align="left">Annotating Aspects&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="annotations.html">Up</a></td><td width="40%" align="right">&nbsp;Using Annotations with declare statements</td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/org.aspectj.ajde/doc/adk15notebook/annotations.html b/org.aspectj.ajde/doc/adk15notebook/annotations.html
index 5f9bdfe..c9febe4 100755
--- a/org.aspectj.ajde/doc/adk15notebook/annotations.html
+++ b/org.aspectj.ajde/doc/adk15notebook/annotations.html
@@ -1,6 +1,6 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-   <title>Chapter 2. Annotations</title><link rel="stylesheet" href="aspectj-docs.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.44"><link rel="home" href="index.html" title="The AspectJTM 5 Development Kit Developer's Notebook"><link rel="up" href="index.html" title="The AspectJTM 5 Development Kit Developer's Notebook"><link rel="previous" href="join-point-matching-summary.html" title="Summary of Join Point Matching"><link rel="next" href="annotations-aspectmembers.html" title="Annotating Aspects"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 2. Annotations</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="join-point-matching-summary.html">Prev</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="annotations-aspectmembers.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="annotations"></a>Chapter 2. Annotations</h2></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="annotations.html#annotations-inJava5">Annotations in Java 5</a></dt><dd><dl><dt><a href="annotations.html#using-annotations">Using Annotations</a></dt><dt><a href="annotations.html#retention-policies">Retention Policies</a></dt><dt><a href="annotations.html#accessing-annotations-at-runtime">Accessing Annotations at Runtime</a></dt><dt><a href="annotations.html#annotation-inheritance">Annotation Inheritance</a></dt></dl></dd><dt><a href="annotations-aspectmembers.html">Annotating Aspects</a></dt><dt><a href="annotations-pointcuts-and-advice.html">Join Point Matching based on Annotations</a></dt><dd><dl><dt><a href="annotations-pointcuts-and-advice.html#annotation-patterns">Annotation Patterns</a></dt><dt><a href="annotations-pointcuts-and-advice.html#type-patterns">Type Patterns</a></dt><dt><a href="annotations-pointcuts-and-advice.html#signaturePatterns">Signature Patterns</a></dt><dt><a href="annotations-pointcuts-and-advice.html#example-pointcuts">Example Pointcuts</a></dt><dt><a href="annotations-pointcuts-and-advice.html#runtime-type-matching-and-context-exposure">Runtime type matching and context exposure</a></dt><dt><a href="annotations-pointcuts-and-advice.html#package-and-parameter-annotations">Package and Parameter Annotations</a></dt><dt><a href="annotations-pointcuts-and-advice.html#annotation-inheritance-and-pointcut-matching">Annotation Inheritance and pointcut matching</a></dt><dt><a href="annotations-pointcuts-and-advice.html#limitations">Limitations</a></dt></dl></dd><dt><a href="annotations-decp.html">Using Annotations with declare statements</a></dt><dd><dl><dt><a href="annotations-decp.html#declare-error-and-declare-warning">Declare error and declare warning</a></dt><dt><a href="annotations-decp.html#declare-parents">declare parents</a></dt><dt><a href="annotations-decp.html#declare-precedence">declare precedence</a></dt></dl></dd><dt><a href="annotations-declare.html">Declare Annotation</a></dt><dt><a href="annotations-itds.html">Inter-type Declarations</a></dt></dl></div><div class="sect1"><a name="annotations-inJava5"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="annotations-inJava5"></a>Annotations in Java 5</h2></div></div><p>
+   <title>Chapter 2. Annotations</title><link rel="stylesheet" href="aspectj-docs.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.44"><link rel="home" href="index.html" title="The AspectJTM 5 Development Kit Developer's Notebook"><link rel="up" href="index.html" title="The AspectJTM 5 Development Kit Developer's Notebook"><link rel="previous" href="join-point-matching-summary.html" title="Summary of Join Point Matching"><link rel="next" href="annotations-aspectmembers.html" title="Annotating Aspects"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 2. Annotations</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="join-point-matching-summary.html">Prev</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="annotations-aspectmembers.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="annotations"></a>Chapter 2. Annotations</h2></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="annotations.html#annotations-inJava5">Annotations in Java 5</a></dt><dd><dl><dt><a href="annotations.html#using-annotations">Using Annotations</a></dt><dt><a href="annotations.html#retention-policies">Retention Policies</a></dt><dt><a href="annotations.html#accessing-annotations-at-runtime">Accessing Annotations at Runtime</a></dt><dt><a href="annotations.html#annotation-inheritance">Annotation Inheritance</a></dt></dl></dd><dt><a href="annotations-aspectmembers.html">Annotating Aspects</a></dt><dt><a href="annotations-pointcuts-and-advice.html">Join Point Matching based on Annotations</a></dt><dd><dl><dt><a href="annotations-pointcuts-and-advice.html#annotation-patterns">Annotation Patterns</a></dt><dt><a href="annotations-pointcuts-and-advice.html#type-patterns">Type Patterns</a></dt><dt><a href="annotations-pointcuts-and-advice.html#signaturePatterns">Signature Patterns</a></dt><dt><a href="annotations-pointcuts-and-advice.html#example-pointcuts">Example Pointcuts</a></dt><dt><a href="annotations-pointcuts-and-advice.html#runtime-type-matching-and-context-exposure">Runtime type matching and context exposure</a></dt><dt><a href="annotations-pointcuts-and-advice.html#package-and-parameter-annotations">Package and Parameter Annotations</a></dt><dt><a href="annotations-pointcuts-and-advice.html#annotation-inheritance-and-pointcut-matching">Annotation Inheritance and pointcut matching</a></dt><dt><a href="annotations-pointcuts-and-advice.html#matchingOnAnnotationValues">Matching based on annotation values</a></dt></dl></dd><dt><a href="annotations-decp.html">Using Annotations with declare statements</a></dt><dd><dl><dt><a href="annotations-decp.html#declare-error-and-declare-warning">Declare error and declare warning</a></dt><dt><a href="annotations-decp.html#declare-parents">declare parents</a></dt><dt><a href="annotations-decp.html#declare-precedence">declare precedence</a></dt></dl></dd><dt><a href="annotations-declare.html">Declare Annotation</a></dt><dt><a href="annotations-itds.html">Inter-type Declarations</a></dt></dl></div><div class="sect1"><a name="annotations-inJava5"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="annotations-inJava5"></a>Annotations in Java 5</h2></div></div><p>
 		This section provides the essential information about annotations in
 		Java 5 needed to understand how annotations are treated in AspectJ 5.
 		For a full introduction to annotations in Java, please see the
@@ -44,16 +44,16 @@
 		public void someMethod() {...}
 		</pre></div><div class="sect2"><a name="retention-policies"></a><div class="titlepage"><div><h3 class="title"><a name="retention-policies"></a>Retention Policies</h3></div></div><p>
 	      Annotations can have one of three retention policies:
-	    </p><div class="variablelist"><dl><dt><a name="d0e630"></a><span class="term">Source-file retention</span></dt><dd><p><a name="d0e633"></a>
+	    </p><div class="variablelist"><dl><dt><a name="d0e625"></a><span class="term">Source-file retention</span></dt><dd><p><a name="d0e628"></a>
 	            	Annotations with source-file retention are read by the 
 	            	compiler during the compilation process, but are not
 	            	rendered in the generated <tt>.class</tt> files.
-	            </p></dd><dt><a name="d0e639"></a><span class="term">Class-file retention</span></dt><dd><p><a name="d0e642"></a>
+	            </p></dd><dt><a name="d0e634"></a><span class="term">Class-file retention</span></dt><dd><p><a name="d0e637"></a>
 	        			This is the default retention policy. Annotations
 	        			with class-file retention are read by the compiler
 	        			and also retained in the generated <tt>
 	        			.class</tt> files.
-	        		</p></dd><dt><a name="d0e648"></a><span class="term">Runtime retention</span></dt><dd><p><a name="d0e651"></a>
+	        		</p></dd><dt><a name="d0e643"></a><span class="term">Runtime retention</span></dt><dd><p><a name="d0e646"></a>
 	        			Annotations with runtime retention are read by the
 	        			compiler, retained in the generated <tt>
 	        			.class</tt> files, and also made available
diff --git a/org.aspectj.ajde/doc/adk15notebook/ataspectj-aspects.html b/org.aspectj.ajde/doc/adk15notebook/ataspectj-aspects.html
index 631f032..0a77179 100755
--- a/org.aspectj.ajde/doc/adk15notebook/ataspectj-aspects.html
+++ b/org.aspectj.ajde/doc/adk15notebook/ataspectj-aspects.html
@@ -10,9 +10,6 @@
      public class Foo {}
          </pre><p>Is equivalent to:</p><pre class="programlisting">
      public aspect Foo {}
-         </pre><p>And since issingleton() is the default aspect instantiation model it is equivalent to:</p><pre class="programlisting">
-      @Aspect("issingleton()")
-      public class Foo {}
          </pre><p>To specify an aspect an aspect instantiation model (the default is
             singleton), provide the perclause as the
             <tt>@Aspect</tt>
diff --git a/org.aspectj.ajde/doc/adk15notebook/ataspectj-declare.html b/org.aspectj.ajde/doc/adk15notebook/ataspectj-declare.html
index 31fead4..a11aad2 100755
--- a/org.aspectj.ajde/doc/adk15notebook/ataspectj-declare.html
+++ b/org.aspectj.ajde/doc/adk15notebook/ataspectj-declare.html
@@ -1,15 +1,12 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Declare statements</title><link rel="stylesheet" href="aspectj-docs.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.44"><link rel="home" href="index.html" title="The AspectJTM 5 Development Kit Developer's Notebook"><link rel="up" href="ataspectj.html" title="Chapter 9. An Annotation Based Development Style"><link rel="previous" href="ataspectj-itds.html" title="Inter-type Declarations"><link rel="next" href="ataspectj-aspectof.html" title="aspectOf() and hasAspect() methods"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Declare statements</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ataspectj-itds.html">Prev</a>&nbsp;</td><th width="60%" align="center">Chapter 9. An Annotation Based Development Style</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ataspectj-aspectof.html">Next</a></td></tr></table><hr></div><div class="sect1"><a name="ataspectj-declare"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="ataspectj-declare"></a>Declare statements</h2></div></div><p>The previous section on inter-type declarations covered the case
-            of declare parents ... implements. The 1.5.0 release of AspectJ 5 will
+            of declare parents ... implements. The 1.5.0 release of AspectJ 5 does
             not support annotation style declarations for declare parents ... extends
             and declare soft (programs with these declarations would not in general
             be compilable by a regular Java 5 compiler, reducing the priority of
             their implementation). These may be supported in a future release.</p><p>
-            Declare annotation is not supported neither in the 1.5.0 release of AspectJ 5. Given that Java 5
-            compilers enforce the annotation target (@java.lang.annotation.Target) to be respected, this would cause
-            adding a lot of dummy members in the aspect (such as dummy constructors, methods etc), which would break the
-            object oriented design of the @AspectJ aspect itself.
+            Declare annotation is also not supported in the 1.5.0 release of AspectJ 5.
         </p><p>Declare precedence <span class="emphasis"><i>is</i></span>
             supported. For declare precedence, use the
             <tt>@DeclarePrecedence</tt>
@@ -34,7 +31,7 @@
             weave time, not when the aspects containing the declarations are compiled.
             (This is the same behaviour as when using declare warning or error with the
             code style). Declare warning and error declarations are made by annotating
-            a string constant whose value is the message to be issued.</p><p>Note that the String must be a constant and not the result of the invocation
+            a string constant whose value is the message to be issued.</p><p>Note that the String must be a literal and not the result of the invocation
             of a static method for example.</p><pre class="programlisting">
        declare warning : call(* javax.sql..*(..)) &amp;&amp; !within(org.xyz.daos..*)
                        : "Only DAOs should be calling JDBC.";
@@ -50,7 +47,7 @@
        @DeclareError("execution(* IFoo+.*(..)) &amp;&amp; !within(org.foo..*)")
        static final String badIFooImplementors = "Only foo types can implement IFoo";
 
-       // the following is not valid since the message is not a String constant
+       // the following is not valid since the message is not a String literal
        @DeclareError("execution(* IFoo+.*(..)) &amp;&amp; !within(org.foo..*)")
        static final String badIFooImplementorsCorrupted = getMessage();
        static String getMessage() {
diff --git a/org.aspectj.ajde/doc/adk15notebook/ataspectj-itds.html b/org.aspectj.ajde/doc/adk15notebook/ataspectj-itds.html
index 51b3c9b..10fc204 100755
--- a/org.aspectj.ajde/doc/adk15notebook/ataspectj-itds.html
+++ b/org.aspectj.ajde/doc/adk15notebook/ataspectj-itds.html
@@ -2,13 +2,14 @@
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Inter-type Declarations</title><link rel="stylesheet" href="aspectj-docs.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.44"><link rel="home" href="index.html" title="The AspectJTM 5 Development Kit Developer's Notebook"><link rel="up" href="ataspectj.html" title="Chapter 9. An Annotation Based Development Style"><link rel="previous" href="ataspectj-pcadvice.html" title="Pointcuts and Advice"><link rel="next" href="ataspectj-declare.html" title="Declare statements"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Inter-type Declarations</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ataspectj-pcadvice.html">Prev</a>&nbsp;</td><th width="60%" align="center">Chapter 9. An Annotation Based Development Style</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ataspectj-declare.html">Next</a></td></tr></table><hr></div><div class="sect1"><a name="ataspectj-itds"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="ataspectj-itds"></a>Inter-type Declarations</h2></div></div><p>
             Inter-type declarations are challenging to support using an annotation style.
-            It's very important to preserve the exact same semantics between the code style
+            It's very important to preserve the same semantics between the code style
             and the annotation style. We also want to support compilation of a large set
-            of AspectJ applications using a standard Java 5 compiler. For these reasons, in
-            the initial release of AspectJ 5 we will only support inter-type declarations
-            backed by interfaces when using the annotation style - which means it is not possible to
-            introduce constructors or fields, as it would not be not possible to call those unless already
-            weaved and available on a binary form.
+            of @AspectJ applications using a standard Java 5 compiler. For these reasons,
+            the 1.5.0 release of AspectJ 5 only supports inter-type declarations
+            backed by interfaces when using the annotation style - 
+            which means it is not possible to
+            introduce constructors or fields, as it would not be not possible to call 
+            those unless already woven and available on a binary form.
         </p><p>
             Consider the following aspect:
         </p><pre class="programlisting">
@@ -60,11 +61,9 @@
            }
         }
 
-        // here is the actual ITD syntax when using @AspectJ
-        // public static is mandatory
         // the field type must be the introduced interface. It can't be a class.
-        @DeclareParents("org.xzy..*")
-        public static Moody introduced = new MoodyImpl();
+        @DeclareParents(value="org.xzy..*",defaultImpl="MoodyImpl")
+        private Moody implementedInterface;
 
         @Before("execution(* *.*(..)) &amp;&amp; this(m)")
         void feelingMoody(Moody m) {
@@ -77,39 +76,33 @@
             <tt>@DeclareParents</tt>
             annotation is equivalent to
             a declare parents statement that all types matching the type pattern implement
-            the interface whose @DeclareParents annotated aspect' field is type of (in this case Moody).
-            Each method declaration of this interface are treated as inter-type declarations.
+            the given interface (in this case Moody).
+            Each method declared in the interface is treated as an inter-type declaration.
             Note how this scheme operates within the constraints
             of Java type checking and ensures that
             <tt>this</tt>
             has access
             to the exact same set of members as in the code style example.
         </p><p>
-            Note that it is illegal to use the @DeclareParents annotation on an aspect' field whose type
-            is not an interface. Indeed, the interface is the inter-type declaration contract that dictates
-            which methods are introduced.
-        </p><p>
-            It is important to remember that the @DeclareParents annotated aspect' field that serves as a host
-            for the inter-type declaration must be <tt>public static</tt> and <tt>initialized by some means</tt>.
-            The weaved code will indeed delegate calls to this field when f.e. invoking:
+            Note that it is illegal to use the @DeclareParents annotation on an aspect' field of a non-interface type.
+            The interface type is the inter-type declaration contract that dictates
+            which methods are declared on the target type.
         </p><pre class="programlisting">
-     // this type will be affected by the inter-type declaration as the type pattern match
+     // this type will be affected by the inter-type declaration as the type pattern matches
      package org.xyz;
      public class MoodTest {
 
         public void test() {
-            // see here the cast to the introduced interface
+            // see here the cast to the introduced interface (required)
             Mood mood = ((Moody)this).getMood();
-            // will delegate to the aspect field "introduced" that host this inter-type declaration
             ...
         }
     }
-         </pre><p>
-            It is perfectly possible to use an IoC framework to initialize the @DeclaredParents aspect' field. You must
-            ensure though that the aspect field will be initialed prior the first inter-type declaration invocation it hosts.
-        </p><p>
-            If you need to only introduce a marker interface which defines no method - such as <tt>java.io.Serializable</tt>
-            it is possible to use the following syntax.
+         </pre><p>The <tt>@DeclareParents</tt> annotation can also be used without specifying
+        a <tt>defaultImpl</tt> value (for example, 
+        <tt>@DeclareParents("org.xyz..*")</tt>). This is equivalent to a 
+        <tt>declare parents ... implements</tt> clause, and does <span class="emphasis"><i>not</i></span>
+        make any inter-type declarations for default implementation of the interface methods.
         </p><p>
             Consider the following aspect:
         </p><pre class="programlisting">
@@ -122,13 +115,10 @@
      @Aspect
      public class SerializableMarker {
 
-        @DeclareImplements("org.xyz..*")
-        Serializable introducedNoMethods;
+        @DeclareParents("org.xyz..*")
+        Serializable implementedInterface;
      }
          </pre><p>
-            The <tt>@DeclareImplements</tt> annotation on the aspect' field dictates the type pattern
-            on which to introduce the marker interface.
-        </p><p>
-            In that case, as there is no method introduced, it is perfectly possible to have the aspect' field
-            private, or not initialized. Remember that the field' type must be the introduced interface and cannot be class.
+        	If the interface defines one or more operations, and these are not implemented by
+        	the target type, an error will be issued during weaving.
         </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ataspectj-pcadvice.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ataspectj-declare.html">Next</a></td></tr><tr><td width="40%" align="left">Pointcuts and Advice&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ataspectj.html">Up</a></td><td width="40%" align="right">&nbsp;Declare statements</td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/org.aspectj.ajde/doc/adk15notebook/ataspectj-pcadvice.html b/org.aspectj.ajde/doc/adk15notebook/ataspectj-pcadvice.html
index 817619a..aa6b295 100755
--- a/org.aspectj.ajde/doc/adk15notebook/ataspectj-pcadvice.html
+++ b/org.aspectj.ajde/doc/adk15notebook/ataspectj-pcadvice.html
@@ -39,13 +39,14 @@
      void someCall(int i, Foo callee) {}
          </pre><p>is equivalent to...</p><pre class="programlisting">
      pointcut anyCall(int i, Foo callee) : call(* *.*(int)) &amp;&amp; args(i) &amp;&amp; target(callee);
-             </pre><p>An example with modifiers (it is also good to remember that Java 5 annotations are not
-                inherited):</p><pre class="programlisting">
+             </pre><p>An example with modifiers (Remember that Java 5 annotations are not
+                inherited, so the <tt>@Pointcut</tt> annotation must be
+                present on the extending aspect's pointcut declaration too):</p><pre class="programlisting">
      @Pointcut("")
      protected abstract void anyCall();
          </pre><p>is equivalent to...</p><pre class="programlisting">
      protected abstract pointcut anyCall();
-             </pre><div class="sect3"><a name="d0e3702"></a><div class="titlepage"><div><h4 class="title"><a name="d0e3702"></a>Type references inside @AspectJ annotations</h4></div></div><p>
+             </pre><div class="sect3"><a name="d0e3681"></a><div class="titlepage"><div><h4 class="title"><a name="d0e3681"></a>Type references inside @AspectJ annotations</h4></div></div><p>
                     Using the code style, types referenced in pointcut expressions are
                     resolved with respect to the imported types in the compilation unit.
                     When using the annotation style, types referenced in pointcut
@@ -87,7 +88,7 @@
        void anyUtilityCall() {}
 
      }
-             </pre></div><div class="sect3"><a name="d0e3718"></a><div class="titlepage"><div><h4 class="title"><a name="d0e3718"></a>if() pointcut expressions</h4></div></div><p>In code style, it is possible to use the
+             </pre></div><div class="sect3"><a name="d0e3697"></a><div class="titlepage"><div><h4 class="title"><a name="d0e3697"></a>if() pointcut expressions</h4></div></div><p>In code style, it is possible to use the
                     <tt>if(...)</tt>
                     poincut to define
                     a conditional pointcut expression which will be evaluated at runtime for each candidate join point.
@@ -98,15 +99,16 @@
                     <tt>thisJoinPoint, thisJoinPointStaticPart and thisJoinPointEnclosingStaticPart</tt>
                     .
                 </p><p>
-                    When using the annotation style, it would be really a pain to write a valid Java expression within
-                    the annotation value so the syntax differs sligthly, whilst providing the very same
+                    When using the annotation style, it is not possible to write a full Java expression
+                    within
+                    the annotation value so the syntax differs slightly, whilst providing the very same
                     semantics and runtime behaviour. An
                     <tt>if()</tt>
                     pointcut expression can be
                     declared in an
                     <tt>@Pointcut</tt>
-                    , but must either an empty body, or be one
-                    of the expression
+                    , but must have either an empty body (<tt>if()</tt>, or be one
+                    of the expression forms
                     <tt>if(true)</tt>
                     or
                     <tt>if(false)</tt>
diff --git a/org.aspectj.ajde/doc/adk15notebook/autoboxing-and-method-dispatch.html b/org.aspectj.ajde/doc/adk15notebook/autoboxing-and-method-dispatch.html
index d382a10..e7f8557 100755
--- a/org.aspectj.ajde/doc/adk15notebook/autoboxing-and-method-dispatch.html
+++ b/org.aspectj.ajde/doc/adk15notebook/autoboxing-and-method-dispatch.html
@@ -2,10 +2,10 @@
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Inter-type method declarations and method dispatch</title><link rel="stylesheet" href="aspectj-docs.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.44"><link rel="home" href="index.html" title="The AspectJTM 5 Development Kit Developer's Notebook"><link rel="up" href="autoboxing.html" title="Chapter 4. Autoboxing and Unboxing"><link rel="previous" href="autoboxing-in-aspectj5.html" title="Autoboxing and Join Point matching in AspectJ 5"><link rel="next" href="covariance.html" title="Chapter 5. Covariance"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Inter-type method declarations and method dispatch</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="autoboxing-in-aspectj5.html">Prev</a>&nbsp;</td><th width="60%" align="center">Chapter 4. Autoboxing and Unboxing</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="covariance.html">Next</a></td></tr></table><hr></div><div class="sect1"><a name="autoboxing-and-method-dispatch"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="autoboxing-and-method-dispatch"></a>Inter-type method declarations and method dispatch</h2></div></div><p>Autoboxing, unboxing, and also varargs all affect the method
           dispatch algorithm used in Java 5. In AspectJ 5, the target method
-          of a call is selected according to the following algorithm:</p><div class="orderedlist"><ol type="1"><li><a name="d0e3159"></a>Attempt to locate a matching method or inter-type declared
+          of a call is selected according to the following algorithm:</p><div class="orderedlist"><ol type="1"><li><a name="d0e3139"></a>Attempt to locate a matching method or inter-type declared
               method without considering
-              autoboxing, unboxing, or vararg invocations.</li><li><a name="d0e3161"></a>If no match is found, try again considering autoboxing
-              and unboxing.</li><li><a name="d0e3163"></a>Finally try again considering both autoboxing, unboxing,
+              autoboxing, unboxing, or vararg invocations.</li><li><a name="d0e3141"></a>If no match is found, try again considering autoboxing
+              and unboxing.</li><li><a name="d0e3143"></a>Finally try again considering both autoboxing, unboxing,
               and varargs.</li></ol></div><p>One consequence is that a directly matching inter-type declared
           method will take precedence over a method declared locally in the 
           target class but that only matches via autoboxing.</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="autoboxing-in-aspectj5.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="covariance.html">Next</a></td></tr><tr><td width="40%" align="left">Autoboxing and Join Point matching in AspectJ 5&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="autoboxing.html">Up</a></td><td width="40%" align="right">&nbsp;Chapter 5. Covariance</td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/org.aspectj.ajde/doc/adk15notebook/autoboxing-in-aspectj5.html b/org.aspectj.ajde/doc/adk15notebook/autoboxing-in-aspectj5.html
index 5ff6759..b9d811a 100755
--- a/org.aspectj.ajde/doc/adk15notebook/autoboxing-in-aspectj5.html
+++ b/org.aspectj.ajde/doc/adk15notebook/autoboxing-in-aspectj5.html
@@ -11,7 +11,7 @@
          AspectJ 5 applies autoboxing and unboxing in determining argument matching.
          In other words, <tt>args(Integer)</tt> will match any join
          point at which there is a single argument of type <tt>Integer</tt>
-         or of type <tt>int</tt>.</p><div class="itemizedlist"><ul><li><a name="d0e3135"></a>args(Integer) and args(int) are equivalent</li><li><a name="d0e3137"></a>args(Float) and args(float) are equivalent</li><li><a name="d0e3139"></a>args(Double) and args(double) are equivalent</li><li><a name="d0e3141"></a>args(Short) and args(short) are equivalent</li><li><a name="d0e3143"></a>args(Byte) and args(byte) are equivalent</li><li><a name="d0e3145"></a>args(Long) and args(long) are equivalent</li><li><a name="d0e3147"></a>args(Boolean) and args(boolean) are equivalent</li></ul></div><p>
+         or of type <tt>int</tt>.</p><div class="itemizedlist"><ul><li><a name="d0e3115"></a>args(Integer) and args(int) are equivalent</li><li><a name="d0e3117"></a>args(Float) and args(float) are equivalent</li><li><a name="d0e3119"></a>args(Double) and args(double) are equivalent</li><li><a name="d0e3121"></a>args(Short) and args(short) are equivalent</li><li><a name="d0e3123"></a>args(Byte) and args(byte) are equivalent</li><li><a name="d0e3125"></a>args(Long) and args(long) are equivalent</li><li><a name="d0e3127"></a>args(Boolean) and args(boolean) are equivalent</li></ul></div><p>
         Autoboxing and unboxing are also applied when binding pointcut or 
         advice parameters, for example:   
       </p><pre class="programlisting">
diff --git a/org.aspectj.ajde/doc/adk15notebook/covariance-and-join-point-matching.html b/org.aspectj.ajde/doc/adk15notebook/covariance-and-join-point-matching.html
index 2c66056..6a90acf 100755
--- a/org.aspectj.ajde/doc/adk15notebook/covariance-and-join-point-matching.html
+++ b/org.aspectj.ajde/doc/adk15notebook/covariance-and-join-point-matching.html
@@ -17,24 +17,24 @@
 		</p><pre class="programlisting">
 		A A.whoAreYou()
 		B B.whoAreYou()
-		</pre><p>Following the join point matching rules given in <a href="jpsigs.html">Join Point Signatures</a>,</p><div class="variablelist"><dl><dt><a name="d0e3217"></a><span class="term">call(* whoAreYou())</span></dt><dd><p><a name="d0e3220"></a>Matches both calls, (since each call join point has at least
+		</pre><p>Following the join point matching rules given in <a href="jpsigs.html">Join Point Signatures</a>,</p><div class="variablelist"><dl><dt><a name="d0e3197"></a><span class="term">call(* whoAreYou())</span></dt><dd><p><a name="d0e3200"></a>Matches both calls, (since each call join point has at least
             one matching signature).
-            </p></dd><dt><a name="d0e3223"></a><span class="term">call(* A.whoAreYou())</span></dt><dd><p><a name="d0e3226"></a>Matches both calls, (since each call join point has at least
+            </p></dd><dt><a name="d0e3203"></a><span class="term">call(* A.whoAreYou())</span></dt><dd><p><a name="d0e3206"></a>Matches both calls, (since each call join point has at least
             one matching signature).
-            </p></dd><dt><a name="d0e3229"></a><span class="term">call(A whoAreYou())</span></dt><dd><p><a name="d0e3232"></a>Matches both calls, (since each call join point has at least
+            </p></dd><dt><a name="d0e3209"></a><span class="term">call(A whoAreYou())</span></dt><dd><p><a name="d0e3212"></a>Matches both calls, (since each call join point has at least
             one matching signature).
-            </p></dd><dt><a name="d0e3235"></a><span class="term">call(A B.whoAreYou())</span></dt><dd><p><a name="d0e3238"></a>Does not match anything - neither of the call join points
+            </p></dd><dt><a name="d0e3215"></a><span class="term">call(A B.whoAreYou())</span></dt><dd><p><a name="d0e3218"></a>Does not match anything - neither of the call join points
             has a signature matched by this pattern.  A lint warning is
             given for the call <tt>a.whoAreYou()</tt> ("does not match
             because declaring type is A, if match required use target(B)").
-            </p></dd><dt><a name="d0e3244"></a><span class="term">call(A+ B.whoAreYou())</span></dt><dd><p><a name="d0e3247"></a>Matches the call to <tt>b.whoAreYou()</tt> since
+            </p></dd><dt><a name="d0e3224"></a><span class="term">call(A+ B.whoAreYou())</span></dt><dd><p><a name="d0e3227"></a>Matches the call to <tt>b.whoAreYou()</tt> since
             the signature pattern matches the signature <tt>B B.whoAreYou()</tt>. 
             A lint warning is given for the call <tt>a.whoAreYou()</tt> ("does not match
             because declaring type is A, if match required use target(B)").
-            </p></dd><dt><a name="d0e3259"></a><span class="term">call(B A.whoAreYou())</span></dt><dd><p><a name="d0e3262"></a>Does not match anything since neither join point has a 
+            </p></dd><dt><a name="d0e3239"></a><span class="term">call(B A.whoAreYou())</span></dt><dd><p><a name="d0e3242"></a>Does not match anything since neither join point has a 
             signature matched by this pattern.
-            </p></dd><dt><a name="d0e3265"></a><span class="term">call(B whoAreYou())</span></dt><dd><p><a name="d0e3268"></a>Matches the call to <tt>b.whoAreYou()</tt> only.
-            </p></dd><dt><a name="d0e3274"></a><span class="term">call(B B.whoAreYou())</span></dt><dd><p><a name="d0e3277"></a>Matches the call to <tt>b.whoAreYou()</tt> only.
+            </p></dd><dt><a name="d0e3245"></a><span class="term">call(B whoAreYou())</span></dt><dd><p><a name="d0e3248"></a>Matches the call to <tt>b.whoAreYou()</tt> only.
+            </p></dd><dt><a name="d0e3254"></a><span class="term">call(B B.whoAreYou())</span></dt><dd><p><a name="d0e3257"></a>Matches the call to <tt>b.whoAreYou()</tt> only.
             </p></dd></dl></div><p>The rule for signature matching at call and execution join points
 		is unchanged from AspectJ 1.2: a call or execution pointcut matches if
 		the signature pattern matches at least one of the signatures of the
diff --git a/org.aspectj.ajde/doc/adk15notebook/declare-soft.html b/org.aspectj.ajde/doc/adk15notebook/declare-soft.html
index 514a1e7..18786c4 100755
--- a/org.aspectj.ajde/doc/adk15notebook/declare-soft.html
+++ b/org.aspectj.ajde/doc/adk15notebook/declare-soft.html
@@ -1,6 +1,6 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-   <title>Declare Soft</title><link rel="stylesheet" href="aspectj-docs.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.44"><link rel="home" href="index.html" title="The AspectJTM 5 Development Kit Developer's Notebook"><link rel="up" href="miscellaneous.html" title="Chapter 11. Other Changes in AspectJ 5"><link rel="previous" href="miscellaneous.html" title="Chapter 11. Other Changes in AspectJ 5"><link rel="next" href="ch11s03.html" title="Tools"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Declare Soft</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="miscellaneous.html">Prev</a>&nbsp;</td><th width="60%" align="center">Chapter 11. Other Changes in AspectJ 5</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch11s03.html">Next</a></td></tr></table><hr></div><div class="sect1"><a name="declare-soft"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="declare-soft"></a>Declare Soft</h2></div></div><p>
+   <title>Declare Soft</title><link rel="stylesheet" href="aspectj-docs.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.44"><link rel="home" href="index.html" title="The AspectJTM 5 Development Kit Developer's Notebook"><link rel="up" href="miscellaneous.html" title="Chapter 11. Other Changes in AspectJ 5"><link rel="previous" href="miscellaneous.html" title="Chapter 11. Other Changes in AspectJ 5"><link rel="next" href="ltw.html" title="Chapter 12. Load-Time Weaving"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Declare Soft</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="miscellaneous.html">Prev</a>&nbsp;</td><th width="60%" align="center">Chapter 11. Other Changes in AspectJ 5</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ltw.html">Next</a></td></tr></table><hr></div><div class="sect1"><a name="declare-soft"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="declare-soft"></a>Declare Soft</h2></div></div><p>
           The semantics of the <tt>declare soft</tt> statement have been 
           refined in AspectJ 5 to only soften exceptions that are not already runtime 
           exceptions. If the exception type specified in a declare soft statement is <tt>RuntimeException</tt>
@@ -39,4 +39,4 @@
        	  }
        	
        	}
-		</pre></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="miscellaneous.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch11s03.html">Next</a></td></tr><tr><td width="40%" align="left">Chapter 11. Other Changes in AspectJ 5&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="miscellaneous.html">Up</a></td><td width="40%" align="right">&nbsp;Tools</td></tr></table></div></body></html>
\ No newline at end of file
+		</pre></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="miscellaneous.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ltw.html">Next</a></td></tr><tr><td width="40%" align="left">Chapter 11. Other Changes in AspectJ 5&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="miscellaneous.html">Up</a></td><td width="40%" align="right">&nbsp;Chapter 12. Load-Time Weaving</td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/org.aspectj.ajde/doc/adk15notebook/enums-in-aspectj5.html b/org.aspectj.ajde/doc/adk15notebook/enums-in-aspectj5.html
index 58922e6..20f6726 100755
--- a/org.aspectj.ajde/doc/adk15notebook/enums-in-aspectj5.html
+++ b/org.aspectj.ajde/doc/adk15notebook/enums-in-aspectj5.html
@@ -4,12 +4,12 @@
       AspectJ 5 supports the declaration of enumerated types just as Java 5
       does. Because of the special restrictions Java 5 places around enumerated
       types, AspectJ makes the following additional restrictions:
-      </p><div class="itemizedlist"><ul><li><a name="d0e3506"></a>You cannot use declare parents to change the super type of
-          an enum.</li><li><a name="d0e3508"></a>You cannot use declare parents to declare java.lang.Enum as
-          the parent of any type.</li><li><a name="d0e3510"></a>You cannot make inter-type constructor declarations on an
-          enum.</li><li><a name="d0e3512"></a>You cannot extend the set of values in an enum via any
-          ITD-like construct.</li><li><a name="d0e3514"></a>You cannot make inter-type method or field declarations on 
-          an enum.</li><li><a name="d0e3516"></a>You cannot use declare parents to make an enum type implement
+      </p><div class="itemizedlist"><ul><li><a name="d0e3486"></a>You cannot use declare parents to change the super type of
+          an enum.</li><li><a name="d0e3488"></a>You cannot use declare parents to declare java.lang.Enum as
+          the parent of any type.</li><li><a name="d0e3490"></a>You cannot make inter-type constructor declarations on an
+          enum.</li><li><a name="d0e3492"></a>You cannot extend the set of values in an enum via any
+          ITD-like construct.</li><li><a name="d0e3494"></a>You cannot make inter-type method or field declarations on 
+          an enum.</li><li><a name="d0e3496"></a>You cannot use declare parents to make an enum type implement
           an interface.</li></ul></div><p>In theory, the last of these two items <span class="emphasis"><i>could</i></span>
       be supported. However, AspectJ 5 follows the simple rule that <span class="emphasis"><i>
       an enum type cannot be the target of an inter-type declaration or declare
diff --git a/org.aspectj.ajde/doc/adk15notebook/generics-inAspectJ5.html b/org.aspectj.ajde/doc/adk15notebook/generics-inAspectJ5.html
index e02140d..beadf95 100755
--- a/org.aspectj.ajde/doc/adk15notebook/generics-inAspectJ5.html
+++ b/org.aspectj.ajde/doc/adk15notebook/generics-inAspectJ5.html
@@ -47,7 +47,7 @@
           can be matched by a signature pattern matching <tt>static Object Utils.first(List)</tt> and
           <tt>Number Utils.max(Number, Number)</tt> respectively. The members of the generic type
           <tt>G</tt> can be matched by a signature pattern matching <tt>Object G.myData</tt> and
-          <tt>public List G.getAllDataItems()</tt> respectively.</p><div class="sect3"><a name="d0e2209"></a><div class="titlepage"><div><h4 class="title"><a name="d0e2209"></a>Restricting matching using parameterized types</h4></div></div><p>Pointcut matching can be further restricted to match only given parameterizations of parameter types (methods and constructors), return
+          <tt>public List G.getAllDataItems()</tt> respectively.</p><div class="sect3"><a name="d0e2195"></a><div class="titlepage"><div><h4 class="title"><a name="d0e2195"></a>Restricting matching using parameterized types</h4></div></div><p>Pointcut matching can be further restricted to match only given parameterizations of parameter types (methods and constructors), return
           types (methods) and field types (fields). This is achieved by specifying a parameterized type pattern at the appropriate point 
           in the signature pattern. For example, given the class <tt>Foo</tt>:</p><pre class="programlisting">
           public class Foo {
@@ -91,7 +91,7 @@
         <span class="emphasis"><i>not</i></span> by <tt>execution(List&lt;Object&gt; foo(List&lt;String&gt;&gt;)</tt>
         since the erasure of <tt>List&lt;T&gt;</tt> is <tt>List</tt>
         and not <tt>List&lt;Object&gt;</tt>.
-        </p></div><div class="sect3"><a name="d0e2342"></a><div class="titlepage"><div><h4 class="title"><a name="d0e2342"></a>Generic wildcards and signature matching</h4></div></div><p>
+        </p></div><div class="sect3"><a name="d0e2328"></a><div class="titlepage"><div><h4 class="title"><a name="d0e2328"></a>Generic wildcards and signature matching</h4></div></div><p>
             When it comes to signature matching, a type parameterized using a generic wildcard is a distinct type.
             For example, <tt>List&lt;?&gt;</tt> is a very different type to <tt>List&lt;String&gt;</tt>,
             even though a variable of type <tt>List&lt;String&gt;</tt> can be assigned to a variable of
@@ -106,15 +106,15 @@
             public void goo(List&lt;Double&gt; listOfDoubles) {}	
 	
           }
-		</pre><div class="variablelist"><dl><dt><a name="d0e2363"></a><span class="term">execution(* C.*(List))</span></dt><dd><p><a name="d0e2366"></a>Matches an execution join point for any of the three methods.
-            </p></dd><dt><a name="d0e2369"></a><span class="term">execution(* C.*(List&lt;? extends Number&gt;))</span></dt><dd><p><a name="d0e2372"></a>matches only the
+		</pre><div class="variablelist"><dl><dt><a name="d0e2349"></a><span class="term">execution(* C.*(List))</span></dt><dd><p><a name="d0e2352"></a>Matches an execution join point for any of the three methods.
+            </p></dd><dt><a name="d0e2355"></a><span class="term">execution(* C.*(List&lt;? extends Number&gt;))</span></dt><dd><p><a name="d0e2358"></a>matches only the
           execution of <tt>foo</tt>, and <span class="emphasis"><i>not</i></span> the execution
           of <tt>goo</tt> since <tt>List&lt;? extends Number&gt;</tt> and 
           <tt>List&lt;Double&gt;</tt> are distinct types.
-            </p></dd><dt><a name="d0e2390"></a><span class="term">execution(* C.*(List&lt;?&gt;))</span></dt><dd><p><a name="d0e2393"></a>matches only the execution of <tt>bar</tt>.
-            </p></dd><dt><a name="d0e2399"></a><span class="term">execution(* C.*(List&lt;? extends Object+&gt;))</span></dt><dd><p><a name="d0e2402"></a>matches both the execution of <tt>foo</tt> and the execution of <tt>bar</tt> 
+            </p></dd><dt><a name="d0e2376"></a><span class="term">execution(* C.*(List&lt;?&gt;))</span></dt><dd><p><a name="d0e2379"></a>matches only the execution of <tt>bar</tt>.
+            </p></dd><dt><a name="d0e2385"></a><span class="term">execution(* C.*(List&lt;? extends Object+&gt;))</span></dt><dd><p><a name="d0e2388"></a>matches both the execution of <tt>foo</tt> and the execution of <tt>bar</tt> 
           since the upper bound of <tt>List&lt;?&gt;</tt> is implicitly <tt>Object</tt>.
-            </p></dd></dl></div></div><div class="sect3"><a name="d0e2417"></a><div class="titlepage"><div><h4 class="title"><a name="d0e2417"></a>Treatment of bridge methods</h4></div></div><p>Under certain circumstances a Java 5 compiler is required to create <span class="emphasis"><i>bridge
+            </p></dd></dl></div></div><div class="sect3"><a name="d0e2403"></a><div class="titlepage"><div><h4 class="title"><a name="d0e2403"></a>Treatment of bridge methods</h4></div></div><p>Under certain circumstances a Java 5 compiler is required to create <span class="emphasis"><i>bridge
           methods</i></span> that support the compilation of programs using raw types. Consider the types</p><pre class="programlisting">
           class Generic&lt;T&gt; {
 	
@@ -156,7 +156,7 @@
            rawType.foo("hi");  // call to bridge method (will result in a runtime failure in this case)
            Object n = new Integer(5);
            rawType.foo(n);     // call to bridge method that would succeed at runtime
-		</pre></div><div class="sect3"><a name="d0e2504"></a><div class="titlepage"><div><h4 class="title"><a name="d0e2504"></a>Runtime type matching with this(), target() and args()</h4></div></div><p>The <tt>this()</tt>, <tt>target()</tt>, and
+		</pre></div><div class="sect3"><a name="d0e2490"></a><div class="titlepage"><div><h4 class="title"><a name="d0e2490"></a>Runtime type matching with this(), target() and args()</h4></div></div><p>The <tt>this()</tt>, <tt>target()</tt>, and
           <tt>args()</tt> pointcut expressions all match based on the runtime
           type of their arguments. Because Java 5 implements generics using erasure, it is not
           possible to ask at runtime whether an object is an instance of a given parameterization of a type
@@ -174,11 +174,11 @@
            public void goo(List&lt;? extends Number&gt; listOfSomeNumberType) {}
          
          }
-		</pre><div class="variablelist"><dl><dt><a name="d0e2531"></a><span class="term">args(List)</span></dt><dd><p><a name="d0e2534"></a>will match an execution or call join point for any of
+		</pre><div class="variablelist"><dl><dt><a name="d0e2517"></a><span class="term">args(List)</span></dt><dd><p><a name="d0e2520"></a>will match an execution or call join point for any of
               these methods
-              </p></dd><dt><a name="d0e2537"></a><span class="term">args(List&lt;String&gt;)</span></dt><dd><p><a name="d0e2540"></a>will match an execution
+              </p></dd><dt><a name="d0e2523"></a><span class="term">args(List&lt;String&gt;)</span></dt><dd><p><a name="d0e2526"></a>will match an execution
               or call join point for <tt>foo</tt>.
-              </p></dd><dt><a name="d0e2546"></a><span class="term">args(List&lt;Double&gt;)</span></dt><dd><p><a name="d0e2549"></a>matches an execution or call join point for <tt>bar</tt>, and <span class="emphasis"><i>may</i></span> match
+              </p></dd><dt><a name="d0e2532"></a><span class="term">args(List&lt;Double&gt;)</span></dt><dd><p><a name="d0e2535"></a>matches an execution or call join point for <tt>bar</tt>, and <span class="emphasis"><i>may</i></span> match
               at an execution or call join point for <tt>goo</tt> since it is legitimate to pass an
               object of type <tt>List&lt;Double&gt;</tt> to a method expecting a <tt>List&lt;? extends Number&gt;</tt>.
               </p><p>
@@ -291,7 +291,7 @@
                  // process list... 
              }
          }
-		</pre></div><div class="sect3"><a name="d0e2700"></a><div class="titlepage"><div><h4 class="title"><a name="d0e2700"></a>Binding return values in after returning advice</h4></div></div><p>
+		</pre></div><div class="sect3"><a name="d0e2686"></a><div class="titlepage"><div><h4 class="title"><a name="d0e2686"></a>Binding return values in after returning advice</h4></div></div><p>
             After returning advice can be used to bind the return value from a matched join point. AspectJ 5 supports the use of
             a parameterized type in the returning clause, with matching following the same rules as described for args. For
             example, the following aspect matches the execution of any method returning a <tt>List</tt>, and makes
@@ -339,7 +339,7 @@
 		</pre><p>As with <tt>args</tt> you can guarantee that after returning advice only
 		executes on lists <span class="emphasis"><i>statically determinable</i></span> to be of the right
 		type by specifying a return type pattern in the associated pointcut. The 
-		<tt>@SuppressAjWarnings</tt> annotation can also be used if desired.</p></div><div class="sect3"><a name="d0e2756"></a><div class="titlepage"><div><h4 class="title"><a name="d0e2756"></a>Declaring pointcuts inside generic types</h4></div></div><p><span class="emphasis"><i>This language feature will not be supported until AspectJ 5 M4.</i></span></p><p>Pointcuts can be declared in both classes and aspects. A pointcut declared in a generic
+		<tt>@SuppressAjWarnings</tt> annotation can also be used if desired.</p></div><div class="sect3"><a name="d0e2742"></a><div class="titlepage"><div><h4 class="title"><a name="d0e2742"></a>Declaring pointcuts inside generic types</h4></div></div><p>Pointcuts can be declared in both classes and aspects. A pointcut declared in a generic
             type may use the type variables of the type in which it is declared. All references to
             a pointcut declared in a generic type from outside of that type must be via a parameterized type reference, 
             and not a raw type reference.</p><p>Consider the generic type <tt>Generic</tt> with a pointcut <tt>foo</tt>:
@@ -374,14 +374,14 @@
             AspectJ 5 supports the inter-type declaration of generic methods, and of members on
             generic types. For generic methods, the syntax is exactly as for a regular method
             declaration, with the addition of the target type specification:
-          </p><div class="variablelist"><dl><dt><a name="d0e2785"></a><span class="term">&lt;T extends Number&gt; T Utils.max(T first, T second) {...}</span></dt><dd><p><a name="d0e2788"></a>Declares a generic instance method <tt>max</tt> on the class <tt>Util</tt>.
+          </p><div class="variablelist"><dl><dt><a name="d0e2768"></a><span class="term">&lt;T extends Number&gt; T Utils.max(T first, T second) {...}</span></dt><dd><p><a name="d0e2771"></a>Declares a generic instance method <tt>max</tt> on the class <tt>Util</tt>.
             The <tt>max</tt> method takes two arguments, <tt>first</tt> and <tt>second</tt> which must
             both be of the same type (and that type must be Number or a subtype of Number) and returns an instance
             of that type.
-            </p></dd><dt><a name="d0e2806"></a><span class="term">static &lt;E&gt; E Utils.first(List&lt;E&gt; elements) {...}</span></dt><dd><p><a name="d0e2809"></a>Declares a static generic method <tt>first</tt> on the class <tt>Util</tt>.
+            </p></dd><dt><a name="d0e2789"></a><span class="term">static &lt;E&gt; E Utils.first(List&lt;E&gt; elements) {...}</span></dt><dd><p><a name="d0e2792"></a>Declares a static generic method <tt>first</tt> on the class <tt>Util</tt>.
             The <tt>first</tt> method takes a list of elements of some type, and returns an instance
             of that type.
-            </p></dd><dt><a name="d0e2821"></a><span class="term">&lt;T&gt; Sorter.new(List&lt;T&gt; elements,Comparator&lt;? super T&gt; comparator) {...}</span></dt><dd><p><a name="d0e2824"></a>Declares a constructor on the class <tt>Sorter</tt>.
+            </p></dd><dt><a name="d0e2804"></a><span class="term">&lt;T&gt; Sorter.new(List&lt;T&gt; elements,Comparator&lt;? super T&gt; comparator) {...}</span></dt><dd><p><a name="d0e2807"></a>Declares a constructor on the class <tt>Sorter</tt>.
             The constructor takes a list of elements of some type, and a comparator that can compare instances
             of the element type.
             </p></dd></dl></div><p>
@@ -390,15 +390,15 @@
           must match the number of type parameters in
          the generic type declaration. Type parameter <span class="emphasis"><i>names</i></span> do not have to match.
          For example, given the generic type <tt>Foo&lt;T,S extends Number&gt;</tt> then:      
-      </p><div class="variablelist"><dl><dt><a name="d0e2839"></a><span class="term">String Foo.getName() {...}</span></dt><dd><p><a name="d0e2842"></a>Declares a <tt>getName</tt> method on behalf of the type <tt>Foo</tt>. It is
+      </p><div class="variablelist"><dl><dt><a name="d0e2822"></a><span class="term">String Foo.getName() {...}</span></dt><dd><p><a name="d0e2825"></a>Declares a <tt>getName</tt> method on behalf of the type <tt>Foo</tt>. It is
             not possible to refer to the type parameters of Foo in such a declaration.
-            </p></dd><dt><a name="d0e2851"></a><span class="term">public R Foo&lt;Q, R&gt;.getMagnitude() {...}</span></dt><dd><p><a name="d0e2854"></a>Declares a method <tt>getMagnitude</tt> on the generic class <tt>Foo</tt>.
+            </p></dd><dt><a name="d0e2834"></a><span class="term">public R Foo&lt;Q, R&gt;.getMagnitude() {...}</span></dt><dd><p><a name="d0e2837"></a>Declares a method <tt>getMagnitude</tt> on the generic class <tt>Foo</tt>.
             The method returns an instance of the type substituted for the second type parameter in an invocation
             of <tt>Foo</tt> If <tt>Foo</tt> is declared as 
             <tt>Foo&lt;T,N extends Number&gt; {...}</tt> then this inter-type declaration is
             equivalent to the declaration of a method <tt>public N getMagnitude()</tt> 
             within the body of <tt>Foo</tt>.
-            </p></dd><dt><a name="d0e2878"></a><span class="term">R Foo&lt;Q, R extends Number&gt;.getMagnitude() {...}</span></dt><dd><p><a name="d0e2881"></a>Results in a compilation error since a bounds specification is not allowed in this
+            </p></dd><dt><a name="d0e2861"></a><span class="term">R Foo&lt;Q, R extends Number&gt;.getMagnitude() {...}</span></dt><dd><p><a name="d0e2864"></a>Results in a compilation error since a bounds specification is not allowed in this
                 form of an inter-type declaration (the bounds are determined from the declaration of the
                 target type).
             </p></dd></dl></div><p>A parameterized type may not be the target of an inter-type declaration. This is because
@@ -408,12 +408,12 @@
       type <tt>Bar&lt;T&gt;</tt>. 
       </p></div><div class="sect2"><a name="declare-parents"></a><div class="titlepage"><div><h3 class="title"><a name="declare-parents"></a>Declare Parents</h3></div></div><p>Both generic and parameterized types can be used as the parent type in a <tt>declare parents</tt>
           statement (as long as the resulting type hierarchy would be well-formed in accordance with Java's sub-typing
-          rules). Generic types may also be used as the target type of a <tt>declare parents</tt> statement.</p><div class="variablelist"><dl><dt><a name="d0e2904"></a><span class="term">declare parents: Foo implements List&lt;String&gt;</span></dt><dd><p><a name="d0e2907"></a>The <tt>Foo</tt> type implements the <tt>List&lt;String&gt;</tt> interface. If
+          rules). Generic types may also be used as the target type of a <tt>declare parents</tt> statement.</p><div class="variablelist"><dl><dt><a name="d0e2887"></a><span class="term">declare parents: Foo implements List&lt;String&gt;</span></dt><dd><p><a name="d0e2890"></a>The <tt>Foo</tt> type implements the <tt>List&lt;String&gt;</tt> interface. If
             <tt>Foo</tt> already implements some other parameterization of the <tt>List</tt>
             interface (for example, <tt>List&lt;Integer&gt;</tt> then a compilation error will result since a 
             type cannot implement multiple parameterizations of the same generic interface type. 
             </p></dd></dl></div></div><div class="sect2"><a name="declare-soft"></a><div class="titlepage"><div><h3 class="title"><a name="declare-soft"></a>Declare Soft</h3></div></div><p>It is an error to use a generic or parameterized type as the softened exception type in a declare soft statement. Java 5 does
-          not permit a generic class to be a direct or indirect subtype of <tt>Throwable</tt> (JLS 8.1.2).</p></div><div class="sect2"><a name="generic-aspects"></a><div class="titlepage"><div><h3 class="title"><a name="generic-aspects"></a>Generic Aspects</h3></div></div><p><span class="emphasis"><i>This feature will not be fully implemented until AspectJ5 M4.</i></span></p><p>
+          not permit a generic class to be a direct or indirect subtype of <tt>Throwable</tt> (JLS 8.1.2).</p></div><div class="sect2"><a name="generic-aspects"></a><div class="titlepage"><div><h3 class="title"><a name="generic-aspects"></a>Generic Aspects</h3></div></div><p>
             AspectJ 5 allows an <span class="emphasis"><i>abstract</i></span> aspect to be declared as a generic type. Any concrete
             aspect extending a generic abstract aspect must extend a parameterized version of the abstract aspect.
             Wildcards are not permitted in this parameterization.     
@@ -421,12 +421,12 @@
             public abstract aspect ParentChildRelationship&lt;P,C&gt; {
                 ...
             }
-		</pre><p>then</p><div class="variablelist"><dl><dt><a name="d0e2951"></a><span class="term">public aspect FilesInFolders extends ParentChildRelationship&lt;Folder,File&gt; {...</span></dt><dd><p><a name="d0e2954"></a>declares a concrete sub-aspect, <tt>FilesInFolders</tt> which extends the
+		</pre><p>then</p><div class="variablelist"><dl><dt><a name="d0e2931"></a><span class="term">public aspect FilesInFolders extends ParentChildRelationship&lt;Folder,File&gt; {...</span></dt><dd><p><a name="d0e2934"></a>declares a concrete sub-aspect, <tt>FilesInFolders</tt> which extends the
             parameterized abstract aspect <tt>ParentChildRelationship&lt;Folder,File&gt;</tt>.
-            </p></dd><dt><a name="d0e2963"></a><span class="term">public aspect FilesInFolders extends ParentChildRelationship {...</span></dt><dd><p><a name="d0e2966"></a>results in a compilation error since the <tt>ParentChildRelationship</tt> aspect must
+            </p></dd><dt><a name="d0e2943"></a><span class="term">public aspect FilesInFolders extends ParentChildRelationship {...</span></dt><dd><p><a name="d0e2946"></a>results in a compilation error since the <tt>ParentChildRelationship</tt> aspect must
             be fully parameterized.
-            </p></dd><dt><a name="d0e2972"></a><span class="term">public aspect ThingsInFolders&lt;T&gt; extends ParentChildRelationship&lt;Folder,T&gt;</span></dt><dd><p><a name="d0e2975"></a>results in a compilation error since concrete aspects may not have type parameters.
-            </p></dd><dt><a name="d0e2978"></a><span class="term">public abstract aspect ThingsInFolders&lt;T&gt; extends ParentChildRelationship&lt;Folder,T&gt;</span></dt><dd><p><a name="d0e2981"></a>declares a sub-aspect of <tt>ParentChildRelationship</tt> in which <tt>Folder</tt>
+            </p></dd><dt><a name="d0e2952"></a><span class="term">public aspect ThingsInFolders&lt;T&gt; extends ParentChildRelationship&lt;Folder,T&gt;</span></dt><dd><p><a name="d0e2955"></a>results in a compilation error since concrete aspects may not have type parameters.
+            </p></dd><dt><a name="d0e2958"></a><span class="term">public abstract aspect ThingsInFolders&lt;T&gt; extends ParentChildRelationship&lt;Folder,T&gt;</span></dt><dd><p><a name="d0e2961"></a>declares a sub-aspect of <tt>ParentChildRelationship</tt> in which <tt>Folder</tt>
             plays the role of parent (is bound to the type variable <tt>P</tt>).
             </p></dd></dl></div><p>The type parameter variables from a generic aspect declaration may be used in place of a type within any
         member of the aspect, <span class="emphasis"><i>except for within inter-type declarations</i></span>. 
diff --git a/org.aspectj.ajde/doc/adk15notebook/generics.html b/org.aspectj.ajde/doc/adk15notebook/generics.html
index 5e8dc3e..53cb0c2 100755
--- a/org.aspectj.ajde/doc/adk15notebook/generics.html
+++ b/org.aspectj.ajde/doc/adk15notebook/generics.html
@@ -28,13 +28,13 @@
             all of its type parameters (for example, <tt>List&lt;String&gt;</tt> or <tt>List&lt;Food&gt;</tt>).
         </p><p>A generic type may be declared with multiple type parameters. In addition to simple type parameter names, type
         parameter declarations can also constrain the set of types allowed by using the <tt>extends</tt> 
-        keyword. Some examples follow:</p><div class="variablelist"><dl><dt><a name="d0e1714"></a><span class="term">class Foo&lt;T&gt; {...}</span></dt><dd><p><a name="d0e1717"></a>A class <tt>Foo</tt> with one type parameter, <tt>T</tt>.
-            </p></dd><dt><a name="d0e1726"></a><span class="term">class Foo&lt;T,S&gt; {...}</span></dt><dd><p><a name="d0e1729"></a>A class <tt>Foo</tt> with two type parameters, <tt>T</tt> and <tt>S</tt>.
-            </p></dd><dt><a name="d0e1741"></a><span class="term">class Foo&lt;T extends Number&gt; {...}</span></dt><dd><p><a name="d0e1744"></a>A class <tt>Foo</tt> with one type parameter <tt>T</tt>, where <tt>T</tt> must be
+        keyword. Some examples follow:</p><div class="variablelist"><dl><dt><a name="d0e1700"></a><span class="term">class Foo&lt;T&gt; {...}</span></dt><dd><p><a name="d0e1703"></a>A class <tt>Foo</tt> with one type parameter, <tt>T</tt>.
+            </p></dd><dt><a name="d0e1712"></a><span class="term">class Foo&lt;T,S&gt; {...}</span></dt><dd><p><a name="d0e1715"></a>A class <tt>Foo</tt> with two type parameters, <tt>T</tt> and <tt>S</tt>.
+            </p></dd><dt><a name="d0e1727"></a><span class="term">class Foo&lt;T extends Number&gt; {...}</span></dt><dd><p><a name="d0e1730"></a>A class <tt>Foo</tt> with one type parameter <tt>T</tt>, where <tt>T</tt> must be
             instantiated as the type <tt>Number</tt> or a subtype of <tt>Number</tt>.
-            </p></dd><dt><a name="d0e1762"></a><span class="term">class Foo&lt;T, S extends T&gt; {...}</span></dt><dd><p><a name="d0e1765"></a>A class <tt>Foo</tt> with two type parameters, <tt>T</tt> and <tt>S</tt>. <tt>Foo</tt>
+            </p></dd><dt><a name="d0e1748"></a><span class="term">class Foo&lt;T, S extends T&gt; {...}</span></dt><dd><p><a name="d0e1751"></a>A class <tt>Foo</tt> with two type parameters, <tt>T</tt> and <tt>S</tt>. <tt>Foo</tt>
             must be instantiated with a type <tt>S</tt> that is a subtype of the type specified for parameter <tt>T</tt>.
-            </p></dd><dt><a name="d0e1786"></a><span class="term">class Foo&lt;T extends Number &amp; Comparable&gt; {...}</span></dt><dd><p><a name="d0e1789"></a>A class <tt>Foo</tt> with one type parameter, <tt>T</tt>. <tt>Foo</tt>
+            </p></dd><dt><a name="d0e1772"></a><span class="term">class Foo&lt;T extends Number &amp; Comparable&gt; {...}</span></dt><dd><p><a name="d0e1775"></a>A class <tt>Foo</tt> with one type parameter, <tt>T</tt>. <tt>Foo</tt>
             must be instantiated with a type that is a subtype of <tt>Number</tt> and that implements <tt>Comparable</tt>.
             </p></dd></dl></div></div><div class="sect2"><a name="using-generic-and-parameterized-types"></a><div class="titlepage"><div><h3 class="title"><a name="using-generic-and-parameterized-types"></a>Using Generic and Parameterized Types</h3></div></div><p>You declare a variable (or a method/constructor argument) of a parameterized type  by specifying a concrete type specfication for each type parameter in
 	        the generic type. The following example declares a list of strings and a list of numbers:</p><pre class="programlisting">
@@ -53,25 +53,25 @@
 	     When declaring parameterized types, the <tt>?</tt> wildcard may be used, which stands for "some type".
 	     The <tt>extends</tt> and <tt>super</tt> keywords may be used in conjunction with the wildcard
 	     to provide upper and lower bounds on the types that may satisfy the type constraints. For example:
-	    </p><div class="variablelist"><dl><dt><a name="d0e1841"></a><span class="term">List&lt;?&gt;</span></dt><dd><p><a name="d0e1844"></a>A list containing elements of some type, the type of the elements in the list is unknown.
-            </p></dd><dt><a name="d0e1847"></a><span class="term">List&lt;? extends Number&gt;</span></dt><dd><p><a name="d0e1850"></a>A list containing elements of some type that extends Number, the exact type of the elements in the list is unknown.
-            </p></dd><dt><a name="d0e1853"></a><span class="term">List&lt;? super Double&gt;</span></dt><dd><p><a name="d0e1856"></a>A list containing elements of some type that is a super-type of Double, the exact type of the elements in the list is unknown.
+	    </p><div class="variablelist"><dl><dt><a name="d0e1827"></a><span class="term">List&lt;?&gt;</span></dt><dd><p><a name="d0e1830"></a>A list containing elements of some type, the type of the elements in the list is unknown.
+            </p></dd><dt><a name="d0e1833"></a><span class="term">List&lt;? extends Number&gt;</span></dt><dd><p><a name="d0e1836"></a>A list containing elements of some type that extends Number, the exact type of the elements in the list is unknown.
+            </p></dd><dt><a name="d0e1839"></a><span class="term">List&lt;? super Double&gt;</span></dt><dd><p><a name="d0e1842"></a>A list containing elements of some type that is a super-type of Double, the exact type of the elements in the list is unknown.
             </p></dd></dl></div><p>
       	  A generic type may be extended as any other type. Given a generic type <tt>Foo&lt;T&gt;</tt> then
       	  a subtype <tt>Goo</tt> may be declared in one of the following ways:      	
-      	</p><div class="variablelist"><dl><dt><a name="d0e1868"></a><span class="term">class Goo extends Foo</span></dt><dd><p><a name="d0e1871"></a>Here <tt>Foo</tt> is used as a raw type, and the appropriate warning messages will be
+      	</p><div class="variablelist"><dl><dt><a name="d0e1854"></a><span class="term">class Goo extends Foo</span></dt><dd><p><a name="d0e1857"></a>Here <tt>Foo</tt> is used as a raw type, and the appropriate warning messages will be
             issued by the compiler on attempting to invoke methods in <tt>Foo</tt>.
-            </p></dd><dt><a name="d0e1880"></a><span class="term">class Goo&lt;E&gt; extends Foo</span></dt><dd><p><a name="d0e1883"></a><tt>Goo</tt> is a generic type, but the super-type <tt>Foo</tt> is used as a raw
+            </p></dd><dt><a name="d0e1866"></a><span class="term">class Goo&lt;E&gt; extends Foo</span></dt><dd><p><a name="d0e1869"></a><tt>Goo</tt> is a generic type, but the super-type <tt>Foo</tt> is used as a raw
             type and the appropriate warning messages will be
             issued by the compiler on attempting to invoke methods defined by <tt>Foo</tt>.            
-            </p></dd><dt><a name="d0e1894"></a><span class="term">class Goo&lt;E&gt; extends Foo&lt;E&gt;</span></dt><dd><p><a name="d0e1897"></a>This is the most usual form. <tt>Goo</tt> is a generic type with one parameter that extends
+            </p></dd><dt><a name="d0e1880"></a><span class="term">class Goo&lt;E&gt; extends Foo&lt;E&gt;</span></dt><dd><p><a name="d0e1883"></a>This is the most usual form. <tt>Goo</tt> is a generic type with one parameter that extends
             the generic type <tt>Foo</tt> with that same parameter. So <tt>Goo&lt;String&lt;</tt> is 
             a subclass of <tt>Foo&lt;String&gt;</tt>.
-            </p></dd><dt><a name="d0e1912"></a><span class="term">class Goo&lt;E,F&gt; extends Foo&lt;E&gt;</span></dt><dd><p><a name="d0e1915"></a><tt>Goo</tt> is a generic type with two parameters that extends
+            </p></dd><dt><a name="d0e1898"></a><span class="term">class Goo&lt;E,F&gt; extends Foo&lt;E&gt;</span></dt><dd><p><a name="d0e1901"></a><tt>Goo</tt> is a generic type with two parameters that extends
             the generic type <tt>Foo</tt> with the first type parameter of <tt>Goo</tt> being used
             to parameterize <tt>Foo</tt>. So <tt>Goo&lt;String,Integer&lt;</tt> is 
             a subclass of <tt>Foo&lt;String&gt;</tt>.
-            </p></dd><dt><a name="d0e1935"></a><span class="term">class Goo extends Foo&lt;String&gt;</span></dt><dd><p><a name="d0e1938"></a><tt>Goo</tt> is a type that extends
+            </p></dd><dt><a name="d0e1921"></a><span class="term">class Goo extends Foo&lt;String&gt;</span></dt><dd><p><a name="d0e1924"></a><tt>Goo</tt> is a type that extends
             the parameterized type <tt>Foo&lt;String&gt;</tt>.
             </p></dd></dl></div><p>A generic type may implement one or more generic interfaces, following the type binding
 	    rules given above. A type may also implement one or more parameterized interfaces (for example,
diff --git a/org.aspectj.ajde/doc/adk15notebook/index.html b/org.aspectj.ajde/doc/adk15notebook/index.html
index 322d8c0..b72a116 100755
--- a/org.aspectj.ajde/doc/adk15notebook/index.html
+++ b/org.aspectj.ajde/doc/adk15notebook/index.html
@@ -5,17 +5,9 @@
         All rights reserved.
       </p></div></div><div><div class="abstract"><p><a name="d0e15"></a><b>Abstract</b></p><p>
         This guide describes the changes to the AspectJ language
-        and tools in AspectJ 5. These include support for Java 5 (Tiger) features,
-        enhancements to load-time weaving, an support for an annotation-based
-        development style for aspects.
+        in AspectJ 5. These include support for Java 5 (Tiger) features,
+        support for an annotation-based development style for aspects,
+        and new reflection and tools APIs.
         If you are new to AspectJ, we recommend you start 
         by reading the programming guide.
-      </p><p>
-         This is a draft document and is <span class="emphasis"><i>subject to change</i></span> before
-         the design and implementation is complete. There is also no guarantee that all
-         of the features in this document will be implemented in a 1.5.0 release - some
-         may be deferred until 1.5.1 or even later. In general, features in which we
-         have more confidence in the design will be implemented earlier, providing a 
-         framework for user feedback and direction setting on features for which the
-         use cases are less obvious at time of writing.
-      </p></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt>1. <a href="jpsigs.html">Join Point Signatures</a></dt><dd><dl><dt><a href="jpsigs.html#join-point-matching">Join Point Matching</a></dt><dt><a href="join-point-signatures.html">Join Point Signatures</a></dt><dd><dl><dt><a href="join-point-signatures.html#method-call-join-point-signatures">Method call join point signatures</a></dt><dt><a href="join-point-signatures.html#method-execution-join-point-signatures">Method execution join point signatures</a></dt><dt><a href="join-point-signatures.html#field-get-and-set-join-point-signatures">Field get and set join point signatures</a></dt></dl></dd><dt><a href="join-point-modifiers.html">Join Point Modifiers</a></dt><dt><a href="join-point-matching-summary.html">Summary of Join Point Matching</a></dt></dl></dd><dt>2. <a href="annotations.html">Annotations</a></dt><dd><dl><dt><a href="annotations.html#annotations-inJava5">Annotations in Java 5</a></dt><dd><dl><dt><a href="annotations.html#using-annotations">Using Annotations</a></dt><dt><a href="annotations.html#retention-policies">Retention Policies</a></dt><dt><a href="annotations.html#accessing-annotations-at-runtime">Accessing Annotations at Runtime</a></dt><dt><a href="annotations.html#annotation-inheritance">Annotation Inheritance</a></dt></dl></dd><dt><a href="annotations-aspectmembers.html">Annotating Aspects</a></dt><dt><a href="annotations-pointcuts-and-advice.html">Join Point Matching based on Annotations</a></dt><dd><dl><dt><a href="annotations-pointcuts-and-advice.html#annotation-patterns">Annotation Patterns</a></dt><dt><a href="annotations-pointcuts-and-advice.html#type-patterns">Type Patterns</a></dt><dt><a href="annotations-pointcuts-and-advice.html#signaturePatterns">Signature Patterns</a></dt><dt><a href="annotations-pointcuts-and-advice.html#example-pointcuts">Example Pointcuts</a></dt><dt><a href="annotations-pointcuts-and-advice.html#runtime-type-matching-and-context-exposure">Runtime type matching and context exposure</a></dt><dt><a href="annotations-pointcuts-and-advice.html#package-and-parameter-annotations">Package and Parameter Annotations</a></dt><dt><a href="annotations-pointcuts-and-advice.html#annotation-inheritance-and-pointcut-matching">Annotation Inheritance and pointcut matching</a></dt><dt><a href="annotations-pointcuts-and-advice.html#limitations">Limitations</a></dt></dl></dd><dt><a href="annotations-decp.html">Using Annotations with declare statements</a></dt><dd><dl><dt><a href="annotations-decp.html#declare-error-and-declare-warning">Declare error and declare warning</a></dt><dt><a href="annotations-decp.html#declare-parents">declare parents</a></dt><dt><a href="annotations-decp.html#declare-precedence">declare precedence</a></dt></dl></dd><dt><a href="annotations-declare.html">Declare Annotation</a></dt><dt><a href="annotations-itds.html">Inter-type Declarations</a></dt></dl></dd><dt>3. <a href="generics.html">Generics</a></dt><dd><dl><dt><a href="generics.html#generics-inJava5">Generics in Java 5</a></dt><dd><dl><dt><a href="generics.html#declaring-generic-types">Declaring Generic Types</a></dt><dt><a href="generics.html#using-generic-and-parameterized-types">Using Generic and Parameterized Types</a></dt><dt><a href="generics.html#subtypes-supertypes-and-assignability">Subtypes, Supertypes, and Assignability</a></dt><dt><a href="generics.html#generic-methods-and-constructors">Generic Methods and Constructors</a></dt><dt><a href="generics.html#erasure">Erasure</a></dt></dl></dd><dt><a href="generics-inAspectJ5.html">Generics in AspectJ 5</a></dt><dd><dl><dt><a href="generics-inAspectJ5.html#matching-generic-and-parameterized-types-in-pointcut-expressions">Matching generic and parameterized types in pointcut expressions</a></dt><dt><a href="generics-inAspectJ5.html#inter-type-declarations">Inter-type Declarations</a></dt><dt><a href="generics-inAspectJ5.html#declare-parents">Declare Parents</a></dt><dt><a href="generics-inAspectJ5.html#declare-soft">Declare Soft</a></dt><dt><a href="generics-inAspectJ5.html#generic-aspects">Generic Aspects</a></dt></dl></dd></dl></dd><dt>4. <a href="autoboxing.html">Autoboxing and Unboxing</a></dt><dd><dl><dt><a href="autoboxing.html#boxing-inJava5">Autoboxing and Unboxing in Java 5</a></dt><dt><a href="autoboxing-in-aspectj5.html">Autoboxing and Join Point matching in AspectJ 5</a></dt><dt><a href="autoboxing-and-method-dispatch.html">Inter-type method declarations and method dispatch</a></dt></dl></dd><dt>5. <a href="covariance.html">Covariance</a></dt><dd><dl><dt><a href="covariance.html#covariance-inJava5">Covariance in Java 5</a></dt><dt><a href="covariance-and-join-point-matching.html">Covariant methods and Join Point matching</a></dt></dl></dd><dt>6. <a href="varargs.html">Varargs</a></dt><dd><dl><dt><a href="varargs.html#varargs-inJava5">Variable-length Argument Lists in Java 5</a></dt><dd><dl><dt><a href="varargs.html#calling-methods-and-constructors-with-variable-length-arguments">Calling Methods and Constructors with variable-length arguments</a></dt></dl></dd><dt><a href="varargs-in-pcds.html">Using Variable-length arguments in advice and pointcut expressions</a></dt><dd><dl><dt><a href="varargs-in-pcds.html#matching-signatures-based-on-variable-length-argument-types">Matching signatures based on variable length argument types</a></dt><dt><a href="varargs-in-pcds.html#exposing-variable-length-arguments-as-context-in-pointcuts-and-advice">Exposing variable-length arguments as context in pointcuts and advice</a></dt></dl></dd></dl></dd><dt>7. <a href="enumeratedtypes.html">Enumerated Types</a></dt><dd><dl><dt><a href="enumeratedtypes.html#enums-in-java5">Enumerated Types in Java 5</a></dt><dt><a href="enums-in-aspectj5.html">Enumerated Types in AspectJ 5</a></dt></dl></dd><dt>8. <a href="pertypewithin.html">The pertypewithin Aspect Instantiation Model</a></dt><dt>9. <a href="ataspectj.html">An Annotation Based Development Style</a></dt><dd><dl><dt><a href="ataspectj.html#ataspectj-intro">Introduction</a></dt><dt><a href="ataspectj-aspects.html">Aspect Declarations</a></dt><dd><dl><dt><a href="ataspectj-aspects.html#limitations">Limitations</a></dt></dl></dd><dt><a href="ataspectj-pcadvice.html">Pointcuts and Advice</a></dt><dd><dl><dt><a href="ataspectj-pcadvice.html#pointcuts">Pointcuts</a></dt><dt><a href="ataspectj-pcadvice.html#advice">Advice</a></dt></dl></dd><dt><a href="ataspectj-itds.html">Inter-type Declarations</a></dt><dt><a href="ataspectj-declare.html">Declare statements</a></dt><dt><a href="ataspectj-aspectof.html">aspectOf() and hasAspect() methods</a></dt></dl></dd><dt>10. <a href="reflection.html">New Reflection Interfaces</a></dt><dd><dl><dt><a href="reflection.html#reflection_api">The Aspect Class</a></dt></dl></dd><dt>11. <a href="miscellaneous.html">Other Changes in AspectJ 5</a></dt><dd><dl><dt><a href="miscellaneous.html#d0e4061">Pointcuts</a></dt><dd><dl><dt><a href="miscellaneous.html#binding-of-formals">Binding of formals</a></dt><dt><a href="miscellaneous.html#additional-lint-warnings">Additional lint warnings</a></dt></dl></dd><dt><a href="declare-soft.html">Declare Soft</a></dt><dt><a href="ch11s03.html">Tools</a></dt><dd><dl><dt><a href="ch11s03.html#aspectpath">Aspectpath</a></dt></dl></dd></dl></dd><dt>12. <a href="ltw.html">Load-Time Weaving</a></dt><dd><dl><dt><a href="ltw.html#ltw-introduction">Introduction</a></dt></dl></dd><dt>A. <a href="grammar.html">A Grammar for the AspectJ 5 Language</a></dt></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left">&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="jpsigs.html">Next</a></td></tr><tr><td width="40%" align="left">&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;Chapter 1. Join Point Signatures</td></tr></table></div></body></html>
\ No newline at end of file
+      </p></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt>1. <a href="jpsigs.html">Join Point Signatures</a></dt><dd><dl><dt><a href="jpsigs.html#join-point-matching">Join Point Matching</a></dt><dt><a href="join-point-signatures.html">Join Point Signatures</a></dt><dd><dl><dt><a href="join-point-signatures.html#method-call-join-point-signatures">Method call join point signatures</a></dt><dt><a href="join-point-signatures.html#method-execution-join-point-signatures">Method execution join point signatures</a></dt><dt><a href="join-point-signatures.html#field-get-and-set-join-point-signatures">Field get and set join point signatures</a></dt></dl></dd><dt><a href="join-point-modifiers.html">Join Point Modifiers</a></dt><dt><a href="join-point-matching-summary.html">Summary of Join Point Matching</a></dt></dl></dd><dt>2. <a href="annotations.html">Annotations</a></dt><dd><dl><dt><a href="annotations.html#annotations-inJava5">Annotations in Java 5</a></dt><dd><dl><dt><a href="annotations.html#using-annotations">Using Annotations</a></dt><dt><a href="annotations.html#retention-policies">Retention Policies</a></dt><dt><a href="annotations.html#accessing-annotations-at-runtime">Accessing Annotations at Runtime</a></dt><dt><a href="annotations.html#annotation-inheritance">Annotation Inheritance</a></dt></dl></dd><dt><a href="annotations-aspectmembers.html">Annotating Aspects</a></dt><dt><a href="annotations-pointcuts-and-advice.html">Join Point Matching based on Annotations</a></dt><dd><dl><dt><a href="annotations-pointcuts-and-advice.html#annotation-patterns">Annotation Patterns</a></dt><dt><a href="annotations-pointcuts-and-advice.html#type-patterns">Type Patterns</a></dt><dt><a href="annotations-pointcuts-and-advice.html#signaturePatterns">Signature Patterns</a></dt><dt><a href="annotations-pointcuts-and-advice.html#example-pointcuts">Example Pointcuts</a></dt><dt><a href="annotations-pointcuts-and-advice.html#runtime-type-matching-and-context-exposure">Runtime type matching and context exposure</a></dt><dt><a href="annotations-pointcuts-and-advice.html#package-and-parameter-annotations">Package and Parameter Annotations</a></dt><dt><a href="annotations-pointcuts-and-advice.html#annotation-inheritance-and-pointcut-matching">Annotation Inheritance and pointcut matching</a></dt><dt><a href="annotations-pointcuts-and-advice.html#matchingOnAnnotationValues">Matching based on annotation values</a></dt></dl></dd><dt><a href="annotations-decp.html">Using Annotations with declare statements</a></dt><dd><dl><dt><a href="annotations-decp.html#declare-error-and-declare-warning">Declare error and declare warning</a></dt><dt><a href="annotations-decp.html#declare-parents">declare parents</a></dt><dt><a href="annotations-decp.html#declare-precedence">declare precedence</a></dt></dl></dd><dt><a href="annotations-declare.html">Declare Annotation</a></dt><dt><a href="annotations-itds.html">Inter-type Declarations</a></dt></dl></dd><dt>3. <a href="generics.html">Generics</a></dt><dd><dl><dt><a href="generics.html#generics-inJava5">Generics in Java 5</a></dt><dd><dl><dt><a href="generics.html#declaring-generic-types">Declaring Generic Types</a></dt><dt><a href="generics.html#using-generic-and-parameterized-types">Using Generic and Parameterized Types</a></dt><dt><a href="generics.html#subtypes-supertypes-and-assignability">Subtypes, Supertypes, and Assignability</a></dt><dt><a href="generics.html#generic-methods-and-constructors">Generic Methods and Constructors</a></dt><dt><a href="generics.html#erasure">Erasure</a></dt></dl></dd><dt><a href="generics-inAspectJ5.html">Generics in AspectJ 5</a></dt><dd><dl><dt><a href="generics-inAspectJ5.html#matching-generic-and-parameterized-types-in-pointcut-expressions">Matching generic and parameterized types in pointcut expressions</a></dt><dt><a href="generics-inAspectJ5.html#inter-type-declarations">Inter-type Declarations</a></dt><dt><a href="generics-inAspectJ5.html#declare-parents">Declare Parents</a></dt><dt><a href="generics-inAspectJ5.html#declare-soft">Declare Soft</a></dt><dt><a href="generics-inAspectJ5.html#generic-aspects">Generic Aspects</a></dt></dl></dd></dl></dd><dt>4. <a href="autoboxing.html">Autoboxing and Unboxing</a></dt><dd><dl><dt><a href="autoboxing.html#boxing-inJava5">Autoboxing and Unboxing in Java 5</a></dt><dt><a href="autoboxing-in-aspectj5.html">Autoboxing and Join Point matching in AspectJ 5</a></dt><dt><a href="autoboxing-and-method-dispatch.html">Inter-type method declarations and method dispatch</a></dt></dl></dd><dt>5. <a href="covariance.html">Covariance</a></dt><dd><dl><dt><a href="covariance.html#covariance-inJava5">Covariance in Java 5</a></dt><dt><a href="covariance-and-join-point-matching.html">Covariant methods and Join Point matching</a></dt></dl></dd><dt>6. <a href="varargs.html">Varargs</a></dt><dd><dl><dt><a href="varargs.html#varargs-inJava5">Variable-length Argument Lists in Java 5</a></dt><dd><dl><dt><a href="varargs.html#calling-methods-and-constructors-with-variable-length-arguments">Calling Methods and Constructors with variable-length arguments</a></dt></dl></dd><dt><a href="varargs-in-pcds.html">Using Variable-length arguments in advice and pointcut expressions</a></dt><dd><dl><dt><a href="varargs-in-pcds.html#matching-signatures-based-on-variable-length-argument-types">Matching signatures based on variable length argument types</a></dt><dt><a href="varargs-in-pcds.html#exposing-variable-length-arguments-as-context-in-pointcuts-and-advice">Exposing variable-length arguments as context in pointcuts and advice</a></dt></dl></dd></dl></dd><dt>7. <a href="enumeratedtypes.html">Enumerated Types</a></dt><dd><dl><dt><a href="enumeratedtypes.html#enums-in-java5">Enumerated Types in Java 5</a></dt><dt><a href="enums-in-aspectj5.html">Enumerated Types in AspectJ 5</a></dt></dl></dd><dt>8. <a href="pertypewithin.html">The pertypewithin Aspect Instantiation Model</a></dt><dt>9. <a href="ataspectj.html">An Annotation Based Development Style</a></dt><dd><dl><dt><a href="ataspectj.html#ataspectj-intro">Introduction</a></dt><dt><a href="ataspectj-aspects.html">Aspect Declarations</a></dt><dd><dl><dt><a href="ataspectj-aspects.html#limitations">Limitations</a></dt></dl></dd><dt><a href="ataspectj-pcadvice.html">Pointcuts and Advice</a></dt><dd><dl><dt><a href="ataspectj-pcadvice.html#pointcuts">Pointcuts</a></dt><dt><a href="ataspectj-pcadvice.html#advice">Advice</a></dt></dl></dd><dt><a href="ataspectj-itds.html">Inter-type Declarations</a></dt><dt><a href="ataspectj-declare.html">Declare statements</a></dt><dt><a href="ataspectj-aspectof.html">aspectOf() and hasAspect() methods</a></dt></dl></dd><dt>10. <a href="reflection.html">New Reflection Interfaces</a></dt><dd><dl><dt><a href="reflection.html#reflection_api">Using AjTypeSystem</a></dt></dl></dd><dt>11. <a href="miscellaneous.html">Other Changes in AspectJ 5</a></dt><dd><dl><dt><a href="miscellaneous.html#d0e4052">Pointcuts</a></dt><dt><a href="declare-soft.html">Declare Soft</a></dt></dl></dd><dt>12. <a href="ltw.html">Load-Time Weaving</a></dt><dd><dl><dt><a href="ltw.html#ltw-introduction">Introduction</a></dt></dl></dd></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left">&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="jpsigs.html">Next</a></td></tr><tr><td width="40%" align="left">&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;Chapter 1. Join Point Signatures</td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/org.aspectj.ajde/doc/adk15notebook/join-point-matching-summary.html b/org.aspectj.ajde/doc/adk15notebook/join-point-matching-summary.html
index 5f2edf0..a29c2eb 100755
--- a/org.aspectj.ajde/doc/adk15notebook/join-point-matching-summary.html
+++ b/org.aspectj.ajde/doc/adk15notebook/join-point-matching-summary.html
@@ -4,8 +4,8 @@
 		A join point has potentially multiple signatures, but only one set of
 		modifiers. <span class="emphasis"><i>A kinded primitive pointcut matches a particular join point 
 		if and only if</i></span>:
-		</p><div class="orderedlist"><ol type="1"><li><a name="d0e531"></a>They are of the same kind</li><li><a name="d0e533"></a>The signature pattern (exactly) matches at least one 
-		    signature of the join point</li><li><a name="d0e535"></a>The modifiers pattern matches the modifiers of the
+		</p><div class="orderedlist"><ol type="1"><li><a name="d0e526"></a>They are of the same kind</li><li><a name="d0e528"></a>The signature pattern (exactly) matches at least one 
+		    signature of the join point</li><li><a name="d0e530"></a>The modifiers pattern matches the modifiers of the
 		    subject of the join point</li></ol></div><p>Given the hierarchy</p><pre class="programlisting">
         interface Q {
           R m(String s);
diff --git a/org.aspectj.ajde/doc/adk15notebook/join-point-modifiers.html b/org.aspectj.ajde/doc/adk15notebook/join-point-modifiers.html
index 4f36761..5b74324 100755
--- a/org.aspectj.ajde/doc/adk15notebook/join-point-modifiers.html
+++ b/org.aspectj.ajde/doc/adk15notebook/join-point-modifiers.html
@@ -7,7 +7,7 @@
           modifiers of the <span class="emphasis"><i>subject</i></span> of the join point.</p><p>
           The following table defines the join point subject for each kind
           of join point.
-          </p><div class="informaltable" id="d0e440"><a name="d0e440"></a><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Join Point Kind</th><th>Subject</th></tr></thead><tbody><tr><td>Method call</td><td>The method picked out by Java as
+          </p><div class="informaltable" id="d0e435"><a name="d0e435"></a><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Join Point Kind</th><th>Subject</th></tr></thead><tbody><tr><td>Method call</td><td>The method picked out by Java as
                        the static target of the method call.</td></tr><tr><td>Method execution</td><td>The method that is executing.</td></tr><tr><td>Constructor call</td><td>The constructor being called.</td></tr><tr><td>Constructor execution</td><td>The constructor executing.</td></tr><tr><td>Field get</td><td>The field being accessed.</td></tr><tr><td>Field set</td><td>The field being set.</td></tr><tr><td>Pre-initialization</td><td>The first constructor executing in
                        this constructor chain.</td></tr><tr><td>Initialization</td><td>The first constructor executing in
                        this constructor chain.</td></tr><tr><td>Static initialization</td><td>The type being initialized.</td></tr><tr><td>Handler</td><td>The declared type of the
diff --git a/org.aspectj.ajde/doc/adk15notebook/join-point-signatures.html b/org.aspectj.ajde/doc/adk15notebook/join-point-signatures.html
index 3894dbb..eb88842 100755
--- a/org.aspectj.ajde/doc/adk15notebook/join-point-signatures.html
+++ b/org.aspectj.ajde/doc/adk15notebook/join-point-signatures.html
@@ -3,7 +3,7 @@
    <title>Join Point Signatures</title><link rel="stylesheet" href="aspectj-docs.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.44"><link rel="home" href="index.html" title="The AspectJTM 5 Development Kit Developer's Notebook"><link rel="up" href="jpsigs.html" title="Chapter 1. Join Point Signatures"><link rel="previous" href="jpsigs.html" title="Chapter 1. Join Point Signatures"><link rel="next" href="join-point-modifiers.html" title="Join Point Modifiers"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Join Point Signatures</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="jpsigs.html">Prev</a>&nbsp;</td><th width="60%" align="center">Chapter 1. Join Point Signatures</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="join-point-modifiers.html">Next</a></td></tr></table><hr></div><div class="sect1"><a name="join-point-signatures"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="join-point-signatures"></a>Join Point Signatures</h2></div></div><p>Call, execution, get, and set join points may potentially have multiple
         signatures. All other join points have exactly one signature. The
         following table summarizes the constituent parts of a join point
-        signature for the different kinds of join point.</p><div class="informaltable" id="d0e93"><a name="d0e93"></a><table border="1"><colgroup><col><col><col><col><col><col><col></colgroup><thead><tr><th>Join Point Kind</th><th>Return Type</th><th>Declaring Type</th><th>Id</th><th>Parameter Types</th><th>Field Type</th><th>Exception Type</th></tr></thead><tbody><tr><td>Method call</td><td>+</td><td>+</td><td>+</td><td>+</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>Method execution</td><td>+</td><td>+</td><td>+</td><td>+</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>Constructor call</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>Constructor execution</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>Field get</td><td>&nbsp;</td><td>+</td><td>+</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td></tr><tr><td>Field set</td><td>&nbsp;</td><td>+</td><td>+</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td></tr><tr><td>Pre-initialization</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>Initialization</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>Static initialization</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>Handler</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>+</td></tr><tr><td>Advice execution</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td><td>&nbsp;</td></tr></tbody></table></div><p>Note that whilst an advice excetution join point has a
+        signature for the different kinds of join point.</p><div class="informaltable" id="d0e88"><a name="d0e88"></a><table border="1"><colgroup><col><col><col><col><col><col><col></colgroup><thead><tr><th>Join Point Kind</th><th>Return Type</th><th>Declaring Type</th><th>Id</th><th>Parameter Types</th><th>Field Type</th><th>Exception Type</th></tr></thead><tbody><tr><td>Method call</td><td>+</td><td>+</td><td>+</td><td>+</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>Method execution</td><td>+</td><td>+</td><td>+</td><td>+</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>Constructor call</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>Constructor execution</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>Field get</td><td>&nbsp;</td><td>+</td><td>+</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td></tr><tr><td>Field set</td><td>&nbsp;</td><td>+</td><td>+</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td></tr><tr><td>Pre-initialization</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>Initialization</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>Static initialization</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>Handler</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>+</td></tr><tr><td>Advice execution</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td><td>&nbsp;</td></tr></tbody></table></div><p>Note that whilst an advice excetution join point has a
         signature comprising the declaring type of the advice and the
         advice parameter types, the <tt>adviceexecution</tt>
         pointcut designator does not support matching based on this
diff --git a/org.aspectj.ajde/doc/adk15notebook/jpsigs.html b/org.aspectj.ajde/doc/adk15notebook/jpsigs.html
index 2abf99d..68add2e 100755
--- a/org.aspectj.ajde/doc/adk15notebook/jpsigs.html
+++ b/org.aspectj.ajde/doc/adk15notebook/jpsigs.html
@@ -26,8 +26,8 @@
 		A join point has potentially multiple signatures, but only one set of
 		modifiers. <span class="emphasis"><i>A kinded primitive pointcut matches a particular join point 
 		if and only if</i></span>:
-		</p><div class="orderedlist"><ol type="1"><li><a name="d0e80"></a>They are of the same kind</li><li><a name="d0e82"></a>The signature pattern (exactly) matches at least one 
-		    signature of the join point</li><li><a name="d0e84"></a>The modifiers pattern matches the modifiers of the
+		</p><div class="orderedlist"><ol type="1"><li><a name="d0e75"></a>They are of the same kind</li><li><a name="d0e77"></a>The signature pattern (exactly) matches at least one 
+		    signature of the join point</li><li><a name="d0e79"></a>The modifiers pattern matches the modifiers of the
 		    subject of the join point</li></ol></div><p>These rules make it very easily to quickly determine whether a 
         given pointcut matches a given join point. In the next two sections,
         we describe what the signature(s) of a join point are, and what the
diff --git a/org.aspectj.ajde/doc/adk15notebook/ltw.html b/org.aspectj.ajde/doc/adk15notebook/ltw.html
index 5861104..ad9c7fb 100755
--- a/org.aspectj.ajde/doc/adk15notebook/ltw.html
+++ b/org.aspectj.ajde/doc/adk15notebook/ltw.html
@@ -1,3 +1,4 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-   <title>Chapter 12. Load-Time Weaving</title><link rel="stylesheet" href="aspectj-docs.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.44"><link rel="home" href="index.html" title="The AspectJTM 5 Development Kit Developer's Notebook"><link rel="up" href="index.html" title="The AspectJTM 5 Development Kit Developer's Notebook"><link rel="previous" href="ch11s03.html" title="Tools"><link rel="next" href="grammar.html" title="Appendix A. A Grammar for the AspectJ 5 Language"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 12. Load-Time Weaving</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch11s03.html">Prev</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="grammar.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="ltw"></a>Chapter 12. Load-Time Weaving</h2></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="ltw.html#ltw-introduction">Introduction</a></dt></dl></div><div class="sect1"><a name="ltw-introduction"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="ltw-introduction"></a>Introduction</h2></div></div><p>See Developer's Guide.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch11s03.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="grammar.html">Next</a></td></tr><tr><td width="40%" align="left">Tools&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right">&nbsp;Appendix A. A Grammar for the AspectJ 5 Language</td></tr></table></div></body></html>
\ No newline at end of file
+   <title>Chapter 12. Load-Time Weaving</title><link rel="stylesheet" href="aspectj-docs.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.44"><link rel="home" href="index.html" title="The AspectJTM 5 Development Kit Developer's Notebook"><link rel="up" href="index.html" title="The AspectJTM 5 Development Kit Developer's Notebook"><link rel="previous" href="declare-soft.html" title="Declare Soft"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 12. Load-Time Weaving</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="declare-soft.html">Prev</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;</td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="ltw"></a>Chapter 12. Load-Time Weaving</h2></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="ltw.html#ltw-introduction">Introduction</a></dt></dl></div><div class="sect1"><a name="ltw-introduction"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="ltw-introduction"></a>Introduction</h2></div></div><p>See Developer's Guide for information on 
+        load-time weaving support in AspectJ 5.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="declare-soft.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right">&nbsp;</td></tr><tr><td width="40%" align="left">Declare Soft&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right">&nbsp;</td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/org.aspectj.ajde/doc/adk15notebook/miscellaneous.html b/org.aspectj.ajde/doc/adk15notebook/miscellaneous.html
index f9d346a..dd42622 100755
--- a/org.aspectj.ajde/doc/adk15notebook/miscellaneous.html
+++ b/org.aspectj.ajde/doc/adk15notebook/miscellaneous.html
@@ -1,6 +1,6 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-   <title>Chapter 11. Other Changes in AspectJ 5</title><link rel="stylesheet" href="aspectj-docs.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.44"><link rel="home" href="index.html" title="The AspectJTM 5 Development Kit Developer's Notebook"><link rel="up" href="index.html" title="The AspectJTM 5 Development Kit Developer's Notebook"><link rel="previous" href="reflection.html" title="Chapter 10. New Reflection Interfaces"><link rel="next" href="declare-soft.html" title="Declare Soft"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 11. Other Changes in AspectJ 5</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="reflection.html">Prev</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="declare-soft.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="miscellaneous"></a>Chapter 11. Other Changes in AspectJ 5</h2></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="miscellaneous.html#d0e4061">Pointcuts</a></dt><dd><dl><dt><a href="miscellaneous.html#binding-of-formals">Binding of formals</a></dt><dt><a href="miscellaneous.html#additional-lint-warnings">Additional lint warnings</a></dt></dl></dd><dt><a href="declare-soft.html">Declare Soft</a></dt><dt><a href="ch11s03.html">Tools</a></dt><dd><dl><dt><a href="ch11s03.html#aspectpath">Aspectpath</a></dt></dl></dd></dl></div><div class="sect1"><a name="d0e4061"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="d0e4061"></a>Pointcuts</h2></div></div><div class="sect2"><a name="binding-of-formals"></a><div class="titlepage"><div><h3 class="title"><a name="binding-of-formals"></a>Binding of formals</h3></div></div><p>
+   <title>Chapter 11. Other Changes in AspectJ 5</title><link rel="stylesheet" href="aspectj-docs.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.44"><link rel="home" href="index.html" title="The AspectJTM 5 Development Kit Developer's Notebook"><link rel="up" href="index.html" title="The AspectJTM 5 Development Kit Developer's Notebook"><link rel="previous" href="reflection.html" title="Chapter 10. New Reflection Interfaces"><link rel="next" href="declare-soft.html" title="Declare Soft"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 11. Other Changes in AspectJ 5</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="reflection.html">Prev</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="declare-soft.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="miscellaneous"></a>Chapter 11. Other Changes in AspectJ 5</h2></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="miscellaneous.html#d0e4052">Pointcuts</a></dt><dt><a href="declare-soft.html">Declare Soft</a></dt></dl></div><div class="sect1"><a name="d0e4052"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="d0e4052"></a>Pointcuts</h2></div></div><p>
            AspectJ 5 is more liberal than AspectJ 1.2.1 in accepting pointcut expressions
            that bind context variables in more than one location. For example, AspectJ
            1.2.1 does not allow:
@@ -13,8 +13,4 @@
 		     must be mutually exclusive. In the above example for instance, no join point
 		     can be both an execution join point and a set join point so the two branches
 		     are mutually exclusive.
-		  </p></div><div class="sect2"><a name="additional-lint-warnings"></a><div class="titlepage"><div><h3 class="title"><a name="additional-lint-warnings"></a>Additional lint warnings</h3></div></div><p>
-            Discuss detection of common errors -&gt; warning/error, eg. conjunction of more than one
-            kind of join point. Differing numbers of args in method signature / args / @args /
-            @parameters.
-          </p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="reflection.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="declare-soft.html">Next</a></td></tr><tr><td width="40%" align="left">Chapter 10. New Reflection Interfaces&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right">&nbsp;Declare Soft</td></tr></table></div></body></html>
\ No newline at end of file
+		  </p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="reflection.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="declare-soft.html">Next</a></td></tr><tr><td width="40%" align="left">Chapter 10. New Reflection Interfaces&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right">&nbsp;Declare Soft</td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/org.aspectj.ajde/doc/adk15notebook/printable.html b/org.aspectj.ajde/doc/adk15notebook/printable.html
index 179dfed..29490bc 100755
--- a/org.aspectj.ajde/doc/adk15notebook/printable.html
+++ b/org.aspectj.ajde/doc/adk15notebook/printable.html
@@ -5,20 +5,12 @@
         All rights reserved.
       </p></div></div><div><div class="abstract"><p><a name="d0e15"></a><b>Abstract</b></p><p>
         This guide describes the changes to the AspectJ language
-        and tools in AspectJ 5. These include support for Java 5 (Tiger) features,
-        enhancements to load-time weaving, an support for an annotation-based
-        development style for aspects.
+        in AspectJ 5. These include support for Java 5 (Tiger) features,
+        support for an annotation-based development style for aspects,
+        and new reflection and tools APIs.
         If you are new to AspectJ, we recommend you start 
         by reading the programming guide.
-      </p><p>
-         This is a draft document and is <span class="emphasis"><i>subject to change</i></span> before
-         the design and implementation is complete. There is also no guarantee that all
-         of the features in this document will be implemented in a 1.5.0 release - some
-         may be deferred until 1.5.1 or even later. In general, features in which we
-         have more confidence in the design will be implemented earlier, providing a 
-         framework for user feedback and direction setting on features for which the
-         use cases are less obvious at time of writing.
-      </p></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt>1. <a href="#jpsigs">Join Point Signatures</a></dt><dd><dl><dt><a href="#join-point-matching">Join Point Matching</a></dt><dt><a href="#join-point-signatures">Join Point Signatures</a></dt><dd><dl><dt><a href="#method-call-join-point-signatures">Method call join point signatures</a></dt><dt><a href="#method-execution-join-point-signatures">Method execution join point signatures</a></dt><dt><a href="#field-get-and-set-join-point-signatures">Field get and set join point signatures</a></dt></dl></dd><dt><a href="#join-point-modifiers">Join Point Modifiers</a></dt><dt><a href="#join-point-matching-summary">Summary of Join Point Matching</a></dt></dl></dd><dt>2. <a href="#annotations">Annotations</a></dt><dd><dl><dt><a href="#annotations-inJava5">Annotations in Java 5</a></dt><dd><dl><dt><a href="#using-annotations">Using Annotations</a></dt><dt><a href="#retention-policies">Retention Policies</a></dt><dt><a href="#accessing-annotations-at-runtime">Accessing Annotations at Runtime</a></dt><dt><a href="#annotation-inheritance">Annotation Inheritance</a></dt></dl></dd><dt><a href="#annotations-aspectmembers">Annotating Aspects</a></dt><dt><a href="#annotations-pointcuts-and-advice">Join Point Matching based on Annotations</a></dt><dd><dl><dt><a href="#annotation-patterns">Annotation Patterns</a></dt><dt><a href="#type-patterns">Type Patterns</a></dt><dt><a href="#signaturePatterns">Signature Patterns</a></dt><dt><a href="#example-pointcuts">Example Pointcuts</a></dt><dt><a href="#runtime-type-matching-and-context-exposure">Runtime type matching and context exposure</a></dt><dt><a href="#package-and-parameter-annotations">Package and Parameter Annotations</a></dt><dt><a href="#annotation-inheritance-and-pointcut-matching">Annotation Inheritance and pointcut matching</a></dt><dt><a href="#limitations">Limitations</a></dt></dl></dd><dt><a href="#annotations-decp">Using Annotations with declare statements</a></dt><dd><dl><dt><a href="#declare-error-and-declare-warning">Declare error and declare warning</a></dt><dt><a href="#declare-parents">declare parents</a></dt><dt><a href="#declare-precedence">declare precedence</a></dt></dl></dd><dt><a href="#annotations-declare">Declare Annotation</a></dt><dt><a href="#annotations-itds">Inter-type Declarations</a></dt></dl></dd><dt>3. <a href="#generics">Generics</a></dt><dd><dl><dt><a href="#generics-inJava5">Generics in Java 5</a></dt><dd><dl><dt><a href="#declaring-generic-types">Declaring Generic Types</a></dt><dt><a href="#using-generic-and-parameterized-types">Using Generic and Parameterized Types</a></dt><dt><a href="#subtypes-supertypes-and-assignability">Subtypes, Supertypes, and Assignability</a></dt><dt><a href="#generic-methods-and-constructors">Generic Methods and Constructors</a></dt><dt><a href="#erasure">Erasure</a></dt></dl></dd><dt><a href="#generics-inAspectJ5">Generics in AspectJ 5</a></dt><dd><dl><dt><a href="#matching-generic-and-parameterized-types-in-pointcut-expressions">Matching generic and parameterized types in pointcut expressions</a></dt><dt><a href="#inter-type-declarations">Inter-type Declarations</a></dt><dt><a href="#declare-parents">Declare Parents</a></dt><dt><a href="#declare-soft">Declare Soft</a></dt><dt><a href="#generic-aspects">Generic Aspects</a></dt></dl></dd></dl></dd><dt>4. <a href="#autoboxing">Autoboxing and Unboxing</a></dt><dd><dl><dt><a href="#boxing-inJava5">Autoboxing and Unboxing in Java 5</a></dt><dt><a href="#autoboxing-in-aspectj5">Autoboxing and Join Point matching in AspectJ 5</a></dt><dt><a href="#autoboxing-and-method-dispatch">Inter-type method declarations and method dispatch</a></dt></dl></dd><dt>5. <a href="#covariance">Covariance</a></dt><dd><dl><dt><a href="#covariance-inJava5">Covariance in Java 5</a></dt><dt><a href="#covariance-and-join-point-matching">Covariant methods and Join Point matching</a></dt></dl></dd><dt>6. <a href="#varargs">Varargs</a></dt><dd><dl><dt><a href="#varargs-inJava5">Variable-length Argument Lists in Java 5</a></dt><dd><dl><dt><a href="#calling-methods-and-constructors-with-variable-length-arguments">Calling Methods and Constructors with variable-length arguments</a></dt></dl></dd><dt><a href="#varargs-in-pcds">Using Variable-length arguments in advice and pointcut expressions</a></dt><dd><dl><dt><a href="#matching-signatures-based-on-variable-length-argument-types">Matching signatures based on variable length argument types</a></dt><dt><a href="#exposing-variable-length-arguments-as-context-in-pointcuts-and-advice">Exposing variable-length arguments as context in pointcuts and advice</a></dt></dl></dd></dl></dd><dt>7. <a href="#enumeratedtypes">Enumerated Types</a></dt><dd><dl><dt><a href="#enums-in-java5">Enumerated Types in Java 5</a></dt><dt><a href="#enums-in-aspectj5">Enumerated Types in AspectJ 5</a></dt></dl></dd><dt>8. <a href="#pertypewithin">The pertypewithin Aspect Instantiation Model</a></dt><dt>9. <a href="#ataspectj">An Annotation Based Development Style</a></dt><dd><dl><dt><a href="#ataspectj-intro">Introduction</a></dt><dt><a href="#ataspectj-aspects">Aspect Declarations</a></dt><dd><dl><dt><a href="#limitations">Limitations</a></dt></dl></dd><dt><a href="#ataspectj-pcadvice">Pointcuts and Advice</a></dt><dd><dl><dt><a href="#pointcuts">Pointcuts</a></dt><dt><a href="#advice">Advice</a></dt></dl></dd><dt><a href="#ataspectj-itds">Inter-type Declarations</a></dt><dt><a href="#ataspectj-declare">Declare statements</a></dt><dt><a href="#ataspectj-aspectof">aspectOf() and hasAspect() methods</a></dt></dl></dd><dt>10. <a href="#reflection">New Reflection Interfaces</a></dt><dd><dl><dt><a href="#reflection_api">The Aspect Class</a></dt></dl></dd><dt>11. <a href="#miscellaneous">Other Changes in AspectJ 5</a></dt><dd><dl><dt><a href="#d0e4061">Pointcuts</a></dt><dd><dl><dt><a href="#binding-of-formals">Binding of formals</a></dt><dt><a href="#additional-lint-warnings">Additional lint warnings</a></dt></dl></dd><dt><a href="#declare-soft">Declare Soft</a></dt><dt><a href="#d0e4115">Tools</a></dt><dd><dl><dt><a href="#aspectpath">Aspectpath</a></dt></dl></dd></dl></dd><dt>12. <a href="#ltw">Load-Time Weaving</a></dt><dd><dl><dt><a href="#ltw-introduction">Introduction</a></dt></dl></dd><dt>A. <a href="#grammar">A Grammar for the AspectJ 5 Language</a></dt></dl></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="jpsigs"></a>Chapter 1. Join Point Signatures</h2></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="#join-point-matching">Join Point Matching</a></dt><dt><a href="#join-point-signatures">Join Point Signatures</a></dt><dd><dl><dt><a href="#method-call-join-point-signatures">Method call join point signatures</a></dt><dt><a href="#method-execution-join-point-signatures">Method execution join point signatures</a></dt><dt><a href="#field-get-and-set-join-point-signatures">Field get and set join point signatures</a></dt></dl></dd><dt><a href="#join-point-modifiers">Join Point Modifiers</a></dt><dt><a href="#join-point-matching-summary">Summary of Join Point Matching</a></dt></dl></div><p>
+      </p></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt>1. <a href="#jpsigs">Join Point Signatures</a></dt><dd><dl><dt><a href="#join-point-matching">Join Point Matching</a></dt><dt><a href="#join-point-signatures">Join Point Signatures</a></dt><dd><dl><dt><a href="#method-call-join-point-signatures">Method call join point signatures</a></dt><dt><a href="#method-execution-join-point-signatures">Method execution join point signatures</a></dt><dt><a href="#field-get-and-set-join-point-signatures">Field get and set join point signatures</a></dt></dl></dd><dt><a href="#join-point-modifiers">Join Point Modifiers</a></dt><dt><a href="#join-point-matching-summary">Summary of Join Point Matching</a></dt></dl></dd><dt>2. <a href="#annotations">Annotations</a></dt><dd><dl><dt><a href="#annotations-inJava5">Annotations in Java 5</a></dt><dd><dl><dt><a href="#using-annotations">Using Annotations</a></dt><dt><a href="#retention-policies">Retention Policies</a></dt><dt><a href="#accessing-annotations-at-runtime">Accessing Annotations at Runtime</a></dt><dt><a href="#annotation-inheritance">Annotation Inheritance</a></dt></dl></dd><dt><a href="#annotations-aspectmembers">Annotating Aspects</a></dt><dt><a href="#annotations-pointcuts-and-advice">Join Point Matching based on Annotations</a></dt><dd><dl><dt><a href="#annotation-patterns">Annotation Patterns</a></dt><dt><a href="#type-patterns">Type Patterns</a></dt><dt><a href="#signaturePatterns">Signature Patterns</a></dt><dt><a href="#example-pointcuts">Example Pointcuts</a></dt><dt><a href="#runtime-type-matching-and-context-exposure">Runtime type matching and context exposure</a></dt><dt><a href="#package-and-parameter-annotations">Package and Parameter Annotations</a></dt><dt><a href="#annotation-inheritance-and-pointcut-matching">Annotation Inheritance and pointcut matching</a></dt><dt><a href="#matchingOnAnnotationValues">Matching based on annotation values</a></dt></dl></dd><dt><a href="#annotations-decp">Using Annotations with declare statements</a></dt><dd><dl><dt><a href="#declare-error-and-declare-warning">Declare error and declare warning</a></dt><dt><a href="#declare-parents">declare parents</a></dt><dt><a href="#declare-precedence">declare precedence</a></dt></dl></dd><dt><a href="#annotations-declare">Declare Annotation</a></dt><dt><a href="#annotations-itds">Inter-type Declarations</a></dt></dl></dd><dt>3. <a href="#generics">Generics</a></dt><dd><dl><dt><a href="#generics-inJava5">Generics in Java 5</a></dt><dd><dl><dt><a href="#declaring-generic-types">Declaring Generic Types</a></dt><dt><a href="#using-generic-and-parameterized-types">Using Generic and Parameterized Types</a></dt><dt><a href="#subtypes-supertypes-and-assignability">Subtypes, Supertypes, and Assignability</a></dt><dt><a href="#generic-methods-and-constructors">Generic Methods and Constructors</a></dt><dt><a href="#erasure">Erasure</a></dt></dl></dd><dt><a href="#generics-inAspectJ5">Generics in AspectJ 5</a></dt><dd><dl><dt><a href="#matching-generic-and-parameterized-types-in-pointcut-expressions">Matching generic and parameterized types in pointcut expressions</a></dt><dt><a href="#inter-type-declarations">Inter-type Declarations</a></dt><dt><a href="#declare-parents">Declare Parents</a></dt><dt><a href="#declare-soft">Declare Soft</a></dt><dt><a href="#generic-aspects">Generic Aspects</a></dt></dl></dd></dl></dd><dt>4. <a href="#autoboxing">Autoboxing and Unboxing</a></dt><dd><dl><dt><a href="#boxing-inJava5">Autoboxing and Unboxing in Java 5</a></dt><dt><a href="#autoboxing-in-aspectj5">Autoboxing and Join Point matching in AspectJ 5</a></dt><dt><a href="#autoboxing-and-method-dispatch">Inter-type method declarations and method dispatch</a></dt></dl></dd><dt>5. <a href="#covariance">Covariance</a></dt><dd><dl><dt><a href="#covariance-inJava5">Covariance in Java 5</a></dt><dt><a href="#covariance-and-join-point-matching">Covariant methods and Join Point matching</a></dt></dl></dd><dt>6. <a href="#varargs">Varargs</a></dt><dd><dl><dt><a href="#varargs-inJava5">Variable-length Argument Lists in Java 5</a></dt><dd><dl><dt><a href="#calling-methods-and-constructors-with-variable-length-arguments">Calling Methods and Constructors with variable-length arguments</a></dt></dl></dd><dt><a href="#varargs-in-pcds">Using Variable-length arguments in advice and pointcut expressions</a></dt><dd><dl><dt><a href="#matching-signatures-based-on-variable-length-argument-types">Matching signatures based on variable length argument types</a></dt><dt><a href="#exposing-variable-length-arguments-as-context-in-pointcuts-and-advice">Exposing variable-length arguments as context in pointcuts and advice</a></dt></dl></dd></dl></dd><dt>7. <a href="#enumeratedtypes">Enumerated Types</a></dt><dd><dl><dt><a href="#enums-in-java5">Enumerated Types in Java 5</a></dt><dt><a href="#enums-in-aspectj5">Enumerated Types in AspectJ 5</a></dt></dl></dd><dt>8. <a href="#pertypewithin">The pertypewithin Aspect Instantiation Model</a></dt><dt>9. <a href="#ataspectj">An Annotation Based Development Style</a></dt><dd><dl><dt><a href="#ataspectj-intro">Introduction</a></dt><dt><a href="#ataspectj-aspects">Aspect Declarations</a></dt><dd><dl><dt><a href="#limitations">Limitations</a></dt></dl></dd><dt><a href="#ataspectj-pcadvice">Pointcuts and Advice</a></dt><dd><dl><dt><a href="#pointcuts">Pointcuts</a></dt><dt><a href="#advice">Advice</a></dt></dl></dd><dt><a href="#ataspectj-itds">Inter-type Declarations</a></dt><dt><a href="#ataspectj-declare">Declare statements</a></dt><dt><a href="#ataspectj-aspectof">aspectOf() and hasAspect() methods</a></dt></dl></dd><dt>10. <a href="#reflection">New Reflection Interfaces</a></dt><dd><dl><dt><a href="#reflection_api">Using AjTypeSystem</a></dt></dl></dd><dt>11. <a href="#miscellaneous">Other Changes in AspectJ 5</a></dt><dd><dl><dt><a href="#d0e4052">Pointcuts</a></dt><dt><a href="#declare-soft">Declare Soft</a></dt></dl></dd><dt>12. <a href="#ltw">Load-Time Weaving</a></dt><dd><dl><dt><a href="#ltw-introduction">Introduction</a></dt></dl></dd></dl></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="jpsigs"></a>Chapter 1. Join Point Signatures</h2></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="#join-point-matching">Join Point Matching</a></dt><dt><a href="#join-point-signatures">Join Point Signatures</a></dt><dd><dl><dt><a href="#method-call-join-point-signatures">Method call join point signatures</a></dt><dt><a href="#method-execution-join-point-signatures">Method execution join point signatures</a></dt><dt><a href="#field-get-and-set-join-point-signatures">Field get and set join point signatures</a></dt></dl></dd><dt><a href="#join-point-modifiers">Join Point Modifiers</a></dt><dt><a href="#join-point-matching-summary">Summary of Join Point Matching</a></dt></dl></div><p>
         Many of the extensions to the AspectJ language to address the new features of
         Java 5 are derived from a simple set of principles for join point
         matching. In this section, we outline these principles as a foundation
@@ -44,15 +36,15 @@
 		A join point has potentially multiple signatures, but only one set of
 		modifiers. <span class="emphasis"><i>A kinded primitive pointcut matches a particular join point 
 		if and only if</i></span>:
-		</p><div class="orderedlist"><ol type="1"><li><a name="d0e80"></a>They are of the same kind</li><li><a name="d0e82"></a>The signature pattern (exactly) matches at least one 
-		    signature of the join point</li><li><a name="d0e84"></a>The modifiers pattern matches the modifiers of the
+		</p><div class="orderedlist"><ol type="1"><li><a name="d0e75"></a>They are of the same kind</li><li><a name="d0e77"></a>The signature pattern (exactly) matches at least one 
+		    signature of the join point</li><li><a name="d0e79"></a>The modifiers pattern matches the modifiers of the
 		    subject of the join point</li></ol></div><p>These rules make it very easily to quickly determine whether a 
         given pointcut matches a given join point. In the next two sections,
         we describe what the signature(s) of a join point are, and what the
         subjects of join points are.</p></div><div class="sect1"><a name="join-point-signatures"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="join-point-signatures"></a>Join Point Signatures</h2></div></div><p>Call, execution, get, and set join points may potentially have multiple
         signatures. All other join points have exactly one signature. The
         following table summarizes the constituent parts of a join point
-        signature for the different kinds of join point.</p><div class="informaltable" id="d0e93"><a name="d0e93"></a><table border="1"><colgroup><col><col><col><col><col><col><col></colgroup><thead><tr><th>Join Point Kind</th><th>Return Type</th><th>Declaring Type</th><th>Id</th><th>Parameter Types</th><th>Field Type</th><th>Exception Type</th></tr></thead><tbody><tr><td>Method call</td><td>+</td><td>+</td><td>+</td><td>+</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>Method execution</td><td>+</td><td>+</td><td>+</td><td>+</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>Constructor call</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>Constructor execution</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>Field get</td><td>&nbsp;</td><td>+</td><td>+</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td></tr><tr><td>Field set</td><td>&nbsp;</td><td>+</td><td>+</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td></tr><tr><td>Pre-initialization</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>Initialization</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>Static initialization</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>Handler</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>+</td></tr><tr><td>Advice execution</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td><td>&nbsp;</td></tr></tbody></table></div><p>Note that whilst an advice excetution join point has a
+        signature for the different kinds of join point.</p><div class="informaltable" id="d0e88"><a name="d0e88"></a><table border="1"><colgroup><col><col><col><col><col><col><col></colgroup><thead><tr><th>Join Point Kind</th><th>Return Type</th><th>Declaring Type</th><th>Id</th><th>Parameter Types</th><th>Field Type</th><th>Exception Type</th></tr></thead><tbody><tr><td>Method call</td><td>+</td><td>+</td><td>+</td><td>+</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>Method execution</td><td>+</td><td>+</td><td>+</td><td>+</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>Constructor call</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>Constructor execution</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>Field get</td><td>&nbsp;</td><td>+</td><td>+</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td></tr><tr><td>Field set</td><td>&nbsp;</td><td>+</td><td>+</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td></tr><tr><td>Pre-initialization</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>Initialization</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>Static initialization</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>Handler</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>+</td></tr><tr><td>Advice execution</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td><td>+</td><td>&nbsp;</td><td>&nbsp;</td></tr></tbody></table></div><p>Note that whilst an advice excetution join point has a
         signature comprising the declaring type of the advice and the
         advice parameter types, the <tt>adviceexecution</tt>
         pointcut designator does not support matching based on this
@@ -184,7 +176,7 @@
           modifiers of the <span class="emphasis"><i>subject</i></span> of the join point.</p><p>
           The following table defines the join point subject for each kind
           of join point.
-          </p><div class="informaltable" id="d0e440"><a name="d0e440"></a><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Join Point Kind</th><th>Subject</th></tr></thead><tbody><tr><td>Method call</td><td>The method picked out by Java as
+          </p><div class="informaltable" id="d0e435"><a name="d0e435"></a><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Join Point Kind</th><th>Subject</th></tr></thead><tbody><tr><td>Method call</td><td>The method picked out by Java as
                        the static target of the method call.</td></tr><tr><td>Method execution</td><td>The method that is executing.</td></tr><tr><td>Constructor call</td><td>The constructor being called.</td></tr><tr><td>Constructor execution</td><td>The constructor executing.</td></tr><tr><td>Field get</td><td>The field being accessed.</td></tr><tr><td>Field set</td><td>The field being set.</td></tr><tr><td>Pre-initialization</td><td>The first constructor executing in
                        this constructor chain.</td></tr><tr><td>Initialization</td><td>The first constructor executing in
                        this constructor chain.</td></tr><tr><td>Static initialization</td><td>The type being initialized.</td></tr><tr><td>Handler</td><td>The declared type of the
@@ -204,8 +196,8 @@
 		A join point has potentially multiple signatures, but only one set of
 		modifiers. <span class="emphasis"><i>A kinded primitive pointcut matches a particular join point 
 		if and only if</i></span>:
-		</p><div class="orderedlist"><ol type="1"><li><a name="d0e531"></a>They are of the same kind</li><li><a name="d0e533"></a>The signature pattern (exactly) matches at least one 
-		    signature of the join point</li><li><a name="d0e535"></a>The modifiers pattern matches the modifiers of the
+		</p><div class="orderedlist"><ol type="1"><li><a name="d0e526"></a>They are of the same kind</li><li><a name="d0e528"></a>The signature pattern (exactly) matches at least one 
+		    signature of the join point</li><li><a name="d0e530"></a>The modifiers pattern matches the modifiers of the
 		    subject of the join point</li></ol></div><p>Given the hierarchy</p><pre class="programlisting">
         interface Q {
           R m(String s);
@@ -242,7 +234,7 @@
         calls <tt>t.m("hello")</tt> and <tt>s.m("hello")</tt>.
         It does not match the call <tt>p.m("hello")</tt> since the
         signature pattern does not match any signature for the call join point
-        of m in P.</p></div></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="annotations"></a>Chapter 2. Annotations</h2></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="#annotations-inJava5">Annotations in Java 5</a></dt><dd><dl><dt><a href="#using-annotations">Using Annotations</a></dt><dt><a href="#retention-policies">Retention Policies</a></dt><dt><a href="#accessing-annotations-at-runtime">Accessing Annotations at Runtime</a></dt><dt><a href="#annotation-inheritance">Annotation Inheritance</a></dt></dl></dd><dt><a href="#annotations-aspectmembers">Annotating Aspects</a></dt><dt><a href="#annotations-pointcuts-and-advice">Join Point Matching based on Annotations</a></dt><dd><dl><dt><a href="#annotation-patterns">Annotation Patterns</a></dt><dt><a href="#type-patterns">Type Patterns</a></dt><dt><a href="#signaturePatterns">Signature Patterns</a></dt><dt><a href="#example-pointcuts">Example Pointcuts</a></dt><dt><a href="#runtime-type-matching-and-context-exposure">Runtime type matching and context exposure</a></dt><dt><a href="#package-and-parameter-annotations">Package and Parameter Annotations</a></dt><dt><a href="#annotation-inheritance-and-pointcut-matching">Annotation Inheritance and pointcut matching</a></dt><dt><a href="#limitations">Limitations</a></dt></dl></dd><dt><a href="#annotations-decp">Using Annotations with declare statements</a></dt><dd><dl><dt><a href="#declare-error-and-declare-warning">Declare error and declare warning</a></dt><dt><a href="#declare-parents">declare parents</a></dt><dt><a href="#declare-precedence">declare precedence</a></dt></dl></dd><dt><a href="#annotations-declare">Declare Annotation</a></dt><dt><a href="#annotations-itds">Inter-type Declarations</a></dt></dl></div><div class="sect1"><a name="annotations-inJava5"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="annotations-inJava5"></a>Annotations in Java 5</h2></div></div><p>
+        of m in P.</p></div></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="annotations"></a>Chapter 2. Annotations</h2></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="#annotations-inJava5">Annotations in Java 5</a></dt><dd><dl><dt><a href="#using-annotations">Using Annotations</a></dt><dt><a href="#retention-policies">Retention Policies</a></dt><dt><a href="#accessing-annotations-at-runtime">Accessing Annotations at Runtime</a></dt><dt><a href="#annotation-inheritance">Annotation Inheritance</a></dt></dl></dd><dt><a href="#annotations-aspectmembers">Annotating Aspects</a></dt><dt><a href="#annotations-pointcuts-and-advice">Join Point Matching based on Annotations</a></dt><dd><dl><dt><a href="#annotation-patterns">Annotation Patterns</a></dt><dt><a href="#type-patterns">Type Patterns</a></dt><dt><a href="#signaturePatterns">Signature Patterns</a></dt><dt><a href="#example-pointcuts">Example Pointcuts</a></dt><dt><a href="#runtime-type-matching-and-context-exposure">Runtime type matching and context exposure</a></dt><dt><a href="#package-and-parameter-annotations">Package and Parameter Annotations</a></dt><dt><a href="#annotation-inheritance-and-pointcut-matching">Annotation Inheritance and pointcut matching</a></dt><dt><a href="#matchingOnAnnotationValues">Matching based on annotation values</a></dt></dl></dd><dt><a href="#annotations-decp">Using Annotations with declare statements</a></dt><dd><dl><dt><a href="#declare-error-and-declare-warning">Declare error and declare warning</a></dt><dt><a href="#declare-parents">declare parents</a></dt><dt><a href="#declare-precedence">declare precedence</a></dt></dl></dd><dt><a href="#annotations-declare">Declare Annotation</a></dt><dt><a href="#annotations-itds">Inter-type Declarations</a></dt></dl></div><div class="sect1"><a name="annotations-inJava5"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="annotations-inJava5"></a>Annotations in Java 5</h2></div></div><p>
 		This section provides the essential information about annotations in
 		Java 5 needed to understand how annotations are treated in AspectJ 5.
 		For a full introduction to annotations in Java, please see the
@@ -286,16 +278,16 @@
 		public void someMethod() {...}
 		</pre></div><div class="sect2"><a name="retention-policies"></a><div class="titlepage"><div><h3 class="title"><a name="retention-policies"></a>Retention Policies</h3></div></div><p>
 	      Annotations can have one of three retention policies:
-	    </p><div class="variablelist"><dl><dt><a name="d0e630"></a><span class="term">Source-file retention</span></dt><dd><p><a name="d0e633"></a>
+	    </p><div class="variablelist"><dl><dt><a name="d0e625"></a><span class="term">Source-file retention</span></dt><dd><p><a name="d0e628"></a>
 	            	Annotations with source-file retention are read by the 
 	            	compiler during the compilation process, but are not
 	            	rendered in the generated <tt>.class</tt> files.
-	            </p></dd><dt><a name="d0e639"></a><span class="term">Class-file retention</span></dt><dd><p><a name="d0e642"></a>
+	            </p></dd><dt><a name="d0e634"></a><span class="term">Class-file retention</span></dt><dd><p><a name="d0e637"></a>
 	        			This is the default retention policy. Annotations
 	        			with class-file retention are read by the compiler
 	        			and also retained in the generated <tt>
 	        			.class</tt> files.
-	        		</p></dd><dt><a name="d0e648"></a><span class="term">Runtime retention</span></dt><dd><p><a name="d0e651"></a>
+	        		</p></dd><dt><a name="d0e643"></a><span class="term">Runtime retention</span></dt><dd><p><a name="d0e646"></a>
 	        			Annotations with runtime retention are read by the
 	        			compiler, retained in the generated <tt>
 	        			.class</tt> files, and also made available
@@ -437,43 +429,35 @@
   </p><div class="sect2"><a name="annotation-patterns"></a><div class="titlepage"><div><h3 class="title"><a name="annotation-patterns"></a>Annotation Patterns</h3></div></div><p>
           For any kind of annotated element (type, method, constructor, package, etc.), 
           an annotation pattern can be used to match against the set of annotations
-          on the annotated element. Annotation patterns are defined by the following
-          grammar.
-      </p><pre class="programlisting">
-		AnnotationPattern := '!'? '@' AnnotationTypePattern AnnotationPattern* 
-        
-		AnnotationTypePattern := FullyQualifiedName |
-		                         '(' TypePattern ')'
-  		                     
-  		FullyQualifiedName := JavaIdentifierCharacter+ ('.' JavaIdentifierCharacter+)*  		
-      </pre><p>In simple terms, an annotation pattern element has one of two basic
-      forms:</p><div class="itemizedlist"><ul><li><a name="d0e792"></a>@&lt;qualified-name&gt;, for example, @Foo, or 
-          @org.xyz.Foo.</li><li><a name="d0e794"></a>@(&lt;type-pattern&gt;), for example, @(org.xyz..*), or
+          on the annotated element.An annotation pattern element has one of two basic
+          forms:
+      </p><div class="itemizedlist"><ul><li><a name="d0e783"></a>@&lt;qualified-name&gt;, for example, @Foo, or 
+          @org.xyz.Foo.</li><li><a name="d0e785"></a>@(&lt;type-pattern&gt;), for example, @(org.xyz..*), or
           @(Foo || Boo)</li></ul></div><p>These simple elements may be negated using <tt>!</tt>, and
       combined by simple concatentation. The pattern <tt>@Foo @Boo</tt>
       matches an annotated element that has both an annotation of type <tt>Foo</tt>
-      and an annotation of type <tt>Boo</tt>.</p><p>Some examples of annotation patterns follow:</p><div class="variablelist"><dl><dt><a name="d0e813"></a><span class="term">@Immutable</span></dt><dd><p><a name="d0e816"></a>
+      and an annotation of type <tt>Boo</tt>.</p><p>Some examples of annotation patterns follow:</p><div class="variablelist"><dl><dt><a name="d0e804"></a><span class="term">@Immutable</span></dt><dd><p><a name="d0e807"></a>
             	Matches any annotated element which has an annotation of 
       			type <tt>Immutable</tt>.
-            </p></dd><dt><a name="d0e822"></a><span class="term">!@Persistent</span></dt><dd><p><a name="d0e825"></a>
+            </p></dd><dt><a name="d0e813"></a><span class="term">!@Persistent</span></dt><dd><p><a name="d0e816"></a>
 				Matches any annotated element which does not have an annotation of 
       			type <tt>Persistent</tt>.
-            </p></dd><dt><a name="d0e831"></a><span class="term">@Foo @Goo</span></dt><dd><p><a name="d0e834"></a>
+            </p></dd><dt><a name="d0e822"></a><span class="term">@Foo @Goo</span></dt><dd><p><a name="d0e825"></a>
 				Matches any annotated element which has both an annotation of type <tt>Foo</tt> and
       			an annotation of type <tt>Goo</tt>.
-            </p></dd><dt><a name="d0e843"></a><span class="term">@(Foo || Goo)</span></dt><dd><p><a name="d0e846"></a>
+            </p></dd><dt><a name="d0e834"></a><span class="term">@(Foo || Goo)</span></dt><dd><p><a name="d0e837"></a>
 				  Matches any annotated element which has either an annotation of a type matching
 			      the type pattern <tt>(Foo || Goo)</tt>. 
 			      In other words, an annotated element with either an
 			      annotation of type <tt>Foo</tt> or
 			      an annotation of type <tt>Goo</tt> (or both). (The parenthesis are required in this example).
-            </p></dd><dt><a name="d0e858"></a><span class="term">@(org.xyz..*)</span></dt><dd><p><a name="d0e861"></a>
+            </p></dd><dt><a name="d0e849"></a><span class="term">@(org.xyz..*)</span></dt><dd><p><a name="d0e852"></a>
 		      Matches any annotated element which has either an annotation of a type matching
 		      the type pattern <tt>(org.xyz..*)</tt>. 
 		      In other words, an annotated element with an annotation that is declared in the
 		      org.xyz package or a sub-package. (The parenthesis are required in this example).
             </p></dd></dl></div></div><div class="sect2"><a name="type-patterns"></a><div class="titlepage"><div><h3 class="title"><a name="type-patterns"></a>Type Patterns</h3></div></div><p>AspectJ 1.5 extends type patterns to allow an optional <tt>AnnotationPattern</tt>
-	prefix. (Extensions to this definition for generics are shown in the next chapter).</p><pre class="programlisting">
+	prefix.</p><pre class="programlisting">
   	  	TypePattern := SimpleTypePattern |
   	  	               '!' TypePattern |
   	  	               '(' AnnotationPattern? TypePattern ')'
@@ -494,38 +478,39 @@
   		FullyQualifiedName := JavaIdentifierCharacter+ ('.' JavaIdentifierCharacter+)*  				  		  		  		               									 				  		             
 	</pre><p>Note that in most cases when annotations are used as part of a type pattern,
         the parenthesis are required (as in <tt>(@Foo Hello+)</tt>). In
-        some cases (such as a type pattern used within a <tt>this</tt>
-        pointcut expression, the parenthesis are optional:</p><pre class="programlisting">
+        some cases (such as a type pattern used within a <tt>within</tt> or
+        <tt>handler</tt>
+        pointcut expression), the parenthesis are optional:</p><pre class="programlisting">
         OptionalParensTypePattern := AnnotationPattern? TypePattern
       </pre><p>
 		The following examples illustrate the use of annotations in type
 		patterns:
-	</p><div class="variablelist"><dl><dt><a name="d0e890"></a><span class="term">(@Immutable *)</span></dt><dd><p><a name="d0e893"></a>
+	</p><div class="variablelist"><dl><dt><a name="d0e884"></a><span class="term">(@Immutable *)</span></dt><dd><p><a name="d0e887"></a>
             	Matches any type with an <tt>@Immutable</tt> annotation.
-            </p></dd><dt><a name="d0e899"></a><span class="term">(!@Immutable *)</span></dt><dd><p><a name="d0e902"></a>
+            </p></dd><dt><a name="d0e893"></a><span class="term">(!@Immutable *)</span></dt><dd><p><a name="d0e896"></a>
             	Matches any type which does not have an <tt>@Immutable</tt> annotation.
-            </p></dd><dt><a name="d0e908"></a><span class="term">  (@Immutable (org.xyz.* || org.abc.*))</span></dt><dd><p><a name="d0e911"></a>
+            </p></dd><dt><a name="d0e902"></a><span class="term">  (@Immutable (org.xyz.* || org.abc.*))</span></dt><dd><p><a name="d0e905"></a>
             	Matches any type in the <tt>org.xyz</tt> or <tt>org.abc</tt>
  			    packages with the <tt>@Immutable</tt> annotation.
-            </p></dd><dt><a name="d0e923"></a><span class="term">((@Immutable Foo+) || Goo)</span></dt><dd><p><a name="d0e926"></a>
+            </p></dd><dt><a name="d0e917"></a><span class="term">((@Immutable Foo+) || Goo)</span></dt><dd><p><a name="d0e920"></a>
             	Matches a type <tt>Foo</tt> or any of its subtypes, which have the <tt>@Immutable</tt>
      			annotation, or a type <tt>Goo</tt>.
-            </p></dd><dt><a name="d0e938"></a><span class="term">((@(Immutable || NonPersistent) org.xyz..*)</span></dt><dd><p><a name="d0e941"></a>
+            </p></dd><dt><a name="d0e932"></a><span class="term">((@(Immutable || NonPersistent) org.xyz..*)</span></dt><dd><p><a name="d0e935"></a>
             	Matches any type in a package beginning with the prefix <tt>org.xyz</tt>,
      			which has either the <tt>@Immutable</tt> annotation or the
      			<tt>@NonPersistent</tt> annotation.            	
-            </p></dd><dt><a name="d0e953"></a><span class="term">(@Immutable @NonPersistent org.xyz..*)</span></dt><dd><p><a name="d0e956"></a>
+            </p></dd><dt><a name="d0e947"></a><span class="term">(@Immutable @NonPersistent org.xyz..*)</span></dt><dd><p><a name="d0e950"></a>
             	 Matches any type in a package beginning with the prefix <tt>org.xyz</tt>,
 			     which has both an <tt>@Immutable</tt> annotation and an
 			     <tt>@NonPersistent</tt> annotation.
-            </p></dd><dt><a name="d0e968"></a><span class="term">  (@(@Inherited *) org.xyz..*)</span></dt><dd><p><a name="d0e971"></a>
+            </p></dd><dt><a name="d0e962"></a><span class="term">  (@(@Inherited *) org.xyz..*)</span></dt><dd><p><a name="d0e965"></a>
             	Matches any type in a package beginning with the prefix <tt>org.xyz</tt>,
 			     which has an inheritable annotation. The annotation pattern 
 			     <tt>@(@Inherited *)</tt> matches any annotation of a type matching the
 			     type pattern <tt>@Inherited *</tt>, which in turn matches any type with the
 			     <tt>@Inherited</tt> annotation.
-            </p></dd></dl></div></div><div class="sect2"><a name="signaturePatterns"></a><div class="titlepage"><div><h3 class="title"><a name="signaturePatterns"></a>Signature Patterns</h3></div></div><p>A <tt>FieldPattern</tt> is described by the following
-  	grammar:</p><pre class="programlisting">  	
+            </p></dd></dl></div></div><div class="sect2"><a name="signaturePatterns"></a><div class="titlepage"><div><h3 class="title"><a name="signaturePatterns"></a>Signature Patterns</h3></div></div><div class="sect3"><a name="fieldPatterns"></a><div class="titlepage"><div><h4 class="title"><a name="fieldPatterns"></a>Field Patterns</h4></div></div><p>A <tt>FieldPattern</tt> can optionally specify an annotation-matching
+  	pattern as the first element:</p><pre class="programlisting">  	
   		FieldPattern := 
   		    AnnotationPattern? FieldModifiersPattern? 
   		    TypePattern (TypePattern DotOrDotDot)? SimpleNamePattern
@@ -539,26 +524,27 @@
 		            		      		            			
 		SimpleNamePattern := JavaIdentifierChar+ ('*' SimpleNamePattern)?		            
 	</pre><p>
-  	    The optional <tt>AnnotationPattern</tt> restricts matches to fields with
+  	    If present, the <tt>AnnotationPattern</tt> restricts matches to fields with
   	    annotations that match the pattern. For example:
-  	</p><div class="variablelist"><dl><dt><a name="d0e1002"></a><span class="term">@SensitiveData * *</span></dt><dd><p><a name="d0e1005"></a>
+  	</p><div class="variablelist"><dl><dt><a name="d0e999"></a><span class="term">@SensitiveData * *</span></dt><dd><p><a name="d0e1002"></a>
             	Matches a field of any type and any name, that has an annotation of
             	type <tt>@SensitiveData</tt>
-            </p></dd><dt><a name="d0e1011"></a><span class="term">@SensitiveData List org.xyz..*.*</span></dt><dd><p><a name="d0e1014"></a>
+            </p></dd><dt><a name="d0e1008"></a><span class="term">@SensitiveData List org.xyz..*.*</span></dt><dd><p><a name="d0e1011"></a>
             	Matches a member field of a type in a package with prefix <tt>org.xzy</tt>,
             	where the field is of type <tt>List</tt>, and has an annotation of type
             	<tt>@SensitiveData</tt>
-            </p></dd><dt><a name="d0e1026"></a><span class="term">(@SensitiveData *) org.xyz..*.*</span></dt><dd><p><a name="d0e1029"></a>
+            </p></dd><dt><a name="d0e1023"></a><span class="term">(@SensitiveData *) org.xyz..*.*</span></dt><dd><p><a name="d0e1026"></a>
             	Matches a member field of a type in a package with prefix <tt>org.xzy</tt>,
             	where the field is of a type which has a <tt>@SensitiveData</tt> annotation.
-            </p></dd><dt><a name="d0e1038"></a><span class="term">@Foo (@Goo *) (@Hoo *).*</span></dt><dd><p><a name="d0e1041"></a>
+            </p></dd><dt><a name="d0e1035"></a><span class="term">@Foo (@Goo *) (@Hoo *).*</span></dt><dd><p><a name="d0e1038"></a>
             	Matches a field with an annotation <tt>@Foo</tt>, of a type with an 
             	annotation <tt>@Goo</tt>, declared in a type with annotation
             	<tt>@Hoo</tt>.
-            </p></dd><dt><a name="d0e1053"></a><span class="term">@Persisted @Classified * *</span></dt><dd><p><a name="d0e1056"></a>
+            </p></dd><dt><a name="d0e1050"></a><span class="term">@Persisted @Classified * *</span></dt><dd><p><a name="d0e1053"></a>
             	Matches a field with an annotation <tt>@Persisted</tt> and
             	an annotation <tt>@Classified</tt>.
-            </p></dd></dl></div><p>A <tt>MethodPattern</tt> is of the form</p><pre class="programlisting">  	
+            </p></dd></dl></div></div><div class="sect3"><a name="methodPatterns"></a><div class="titlepage"><div><h4 class="title"><a name="methodPatterns"></a>Method and Constructor Patterns</h4></div></div><p>A <tt>MethodPattern</tt> can optionally specify an annotation-matching
+  	pattern as the first element.</p><pre class="programlisting">  	
   		MethodPattern := 
   		    AnnotationPattern? MethodModifiersPattern? TypePattern 
   		                       (TypePattern DotOrDotDot)? SimpleNamePattern 
@@ -581,8 +567,7 @@
 		
 		TypePatternList := TypePattern (',' TypePattern)*
 		            					            
-	</pre><p><span class="emphasis"><i>Note: compared to the previous version, this definition of MethodPattern does
-  	not allow parameter annotation matching (only matching on annotations of parameter types).</i></span></p><p>A <tt>ConstructorPattern</tt> has the form</p><pre class="programlisting">  	
+	</pre><p>A <tt>ConstructorPattern</tt> has the form</p><pre class="programlisting">  	
   		ConstructorPattern := 
   		    AnnotationPattern? ConstructorModifiersPattern?  
   		                       (TypePattern DotOrDotDot)? 'new' '(' FormalsPattern ')'
@@ -596,35 +581,35 @@
   	    The optional <tt>AnnotationPattern</tt> at the beginning of a 
   	    method or constructor pattern restricts matches to methods/constructors with
   	    annotations that match the pattern. For example:
-  	</p><div class="variablelist"><dl><dt><a name="d0e1088"></a><span class="term">@Oneway * *(..)</span></dt><dd><p><a name="d0e1091"></a>
+  	</p><div class="variablelist"><dl><dt><a name="d0e1085"></a><span class="term">@Oneway * *(..)</span></dt><dd><p><a name="d0e1088"></a>
             	Matches a method with any return type and any name, that has an annotation of
             	type <tt>@Oneway</tt>.
-            </p></dd><dt><a name="d0e1097"></a><span class="term">@Transaction * (@Persistent org.xyz..*).*(..)</span></dt><dd><p><a name="d0e1100"></a>
+            </p></dd><dt><a name="d0e1094"></a><span class="term">@Transaction * (@Persistent org.xyz..*).*(..)</span></dt><dd><p><a name="d0e1097"></a>
             	Matches a method with the <tt>@Transaction</tt> annotation,
             	declared in a type with the <tt>@Persistent</tt> annotation, and
             	in a package beginning with the <tt>org.xyz</tt> prefix.
-            </p></dd><dt><a name="d0e1112"></a><span class="term">* *.*(@Immutable *,..)</span></dt><dd><p><a name="d0e1115"></a>
+            </p></dd><dt><a name="d0e1109"></a><span class="term">* *.*(@Immutable *,..)</span></dt><dd><p><a name="d0e1112"></a>
             	Matches any method taking at least one parameter, where the parameter
             	type has an annotation <tt>@Immutable</tt>.
-            </p></dd></dl></div></div><div class="sect2"><a name="example-pointcuts"></a><div class="titlepage"><div><h3 class="title"><a name="example-pointcuts"></a>Example Pointcuts</h3></div></div><div class="variablelist"><dl><dt><a name="d0e1125"></a><span class="term">within(@Secure *)</span></dt><dd><p><a name="d0e1128"></a>
+            </p></dd></dl></div></div></div><div class="sect2"><a name="example-pointcuts"></a><div class="titlepage"><div><h3 class="title"><a name="example-pointcuts"></a>Example Pointcuts</h3></div></div><div class="variablelist"><dl><dt><a name="d0e1122"></a><span class="term">within(@Secure *)</span></dt><dd><p><a name="d0e1125"></a>
             	Matches any join point where the code executing is declared in a 
             	type with an <tt>@Secure</tt>
             	annotation. The format of the <tt>within</tt> pointcut designator
             	in AspectJ 5 is <tt>'within' '(' OptionalParensTypePattern ')'</tt>.
-            </p></dd><dt><a name="d0e1140"></a><span class="term">staticinitialization(@Persistent *)</span></dt><dd><p><a name="d0e1143"></a>
+            </p></dd><dt><a name="d0e1137"></a><span class="term">staticinitialization(@Persistent *)</span></dt><dd><p><a name="d0e1140"></a>
             	Matches the staticinitialization join point of any type with the
             	<tt>@Persistent</tt> annotation. The format of the 
             	<tt>staticinitialization</tt> pointcut designator
             	in AspectJ 5 is <tt>'staticinitialization' '(' OptionalParensTypePattern ')'</tt>.
-            </p></dd><dt><a name="d0e1155"></a><span class="term">call(@Oneway * *(..))</span></dt><dd><p><a name="d0e1158"></a>
+            </p></dd><dt><a name="d0e1152"></a><span class="term">call(@Oneway * *(..))</span></dt><dd><p><a name="d0e1155"></a>
             	Matches a call to a method with a <tt>@Oneway</tt> annotation.
-            </p></dd><dt><a name="d0e1164"></a><span class="term">execution(public (@Immutable *) org.xyz..*.*(..))</span></dt><dd><p><a name="d0e1167"></a>
+            </p></dd><dt><a name="d0e1161"></a><span class="term">execution(public (@Immutable *) org.xyz..*.*(..))</span></dt><dd><p><a name="d0e1164"></a>
                 The execution of any public method in a package with prefix 
                 <tt>org.xyz</tt>, where the method returns an 
                 immutable result.
-            </p></dd><dt><a name="d0e1173"></a><span class="term">set(@Cachable * *)</span></dt><dd><p><a name="d0e1176"></a>
+            </p></dd><dt><a name="d0e1170"></a><span class="term">set(@Cachable * *)</span></dt><dd><p><a name="d0e1173"></a>
                 Matches the set of any cachable field.
-            </p></dd><dt><a name="d0e1179"></a><span class="term">handler(!@Catastrophic *)</span></dt><dd><p><a name="d0e1182"></a>
+            </p></dd><dt><a name="d0e1176"></a><span class="term">handler(!@Catastrophic *)</span></dt><dd><p><a name="d0e1179"></a>
                 Matches the handler join point for the handling of any exception that is
                 not <tt>Catastrophic</tt>. The format of the <tt>handler</tt>
                 pointcut designator in AspectJ 5 is <tt>'handler' '(' OptionalParensTypePattern ')'</tt>.
@@ -672,10 +657,10 @@
         a single type name. They match at join points where the object bound to 
         <tt>this</tt> (or <tt>target</tt>, respectively) has an
         annotation of the specified type. For example: 
-    </p><div class="variablelist"><dl><dt><a name="d0e1252"></a><span class="term">@this(Foo)</span></dt><dd><p><a name="d0e1255"></a>
+    </p><div class="variablelist"><dl><dt><a name="d0e1249"></a><span class="term">@this(Foo)</span></dt><dd><p><a name="d0e1252"></a>
             	Matches any join point where the object currently bound to 'this'
             	has an annotation of type <tt>Foo</tt>.
-            </p></dd><dt><a name="d0e1261"></a><span class="term">call(* *(..)) &amp;&amp; @target(Classified)</span></dt><dd><p><a name="d0e1264"></a>
+            </p></dd><dt><a name="d0e1258"></a><span class="term">call(* *(..)) &amp;&amp; @target(Classified)</span></dt><dd><p><a name="d0e1261"></a>
             	Matches a call to any object where the target of the call has
             	a <tt>@Classified</tt> annotation.
             </p></dd></dl></div><p>
@@ -710,12 +695,8 @@
   	 */
   	pointcut untrustedData(Untrusted untrustedDataSource) : 
   	    @args(*,*,untrustedDataSource);
-	</pre><p>
-        <span class="emphasis"><i>Note: an alternative design would be to allow both annotation
-        patterns and type patterns to be specified in the existing args pcd.
-        This works well for matching, but is more awkward when it comes to
-        exposing context.</i></span>
-    </p><p>Access to <tt>AnnotatedElement</tt> information is available
+	</pre><p>In addition to accessing annotation information at runtime through context binding,
+    access to <tt>AnnotatedElement</tt> information is also available
     reflectively with the body of advice through the <tt>thisJoinPoint</tt>,
     <tt>thisJoinPointStaticPart</tt>, and 
     <tt>thisEnclosingJoinPointStaticPart</tt> variables. To access 
@@ -725,14 +706,6 @@
   	Annotation[] targetAnnotations = thisJoinPoint.getTarget().getClass().getAnnotations();
   	Annotation[] firstParamAnnotations = thisJoinPoint.getArgs()[0].getClass().getAnnotations();
 	</pre><p>
-        <span class="emphasis"><i>Note: it would be nicer to provide direct helper methods in
-        the JoinPoint interface or a sub-interface that provide the annotations
-        directly, something like "AnnotatedElement getThisAnnotationInfo()".
-        The problem here is that the "AnnotatedElement" type is only in the
-        Java 5 runtime libraries, and we don't want to tie the AspectJ runtime
-        library to Java 5. A sub-interface and downcast solution could be used
-        if these helpers were felt to be sufficiently important.</i></span>
-    </p><p>
     The <tt>@within</tt> and <tt>@withincode</tt> pointcut designators
     match any join point where the executing code is defined within a type (<tt>@within</tt>),
      or a method/constructor (<tt>@withincode</tt>) that has an annotation of the specified 
@@ -740,11 +713,11 @@
     </p><pre class="programlisting">  	
         AtWithin := '@within' '(' AnnotationOrIdentifier ')'
         AtWithinCode := '@withincode' '(' AnnotationOrIdentifier ')'        
-    </pre><p>Some examples of using these designators follow:</p><div class="variablelist"><dl><dt><a name="d0e1344"></a><span class="term">@within(Foo)</span></dt><dd><p><a name="d0e1347"></a>
+    </pre><p>Some examples of using these designators follow:</p><div class="variablelist"><dl><dt><a name="d0e1331"></a><span class="term">@within(Foo)</span></dt><dd><p><a name="d0e1334"></a>
             	Matches any join point where the executing code is defined 
             	within a type which has an annotation of type <tt>Foo</tt>.
-            </p></dd><dt><a name="d0e1353"></a><span class="term">pointcut insideCriticalMethod(Critical c) : 
-                  @withincode(c);</span></dt><dd><p><a name="d0e1356"></a>
+            </p></dd><dt><a name="d0e1340"></a><span class="term">pointcut insideCriticalMethod(Critical c) : 
+                  @withincode(c);</span></dt><dd><p><a name="d0e1343"></a>
             	Matches any join point where the executing code is defined
             	in a method or constructor which has an annotation of type <tt>@Critical</tt>,
             	and exposes the value of the annotation in the parameter 
@@ -782,15 +755,9 @@
         to match against annotations that have at least class-file retention, and
         if used in the binding form the annotation must have runtime retention. 
     </p></div><div class="sect2"><a name="package-and-parameter-annotations"></a><div class="titlepage"><div><h3 class="title"><a name="package-and-parameter-annotations"></a>Package and Parameter Annotations</h3></div></div><p>
-          <span class="emphasis"><i>Note: A previous design allowed package annotation patterns to be specified
-          directly in type patterns, and parameter annotation patterns to be
-          specified directly in method and constructor signature patterns. Because
-          this made some pointcut expressions hard to read and understand, we moved
-          in favour of the design presented below, which also has its drawbacks. 
-          Matching on package and parameter annotations will be
-          deferred until after the 1.5.0 release so that we can gain more understanding
-          of the kinds of uses AspectJ users are making of annotations in pointcut
-          expressions before commiting to any one approach.</i></span>
+          <span class="emphasis"><i>Matching on package and parameter annotations is not supported
+          in AspectJ 1.5.0. Support for this capability may be considered in a future
+          release.</i></span>
       </p></div><div class="sect2"><a name="annotation-inheritance-and-pointcut-matching"></a><div class="titlepage"><div><h3 class="title"><a name="annotation-inheritance-and-pointcut-matching"></a>Annotation Inheritance and pointcut matching</h3></div></div><p>
   	    According to the Java 5 specification, non-type annotations are not
   	    inherited, and annotations on types are only inherited if they have the 
@@ -834,15 +801,14 @@
   	    to <tt>c2.aMethod</tt> is not matched because join point matching for
   	    modifiers (the visibility modifiers, annotations, and throws clause) is based on
   	    the subject of the join point (the method actually being called).
-  	</p></div><div class="sect2"><a name="limitations"></a><div class="titlepage"><div><h3 class="title"><a name="limitations"></a>Limitations</h3></div></div><p>
-        It would be useful to be able to match join points based on  
-        annotation values, rather than merely the presence of a
-        class-file retention annotation of a given type. This facility may be supported in a future version of AspectJ, by expanding the
-        definition of <tt>AnnotationPattern</tt>. Matching annotation values for
-        annotations with runtime retention can be done by exposing the annotation value
-        as a pointcut parameter and then using an <tt>if</tt> pointcut expression
-        to test the value. 
-    </p></div></div><div class="sect1"><a name="annotations-decp"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="annotations-decp"></a>Using Annotations with declare statements</h2></div></div><div class="sect2"><a name="declare-error-and-declare-warning"></a><div class="titlepage"><div><h3 class="title"><a name="declare-error-and-declare-warning"></a>Declare error and declare warning</h3></div></div><p>
+  	</p></div><div class="sect2"><a name="matchingOnAnnotationValues"></a><div class="titlepage"><div><h3 class="title"><a name="matchingOnAnnotationValues"></a>Matching based on annotation values</h3></div></div><p>
+    	The <tt>if</tt> pointcut designator can be used to write pointcuts
+    	that match based on the values annotation members. For example:    	
+    </p><pre class="programlisting">
+  	pointcut txRequiredMethod(Tx transactionAnnotation) :
+  	    execution(* *(..)) &amp;&amp; @this(transactionAnnotation) 
+  	    &amp;&amp; if(transactionAnnotation.policy() == TxPolicy.REQUIRED);
+	</pre></div></div><div class="sect1"><a name="annotations-decp"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="annotations-decp"></a>Using Annotations with declare statements</h2></div></div><div class="sect2"><a name="declare-error-and-declare-warning"></a><div class="titlepage"><div><h3 class="title"><a name="declare-error-and-declare-warning"></a>Declare error and declare warning</h3></div></div><p>
   	    Since pointcut expressions in AspectJ 5 support join point matching based
   	    on annotations, this facility can be exploited when writing
   	    <tt>declare warning</tt> and <tt>declare error</tt>
@@ -865,10 +831,10 @@
 		specification, it is now possible to match types based on the presence
 		of annotations <span class="emphasis"><i>with either class-file or runtime retention</i></span>.
 		For example:
-	</p><div class="variablelist"><dl><dt><a name="d0e1512"></a><span class="term">declare parents : (@Secured *) implements SecuredObject;</span></dt><dd><p><a name="d0e1515"></a>
+	</p><div class="variablelist"><dl><dt><a name="d0e1498"></a><span class="term">declare parents : (@Secured *) implements SecuredObject;</span></dt><dd><p><a name="d0e1501"></a>
 	            	All types with the <tt>@Secured</tt> annotation
 	            	implement the <tt>SecuredObject</tt> inteface.
-	            </p></dd><dt><a name="d0e1524"></a><span class="term">declare parents : (@Secured BankAccount+) implements SecuredObject;</span></dt><dd><p><a name="d0e1527"></a>
+	            </p></dd><dt><a name="d0e1510"></a><span class="term">declare parents : (@Secured BankAccount+) implements SecuredObject;</span></dt><dd><p><a name="d0e1513"></a>
 	            	The subset of types drawn from the <tt>BankAccount</tt> type and any subtype of
 	            	<tt>BankAccount</tt>, where the 
 	            	<tt>@Secured</tt> annotation is present, implement the
@@ -884,7 +850,7 @@
 	</pre><p>
 		AspectJ 5 allows the type patterns in the list to include annotation information
 		as part of the pattern specification. For example:
-	</p><div class="variablelist"><dl><dt><a name="d0e1554"></a><span class="term">declare precedence : (@Security *),*;</span></dt><dd><p><a name="d0e1557"></a>
+	</p><div class="variablelist"><dl><dt><a name="d0e1540"></a><span class="term">declare precedence : (@Security *),*;</span></dt><dd><p><a name="d0e1543"></a>
             	All aspects with the <tt>@Security</tt> annotation
             	take precedence over any other aspects in the system. (Or, more
             	informally, all security-related aspects take precedence).
@@ -902,16 +868,16 @@
   	                          MethodPattern |
   	                          ConstructorPattern |
   	                          FieldPattern
-	</pre><p>The following examples illustrate the use of <tt>declare annotation</tt>.</p><div class="variablelist"><dl><dt><a name="d0e1614"></a><span class="term">declare @type : org.xyz.model..* : @BusinessDomain ;</span></dt><dd><p><a name="d0e1617"></a>
+	</pre><p>The following examples illustrate the use of <tt>declare annotation</tt>.</p><div class="variablelist"><dl><dt><a name="d0e1600"></a><span class="term">declare @type : org.xyz.model..* : @BusinessDomain ;</span></dt><dd><p><a name="d0e1603"></a>
                     All types defined in a package with the prefix <tt>org.xyz.model</tt>
                     have the <tt>@BusinessDomain</tt> annotation.
-	            </p></dd><dt><a name="d0e1626"></a><span class="term">declare @method : public * BankAccount+.*(..) : @Secured(role="supervisor")</span></dt><dd><p><a name="d0e1629"></a>
+	            </p></dd><dt><a name="d0e1612"></a><span class="term">declare @method : public * BankAccount+.*(..) : @Secured(role="supervisor")</span></dt><dd><p><a name="d0e1615"></a>
 	                All public methods in <tt>BankAccount</tt> and its subtypes have the
 	                annotation <tt>@Secured(role="supervisor")</tt>.
-	            </p></dd><dt><a name="d0e1638"></a><span class="term">declare @constructor : BankAccount+.new(..) : @Secured(role="supervisor")</span></dt><dd><p><a name="d0e1641"></a>
+	            </p></dd><dt><a name="d0e1624"></a><span class="term">declare @constructor : BankAccount+.new(..) : @Secured(role="supervisor")</span></dt><dd><p><a name="d0e1627"></a>
 	                All constructors in <tt>BankAccount</tt> and its subtypes have the
 	                annotation <tt>@Secured(role="supervisor")</tt>.
-	            </p></dd><dt><a name="d0e1650"></a><span class="term">declare @field : * DAO+.* : @Persisted;</span></dt><dd><p><a name="d0e1653"></a>
+	            </p></dd><dt><a name="d0e1636"></a><span class="term">declare @field : * DAO+.* : @Persisted;</span></dt><dd><p><a name="d0e1639"></a>
 	            	All fields defined in <tt>DAO</tt> or its subtypes have the
 	            	<tt>@Persisted</tt> annotation.
 	            </p></dd></dl></div></div><div class="sect1"><a name="annotations-itds"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="annotations-itds"></a>Inter-type Declarations</h2></div></div><p>An annotation type may not be the target of an inter-type declaration.</p></div></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="generics"></a>Chapter 3. Generics</h2></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="#generics-inJava5">Generics in Java 5</a></dt><dd><dl><dt><a href="#declaring-generic-types">Declaring Generic Types</a></dt><dt><a href="#using-generic-and-parameterized-types">Using Generic and Parameterized Types</a></dt><dt><a href="#subtypes-supertypes-and-assignability">Subtypes, Supertypes, and Assignability</a></dt><dt><a href="#generic-methods-and-constructors">Generic Methods and Constructors</a></dt><dt><a href="#erasure">Erasure</a></dt></dl></dd><dt><a href="#generics-inAspectJ5">Generics in AspectJ 5</a></dt><dd><dl><dt><a href="#matching-generic-and-parameterized-types-in-pointcut-expressions">Matching generic and parameterized types in pointcut expressions</a></dt><dt><a href="#inter-type-declarations">Inter-type Declarations</a></dt><dt><a href="#declare-parents">Declare Parents</a></dt><dt><a href="#declare-soft">Declare Soft</a></dt><dt><a href="#generic-aspects">Generic Aspects</a></dt></dl></dd></dl></div><div class="sect1"><a name="generics-inJava5"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="generics-inJava5"></a>Generics in Java 5</h2></div></div><p>
@@ -942,13 +908,13 @@
             all of its type parameters (for example, <tt>List&lt;String&gt;</tt> or <tt>List&lt;Food&gt;</tt>).
         </p><p>A generic type may be declared with multiple type parameters. In addition to simple type parameter names, type
         parameter declarations can also constrain the set of types allowed by using the <tt>extends</tt> 
-        keyword. Some examples follow:</p><div class="variablelist"><dl><dt><a name="d0e1714"></a><span class="term">class Foo&lt;T&gt; {...}</span></dt><dd><p><a name="d0e1717"></a>A class <tt>Foo</tt> with one type parameter, <tt>T</tt>.
-            </p></dd><dt><a name="d0e1726"></a><span class="term">class Foo&lt;T,S&gt; {...}</span></dt><dd><p><a name="d0e1729"></a>A class <tt>Foo</tt> with two type parameters, <tt>T</tt> and <tt>S</tt>.
-            </p></dd><dt><a name="d0e1741"></a><span class="term">class Foo&lt;T extends Number&gt; {...}</span></dt><dd><p><a name="d0e1744"></a>A class <tt>Foo</tt> with one type parameter <tt>T</tt>, where <tt>T</tt> must be
+        keyword. Some examples follow:</p><div class="variablelist"><dl><dt><a name="d0e1700"></a><span class="term">class Foo&lt;T&gt; {...}</span></dt><dd><p><a name="d0e1703"></a>A class <tt>Foo</tt> with one type parameter, <tt>T</tt>.
+            </p></dd><dt><a name="d0e1712"></a><span class="term">class Foo&lt;T,S&gt; {...}</span></dt><dd><p><a name="d0e1715"></a>A class <tt>Foo</tt> with two type parameters, <tt>T</tt> and <tt>S</tt>.
+            </p></dd><dt><a name="d0e1727"></a><span class="term">class Foo&lt;T extends Number&gt; {...}</span></dt><dd><p><a name="d0e1730"></a>A class <tt>Foo</tt> with one type parameter <tt>T</tt>, where <tt>T</tt> must be
             instantiated as the type <tt>Number</tt> or a subtype of <tt>Number</tt>.
-            </p></dd><dt><a name="d0e1762"></a><span class="term">class Foo&lt;T, S extends T&gt; {...}</span></dt><dd><p><a name="d0e1765"></a>A class <tt>Foo</tt> with two type parameters, <tt>T</tt> and <tt>S</tt>. <tt>Foo</tt>
+            </p></dd><dt><a name="d0e1748"></a><span class="term">class Foo&lt;T, S extends T&gt; {...}</span></dt><dd><p><a name="d0e1751"></a>A class <tt>Foo</tt> with two type parameters, <tt>T</tt> and <tt>S</tt>. <tt>Foo</tt>
             must be instantiated with a type <tt>S</tt> that is a subtype of the type specified for parameter <tt>T</tt>.
-            </p></dd><dt><a name="d0e1786"></a><span class="term">class Foo&lt;T extends Number &amp; Comparable&gt; {...}</span></dt><dd><p><a name="d0e1789"></a>A class <tt>Foo</tt> with one type parameter, <tt>T</tt>. <tt>Foo</tt>
+            </p></dd><dt><a name="d0e1772"></a><span class="term">class Foo&lt;T extends Number &amp; Comparable&gt; {...}</span></dt><dd><p><a name="d0e1775"></a>A class <tt>Foo</tt> with one type parameter, <tt>T</tt>. <tt>Foo</tt>
             must be instantiated with a type that is a subtype of <tt>Number</tt> and that implements <tt>Comparable</tt>.
             </p></dd></dl></div></div><div class="sect2"><a name="using-generic-and-parameterized-types"></a><div class="titlepage"><div><h3 class="title"><a name="using-generic-and-parameterized-types"></a>Using Generic and Parameterized Types</h3></div></div><p>You declare a variable (or a method/constructor argument) of a parameterized type  by specifying a concrete type specfication for each type parameter in
 	        the generic type. The following example declares a list of strings and a list of numbers:</p><pre class="programlisting">
@@ -967,25 +933,25 @@
 	     When declaring parameterized types, the <tt>?</tt> wildcard may be used, which stands for "some type".
 	     The <tt>extends</tt> and <tt>super</tt> keywords may be used in conjunction with the wildcard
 	     to provide upper and lower bounds on the types that may satisfy the type constraints. For example:
-	    </p><div class="variablelist"><dl><dt><a name="d0e1841"></a><span class="term">List&lt;?&gt;</span></dt><dd><p><a name="d0e1844"></a>A list containing elements of some type, the type of the elements in the list is unknown.
-            </p></dd><dt><a name="d0e1847"></a><span class="term">List&lt;? extends Number&gt;</span></dt><dd><p><a name="d0e1850"></a>A list containing elements of some type that extends Number, the exact type of the elements in the list is unknown.
-            </p></dd><dt><a name="d0e1853"></a><span class="term">List&lt;? super Double&gt;</span></dt><dd><p><a name="d0e1856"></a>A list containing elements of some type that is a super-type of Double, the exact type of the elements in the list is unknown.
+	    </p><div class="variablelist"><dl><dt><a name="d0e1827"></a><span class="term">List&lt;?&gt;</span></dt><dd><p><a name="d0e1830"></a>A list containing elements of some type, the type of the elements in the list is unknown.
+            </p></dd><dt><a name="d0e1833"></a><span class="term">List&lt;? extends Number&gt;</span></dt><dd><p><a name="d0e1836"></a>A list containing elements of some type that extends Number, the exact type of the elements in the list is unknown.
+            </p></dd><dt><a name="d0e1839"></a><span class="term">List&lt;? super Double&gt;</span></dt><dd><p><a name="d0e1842"></a>A list containing elements of some type that is a super-type of Double, the exact type of the elements in the list is unknown.
             </p></dd></dl></div><p>
       	  A generic type may be extended as any other type. Given a generic type <tt>Foo&lt;T&gt;</tt> then
       	  a subtype <tt>Goo</tt> may be declared in one of the following ways:      	
-      	</p><div class="variablelist"><dl><dt><a name="d0e1868"></a><span class="term">class Goo extends Foo</span></dt><dd><p><a name="d0e1871"></a>Here <tt>Foo</tt> is used as a raw type, and the appropriate warning messages will be
+      	</p><div class="variablelist"><dl><dt><a name="d0e1854"></a><span class="term">class Goo extends Foo</span></dt><dd><p><a name="d0e1857"></a>Here <tt>Foo</tt> is used as a raw type, and the appropriate warning messages will be
             issued by the compiler on attempting to invoke methods in <tt>Foo</tt>.
-            </p></dd><dt><a name="d0e1880"></a><span class="term">class Goo&lt;E&gt; extends Foo</span></dt><dd><p><a name="d0e1883"></a><tt>Goo</tt> is a generic type, but the super-type <tt>Foo</tt> is used as a raw
+            </p></dd><dt><a name="d0e1866"></a><span class="term">class Goo&lt;E&gt; extends Foo</span></dt><dd><p><a name="d0e1869"></a><tt>Goo</tt> is a generic type, but the super-type <tt>Foo</tt> is used as a raw
             type and the appropriate warning messages will be
             issued by the compiler on attempting to invoke methods defined by <tt>Foo</tt>.            
-            </p></dd><dt><a name="d0e1894"></a><span class="term">class Goo&lt;E&gt; extends Foo&lt;E&gt;</span></dt><dd><p><a name="d0e1897"></a>This is the most usual form. <tt>Goo</tt> is a generic type with one parameter that extends
+            </p></dd><dt><a name="d0e1880"></a><span class="term">class Goo&lt;E&gt; extends Foo&lt;E&gt;</span></dt><dd><p><a name="d0e1883"></a>This is the most usual form. <tt>Goo</tt> is a generic type with one parameter that extends
             the generic type <tt>Foo</tt> with that same parameter. So <tt>Goo&lt;String&lt;</tt> is 
             a subclass of <tt>Foo&lt;String&gt;</tt>.
-            </p></dd><dt><a name="d0e1912"></a><span class="term">class Goo&lt;E,F&gt; extends Foo&lt;E&gt;</span></dt><dd><p><a name="d0e1915"></a><tt>Goo</tt> is a generic type with two parameters that extends
+            </p></dd><dt><a name="d0e1898"></a><span class="term">class Goo&lt;E,F&gt; extends Foo&lt;E&gt;</span></dt><dd><p><a name="d0e1901"></a><tt>Goo</tt> is a generic type with two parameters that extends
             the generic type <tt>Foo</tt> with the first type parameter of <tt>Goo</tt> being used
             to parameterize <tt>Foo</tt>. So <tt>Goo&lt;String,Integer&lt;</tt> is 
             a subclass of <tt>Foo&lt;String&gt;</tt>.
-            </p></dd><dt><a name="d0e1935"></a><span class="term">class Goo extends Foo&lt;String&gt;</span></dt><dd><p><a name="d0e1938"></a><tt>Goo</tt> is a type that extends
+            </p></dd><dt><a name="d0e1921"></a><span class="term">class Goo extends Foo&lt;String&gt;</span></dt><dd><p><a name="d0e1924"></a><tt>Goo</tt> is a type that extends
             the parameterized type <tt>Foo&lt;String&gt;</tt>.
             </p></dd></dl></div><p>A generic type may implement one or more generic interfaces, following the type binding
 	    rules given above. A type may also implement one or more parameterized interfaces (for example,
@@ -1077,7 +1043,7 @@
           can be matched by a signature pattern matching <tt>static Object Utils.first(List)</tt> and
           <tt>Number Utils.max(Number, Number)</tt> respectively. The members of the generic type
           <tt>G</tt> can be matched by a signature pattern matching <tt>Object G.myData</tt> and
-          <tt>public List G.getAllDataItems()</tt> respectively.</p><div class="sect3"><a name="d0e2209"></a><div class="titlepage"><div><h4 class="title"><a name="d0e2209"></a>Restricting matching using parameterized types</h4></div></div><p>Pointcut matching can be further restricted to match only given parameterizations of parameter types (methods and constructors), return
+          <tt>public List G.getAllDataItems()</tt> respectively.</p><div class="sect3"><a name="d0e2195"></a><div class="titlepage"><div><h4 class="title"><a name="d0e2195"></a>Restricting matching using parameterized types</h4></div></div><p>Pointcut matching can be further restricted to match only given parameterizations of parameter types (methods and constructors), return
           types (methods) and field types (fields). This is achieved by specifying a parameterized type pattern at the appropriate point 
           in the signature pattern. For example, given the class <tt>Foo</tt>:</p><pre class="programlisting">
           public class Foo {
@@ -1121,7 +1087,7 @@
         <span class="emphasis"><i>not</i></span> by <tt>execution(List&lt;Object&gt; foo(List&lt;String&gt;&gt;)</tt>
         since the erasure of <tt>List&lt;T&gt;</tt> is <tt>List</tt>
         and not <tt>List&lt;Object&gt;</tt>.
-        </p></div><div class="sect3"><a name="d0e2342"></a><div class="titlepage"><div><h4 class="title"><a name="d0e2342"></a>Generic wildcards and signature matching</h4></div></div><p>
+        </p></div><div class="sect3"><a name="d0e2328"></a><div class="titlepage"><div><h4 class="title"><a name="d0e2328"></a>Generic wildcards and signature matching</h4></div></div><p>
             When it comes to signature matching, a type parameterized using a generic wildcard is a distinct type.
             For example, <tt>List&lt;?&gt;</tt> is a very different type to <tt>List&lt;String&gt;</tt>,
             even though a variable of type <tt>List&lt;String&gt;</tt> can be assigned to a variable of
@@ -1136,15 +1102,15 @@
             public void goo(List&lt;Double&gt; listOfDoubles) {}	
 	
           }
-		</pre><div class="variablelist"><dl><dt><a name="d0e2363"></a><span class="term">execution(* C.*(List))</span></dt><dd><p><a name="d0e2366"></a>Matches an execution join point for any of the three methods.
-            </p></dd><dt><a name="d0e2369"></a><span class="term">execution(* C.*(List&lt;? extends Number&gt;))</span></dt><dd><p><a name="d0e2372"></a>matches only the
+		</pre><div class="variablelist"><dl><dt><a name="d0e2349"></a><span class="term">execution(* C.*(List))</span></dt><dd><p><a name="d0e2352"></a>Matches an execution join point for any of the three methods.
+            </p></dd><dt><a name="d0e2355"></a><span class="term">execution(* C.*(List&lt;? extends Number&gt;))</span></dt><dd><p><a name="d0e2358"></a>matches only the
           execution of <tt>foo</tt>, and <span class="emphasis"><i>not</i></span> the execution
           of <tt>goo</tt> since <tt>List&lt;? extends Number&gt;</tt> and 
           <tt>List&lt;Double&gt;</tt> are distinct types.
-            </p></dd><dt><a name="d0e2390"></a><span class="term">execution(* C.*(List&lt;?&gt;))</span></dt><dd><p><a name="d0e2393"></a>matches only the execution of <tt>bar</tt>.
-            </p></dd><dt><a name="d0e2399"></a><span class="term">execution(* C.*(List&lt;? extends Object+&gt;))</span></dt><dd><p><a name="d0e2402"></a>matches both the execution of <tt>foo</tt> and the execution of <tt>bar</tt> 
+            </p></dd><dt><a name="d0e2376"></a><span class="term">execution(* C.*(List&lt;?&gt;))</span></dt><dd><p><a name="d0e2379"></a>matches only the execution of <tt>bar</tt>.
+            </p></dd><dt><a name="d0e2385"></a><span class="term">execution(* C.*(List&lt;? extends Object+&gt;))</span></dt><dd><p><a name="d0e2388"></a>matches both the execution of <tt>foo</tt> and the execution of <tt>bar</tt> 
           since the upper bound of <tt>List&lt;?&gt;</tt> is implicitly <tt>Object</tt>.
-            </p></dd></dl></div></div><div class="sect3"><a name="d0e2417"></a><div class="titlepage"><div><h4 class="title"><a name="d0e2417"></a>Treatment of bridge methods</h4></div></div><p>Under certain circumstances a Java 5 compiler is required to create <span class="emphasis"><i>bridge
+            </p></dd></dl></div></div><div class="sect3"><a name="d0e2403"></a><div class="titlepage"><div><h4 class="title"><a name="d0e2403"></a>Treatment of bridge methods</h4></div></div><p>Under certain circumstances a Java 5 compiler is required to create <span class="emphasis"><i>bridge
           methods</i></span> that support the compilation of programs using raw types. Consider the types</p><pre class="programlisting">
           class Generic&lt;T&gt; {
 	
@@ -1186,7 +1152,7 @@
            rawType.foo("hi");  // call to bridge method (will result in a runtime failure in this case)
            Object n = new Integer(5);
            rawType.foo(n);     // call to bridge method that would succeed at runtime
-		</pre></div><div class="sect3"><a name="d0e2504"></a><div class="titlepage"><div><h4 class="title"><a name="d0e2504"></a>Runtime type matching with this(), target() and args()</h4></div></div><p>The <tt>this()</tt>, <tt>target()</tt>, and
+		</pre></div><div class="sect3"><a name="d0e2490"></a><div class="titlepage"><div><h4 class="title"><a name="d0e2490"></a>Runtime type matching with this(), target() and args()</h4></div></div><p>The <tt>this()</tt>, <tt>target()</tt>, and
           <tt>args()</tt> pointcut expressions all match based on the runtime
           type of their arguments. Because Java 5 implements generics using erasure, it is not
           possible to ask at runtime whether an object is an instance of a given parameterization of a type
@@ -1204,11 +1170,11 @@
            public void goo(List&lt;? extends Number&gt; listOfSomeNumberType) {}
          
          }
-		</pre><div class="variablelist"><dl><dt><a name="d0e2531"></a><span class="term">args(List)</span></dt><dd><p><a name="d0e2534"></a>will match an execution or call join point for any of
+		</pre><div class="variablelist"><dl><dt><a name="d0e2517"></a><span class="term">args(List)</span></dt><dd><p><a name="d0e2520"></a>will match an execution or call join point for any of
               these methods
-              </p></dd><dt><a name="d0e2537"></a><span class="term">args(List&lt;String&gt;)</span></dt><dd><p><a name="d0e2540"></a>will match an execution
+              </p></dd><dt><a name="d0e2523"></a><span class="term">args(List&lt;String&gt;)</span></dt><dd><p><a name="d0e2526"></a>will match an execution
               or call join point for <tt>foo</tt>.
-              </p></dd><dt><a name="d0e2546"></a><span class="term">args(List&lt;Double&gt;)</span></dt><dd><p><a name="d0e2549"></a>matches an execution or call join point for <tt>bar</tt>, and <span class="emphasis"><i>may</i></span> match
+              </p></dd><dt><a name="d0e2532"></a><span class="term">args(List&lt;Double&gt;)</span></dt><dd><p><a name="d0e2535"></a>matches an execution or call join point for <tt>bar</tt>, and <span class="emphasis"><i>may</i></span> match
               at an execution or call join point for <tt>goo</tt> since it is legitimate to pass an
               object of type <tt>List&lt;Double&gt;</tt> to a method expecting a <tt>List&lt;? extends Number&gt;</tt>.
               </p><p>
@@ -1321,7 +1287,7 @@
                  // process list... 
              }
          }
-		</pre></div><div class="sect3"><a name="d0e2700"></a><div class="titlepage"><div><h4 class="title"><a name="d0e2700"></a>Binding return values in after returning advice</h4></div></div><p>
+		</pre></div><div class="sect3"><a name="d0e2686"></a><div class="titlepage"><div><h4 class="title"><a name="d0e2686"></a>Binding return values in after returning advice</h4></div></div><p>
             After returning advice can be used to bind the return value from a matched join point. AspectJ 5 supports the use of
             a parameterized type in the returning clause, with matching following the same rules as described for args. For
             example, the following aspect matches the execution of any method returning a <tt>List</tt>, and makes
@@ -1369,7 +1335,7 @@
 		</pre><p>As with <tt>args</tt> you can guarantee that after returning advice only
 		executes on lists <span class="emphasis"><i>statically determinable</i></span> to be of the right
 		type by specifying a return type pattern in the associated pointcut. The 
-		<tt>@SuppressAjWarnings</tt> annotation can also be used if desired.</p></div><div class="sect3"><a name="d0e2756"></a><div class="titlepage"><div><h4 class="title"><a name="d0e2756"></a>Declaring pointcuts inside generic types</h4></div></div><p><span class="emphasis"><i>This language feature will not be supported until AspectJ 5 M4.</i></span></p><p>Pointcuts can be declared in both classes and aspects. A pointcut declared in a generic
+		<tt>@SuppressAjWarnings</tt> annotation can also be used if desired.</p></div><div class="sect3"><a name="d0e2742"></a><div class="titlepage"><div><h4 class="title"><a name="d0e2742"></a>Declaring pointcuts inside generic types</h4></div></div><p>Pointcuts can be declared in both classes and aspects. A pointcut declared in a generic
             type may use the type variables of the type in which it is declared. All references to
             a pointcut declared in a generic type from outside of that type must be via a parameterized type reference, 
             and not a raw type reference.</p><p>Consider the generic type <tt>Generic</tt> with a pointcut <tt>foo</tt>:
@@ -1404,14 +1370,14 @@
             AspectJ 5 supports the inter-type declaration of generic methods, and of members on
             generic types. For generic methods, the syntax is exactly as for a regular method
             declaration, with the addition of the target type specification:
-          </p><div class="variablelist"><dl><dt><a name="d0e2785"></a><span class="term">&lt;T extends Number&gt; T Utils.max(T first, T second) {...}</span></dt><dd><p><a name="d0e2788"></a>Declares a generic instance method <tt>max</tt> on the class <tt>Util</tt>.
+          </p><div class="variablelist"><dl><dt><a name="d0e2768"></a><span class="term">&lt;T extends Number&gt; T Utils.max(T first, T second) {...}</span></dt><dd><p><a name="d0e2771"></a>Declares a generic instance method <tt>max</tt> on the class <tt>Util</tt>.
             The <tt>max</tt> method takes two arguments, <tt>first</tt> and <tt>second</tt> which must
             both be of the same type (and that type must be Number or a subtype of Number) and returns an instance
             of that type.
-            </p></dd><dt><a name="d0e2806"></a><span class="term">static &lt;E&gt; E Utils.first(List&lt;E&gt; elements) {...}</span></dt><dd><p><a name="d0e2809"></a>Declares a static generic method <tt>first</tt> on the class <tt>Util</tt>.
+            </p></dd><dt><a name="d0e2789"></a><span class="term">static &lt;E&gt; E Utils.first(List&lt;E&gt; elements) {...}</span></dt><dd><p><a name="d0e2792"></a>Declares a static generic method <tt>first</tt> on the class <tt>Util</tt>.
             The <tt>first</tt> method takes a list of elements of some type, and returns an instance
             of that type.
-            </p></dd><dt><a name="d0e2821"></a><span class="term">&lt;T&gt; Sorter.new(List&lt;T&gt; elements,Comparator&lt;? super T&gt; comparator) {...}</span></dt><dd><p><a name="d0e2824"></a>Declares a constructor on the class <tt>Sorter</tt>.
+            </p></dd><dt><a name="d0e2804"></a><span class="term">&lt;T&gt; Sorter.new(List&lt;T&gt; elements,Comparator&lt;? super T&gt; comparator) {...}</span></dt><dd><p><a name="d0e2807"></a>Declares a constructor on the class <tt>Sorter</tt>.
             The constructor takes a list of elements of some type, and a comparator that can compare instances
             of the element type.
             </p></dd></dl></div><p>
@@ -1420,15 +1386,15 @@
           must match the number of type parameters in
          the generic type declaration. Type parameter <span class="emphasis"><i>names</i></span> do not have to match.
          For example, given the generic type <tt>Foo&lt;T,S extends Number&gt;</tt> then:      
-      </p><div class="variablelist"><dl><dt><a name="d0e2839"></a><span class="term">String Foo.getName() {...}</span></dt><dd><p><a name="d0e2842"></a>Declares a <tt>getName</tt> method on behalf of the type <tt>Foo</tt>. It is
+      </p><div class="variablelist"><dl><dt><a name="d0e2822"></a><span class="term">String Foo.getName() {...}</span></dt><dd><p><a name="d0e2825"></a>Declares a <tt>getName</tt> method on behalf of the type <tt>Foo</tt>. It is
             not possible to refer to the type parameters of Foo in such a declaration.
-            </p></dd><dt><a name="d0e2851"></a><span class="term">public R Foo&lt;Q, R&gt;.getMagnitude() {...}</span></dt><dd><p><a name="d0e2854"></a>Declares a method <tt>getMagnitude</tt> on the generic class <tt>Foo</tt>.
+            </p></dd><dt><a name="d0e2834"></a><span class="term">public R Foo&lt;Q, R&gt;.getMagnitude() {...}</span></dt><dd><p><a name="d0e2837"></a>Declares a method <tt>getMagnitude</tt> on the generic class <tt>Foo</tt>.
             The method returns an instance of the type substituted for the second type parameter in an invocation
             of <tt>Foo</tt> If <tt>Foo</tt> is declared as 
             <tt>Foo&lt;T,N extends Number&gt; {...}</tt> then this inter-type declaration is
             equivalent to the declaration of a method <tt>public N getMagnitude()</tt> 
             within the body of <tt>Foo</tt>.
-            </p></dd><dt><a name="d0e2878"></a><span class="term">R Foo&lt;Q, R extends Number&gt;.getMagnitude() {...}</span></dt><dd><p><a name="d0e2881"></a>Results in a compilation error since a bounds specification is not allowed in this
+            </p></dd><dt><a name="d0e2861"></a><span class="term">R Foo&lt;Q, R extends Number&gt;.getMagnitude() {...}</span></dt><dd><p><a name="d0e2864"></a>Results in a compilation error since a bounds specification is not allowed in this
                 form of an inter-type declaration (the bounds are determined from the declaration of the
                 target type).
             </p></dd></dl></div><p>A parameterized type may not be the target of an inter-type declaration. This is because
@@ -1438,12 +1404,12 @@
       type <tt>Bar&lt;T&gt;</tt>. 
       </p></div><div class="sect2"><a name="declare-parents"></a><div class="titlepage"><div><h3 class="title"><a name="declare-parents"></a>Declare Parents</h3></div></div><p>Both generic and parameterized types can be used as the parent type in a <tt>declare parents</tt>
           statement (as long as the resulting type hierarchy would be well-formed in accordance with Java's sub-typing
-          rules). Generic types may also be used as the target type of a <tt>declare parents</tt> statement.</p><div class="variablelist"><dl><dt><a name="d0e2904"></a><span class="term">declare parents: Foo implements List&lt;String&gt;</span></dt><dd><p><a name="d0e2907"></a>The <tt>Foo</tt> type implements the <tt>List&lt;String&gt;</tt> interface. If
+          rules). Generic types may also be used as the target type of a <tt>declare parents</tt> statement.</p><div class="variablelist"><dl><dt><a name="d0e2887"></a><span class="term">declare parents: Foo implements List&lt;String&gt;</span></dt><dd><p><a name="d0e2890"></a>The <tt>Foo</tt> type implements the <tt>List&lt;String&gt;</tt> interface. If
             <tt>Foo</tt> already implements some other parameterization of the <tt>List</tt>
             interface (for example, <tt>List&lt;Integer&gt;</tt> then a compilation error will result since a 
             type cannot implement multiple parameterizations of the same generic interface type. 
             </p></dd></dl></div></div><div class="sect2"><a name="declare-soft"></a><div class="titlepage"><div><h3 class="title"><a name="declare-soft"></a>Declare Soft</h3></div></div><p>It is an error to use a generic or parameterized type as the softened exception type in a declare soft statement. Java 5 does
-          not permit a generic class to be a direct or indirect subtype of <tt>Throwable</tt> (JLS 8.1.2).</p></div><div class="sect2"><a name="generic-aspects"></a><div class="titlepage"><div><h3 class="title"><a name="generic-aspects"></a>Generic Aspects</h3></div></div><p><span class="emphasis"><i>This feature will not be fully implemented until AspectJ5 M4.</i></span></p><p>
+          not permit a generic class to be a direct or indirect subtype of <tt>Throwable</tt> (JLS 8.1.2).</p></div><div class="sect2"><a name="generic-aspects"></a><div class="titlepage"><div><h3 class="title"><a name="generic-aspects"></a>Generic Aspects</h3></div></div><p>
             AspectJ 5 allows an <span class="emphasis"><i>abstract</i></span> aspect to be declared as a generic type. Any concrete
             aspect extending a generic abstract aspect must extend a parameterized version of the abstract aspect.
             Wildcards are not permitted in this parameterization.     
@@ -1451,12 +1417,12 @@
             public abstract aspect ParentChildRelationship&lt;P,C&gt; {
                 ...
             }
-		</pre><p>then</p><div class="variablelist"><dl><dt><a name="d0e2951"></a><span class="term">public aspect FilesInFolders extends ParentChildRelationship&lt;Folder,File&gt; {...</span></dt><dd><p><a name="d0e2954"></a>declares a concrete sub-aspect, <tt>FilesInFolders</tt> which extends the
+		</pre><p>then</p><div class="variablelist"><dl><dt><a name="d0e2931"></a><span class="term">public aspect FilesInFolders extends ParentChildRelationship&lt;Folder,File&gt; {...</span></dt><dd><p><a name="d0e2934"></a>declares a concrete sub-aspect, <tt>FilesInFolders</tt> which extends the
             parameterized abstract aspect <tt>ParentChildRelationship&lt;Folder,File&gt;</tt>.
-            </p></dd><dt><a name="d0e2963"></a><span class="term">public aspect FilesInFolders extends ParentChildRelationship {...</span></dt><dd><p><a name="d0e2966"></a>results in a compilation error since the <tt>ParentChildRelationship</tt> aspect must
+            </p></dd><dt><a name="d0e2943"></a><span class="term">public aspect FilesInFolders extends ParentChildRelationship {...</span></dt><dd><p><a name="d0e2946"></a>results in a compilation error since the <tt>ParentChildRelationship</tt> aspect must
             be fully parameterized.
-            </p></dd><dt><a name="d0e2972"></a><span class="term">public aspect ThingsInFolders&lt;T&gt; extends ParentChildRelationship&lt;Folder,T&gt;</span></dt><dd><p><a name="d0e2975"></a>results in a compilation error since concrete aspects may not have type parameters.
-            </p></dd><dt><a name="d0e2978"></a><span class="term">public abstract aspect ThingsInFolders&lt;T&gt; extends ParentChildRelationship&lt;Folder,T&gt;</span></dt><dd><p><a name="d0e2981"></a>declares a sub-aspect of <tt>ParentChildRelationship</tt> in which <tt>Folder</tt>
+            </p></dd><dt><a name="d0e2952"></a><span class="term">public aspect ThingsInFolders&lt;T&gt; extends ParentChildRelationship&lt;Folder,T&gt;</span></dt><dd><p><a name="d0e2955"></a>results in a compilation error since concrete aspects may not have type parameters.
+            </p></dd><dt><a name="d0e2958"></a><span class="term">public abstract aspect ThingsInFolders&lt;T&gt; extends ParentChildRelationship&lt;Folder,T&gt;</span></dt><dd><p><a name="d0e2961"></a>declares a sub-aspect of <tt>ParentChildRelationship</tt> in which <tt>Folder</tt>
             plays the role of parent (is bound to the type variable <tt>P</tt>).
             </p></dd></dl></div><p>The type parameter variables from a generic aspect declaration may be used in place of a type within any
         member of the aspect, <span class="emphasis"><i>except for within inter-type declarations</i></span>. 
@@ -1640,7 +1606,7 @@
          AspectJ 5 applies autoboxing and unboxing in determining argument matching.
          In other words, <tt>args(Integer)</tt> will match any join
          point at which there is a single argument of type <tt>Integer</tt>
-         or of type <tt>int</tt>.</p><div class="itemizedlist"><ul><li><a name="d0e3135"></a>args(Integer) and args(int) are equivalent</li><li><a name="d0e3137"></a>args(Float) and args(float) are equivalent</li><li><a name="d0e3139"></a>args(Double) and args(double) are equivalent</li><li><a name="d0e3141"></a>args(Short) and args(short) are equivalent</li><li><a name="d0e3143"></a>args(Byte) and args(byte) are equivalent</li><li><a name="d0e3145"></a>args(Long) and args(long) are equivalent</li><li><a name="d0e3147"></a>args(Boolean) and args(boolean) are equivalent</li></ul></div><p>
+         or of type <tt>int</tt>.</p><div class="itemizedlist"><ul><li><a name="d0e3115"></a>args(Integer) and args(int) are equivalent</li><li><a name="d0e3117"></a>args(Float) and args(float) are equivalent</li><li><a name="d0e3119"></a>args(Double) and args(double) are equivalent</li><li><a name="d0e3121"></a>args(Short) and args(short) are equivalent</li><li><a name="d0e3123"></a>args(Byte) and args(byte) are equivalent</li><li><a name="d0e3125"></a>args(Long) and args(long) are equivalent</li><li><a name="d0e3127"></a>args(Boolean) and args(boolean) are equivalent</li></ul></div><p>
         Autoboxing and unboxing are also applied when binding pointcut or 
         advice parameters, for example:   
       </p><pre class="programlisting">
@@ -1651,10 +1617,10 @@
    		}
    		</pre></div><div class="sect1"><a name="autoboxing-and-method-dispatch"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="autoboxing-and-method-dispatch"></a>Inter-type method declarations and method dispatch</h2></div></div><p>Autoboxing, unboxing, and also varargs all affect the method
           dispatch algorithm used in Java 5. In AspectJ 5, the target method
-          of a call is selected according to the following algorithm:</p><div class="orderedlist"><ol type="1"><li><a name="d0e3159"></a>Attempt to locate a matching method or inter-type declared
+          of a call is selected according to the following algorithm:</p><div class="orderedlist"><ol type="1"><li><a name="d0e3139"></a>Attempt to locate a matching method or inter-type declared
               method without considering
-              autoboxing, unboxing, or vararg invocations.</li><li><a name="d0e3161"></a>If no match is found, try again considering autoboxing
-              and unboxing.</li><li><a name="d0e3163"></a>Finally try again considering both autoboxing, unboxing,
+              autoboxing, unboxing, or vararg invocations.</li><li><a name="d0e3141"></a>If no match is found, try again considering autoboxing
+              and unboxing.</li><li><a name="d0e3143"></a>Finally try again considering both autoboxing, unboxing,
               and varargs.</li></ol></div><p>One consequence is that a directly matching inter-type declared
           method will take precedence over a method declared locally in the 
           target class but that only matches via autoboxing.</p></div></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="covariance"></a>Chapter 5. Covariance</h2></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="#covariance-inJava5">Covariance in Java 5</a></dt><dt><a href="#covariance-and-join-point-matching">Covariant methods and Join Point matching</a></dt></dl></div><div class="sect1"><a name="covariance-inJava5"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="covariance-inJava5"></a>Covariance in Java 5</h2></div></div><p>
@@ -1686,24 +1652,24 @@
 		</p><pre class="programlisting">
 		A A.whoAreYou()
 		B B.whoAreYou()
-		</pre><p>Following the join point matching rules given in <a href="#jpsigs">Join Point Signatures</a>,</p><div class="variablelist"><dl><dt><a name="d0e3217"></a><span class="term">call(* whoAreYou())</span></dt><dd><p><a name="d0e3220"></a>Matches both calls, (since each call join point has at least
+		</pre><p>Following the join point matching rules given in <a href="#jpsigs">Join Point Signatures</a>,</p><div class="variablelist"><dl><dt><a name="d0e3197"></a><span class="term">call(* whoAreYou())</span></dt><dd><p><a name="d0e3200"></a>Matches both calls, (since each call join point has at least
             one matching signature).
-            </p></dd><dt><a name="d0e3223"></a><span class="term">call(* A.whoAreYou())</span></dt><dd><p><a name="d0e3226"></a>Matches both calls, (since each call join point has at least
+            </p></dd><dt><a name="d0e3203"></a><span class="term">call(* A.whoAreYou())</span></dt><dd><p><a name="d0e3206"></a>Matches both calls, (since each call join point has at least
             one matching signature).
-            </p></dd><dt><a name="d0e3229"></a><span class="term">call(A whoAreYou())</span></dt><dd><p><a name="d0e3232"></a>Matches both calls, (since each call join point has at least
+            </p></dd><dt><a name="d0e3209"></a><span class="term">call(A whoAreYou())</span></dt><dd><p><a name="d0e3212"></a>Matches both calls, (since each call join point has at least
             one matching signature).
-            </p></dd><dt><a name="d0e3235"></a><span class="term">call(A B.whoAreYou())</span></dt><dd><p><a name="d0e3238"></a>Does not match anything - neither of the call join points
+            </p></dd><dt><a name="d0e3215"></a><span class="term">call(A B.whoAreYou())</span></dt><dd><p><a name="d0e3218"></a>Does not match anything - neither of the call join points
             has a signature matched by this pattern.  A lint warning is
             given for the call <tt>a.whoAreYou()</tt> ("does not match
             because declaring type is A, if match required use target(B)").
-            </p></dd><dt><a name="d0e3244"></a><span class="term">call(A+ B.whoAreYou())</span></dt><dd><p><a name="d0e3247"></a>Matches the call to <tt>b.whoAreYou()</tt> since
+            </p></dd><dt><a name="d0e3224"></a><span class="term">call(A+ B.whoAreYou())</span></dt><dd><p><a name="d0e3227"></a>Matches the call to <tt>b.whoAreYou()</tt> since
             the signature pattern matches the signature <tt>B B.whoAreYou()</tt>. 
             A lint warning is given for the call <tt>a.whoAreYou()</tt> ("does not match
             because declaring type is A, if match required use target(B)").
-            </p></dd><dt><a name="d0e3259"></a><span class="term">call(B A.whoAreYou())</span></dt><dd><p><a name="d0e3262"></a>Does not match anything since neither join point has a 
+            </p></dd><dt><a name="d0e3239"></a><span class="term">call(B A.whoAreYou())</span></dt><dd><p><a name="d0e3242"></a>Does not match anything since neither join point has a 
             signature matched by this pattern.
-            </p></dd><dt><a name="d0e3265"></a><span class="term">call(B whoAreYou())</span></dt><dd><p><a name="d0e3268"></a>Matches the call to <tt>b.whoAreYou()</tt> only.
-            </p></dd><dt><a name="d0e3274"></a><span class="term">call(B B.whoAreYou())</span></dt><dd><p><a name="d0e3277"></a>Matches the call to <tt>b.whoAreYou()</tt> only.
+            </p></dd><dt><a name="d0e3245"></a><span class="term">call(B whoAreYou())</span></dt><dd><p><a name="d0e3248"></a>Matches the call to <tt>b.whoAreYou()</tt> only.
+            </p></dd><dt><a name="d0e3254"></a><span class="term">call(B B.whoAreYou())</span></dt><dd><p><a name="d0e3257"></a>Matches the call to <tt>b.whoAreYou()</tt> only.
             </p></dd></dl></div><p>The rule for signature matching at call and execution join points
 		is unchanged from AspectJ 1.2: a call or execution pointcut matches if
 		the signature pattern matches at least one of the signatures of the
@@ -1761,14 +1727,14 @@
                 <tt>execution</tt>, <tt>initialization</tt>,
                 <tt>preinitialization</tt>, and <tt>withincode</tt>
                 pointcut designators. Some examples of usage follow:
-            </p><div class="variablelist"><dl><dt><a name="d0e3367"></a><span class="term">call(* org.xyz.*.*(int, String...))</span></dt><dd><p><a name="d0e3370"></a>
+            </p><div class="variablelist"><dl><dt><a name="d0e3347"></a><span class="term">call(* org.xyz.*.*(int, String...))</span></dt><dd><p><a name="d0e3350"></a>
             	Matches a call join point for a call to a method defined in the
             	<tt>org.xyz</tt> package, taking an <tt>int</tt>
             	and a <tt>String vararg</tt>.
-            </p></dd><dt><a name="d0e3382"></a><span class="term">execution(* org.xyz.*.*(Integer...))</span></dt><dd><p><a name="d0e3385"></a>
+            </p></dd><dt><a name="d0e3362"></a><span class="term">execution(* org.xyz.*.*(Integer...))</span></dt><dd><p><a name="d0e3365"></a>
             	Matches an execution join point for the execution of a method defined in the
             	<tt>org.xyz</tt> package, taking an <tt>Integer vararg</tt>.
-            </p></dd><dt><a name="d0e3394"></a><span class="term">initialization(org.xyz.*.new((Foo || Goo)...))</span></dt><dd><p><a name="d0e3397"></a>
+            </p></dd><dt><a name="d0e3374"></a><span class="term">initialization(org.xyz.*.new((Foo || Goo)...))</span></dt><dd><p><a name="d0e3377"></a>
             	Matches the initialization join point for the construction of an
             	object in the <tt>org.xyz</tt> package via a constructor
             	taking either a variable number of <tt>Foo</tt> parameters or
@@ -1826,12 +1792,12 @@
       AspectJ 5 supports the declaration of enumerated types just as Java 5
       does. Because of the special restrictions Java 5 places around enumerated
       types, AspectJ makes the following additional restrictions:
-      </p><div class="itemizedlist"><ul><li><a name="d0e3506"></a>You cannot use declare parents to change the super type of
-          an enum.</li><li><a name="d0e3508"></a>You cannot use declare parents to declare java.lang.Enum as
-          the parent of any type.</li><li><a name="d0e3510"></a>You cannot make inter-type constructor declarations on an
-          enum.</li><li><a name="d0e3512"></a>You cannot extend the set of values in an enum via any
-          ITD-like construct.</li><li><a name="d0e3514"></a>You cannot make inter-type method or field declarations on 
-          an enum.</li><li><a name="d0e3516"></a>You cannot use declare parents to make an enum type implement
+      </p><div class="itemizedlist"><ul><li><a name="d0e3486"></a>You cannot use declare parents to change the super type of
+          an enum.</li><li><a name="d0e3488"></a>You cannot use declare parents to declare java.lang.Enum as
+          the parent of any type.</li><li><a name="d0e3490"></a>You cannot make inter-type constructor declarations on an
+          enum.</li><li><a name="d0e3492"></a>You cannot extend the set of values in an enum via any
+          ITD-like construct.</li><li><a name="d0e3494"></a>You cannot make inter-type method or field declarations on 
+          an enum.</li><li><a name="d0e3496"></a>You cannot use declare parents to make an enum type implement
           an interface.</li></ul></div><p>In theory, the last of these two items <span class="emphasis"><i>could</i></span>
       be supported. However, AspectJ 5 follows the simple rule that <span class="emphasis"><i>
       an enum type cannot be the target of an inter-type declaration or declare
@@ -1937,9 +1903,6 @@
      public class Foo {}
          </pre><p>Is equivalent to:</p><pre class="programlisting">
      public aspect Foo {}
-         </pre><p>And since issingleton() is the default aspect instantiation model it is equivalent to:</p><pre class="programlisting">
-      @Aspect("issingleton()")
-      public class Foo {}
          </pre><p>To specify an aspect an aspect instantiation model (the default is
             singleton), provide the perclause as the
             <tt>@Aspect</tt>
@@ -1989,13 +1952,14 @@
      void someCall(int i, Foo callee) {}
          </pre><p>is equivalent to...</p><pre class="programlisting">
      pointcut anyCall(int i, Foo callee) : call(* *.*(int)) &amp;&amp; args(i) &amp;&amp; target(callee);
-             </pre><p>An example with modifiers (it is also good to remember that Java 5 annotations are not
-                inherited):</p><pre class="programlisting">
+             </pre><p>An example with modifiers (Remember that Java 5 annotations are not
+                inherited, so the <tt>@Pointcut</tt> annotation must be
+                present on the extending aspect's pointcut declaration too):</p><pre class="programlisting">
      @Pointcut("")
      protected abstract void anyCall();
          </pre><p>is equivalent to...</p><pre class="programlisting">
      protected abstract pointcut anyCall();
-             </pre><div class="sect3"><a name="d0e3702"></a><div class="titlepage"><div><h4 class="title"><a name="d0e3702"></a>Type references inside @AspectJ annotations</h4></div></div><p>
+             </pre><div class="sect3"><a name="d0e3681"></a><div class="titlepage"><div><h4 class="title"><a name="d0e3681"></a>Type references inside @AspectJ annotations</h4></div></div><p>
                     Using the code style, types referenced in pointcut expressions are
                     resolved with respect to the imported types in the compilation unit.
                     When using the annotation style, types referenced in pointcut
@@ -2037,7 +2001,7 @@
        void anyUtilityCall() {}
 
      }
-             </pre></div><div class="sect3"><a name="d0e3718"></a><div class="titlepage"><div><h4 class="title"><a name="d0e3718"></a>if() pointcut expressions</h4></div></div><p>In code style, it is possible to use the
+             </pre></div><div class="sect3"><a name="d0e3697"></a><div class="titlepage"><div><h4 class="title"><a name="d0e3697"></a>if() pointcut expressions</h4></div></div><p>In code style, it is possible to use the
                     <tt>if(...)</tt>
                     poincut to define
                     a conditional pointcut expression which will be evaluated at runtime for each candidate join point.
@@ -2048,15 +2012,16 @@
                     <tt>thisJoinPoint, thisJoinPointStaticPart and thisJoinPointEnclosingStaticPart</tt>
                     .
                 </p><p>
-                    When using the annotation style, it would be really a pain to write a valid Java expression within
-                    the annotation value so the syntax differs sligthly, whilst providing the very same
+                    When using the annotation style, it is not possible to write a full Java expression
+                    within
+                    the annotation value so the syntax differs slightly, whilst providing the very same
                     semantics and runtime behaviour. An
                     <tt>if()</tt>
                     pointcut expression can be
                     declared in an
                     <tt>@Pointcut</tt>
-                    , but must either an empty body, or be one
-                    of the expression
+                    , but must have either an empty body (<tt>if()</tt>, or be one
+                    of the expression forms
                     <tt>if(true)</tt>
                     or
                     <tt>if(false)</tt>
@@ -2296,13 +2261,14 @@
             </pre><p>Note that the ProceedingJoinPoint does not need to be passed to the proceed(..) arguments.
             </p></div></div><div class="sect1"><a name="ataspectj-itds"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="ataspectj-itds"></a>Inter-type Declarations</h2></div></div><p>
             Inter-type declarations are challenging to support using an annotation style.
-            It's very important to preserve the exact same semantics between the code style
+            It's very important to preserve the same semantics between the code style
             and the annotation style. We also want to support compilation of a large set
-            of AspectJ applications using a standard Java 5 compiler. For these reasons, in
-            the initial release of AspectJ 5 we will only support inter-type declarations
-            backed by interfaces when using the annotation style - which means it is not possible to
-            introduce constructors or fields, as it would not be not possible to call those unless already
-            weaved and available on a binary form.
+            of @AspectJ applications using a standard Java 5 compiler. For these reasons,
+            the 1.5.0 release of AspectJ 5 only supports inter-type declarations
+            backed by interfaces when using the annotation style - 
+            which means it is not possible to
+            introduce constructors or fields, as it would not be not possible to call 
+            those unless already woven and available on a binary form.
         </p><p>
             Consider the following aspect:
         </p><pre class="programlisting">
@@ -2354,11 +2320,9 @@
            }
         }
 
-        // here is the actual ITD syntax when using @AspectJ
-        // public static is mandatory
         // the field type must be the introduced interface. It can't be a class.
-        @DeclareParents("org.xzy..*")
-        public static Moody introduced = new MoodyImpl();
+        @DeclareParents(value="org.xzy..*",defaultImpl="MoodyImpl")
+        private Moody implementedInterface;
 
         @Before("execution(* *.*(..)) &amp;&amp; this(m)")
         void feelingMoody(Moody m) {
@@ -2371,39 +2335,33 @@
             <tt>@DeclareParents</tt>
             annotation is equivalent to
             a declare parents statement that all types matching the type pattern implement
-            the interface whose @DeclareParents annotated aspect' field is type of (in this case Moody).
-            Each method declaration of this interface are treated as inter-type declarations.
+            the given interface (in this case Moody).
+            Each method declared in the interface is treated as an inter-type declaration.
             Note how this scheme operates within the constraints
             of Java type checking and ensures that
             <tt>this</tt>
             has access
             to the exact same set of members as in the code style example.
         </p><p>
-            Note that it is illegal to use the @DeclareParents annotation on an aspect' field whose type
-            is not an interface. Indeed, the interface is the inter-type declaration contract that dictates
-            which methods are introduced.
-        </p><p>
-            It is important to remember that the @DeclareParents annotated aspect' field that serves as a host
-            for the inter-type declaration must be <tt>public static</tt> and <tt>initialized by some means</tt>.
-            The weaved code will indeed delegate calls to this field when f.e. invoking:
+            Note that it is illegal to use the @DeclareParents annotation on an aspect' field of a non-interface type.
+            The interface type is the inter-type declaration contract that dictates
+            which methods are declared on the target type.
         </p><pre class="programlisting">
-     // this type will be affected by the inter-type declaration as the type pattern match
+     // this type will be affected by the inter-type declaration as the type pattern matches
      package org.xyz;
      public class MoodTest {
 
         public void test() {
-            // see here the cast to the introduced interface
+            // see here the cast to the introduced interface (required)
             Mood mood = ((Moody)this).getMood();
-            // will delegate to the aspect field "introduced" that host this inter-type declaration
             ...
         }
     }
-         </pre><p>
-            It is perfectly possible to use an IoC framework to initialize the @DeclaredParents aspect' field. You must
-            ensure though that the aspect field will be initialed prior the first inter-type declaration invocation it hosts.
-        </p><p>
-            If you need to only introduce a marker interface which defines no method - such as <tt>java.io.Serializable</tt>
-            it is possible to use the following syntax.
+         </pre><p>The <tt>@DeclareParents</tt> annotation can also be used without specifying
+        a <tt>defaultImpl</tt> value (for example, 
+        <tt>@DeclareParents("org.xyz..*")</tt>). This is equivalent to a 
+        <tt>declare parents ... implements</tt> clause, and does <span class="emphasis"><i>not</i></span>
+        make any inter-type declarations for default implementation of the interface methods.
         </p><p>
             Consider the following aspect:
         </p><pre class="programlisting">
@@ -2416,25 +2374,19 @@
      @Aspect
      public class SerializableMarker {
 
-        @DeclareImplements("org.xyz..*")
-        Serializable introducedNoMethods;
+        @DeclareParents("org.xyz..*")
+        Serializable implementedInterface;
      }
          </pre><p>
-            The <tt>@DeclareImplements</tt> annotation on the aspect' field dictates the type pattern
-            on which to introduce the marker interface.
-        </p><p>
-            In that case, as there is no method introduced, it is perfectly possible to have the aspect' field
-            private, or not initialized. Remember that the field' type must be the introduced interface and cannot be class.
+        	If the interface defines one or more operations, and these are not implemented by
+        	the target type, an error will be issued during weaving.
         </p></div><div class="sect1"><a name="ataspectj-declare"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="ataspectj-declare"></a>Declare statements</h2></div></div><p>The previous section on inter-type declarations covered the case
-            of declare parents ... implements. The 1.5.0 release of AspectJ 5 will
+            of declare parents ... implements. The 1.5.0 release of AspectJ 5 does
             not support annotation style declarations for declare parents ... extends
             and declare soft (programs with these declarations would not in general
             be compilable by a regular Java 5 compiler, reducing the priority of
             their implementation). These may be supported in a future release.</p><p>
-            Declare annotation is not supported neither in the 1.5.0 release of AspectJ 5. Given that Java 5
-            compilers enforce the annotation target (@java.lang.annotation.Target) to be respected, this would cause
-            adding a lot of dummy members in the aspect (such as dummy constructors, methods etc), which would break the
-            object oriented design of the @AspectJ aspect itself.
+            Declare annotation is also not supported in the 1.5.0 release of AspectJ 5.
         </p><p>Declare precedence <span class="emphasis"><i>is</i></span>
             supported. For declare precedence, use the
             <tt>@DeclarePrecedence</tt>
@@ -2459,7 +2411,7 @@
             weave time, not when the aspects containing the declarations are compiled.
             (This is the same behaviour as when using declare warning or error with the
             code style). Declare warning and error declarations are made by annotating
-            a string constant whose value is the message to be issued.</p><p>Note that the String must be a constant and not the result of the invocation
+            a string constant whose value is the message to be issued.</p><p>Note that the String must be a literal and not the result of the invocation
             of a static method for example.</p><pre class="programlisting">
        declare warning : call(* javax.sql..*(..)) &amp;&amp; !within(org.xyz.daos..*)
                        : "Only DAOs should be calling JDBC.";
@@ -2475,7 +2427,7 @@
        @DeclareError("execution(* IFoo+.*(..)) &amp;&amp; !within(org.foo..*)")
        static final String badIFooImplementors = "Only foo types can implement IFoo";
 
-       // the following is not valid since the message is not a String constant
+       // the following is not valid since the message is not a String literal
        @DeclareError("execution(* IFoo+.*(..)) &amp;&amp; !within(org.foo..*)")
        static final String badIFooImplementorsCorrupted = getMessage();
        static String getMessage() {
@@ -2517,12 +2469,23 @@
         /* variation used for pertypewithin */
         public static boolean hasAspect(Object anAspect, Class forType) {...}
       }
-        </pre></div></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="reflection"></a>Chapter 10. New Reflection Interfaces</h2></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="#reflection_api">The Aspect Class</a></dt></dl></div><p>
-      AspectJ 5 provides support for runtime reflection of aspect types. The class <tt>Aspect</tt> is
-      analogous to the Java class <tt>Class</tt> and provides access to the members of an aspect. 
-  </p><div class="sect1"><a name="reflection_api"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="reflection_api"></a>The Aspect Class</h2></div></div><p>
-	    
-	</p></div></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="miscellaneous"></a>Chapter 11. Other Changes in AspectJ 5</h2></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="#d0e4061">Pointcuts</a></dt><dd><dl><dt><a href="#binding-of-formals">Binding of formals</a></dt><dt><a href="#additional-lint-warnings">Additional lint warnings</a></dt></dl></dd><dt><a href="#declare-soft">Declare Soft</a></dt><dt><a href="#d0e4115">Tools</a></dt><dd><dl><dt><a href="#aspectpath">Aspectpath</a></dt></dl></dd></dl></div><div class="sect1"><a name="d0e4061"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="d0e4061"></a>Pointcuts</h2></div></div><div class="sect2"><a name="binding-of-formals"></a><div class="titlepage"><div><h3 class="title"><a name="binding-of-formals"></a>Binding of formals</h3></div></div><p>
+        </pre></div></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="reflection"></a>Chapter 10. New Reflection Interfaces</h2></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="#reflection_api">Using AjTypeSystem</a></dt></dl></div><p>
+    AspectJ 5 provides a full set of reflection APIs analogous to the 
+    <tt>java.lang.reflect</tt> package, but fully aware of the
+    AspectJ type system. See the javadoc for the runtime and tools APIs
+    for the full details. The reflection APIs are only supported when
+    running under Java 5 and for code compiled by the AspectJ 5 compiler
+    at target level 1.5.
+  </p><div class="sect1"><a name="reflection_api"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="reflection_api"></a>Using AjTypeSystem</h2></div></div><p>
+	    The starting point for using the reflection apis is
+	    <tt>org.aspectj.lang.reflect.AjTypeSystem</tt> which
+	    provides the method <tt>getAjType(Class)</tt> which will
+	    return the <tt>AjType</tt> corresponding to a given
+	    Java class. The <tt>AjType</tt> interface corresponds to
+	    <tt>java.lang.Class</tt> and gives you access to all of the
+	    method, field, constructor, and also pointcut, advice, declare
+	    statement and inter-type declaration members in the type.
+	</p></div></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="miscellaneous"></a>Chapter 11. Other Changes in AspectJ 5</h2></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="#d0e4052">Pointcuts</a></dt><dt><a href="#declare-soft">Declare Soft</a></dt></dl></div><div class="sect1"><a name="d0e4052"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="d0e4052"></a>Pointcuts</h2></div></div><p>
            AspectJ 5 is more liberal than AspectJ 1.2.1 in accepting pointcut expressions
            that bind context variables in more than one location. For example, AspectJ
            1.2.1 does not allow:
@@ -2535,11 +2498,7 @@
 		     must be mutually exclusive. In the above example for instance, no join point
 		     can be both an execution join point and a set join point so the two branches
 		     are mutually exclusive.
-		  </p></div><div class="sect2"><a name="additional-lint-warnings"></a><div class="titlepage"><div><h3 class="title"><a name="additional-lint-warnings"></a>Additional lint warnings</h3></div></div><p>
-            Discuss detection of common errors -&gt; warning/error, eg. conjunction of more than one
-            kind of join point. Differing numbers of args in method signature / args / @args /
-            @parameters.
-          </p></div></div><div class="sect1"><a name="declare-soft"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="declare-soft"></a>Declare Soft</h2></div></div><p>
+		  </p></div><div class="sect1"><a name="declare-soft"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="declare-soft"></a>Declare Soft</h2></div></div><p>
           The semantics of the <tt>declare soft</tt> statement have been 
           refined in AspectJ 5 to only soften exceptions that are not already runtime 
           exceptions. If the exception type specified in a declare soft statement is <tt>RuntimeException</tt>
@@ -2578,188 +2537,5 @@
        	  }
        	
        	}
-		</pre></div><div class="sect1"><a name="d0e4115"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="d0e4115"></a>Tools</h2></div></div><div class="sect2"><a name="aspectpath"></a><div class="titlepage"><div><h3 class="title"><a name="aspectpath"></a>Aspectpath</h3></div></div><p>AspectJ 5 allows the specification of directories (containing .class files) on the aspectpath in
-              addition to jar/zip files.</p></div></div></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="ltw"></a>Chapter 12. Load-Time Weaving</h2></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="#ltw-introduction">Introduction</a></dt></dl></div><div class="sect1"><a name="ltw-introduction"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="ltw-introduction"></a>Introduction</h2></div></div><p>See Developer's Guide.</p></div></div><div class="appendix"><div class="titlepage"><div><h2 class="title"><a name="grammar"></a>Appendix A. A Grammar for the AspectJ 5 Language</h2></div></div><pre class="programlisting">
-        === type patterns ===
-      
-        TypePattern := SimpleTypePattern |
-  	                   '!' TypePattern |
-  	                   '(' AnnotationPattern? TypePattern ')'
-  	                   TypePattern '&amp;&amp;' TypePattern |
-  	                   TypePattern '||' TypePattern
-  	  	
-        SimpleTypePattern := DottedNamePattern '+'? '[]'*
-  	  	
-        DottedNamePattern := FullyQualifiedName RestOfNamePattern? |
-  		                     '*' NotStarNamePattern?
-  		
-        RestOfNamePattern := '..' DottedNamePattern |
-  		                     '*' NotStarNamePattern?
-  		                     
-        NotStarNamePattern := FullyQualifiedName RestOfNamePattern? |
-  		                      '..' DottedNamePattern               
-
-        FullyQualifiedName := JavaIdentifierCharacter+ ('.' JavaIdentifierCharacter+)*  				  		  		  		               									 				  		             
- 
-        === annotation patterns ===
- 
-        AnnotationPattern := '!'? '@' AnnotationTypePattern AnnotationPattern* 
-
-        
-        AnnotationTypePattern := FullyQualifiedName |
-                                 '(' TypePattern ')'
- 
-        === signature patterns ===
-        
-        -- field --
-        
-        FieldPattern := 
-  		    AnnotationPattern? FieldModifiersPattern? 
-  		    TypePattern (TypePattern DotOrDotDot)? SimpleNamePattern
-
-        FieldModifiersPattern := '!'? FieldModifier FieldModifiersPattern*
-		                         		
-        FieldModifier := 'public' | 'private' | 'protected' | 'static' | 
-		                 'transient' | 'final' 
-		            			
-        DotOrDotDot := '.' | '..'
-		
-        SimpleNamePattern := JavaIdentifierChar+ ('*' SimpleNamePattern)?		            
-        
-        -- method --
-        
-        MethodPattern := 
-  		    AnnotationPattern? MethodModifiersPattern? TypePattern 
-  		                       (TypePattern DotOrDotDot)? SimpleNamePattern 
-  		                       '(' FormalsPattern ')' ThrowsPattern?
-
-        MethodModifiersPattern := '!'? MethodModifier MethodModifiersPattern*
-		
-        MethodModifier := 'public' | 'private' | 'protected' | 'static' | 
-		                  'synchronized' | 'final' 
-		            		      
-        FormalsPattern := '..' (',' FormalsPatternAfterDotDot)? |
-		                  OptionalParensTypePattern (',' FormalsPattern)* |
-		                  TypePattern '...'
-		                  
-        FormalsPatternAfterDotDot := 
-		        OptionalParensTypePattern (',' FormalsPatternAfterDotDot)* |
-		        TypePattern '...'
-		                  
-        ThrowsPattern := 'throws' TypePatternList
-		
-        TypePatternList := TypePattern (',' TypePattern)*
-		
-        -- constructor --
-		            					            
-        ConstructorPattern := 
-  		    AnnotationPattern? ConstructorModifiersPattern?  
-  		                       (TypePattern DotOrDotDot)? 'new' '(' FormalsPattern ')'
-  		                       ThrowsPattern?
-	
-        ConstructorModifiersPattern := '!'? ConstructorModifier ConstructorModifiersPattern*
-		
-        ConstructorModifier := 'public' | 'private' | 'protected'
-        
-        === Pointcuts ===
-        
-        PointcutPrimitive := 
-                    Call | Execution | Get | Set | Handler | 
-                    Initialization | PreInitialization |
-                    StaticInitialization | AdviceExecution |
-                    This | Target | Args | CFlow | CFlowBelow |
-                    Within | WithinCode | If |
-                    AnnotationPointcut
-                    
-        AnnotationPointcut := AtAnnotation | AtThis | AtTarget |
-                              AtWithin | AtWithinCode | AtArgs
-                    
-        
-        Call := 'call' '(' MethodOrConstructorPattern ')'
-        
-        MethodOrConstructorPattern := MethodPattern | ConstructorPattern
-        
-        Execution := 'execution' '(' MethodOrConstructorPattern ')'
-        
-        Get := 'get' '(' FieldPattern ')'        
-        Set := 'set' '(' FieldPattern ')'
-        Handler := 'handler' '(' OptionalParensTypePattern ')'
-        Initialization := 'initialization' '(' ConstructorPattern ')'
-        PreInitialization := 'preinitialization' '(' ConstructorPattern ')'
-        StaticInitialization := 'staticinitialization' '(' OptionalParensTypePattern ')'
-        AdviceExecution := 'adviceexecution' '(' ')'
-        This := 'this' '(' TypeOrIdentifier ')'
-        Target := 'target' '(' TypeOrIdentifier ')'
-        Args := 'args' '(' FormalsOrIdentifiersPattern ')'
-        CFlow := 'cflow' '(' Pointcut ')'
-        CFlowBelow := 'cflowbelow' '(' Pointcut ')'
-        Within := 'within' '(' OptionalParensTypePattern ')'
-        WithinCode := 'withincode' '(' OptionalParensTypePattern ')'
-        If := 'if' '(' BooleanJavaExpression ')'
-        
-        TypeOrIdentifier := FullyQualifiedName ('[' ']')* | Identifier
-        Identifier := JavaIdentifierChar+
-        
-        FormalsOrIdentifiersPattern :=
-                          '..' (',' FormalsOrIdentifiersPatternAfterDotDot)? |
-		                  TypeOrIdentifier (',' FormalsOrIdentifiersPattern)* |
-		                  '*' (',' FormalsOrIdentifiersPattern)* 
-		                  
-        FormalsOrIdentifiersPatternAfterDotDot := 
-		                  TypeOrIdentifier (',' FormalsOrIdentifiersPatternAfterDotDot)* |
-		                  '*' (',' FormalsOrIdentifiersPatternAfterDotDot)*
-        
-        AtAnnotation := '@annotation' '(' AnnotationOrIdentifier ')'
-        AtThis := '@this' '(' AnnotationOrIdentifer ')'
-        AtTarget := '@target' '(' AnnotationOrIdentifier ')'
-        AtWithin := '@within' '(' AnnotationOrIdentifier ')'
-        AtWithinCode := '@withincode' '(' AnnotationOrIdentifier ')'        
-        
-        AnnotationOrIdentifier := FullyQualifiedName | Identifier
-        
-        AtArgs := '@args' '(' AnnotationsOrIdentifiersPattern ')'
-        
-        AnnotationsOrIdentifiersPattern :=
-                          '..' (',' AnnotationsOrIdentifiersPatternAfterDotDot)? |
-                          AnnotationOrIdentifier (',' AnnotationsOrIdentifiersPattern)* |
-                          '*' (',' AnnotationsOrIdentifiersPattern)*
-		                  
-        AnnotationsOrIdentifiersPatternAfterDotDot := 
-		                  AnnotationOrIdentifier (',' AnnotationsOrIdentifiersPatternAfterDotDot)* |
-		                  '*' (',' AnnotationsOrIdentifiersPatternAfterDotDot)*
-        
-        PointcutDeclaration := PointcutModifiers? 'pointcut' Identifier Formals
-                               ':' PointcutExpression
-                               
-        PointcutModifiers := PointcutModifier*
-        
-        PointcutModifier :=  'public' | 'private' | 'protected' | 'abstract'
-        
-        Formals := '(' ParamList? ')'        
-        ParamList := FullyQualifiedName Identifier (',' ParamList)*
-        
-        ReferencePointcut := (FullyQualifiedName '.')? Identifier Formals
-        
-        PointcutExpression := (PointcutPrimitive | ReferencePointcut) |
-                              '!' PointcutExpression |
-                              '(' PointcutExpression ')' |
-                              PointcutExpression '&amp;&amp;' PointcutExpression |
-                              PointcutExpression '||' PointcutExpression 
-        
-        === Advice ===
-        
-        to be written...
-        
-        === Inter-type Declarations ===
-        
-        to be written...
-        
-        === Declare Statements ===
-        
-        to be written...
-        
-        === Aspects ===
-        
-        to be written...
-        
-      </pre></div></div></body></html>
\ No newline at end of file
+		</pre></div></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="ltw"></a>Chapter 12. Load-Time Weaving</h2></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="#ltw-introduction">Introduction</a></dt></dl></div><div class="sect1"><a name="ltw-introduction"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="ltw-introduction"></a>Introduction</h2></div></div><p>See Developer's Guide for information on 
+        load-time weaving support in AspectJ 5.</p></div></div></div></body></html>
\ No newline at end of file
diff --git a/org.aspectj.ajde/doc/adk15notebook/reflection.html b/org.aspectj.ajde/doc/adk15notebook/reflection.html
index 238d8a3..14c46e0 100755
--- a/org.aspectj.ajde/doc/adk15notebook/reflection.html
+++ b/org.aspectj.ajde/doc/adk15notebook/reflection.html
@@ -1,8 +1,19 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-   <title>Chapter 10. New Reflection Interfaces</title><link rel="stylesheet" href="aspectj-docs.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.44"><link rel="home" href="index.html" title="The AspectJTM 5 Development Kit Developer's Notebook"><link rel="up" href="index.html" title="The AspectJTM 5 Development Kit Developer's Notebook"><link rel="previous" href="ataspectj-aspectof.html" title="aspectOf() and hasAspect() methods"><link rel="next" href="miscellaneous.html" title="Chapter 11. Other Changes in AspectJ 5"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 10. New Reflection Interfaces</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ataspectj-aspectof.html">Prev</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="miscellaneous.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="reflection"></a>Chapter 10. New Reflection Interfaces</h2></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="reflection.html#reflection_api">The Aspect Class</a></dt></dl></div><p>
-      AspectJ 5 provides support for runtime reflection of aspect types. The class <tt>Aspect</tt> is
-      analogous to the Java class <tt>Class</tt> and provides access to the members of an aspect. 
-  </p><div class="sect1"><a name="reflection_api"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="reflection_api"></a>The Aspect Class</h2></div></div><p>
-	    
+   <title>Chapter 10. New Reflection Interfaces</title><link rel="stylesheet" href="aspectj-docs.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.44"><link rel="home" href="index.html" title="The AspectJTM 5 Development Kit Developer's Notebook"><link rel="up" href="index.html" title="The AspectJTM 5 Development Kit Developer's Notebook"><link rel="previous" href="ataspectj-aspectof.html" title="aspectOf() and hasAspect() methods"><link rel="next" href="miscellaneous.html" title="Chapter 11. Other Changes in AspectJ 5"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 10. New Reflection Interfaces</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ataspectj-aspectof.html">Prev</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="miscellaneous.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="reflection"></a>Chapter 10. New Reflection Interfaces</h2></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="reflection.html#reflection_api">Using AjTypeSystem</a></dt></dl></div><p>
+    AspectJ 5 provides a full set of reflection APIs analogous to the 
+    <tt>java.lang.reflect</tt> package, but fully aware of the
+    AspectJ type system. See the javadoc for the runtime and tools APIs
+    for the full details. The reflection APIs are only supported when
+    running under Java 5 and for code compiled by the AspectJ 5 compiler
+    at target level 1.5.
+  </p><div class="sect1"><a name="reflection_api"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="reflection_api"></a>Using AjTypeSystem</h2></div></div><p>
+	    The starting point for using the reflection apis is
+	    <tt>org.aspectj.lang.reflect.AjTypeSystem</tt> which
+	    provides the method <tt>getAjType(Class)</tt> which will
+	    return the <tt>AjType</tt> corresponding to a given
+	    Java class. The <tt>AjType</tt> interface corresponds to
+	    <tt>java.lang.Class</tt> and gives you access to all of the
+	    method, field, constructor, and also pointcut, advice, declare
+	    statement and inter-type declaration members in the type.
 	</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ataspectj-aspectof.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="miscellaneous.html">Next</a></td></tr><tr><td width="40%" align="left">aspectOf() and hasAspect() methods&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right">&nbsp;Chapter 11. Other Changes in AspectJ 5</td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/org.aspectj.ajde/doc/adk15notebook/varargs-in-pcds.html b/org.aspectj.ajde/doc/adk15notebook/varargs-in-pcds.html
index 16a67e3..d12d8cf 100755
--- a/org.aspectj.ajde/doc/adk15notebook/varargs-in-pcds.html
+++ b/org.aspectj.ajde/doc/adk15notebook/varargs-in-pcds.html
@@ -24,14 +24,14 @@
                 <tt>execution</tt>, <tt>initialization</tt>,
                 <tt>preinitialization</tt>, and <tt>withincode</tt>
                 pointcut designators. Some examples of usage follow:
-            </p><div class="variablelist"><dl><dt><a name="d0e3367"></a><span class="term">call(* org.xyz.*.*(int, String...))</span></dt><dd><p><a name="d0e3370"></a>
+            </p><div class="variablelist"><dl><dt><a name="d0e3347"></a><span class="term">call(* org.xyz.*.*(int, String...))</span></dt><dd><p><a name="d0e3350"></a>
             	Matches a call join point for a call to a method defined in the
             	<tt>org.xyz</tt> package, taking an <tt>int</tt>
             	and a <tt>String vararg</tt>.
-            </p></dd><dt><a name="d0e3382"></a><span class="term">execution(* org.xyz.*.*(Integer...))</span></dt><dd><p><a name="d0e3385"></a>
+            </p></dd><dt><a name="d0e3362"></a><span class="term">execution(* org.xyz.*.*(Integer...))</span></dt><dd><p><a name="d0e3365"></a>
             	Matches an execution join point for the execution of a method defined in the
             	<tt>org.xyz</tt> package, taking an <tt>Integer vararg</tt>.
-            </p></dd><dt><a name="d0e3394"></a><span class="term">initialization(org.xyz.*.new((Foo || Goo)...))</span></dt><dd><p><a name="d0e3397"></a>
+            </p></dd><dt><a name="d0e3374"></a><span class="term">initialization(org.xyz.*.new((Foo || Goo)...))</span></dt><dd><p><a name="d0e3377"></a>
             	Matches the initialization join point for the construction of an
             	object in the <tt>org.xyz</tt> package via a constructor
             	taking either a variable number of <tt>Foo</tt> parameters or
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/allclasses-frame.html b/org.aspectj.ajde/doc/aspectj5rt-api/allclasses-frame.html
index 86d87d0..f8833e0 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/allclasses-frame.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/allclasses-frame.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:53 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:50 GMT 2005 -->
 <TITLE>
 All Classes (AspectJ(tm) aspectj5rt API)
 </TITLE>
@@ -52,8 +52,6 @@
 <BR>
 <A HREF="org/aspectj/lang/reflect/DeclareErrorOrWarning.html" title="interface in org.aspectj.lang.reflect" target="classFrame"><I>DeclareErrorOrWarning</I></A>
 <BR>
-<A HREF="org/aspectj/lang/annotation/DeclareImplements.html" title="annotation in org.aspectj.lang.annotation" target="classFrame">DeclareImplements</A>
-<BR>
 <A HREF="org/aspectj/lang/annotation/DeclareParents.html" title="annotation in org.aspectj.lang.annotation" target="classFrame">DeclareParents</A>
 <BR>
 <A HREF="org/aspectj/lang/reflect/DeclareParents.html" title="interface in org.aspectj.lang.reflect" target="classFrame"><I>DeclareParents</I></A>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/allclasses-noframe.html b/org.aspectj.ajde/doc/aspectj5rt-api/allclasses-noframe.html
index b7391ef..07e2a5b 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/allclasses-noframe.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/allclasses-noframe.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:53 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:50 GMT 2005 -->
 <TITLE>
 All Classes (AspectJ(tm) aspectj5rt API)
 </TITLE>
@@ -52,8 +52,6 @@
 <BR>
 <A HREF="org/aspectj/lang/reflect/DeclareErrorOrWarning.html" title="interface in org.aspectj.lang.reflect"><I>DeclareErrorOrWarning</I></A>
 <BR>
-<A HREF="org/aspectj/lang/annotation/DeclareImplements.html" title="annotation in org.aspectj.lang.annotation">DeclareImplements</A>
-<BR>
 <A HREF="org/aspectj/lang/annotation/DeclareParents.html" title="annotation in org.aspectj.lang.annotation">DeclareParents</A>
 <BR>
 <A HREF="org/aspectj/lang/reflect/DeclareParents.html" title="interface in org.aspectj.lang.reflect"><I>DeclareParents</I></A>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/constant-values.html b/org.aspectj.ajde/doc/aspectj5rt-api/constant-values.html
index b97bb20..7f8b722 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/constant-values.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/constant-values.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:53 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:50 GMT 2005 -->
 <TITLE>
 Constant Field Values (AspectJ(tm) aspectj5rt API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/deprecated-list.html b/org.aspectj.ajde/doc/aspectj5rt-api/deprecated-list.html
index 91f8f2a..2edbe15 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/deprecated-list.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/deprecated-list.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:53 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:50 GMT 2005 -->
 <TITLE>
 Deprecated List (AspectJ(tm) aspectj5rt API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/help-doc.html b/org.aspectj.ajde/doc/aspectj5rt-api/help-doc.html
index cc0e1da..0251d64 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/help-doc.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/help-doc.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:53 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:51 GMT 2005 -->
 <TITLE>
 API Help (AspectJ(tm) aspectj5rt API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/index-all.html b/org.aspectj.ajde/doc/aspectj5rt-api/index-all.html
index 6c1d226..d39af4a 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/index-all.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/index-all.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:53 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:50 GMT 2005 -->
 <TITLE>
 Index (AspectJ(tm) aspectj5rt API)
 </TITLE>
@@ -102,7 +102,7 @@
 <B>D</B></H2>
 <DL>
 <DT><A HREF="./org/aspectj/lang/annotation/DeclareAnnotation.html" title="annotation in org.aspectj.lang.annotation"><B>DeclareAnnotation</B></A> - Annotation Type in <A HREF="./org/aspectj/lang/annotation/package-summary.html">org.aspectj.lang.annotation</A><DD>&nbsp;<DT><A HREF="./org/aspectj/lang/reflect/DeclareAnnotation.html" title="interface in org.aspectj.lang.reflect"><B>DeclareAnnotation</B></A> - Interface in <A HREF="./org/aspectj/lang/reflect/package-summary.html">org.aspectj.lang.reflect</A><DD>The AspectJ runtime representation of a declare annotation member in an aspect.<DT><A HREF="./org/aspectj/lang/reflect/DeclareAnnotation.Kind.html" title="enum in org.aspectj.lang.reflect"><B>DeclareAnnotation.Kind</B></A> - Enum in <A HREF="./org/aspectj/lang/reflect/package-summary.html">org.aspectj.lang.reflect</A><DD>&nbsp;<DT><A HREF="./org/aspectj/lang/annotation/DeclareError.html" title="annotation in org.aspectj.lang.annotation"><B>DeclareError</B></A> - Annotation Type in <A HREF="./org/aspectj/lang/annotation/package-summary.html">org.aspectj.lang.annotation</A><DD>&nbsp;<DT><A HREF="./org/aspectj/lang/reflect/DeclareErrorOrWarning.html" title="interface in org.aspectj.lang.reflect"><B>DeclareErrorOrWarning</B></A> - Interface in <A HREF="./org/aspectj/lang/reflect/package-summary.html">org.aspectj.lang.reflect</A><DD>AspectJ runtime representation of a declare error or declare warning member
- in an aspect.<DT><A HREF="./org/aspectj/lang/annotation/DeclareImplements.html" title="annotation in org.aspectj.lang.annotation"><B>DeclareImplements</B></A> - Annotation Type in <A HREF="./org/aspectj/lang/annotation/package-summary.html">org.aspectj.lang.annotation</A><DD>Declare parents mixin annotation<DT><A HREF="./org/aspectj/lang/annotation/DeclareParents.html" title="annotation in org.aspectj.lang.annotation"><B>DeclareParents</B></A> - Annotation Type in <A HREF="./org/aspectj/lang/annotation/package-summary.html">org.aspectj.lang.annotation</A><DD>Declare parents mixin annotation<DT><A HREF="./org/aspectj/lang/reflect/DeclareParents.html" title="interface in org.aspectj.lang.reflect"><B>DeclareParents</B></A> - Interface in <A HREF="./org/aspectj/lang/reflect/package-summary.html">org.aspectj.lang.reflect</A><DD>A declare parents member defined inside an aspect<DT><A HREF="./org/aspectj/lang/annotation/DeclarePrecedence.html" title="annotation in org.aspectj.lang.annotation"><B>DeclarePrecedence</B></A> - Annotation Type in <A HREF="./org/aspectj/lang/annotation/package-summary.html">org.aspectj.lang.annotation</A><DD>Aspect precedence declaration<DT><A HREF="./org/aspectj/lang/reflect/DeclarePrecedence.html" title="interface in org.aspectj.lang.reflect"><B>DeclarePrecedence</B></A> - Interface in <A HREF="./org/aspectj/lang/reflect/package-summary.html">org.aspectj.lang.reflect</A><DD>AspectJ runtime representation of a declare precedence statement as 
+ in an aspect.<DT><A HREF="./org/aspectj/lang/annotation/DeclareParents.html" title="annotation in org.aspectj.lang.annotation"><B>DeclareParents</B></A> - Annotation Type in <A HREF="./org/aspectj/lang/annotation/package-summary.html">org.aspectj.lang.annotation</A><DD>Declare parents mixin annotation<DT><A HREF="./org/aspectj/lang/reflect/DeclareParents.html" title="interface in org.aspectj.lang.reflect"><B>DeclareParents</B></A> - Interface in <A HREF="./org/aspectj/lang/reflect/package-summary.html">org.aspectj.lang.reflect</A><DD>A declare parents member defined inside an aspect<DT><A HREF="./org/aspectj/lang/annotation/DeclarePrecedence.html" title="annotation in org.aspectj.lang.annotation"><B>DeclarePrecedence</B></A> - Annotation Type in <A HREF="./org/aspectj/lang/annotation/package-summary.html">org.aspectj.lang.annotation</A><DD>Aspect precedence declaration<DT><A HREF="./org/aspectj/lang/reflect/DeclarePrecedence.html" title="interface in org.aspectj.lang.reflect"><B>DeclarePrecedence</B></A> - Interface in <A HREF="./org/aspectj/lang/reflect/package-summary.html">org.aspectj.lang.reflect</A><DD>AspectJ runtime representation of a declare precedence statement as 
  declared in an aspect.<DT><A HREF="./org/aspectj/lang/reflect/DeclareSoft.html" title="interface in org.aspectj.lang.reflect"><B>DeclareSoft</B></A> - Interface in <A HREF="./org/aspectj/lang/reflect/package-summary.html">org.aspectj.lang.reflect</A><DD>AspectJ runtime representation of a declare soft member within an aspect.<DT><A HREF="./org/aspectj/lang/annotation/DeclareWarning.html" title="annotation in org.aspectj.lang.annotation"><B>DeclareWarning</B></A> - Annotation Type in <A HREF="./org/aspectj/lang/annotation/package-summary.html">org.aspectj.lang.annotation</A><DD>&nbsp;</DL>
 <HR>
 <A NAME="_G_"><!-- --></A><H2>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/index.html b/org.aspectj.ajde/doc/aspectj5rt-api/index.html
index 45271a0..88627fb 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/index.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/index.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc on Wed Dec 14 14:06:53 GMT 2005-->
+<!-- Generated by javadoc on Tue Dec 20 13:26:51 GMT 2005-->
 <TITLE>
 AspectJ(tm) aspectj5rt API
 </TITLE>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/AdviceName.html b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/AdviceName.html
index 253e8fd..7e22a5b 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/AdviceName.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/AdviceName.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:52 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:49 GMT 2005 -->
 <TITLE>
 AdviceName (AspectJ(tm) aspectj5rt API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/After.html b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/After.html
index cf7e324..2d78bc6 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/After.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/After.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:52 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:49 GMT 2005 -->
 <TITLE>
 After (AspectJ(tm) aspectj5rt API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/AfterReturning.html b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/AfterReturning.html
index 7179c8d..1f21775 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/AfterReturning.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/AfterReturning.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:52 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:49 GMT 2005 -->
 <TITLE>
 AfterReturning (AspectJ(tm) aspectj5rt API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/AfterThrowing.html b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/AfterThrowing.html
index f42b367..76cb546 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/AfterThrowing.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/AfterThrowing.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:52 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:49 GMT 2005 -->
 <TITLE>
 AfterThrowing (AspectJ(tm) aspectj5rt API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/Around.html b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/Around.html
index 2884e88..b500312 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/Around.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/Around.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:52 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:49 GMT 2005 -->
 <TITLE>
 Around (AspectJ(tm) aspectj5rt API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/Aspect.html b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/Aspect.html
index 8f348cd..6a638ee 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/Aspect.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/Aspect.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:52 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:49 GMT 2005 -->
 <TITLE>
 Aspect (AspectJ(tm) aspectj5rt API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/Before.html b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/Before.html
index 9fd451a..4a63f3a 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/Before.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/Before.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:52 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:49 GMT 2005 -->
 <TITLE>
 Before (AspectJ(tm) aspectj5rt API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/DeclareAnnotation.html b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/DeclareAnnotation.html
index 13e6fc5..17c55e6 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/DeclareAnnotation.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/DeclareAnnotation.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:52 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:49 GMT 2005 -->
 <TITLE>
 DeclareAnnotation (AspectJ(tm) aspectj5rt API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/DeclareError.html b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/DeclareError.html
index c593230..374bca4 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/DeclareError.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/DeclareError.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:52 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:49 GMT 2005 -->
 <TITLE>
 DeclareError (AspectJ(tm) aspectj5rt API)
 </TITLE>
@@ -52,7 +52,7 @@
 <TR>
 <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
 &nbsp;<A HREF="../../../../org/aspectj/lang/annotation/DeclareAnnotation.html" title="annotation in org.aspectj.lang.annotation"><B>PREV CLASS</B></A>&nbsp;
-&nbsp;<A HREF="../../../../org/aspectj/lang/annotation/DeclareImplements.html" title="annotation in org.aspectj.lang.annotation"><B>NEXT CLASS</B></A></FONT></TD>
+&nbsp;<A HREF="../../../../org/aspectj/lang/annotation/DeclareParents.html" title="annotation in org.aspectj.lang.annotation"><B>NEXT CLASS</B></A></FONT></TD>
 <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
   <A HREF="../../../../index.html?org/aspectj/lang/annotation/DeclareError.html" target="_top"><B>FRAMES</B></A>  &nbsp;
 &nbsp;<A HREF="DeclareError.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
@@ -180,7 +180,7 @@
 <TR>
 <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
 &nbsp;<A HREF="../../../../org/aspectj/lang/annotation/DeclareAnnotation.html" title="annotation in org.aspectj.lang.annotation"><B>PREV CLASS</B></A>&nbsp;
-&nbsp;<A HREF="../../../../org/aspectj/lang/annotation/DeclareImplements.html" title="annotation in org.aspectj.lang.annotation"><B>NEXT CLASS</B></A></FONT></TD>
+&nbsp;<A HREF="../../../../org/aspectj/lang/annotation/DeclareParents.html" title="annotation in org.aspectj.lang.annotation"><B>NEXT CLASS</B></A></FONT></TD>
 <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
   <A HREF="../../../../index.html?org/aspectj/lang/annotation/DeclareError.html" target="_top"><B>FRAMES</B></A>  &nbsp;
 &nbsp;<A HREF="DeclareError.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/DeclareParents.html b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/DeclareParents.html
index 7f6995e..ba8668d 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/DeclareParents.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/DeclareParents.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:52 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:49 GMT 2005 -->
 <TITLE>
 DeclareParents (AspectJ(tm) aspectj5rt API)
 </TITLE>
@@ -51,7 +51,7 @@
 
 <TR>
 <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../../../../org/aspectj/lang/annotation/DeclareImplements.html" title="annotation in org.aspectj.lang.annotation"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/aspectj/lang/annotation/DeclareError.html" title="annotation in org.aspectj.lang.annotation"><B>PREV CLASS</B></A>&nbsp;
 &nbsp;<A HREF="../../../../org/aspectj/lang/annotation/DeclarePrecedence.html" title="annotation in org.aspectj.lang.annotation"><B>NEXT CLASS</B></A></FONT></TD>
 <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
   <A HREF="../../../../index.html?org/aspectj/lang/annotation/DeclareParents.html" target="_top"><B>FRAMES</B></A>  &nbsp;
@@ -72,7 +72,7 @@
 </TR>
 <TR>
 <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY:&nbsp;<A HREF="#annotation_type_required_element_summary">REQUIRED</A>&nbsp;|&nbsp;OPTIONAL</FONT></TD>
+  SUMMARY:&nbsp;<A HREF="#annotation_type_required_element_summary">REQUIRED</A>&nbsp;|&nbsp;<A HREF="#annotation_type_optional_element_summary">OPTIONAL</A></FONT></TD>
 <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
 DETAIL:&nbsp;<A HREF="#annotation_type_element_detail">ELEMENT</A></FONT></TD>
 </TR>
@@ -119,6 +119,26 @@
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The target types expression</TD>
 </TR>
 </TABLE>
+&nbsp;<!-- =========== ANNOTATION TYPE OPTIONAL MEMBER SUMMARY =========== -->
+
+<A NAME="annotation_type_optional_element_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Optional Element Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.Class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/aspectj/lang/annotation/DeclareParents.html#defaultImpl()">defaultImpl</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Optional class defining default implementation
+ of interface members (equivalent to defining
+ a set of interface member ITDs for the
+ public methods of the interface).</TD>
+</TR>
+</TABLE>
 &nbsp;
 <P>
 
@@ -145,6 +165,25 @@
 <DD><DL>
 </DL>
 </DL>
+<A NAME="defaultImpl()"><!-- --></A><H3>
+defaultImpl</H3>
+<PRE>
+public abstract java.lang.Class <B>defaultImpl</B></PRE>
+<DL>
+<DD>Optional class defining default implementation
+ of interface members (equivalent to defining
+ a set of interface member ITDs for the
+ public methods of the interface).
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+<DL>
+<DT><B>Default:</B><DD>org.aspectj.lang.annotation.DeclareParents.class</DD>
+</DL>
+</DL>
 <!-- ========= END OF CLASS DATA ========= -->
 <HR>
 
@@ -175,7 +214,7 @@
 
 <TR>
 <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../../../../org/aspectj/lang/annotation/DeclareImplements.html" title="annotation in org.aspectj.lang.annotation"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/aspectj/lang/annotation/DeclareError.html" title="annotation in org.aspectj.lang.annotation"><B>PREV CLASS</B></A>&nbsp;
 &nbsp;<A HREF="../../../../org/aspectj/lang/annotation/DeclarePrecedence.html" title="annotation in org.aspectj.lang.annotation"><B>NEXT CLASS</B></A></FONT></TD>
 <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
   <A HREF="../../../../index.html?org/aspectj/lang/annotation/DeclareParents.html" target="_top"><B>FRAMES</B></A>  &nbsp;
@@ -196,7 +235,7 @@
 </TR>
 <TR>
 <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY:&nbsp;<A HREF="#annotation_type_required_element_summary">REQUIRED</A>&nbsp;|&nbsp;OPTIONAL</FONT></TD>
+  SUMMARY:&nbsp;<A HREF="#annotation_type_required_element_summary">REQUIRED</A>&nbsp;|&nbsp;<A HREF="#annotation_type_optional_element_summary">OPTIONAL</A></FONT></TD>
 <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
 DETAIL:&nbsp;<A HREF="#annotation_type_element_detail">ELEMENT</A></FONT></TD>
 </TR>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/DeclarePrecedence.html b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/DeclarePrecedence.html
index 3a21090..7236954 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/DeclarePrecedence.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/DeclarePrecedence.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:52 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:49 GMT 2005 -->
 <TITLE>
 DeclarePrecedence (AspectJ(tm) aspectj5rt API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/DeclareWarning.html b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/DeclareWarning.html
index 166d640..b083e06 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/DeclareWarning.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/DeclareWarning.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:52 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:49 GMT 2005 -->
 <TITLE>
 DeclareWarning (AspectJ(tm) aspectj5rt API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/Pointcut.html b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/Pointcut.html
index 4e01fbd..0cafedf 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/Pointcut.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/Pointcut.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:52 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:49 GMT 2005 -->
 <TITLE>
 Pointcut (AspectJ(tm) aspectj5rt API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/SuppressAjWarnings.html b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/SuppressAjWarnings.html
index 9c5a7e4..5cf5a24 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/SuppressAjWarnings.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/SuppressAjWarnings.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:52 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:49 GMT 2005 -->
 <TITLE>
 SuppressAjWarnings (AspectJ(tm) aspectj5rt API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/package-frame.html b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/package-frame.html
index 942a294..a69b54c 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/package-frame.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/package-frame.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:53 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:50 GMT 2005 -->
 <TITLE>
 org.aspectj.lang.annotation (AspectJ(tm) aspectj5rt API)
 </TITLE>
@@ -41,8 +41,6 @@
 <BR>
 <A HREF="DeclareError.html" title="annotation in org.aspectj.lang.annotation" target="classFrame">DeclareError</A>
 <BR>
-<A HREF="DeclareImplements.html" title="annotation in org.aspectj.lang.annotation" target="classFrame">DeclareImplements</A>
-<BR>
 <A HREF="DeclareParents.html" title="annotation in org.aspectj.lang.annotation" target="classFrame">DeclareParents</A>
 <BR>
 <A HREF="DeclarePrecedence.html" title="annotation in org.aspectj.lang.annotation" target="classFrame">DeclarePrecedence</A>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/package-summary.html b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/package-summary.html
index a6e7d09..330119d 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/package-summary.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/package-summary.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:53 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:50 GMT 2005 -->
 <TITLE>
 org.aspectj.lang.annotation (AspectJ(tm) aspectj5rt API)
 </TITLE>
@@ -122,10 +122,6 @@
 <TD>&nbsp;</TD>
 </TR>
 <TR BGCOLOR="white" CLASS="TableRowColor">
-<TD WIDTH="15%"><B><A HREF="../../../../org/aspectj/lang/annotation/DeclareImplements.html" title="annotation in org.aspectj.lang.annotation">DeclareImplements</A></B></TD>
-<TD>Declare parents mixin annotation</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
 <TD WIDTH="15%"><B><A HREF="../../../../org/aspectj/lang/annotation/DeclareParents.html" title="annotation in org.aspectj.lang.annotation">DeclareParents</A></B></TD>
 <TD>Declare parents mixin annotation</TD>
 </TR>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/package-tree.html b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/package-tree.html
index 9eaf008..770d9ee 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/package-tree.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/annotation/package-tree.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:53 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:50 GMT 2005 -->
 <TITLE>
 org.aspectj.lang.annotation Class Hierarchy (AspectJ(tm) aspectj5rt API)
 </TITLE>
@@ -91,7 +91,6 @@
 <LI TYPE="circle">org.aspectj.lang.annotation.<A HREF="../../../../org/aspectj/lang/annotation/DeclareWarning.html" title="annotation in org.aspectj.lang.annotation"><B>DeclareWarning</B></A> (implements java.lang.annotation.Annotation)
 <LI TYPE="circle">org.aspectj.lang.annotation.<A HREF="../../../../org/aspectj/lang/annotation/DeclarePrecedence.html" title="annotation in org.aspectj.lang.annotation"><B>DeclarePrecedence</B></A> (implements java.lang.annotation.Annotation)
 <LI TYPE="circle">org.aspectj.lang.annotation.<A HREF="../../../../org/aspectj/lang/annotation/DeclareParents.html" title="annotation in org.aspectj.lang.annotation"><B>DeclareParents</B></A> (implements java.lang.annotation.Annotation)
-<LI TYPE="circle">org.aspectj.lang.annotation.<A HREF="../../../../org/aspectj/lang/annotation/DeclareImplements.html" title="annotation in org.aspectj.lang.annotation"><B>DeclareImplements</B></A> (implements java.lang.annotation.Annotation)
 <LI TYPE="circle">org.aspectj.lang.annotation.<A HREF="../../../../org/aspectj/lang/annotation/DeclareError.html" title="annotation in org.aspectj.lang.annotation"><B>DeclareError</B></A> (implements java.lang.annotation.Annotation)
 <LI TYPE="circle">org.aspectj.lang.annotation.<A HREF="../../../../org/aspectj/lang/annotation/DeclareAnnotation.html" title="annotation in org.aspectj.lang.annotation"><B>DeclareAnnotation</B></A> (implements java.lang.annotation.Annotation)
 <LI TYPE="circle">org.aspectj.lang.annotation.<A HREF="../../../../org/aspectj/lang/annotation/Before.html" title="annotation in org.aspectj.lang.annotation"><B>Before</B></A> (implements java.lang.annotation.Annotation)
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/Advice.html b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/Advice.html
index e39111c..5891f79 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/Advice.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/Advice.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:52 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:49 GMT 2005 -->
 <TITLE>
 Advice (AspectJ(tm) aspectj5rt API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/AdviceKind.html b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/AdviceKind.html
index c431d50..2b2788a 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/AdviceKind.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/AdviceKind.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:52 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:49 GMT 2005 -->
 <TITLE>
 AdviceKind (AspectJ(tm) aspectj5rt API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/AjType.html b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/AjType.html
index 27c0b21..3e302c7 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/AjType.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/AjType.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:53 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:49 GMT 2005 -->
 <TITLE>
 AjType (AspectJ(tm) aspectj5rt API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/AjTypeSystem.html b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/AjTypeSystem.html
index 0e58016..e5a04ac 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/AjTypeSystem.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/AjTypeSystem.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:53 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:49 GMT 2005 -->
 <TITLE>
 AjTypeSystem (AspectJ(tm) aspectj5rt API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/DeclareAnnotation.Kind.html b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/DeclareAnnotation.Kind.html
index 0da22cf..cace1c0 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/DeclareAnnotation.Kind.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/DeclareAnnotation.Kind.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:53 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:49 GMT 2005 -->
 <TITLE>
 DeclareAnnotation.Kind (AspectJ(tm) aspectj5rt API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/DeclareAnnotation.html b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/DeclareAnnotation.html
index a1c5dd5..ba55117 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/DeclareAnnotation.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/DeclareAnnotation.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:53 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:49 GMT 2005 -->
 <TITLE>
 DeclareAnnotation (AspectJ(tm) aspectj5rt API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/DeclareErrorOrWarning.html b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/DeclareErrorOrWarning.html
index 3b37fad..5142274 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/DeclareErrorOrWarning.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/DeclareErrorOrWarning.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:53 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:49 GMT 2005 -->
 <TITLE>
 DeclareErrorOrWarning (AspectJ(tm) aspectj5rt API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/DeclareParents.html b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/DeclareParents.html
index 27429df..42e776b 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/DeclareParents.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/DeclareParents.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:53 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:49 GMT 2005 -->
 <TITLE>
 DeclareParents (AspectJ(tm) aspectj5rt API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/DeclarePrecedence.html b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/DeclarePrecedence.html
index b491669..ac64c94 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/DeclarePrecedence.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/DeclarePrecedence.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:53 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:50 GMT 2005 -->
 <TITLE>
 DeclarePrecedence (AspectJ(tm) aspectj5rt API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/DeclareSoft.html b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/DeclareSoft.html
index 1aceda0..bc39d42 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/DeclareSoft.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/DeclareSoft.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:53 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:50 GMT 2005 -->
 <TITLE>
 DeclareSoft (AspectJ(tm) aspectj5rt API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/InterTypeConstructorDeclaration.html b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/InterTypeConstructorDeclaration.html
index 6e4cd37..8352f15 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/InterTypeConstructorDeclaration.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/InterTypeConstructorDeclaration.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:53 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:50 GMT 2005 -->
 <TITLE>
 InterTypeConstructorDeclaration (AspectJ(tm) aspectj5rt API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/InterTypeDeclaration.html b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/InterTypeDeclaration.html
index edf0512..f219a09 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/InterTypeDeclaration.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/InterTypeDeclaration.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:53 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:50 GMT 2005 -->
 <TITLE>
 InterTypeDeclaration (AspectJ(tm) aspectj5rt API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/InterTypeFieldDeclaration.html b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/InterTypeFieldDeclaration.html
index 3249483..5e0d0fd 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/InterTypeFieldDeclaration.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/InterTypeFieldDeclaration.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:53 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:50 GMT 2005 -->
 <TITLE>
 InterTypeFieldDeclaration (AspectJ(tm) aspectj5rt API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/InterTypeMethodDeclaration.html b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/InterTypeMethodDeclaration.html
index 27f16d4..06cf3fd 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/InterTypeMethodDeclaration.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/InterTypeMethodDeclaration.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:53 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:50 GMT 2005 -->
 <TITLE>
 InterTypeMethodDeclaration (AspectJ(tm) aspectj5rt API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/NoSuchAdviceException.html b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/NoSuchAdviceException.html
index fee13cc..f1689b9 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/NoSuchAdviceException.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/NoSuchAdviceException.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:53 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:50 GMT 2005 -->
 <TITLE>
 NoSuchAdviceException (AspectJ(tm) aspectj5rt API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/NoSuchPointcutException.html b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/NoSuchPointcutException.html
index 1129d69..36c3237 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/NoSuchPointcutException.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/NoSuchPointcutException.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:53 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:50 GMT 2005 -->
 <TITLE>
 NoSuchPointcutException (AspectJ(tm) aspectj5rt API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/PerClause.html b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/PerClause.html
index 925e7bd..469e9a8 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/PerClause.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/PerClause.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:53 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:50 GMT 2005 -->
 <TITLE>
 PerClause (AspectJ(tm) aspectj5rt API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/PerClauseKind.html b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/PerClauseKind.html
index 007b11f..45595d0 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/PerClauseKind.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/PerClauseKind.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:53 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:50 GMT 2005 -->
 <TITLE>
 PerClauseKind (AspectJ(tm) aspectj5rt API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/Pointcut.html b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/Pointcut.html
index 28aa9fb..9d0b906 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/Pointcut.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/Pointcut.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:53 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:50 GMT 2005 -->
 <TITLE>
 Pointcut (AspectJ(tm) aspectj5rt API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/PointcutBasedPerClause.html b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/PointcutBasedPerClause.html
index 9b784a5..3e0f4f7 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/PointcutBasedPerClause.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/PointcutBasedPerClause.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:53 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:50 GMT 2005 -->
 <TITLE>
 PointcutBasedPerClause (AspectJ(tm) aspectj5rt API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/PointcutExpression.html b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/PointcutExpression.html
index ccda787..e5380bf 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/PointcutExpression.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/PointcutExpression.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:53 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:50 GMT 2005 -->
 <TITLE>
 PointcutExpression (AspectJ(tm) aspectj5rt API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/SignaturePattern.html b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/SignaturePattern.html
index 1312936..a083899 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/SignaturePattern.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/SignaturePattern.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:53 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:50 GMT 2005 -->
 <TITLE>
 SignaturePattern (AspectJ(tm) aspectj5rt API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/TypePattern.html b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/TypePattern.html
index 051fd3f..fe3e0cd 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/TypePattern.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/TypePattern.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:53 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:50 GMT 2005 -->
 <TITLE>
 TypePattern (AspectJ(tm) aspectj5rt API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/TypePatternBasedPerClause.html b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/TypePatternBasedPerClause.html
index dbab011..13e33c7 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/TypePatternBasedPerClause.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/TypePatternBasedPerClause.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:53 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:50 GMT 2005 -->
 <TITLE>
 TypePatternBasedPerClause (AspectJ(tm) aspectj5rt API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/package-frame.html b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/package-frame.html
index ca096fd..d1396d4 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/package-frame.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/package-frame.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:53 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:50 GMT 2005 -->
 <TITLE>
 org.aspectj.lang.reflect (AspectJ(tm) aspectj5rt API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/package-summary.html b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/package-summary.html
index 758cf09..146509a 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/package-summary.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/package-summary.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:53 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:50 GMT 2005 -->
 <TITLE>
 org.aspectj.lang.reflect (AspectJ(tm) aspectj5rt API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/package-tree.html b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/package-tree.html
index f4fb2c4..04bf5b0 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/package-tree.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/org/aspectj/lang/reflect/package-tree.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:53 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:50 GMT 2005 -->
 <TITLE>
 org.aspectj.lang.reflect Class Hierarchy (AspectJ(tm) aspectj5rt API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/overview-frame.html b/org.aspectj.ajde/doc/aspectj5rt-api/overview-frame.html
index 4ad5e03..e95c518 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/overview-frame.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/overview-frame.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:53 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:50 GMT 2005 -->
 <TITLE>
 Overview (AspectJ(tm) aspectj5rt API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/overview-summary.html b/org.aspectj.ajde/doc/aspectj5rt-api/overview-summary.html
index 831eb5d..b98e58c 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/overview-summary.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/overview-summary.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:53 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:51 GMT 2005 -->
 <TITLE>
 Overview (AspectJ(tm) aspectj5rt API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/overview-tree.html b/org.aspectj.ajde/doc/aspectj5rt-api/overview-tree.html
index f6a02b8..0407ea9 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/overview-tree.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/overview-tree.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:53 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:50 GMT 2005 -->
 <TITLE>
 Class Hierarchy (AspectJ(tm) aspectj5rt API)
 </TITLE>
@@ -117,7 +117,6 @@
 <LI TYPE="circle">org.aspectj.lang.annotation.<A HREF="org/aspectj/lang/annotation/DeclareWarning.html" title="annotation in org.aspectj.lang.annotation"><B>DeclareWarning</B></A> (implements java.lang.annotation.Annotation)
 <LI TYPE="circle">org.aspectj.lang.annotation.<A HREF="org/aspectj/lang/annotation/DeclarePrecedence.html" title="annotation in org.aspectj.lang.annotation"><B>DeclarePrecedence</B></A> (implements java.lang.annotation.Annotation)
 <LI TYPE="circle">org.aspectj.lang.annotation.<A HREF="org/aspectj/lang/annotation/DeclareParents.html" title="annotation in org.aspectj.lang.annotation"><B>DeclareParents</B></A> (implements java.lang.annotation.Annotation)
-<LI TYPE="circle">org.aspectj.lang.annotation.<A HREF="org/aspectj/lang/annotation/DeclareImplements.html" title="annotation in org.aspectj.lang.annotation"><B>DeclareImplements</B></A> (implements java.lang.annotation.Annotation)
 <LI TYPE="circle">org.aspectj.lang.annotation.<A HREF="org/aspectj/lang/annotation/DeclareError.html" title="annotation in org.aspectj.lang.annotation"><B>DeclareError</B></A> (implements java.lang.annotation.Annotation)
 <LI TYPE="circle">org.aspectj.lang.annotation.<A HREF="org/aspectj/lang/annotation/DeclareAnnotation.html" title="annotation in org.aspectj.lang.annotation"><B>DeclareAnnotation</B></A> (implements java.lang.annotation.Annotation)
 <LI TYPE="circle">org.aspectj.lang.annotation.<A HREF="org/aspectj/lang/annotation/Before.html" title="annotation in org.aspectj.lang.annotation"><B>Before</B></A> (implements java.lang.annotation.Annotation)
diff --git a/org.aspectj.ajde/doc/aspectj5rt-api/serialized-form.html b/org.aspectj.ajde/doc/aspectj5rt-api/serialized-form.html
index 7ac899b..ecb2b08 100644
--- a/org.aspectj.ajde/doc/aspectj5rt-api/serialized-form.html
+++ b/org.aspectj.ajde/doc/aspectj5rt-api/serialized-form.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:53 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:50 GMT 2005 -->
 <TITLE>
 Serialized Form (AspectJ(tm) aspectj5rt API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/changes.html b/org.aspectj.ajde/doc/changes.html
index 6a6b177..eb78be9 100755
--- a/org.aspectj.ajde/doc/changes.html
+++ b/org.aspectj.ajde/doc/changes.html
@@ -145,7 +145,7 @@
 
 <ul>
 
-  <li> <a href="#1.5.0">1.5.0</a> (not yet released)</li>	
+  <li> <a href="#1.5.0">1.5.0</a> (released 2005-12)</li>	
   <li> <a href="#1.2.1">1.2.1</a> (released 2004-10)</li>
   <li> <a href="#1.2">1.2</a> (released 2004-05) 
   </li>
@@ -193,7 +193,16 @@
 <hr />
 
 <h2><a name="1.5.0">1.5.0</a></h2>
-<p>To be completed...</p>
+<p>This release contains nearly 400 bug fixes and enhancements since the 1.2.1 release.
+Major updates to the language are documented in the
+<a href="adk15notebook/index.html">AspectJ 5 Developer's Notebook</a>. There are
+also a number of enhancements to accompanying tools documented in the
+<a href="devguide/index.html">Developer's Guide</a>
+</p>
+
+<p>A full list of bugs fixed in AspectJ 5 can be found in 
+<a href="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&product=AspectJ&resolution=FIXED&chfieldfrom=2004-11-06&chfieldto=2005-12-20">bugzilla</a>.
+</p>
 
 <h2><a name="1.2.1">1.2.1</a></h2>
 <p>All known P1 and P2 bugs have been fixed in this release. The 
diff --git a/org.aspectj.ajde/doc/devguide/aj-ref.html b/org.aspectj.ajde/doc/devguide/aj-ref.html
index 0899188..c6204ac 100644
--- a/org.aspectj.ajde/doc/devguide/aj-ref.html
+++ b/org.aspectj.ajde/doc/devguide/aj-ref.html
@@ -1,6 +1,6 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-   <title>aj</title><link rel="stylesheet" href="aspectj-docs.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.44"><link rel="home" href="index.html" title="The AspectJtm Development Environment Guide"><link rel="up" href="aj-ref-top.html" title="aj, the AspectJ load-time weaving script"><link rel="previous" href="ajdoc-ref.html" title="ajdoc"><link rel="next" href="ajbrowser.html" title="Chapter 3. AspectJ Browser"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">aj</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ajdoc-ref.html">Prev</a>&nbsp;</td><th width="60%" align="center"><tt>aj</tt>, the AspectJ load-time weaving script</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ajbrowser.html">Next</a></td></tr></table><hr></div><div class="refentry"><h1 class="title"><a name="aj-ref"></a>aj</h1><div class="refnamediv"><a name="d0e981"></a><h2>Name</h2>aj &#8212; command-line launcher for basic load-time weaving</div><div class="refsynopsisdiv"><a name="d0e986"></a><h2>Synopsis</h2><div class="cmdsynopsis" id="d0e987"><a name="d0e987"></a><tt>aj</tt>  [<i><tt>Options</tt></i>] [<i><tt>arg...</tt></i>]</div></div><div class="refsect1"><a name="aj"></a><h2>Description</h2><p>The
+   <title>aj</title><link rel="stylesheet" href="aspectj-docs.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.44"><link rel="home" href="index.html" title="The AspectJtm Development Environment Guide"><link rel="up" href="aj-ref-top.html" title="aj, the AspectJ load-time weaving script"><link rel="previous" href="ajdoc-ref.html" title="ajdoc"><link rel="next" href="ajbrowser.html" title="Chapter 3. AspectJ Browser"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">aj</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ajdoc-ref.html">Prev</a>&nbsp;</td><th width="60%" align="center"><tt>aj</tt>, the AspectJ load-time weaving script</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ajbrowser.html">Next</a></td></tr></table><hr></div><div class="refentry"><h1 class="title"><a name="aj-ref"></a>aj</h1><div class="refnamediv"><a name="d0e1003"></a><h2>Name</h2>aj &#8212; command-line launcher for basic load-time weaving</div><div class="refsynopsisdiv"><a name="d0e1008"></a><h2>Synopsis</h2><div class="cmdsynopsis" id="d0e1009"><a name="d0e1009"></a><tt>aj</tt>  [<i><tt>Options</tt></i>] [<i><tt>arg...</tt></i>]</div></div><div class="refsect1"><a name="aj"></a><h2>Description</h2><p>The
             <b>aj</b> command runs Java programs in Java 1.4 or
             later by setting up
             <tt>WeavingURLClassLoader</tt> as the system class
@@ -9,7 +9,7 @@
             <tt>CLASSPATH</tt> and
             <tt>ASPECTPATH</tt>. </p><p>For more information and alternatives for load-time weaving,
         see <a href="ltw.html">Load-Time Weaving</a>.
-        </p><div class="refsect2"><a name="d0e1020"></a><h3>Examples</h3><div class="example"><p><a name="simpleajexample"></a><b>Example 2.5. A simple example</b></p><p>Use ajc to build a library, then weave at load time</p><pre class="programlisting">                     
+        </p><div class="refsect2"><a name="d0e1042"></a><h3>Examples</h3><div class="example"><p><a name="simpleajexample"></a><b>Example 2.5. A simple example</b></p><p>Use ajc to build a library, then weave at load time</p><pre class="programlisting">                     
     REM compile library
     ${ASPECTJ_HOME}\bin\ajc.bat -outjar lib\aspects.jar @aspects.lst
                 
diff --git a/org.aspectj.ajde/doc/devguide/ajbrowser-navigating.html b/org.aspectj.ajde/doc/devguide/ajbrowser-navigating.html
index ff453ac..37d8635 100644
--- a/org.aspectj.ajde/doc/devguide/ajbrowser-navigating.html
+++ b/org.aspectj.ajde/doc/devguide/ajbrowser-navigating.html
@@ -9,11 +9,11 @@
         link it will appear light-blue.
 		<span class="inlinemediaobject"><img src="ajbrowser-building.gif"></span>
     </p><div class="sect2"><a name="example"></a><div class="titlepage"><div><h3 class="title"><a name="example"></a>Example: Exploring the "Spacewar" sample code </h3></div></div><p>
-        <div class="itemizedlist"><ul><li><p><a name="d0e1127"></a>Launch <tt>ajbrowser</tt></p></li><li><p><a name="d0e1132"></a>Choose "File -&gt; Open" or click the "Open Build
+        <div class="itemizedlist"><ul><li><p><a name="d0e1149"></a>Launch <tt>ajbrowser</tt></p></li><li><p><a name="d0e1154"></a>Choose "File -&gt; Open" or click the "Open Build
           Configuration" button
            (<span class="inlinemediaobject"><img src="openConfig.gif"></span>) and select the configuration file for debugging
           the spacewar example, in
-          <tt>examples/spacewar/debug.lst</tt>.</p></li><li><p><a name="d0e1142"></a>Click the "Build" button (<span class="inlinemediaobject"><img src="build.gif"></span>) to
+          <tt>examples/spacewar/debug.lst</tt>.</p></li><li><p><a name="d0e1164"></a>Click the "Build" button (<span class="inlinemediaobject"><img src="build.gif"></span>) to
              compile.  The left pane should fill with a spacewar declaration
              tree.  If there is a compiler error, the clickable error message
              shows up as in label 4.
@@ -31,13 +31,13 @@
            <tt>lib/aspectjrt.jar</tt> that came with the browser.
               </p><p>
           <span class="inlinemediaobject"><img src="ajbrowser-options.gif"></span>&gt;
-              </p></li><li><p><a name="d0e1170"></a>Different structure views: The structure tree at the
+              </p></li><li><p><a name="d0e1192"></a>Different structure views: The structure tree at the
           left can display different orderings and granularity for structure:
 
-           <div class="itemizedlist"><ul><li><p><a name="d0e1174"></a>The package hierarchy view shows the traditional hierarchy
-               of package, class, and members.</p></li><li><p><a name="d0e1177"></a>The inheritance view shows the hierarchy from topmost
-               parent classes through subclasses to members.</p></li><li><p><a name="d0e1180"></a>The crosscutting view shows the aspect members
-               and the code they affect.</p></li><li><p><a name="d0e1183"></a>Additional buttons in the pane can be used to change the
+           <div class="itemizedlist"><ul><li><p><a name="d0e1196"></a>The package hierarchy view shows the traditional hierarchy
+               of package, class, and members.</p></li><li><p><a name="d0e1199"></a>The inheritance view shows the hierarchy from topmost
+               parent classes through subclasses to members.</p></li><li><p><a name="d0e1202"></a>The crosscutting view shows the aspect members
+               and the code they affect.</p></li><li><p><a name="d0e1205"></a>Additional buttons in the pane can be used to change the
                granularity and filter out items.</p></li></ul></div>
 
              </p><p>Whenever you select an item in the tree view, the
@@ -45,13 +45,13 @@
                    representing another program element, then the tree
                    selection will go to the corresponding node.  (See below for
                    how to use two panes to maintain your place.)
-             </p></li><li><p><a name="d0e1189"></a>When working with aspects, it helps to be able to navigate
+             </p></li><li><p><a name="d0e1211"></a>When working with aspects, it helps to be able to navigate
                between different program elements:
-             </p><div class="itemizedlist"><ul><li><p><a name="d0e1193"></a>When looking at a method, find the advice that
-              affects it.  </p></li><li><p><a name="d0e1196"></a>When looking at a pointcut, find the advice that
-              uses it.  </p></li><li><p><a name="d0e1199"></a>When looking at advice, find what it advises -
+             </p><div class="itemizedlist"><ul><li><p><a name="d0e1215"></a>When looking at a method, find the advice that
+              affects it.  </p></li><li><p><a name="d0e1218"></a>When looking at a pointcut, find the advice that
+              uses it.  </p></li><li><p><a name="d0e1221"></a>When looking at advice, find what it advises -
               e.g., method calls or executions, initializers, etc.
-              </p></li><li><p><a name="d0e1202"></a>When looking at a type, find any aspects that
+              </p></li><li><p><a name="d0e1224"></a>When looking at a type, find any aspects that
                               declare members or supertypes of the type, or
                               vice-versa.
               </p></li></ul></div><p>You can view the advice on a particular method using the
diff --git a/org.aspectj.ajde/doc/devguide/ajbrowser-problems.html b/org.aspectj.ajde/doc/devguide/ajbrowser-problems.html
index 3a3000e..25a6f29 100755
--- a/org.aspectj.ajde/doc/devguide/ajbrowser-problems.html
+++ b/org.aspectj.ajde/doc/devguide/ajbrowser-problems.html
@@ -4,14 +4,14 @@
 	If you have problems with the browser not solved by the documentation, 
 	please try to see if you have the same problems when running ajc 
 	directly on the command line.
-	</p><div class="itemizedlist"><ul><li><p><a name="d0e1268"></a>
+	</p><div class="itemizedlist"><ul><li><p><a name="d0e1290"></a>
 		If the problem occurs on the command line also, then the problem 
 		is not in the browser. 
 		(It may be in the compiler; please send bug reports.)
-		</p></li><li><p><a name="d0e1271"></a>
+		</p></li><li><p><a name="d0e1293"></a>
 		If the problem does not occur on the command line, then it may 
 		lie in the parameters you are supplying in the build options.
-		</p></li><li><p><a name="d0e1274"></a>
+		</p></li><li><p><a name="d0e1296"></a>
 		If the build options look correct and the problem only occurs 
 		when building from the browser, then please submit a bug report.
 		</p></li></ul></div><div class="sect2"><a name="ajbrowser-knownProblems"></a><div class="titlepage"><div><h3 class="title"><a name="ajbrowser-knownProblems"></a>Known issues with the AspectJ browser</h3></div></div><p>
@@ -26,7 +26,7 @@
 			IDE bugs
 			</a>.
 		</p><p>
-		<div class="itemizedlist"><ul><li><p><a name="d0e1294"></a>
+		<div class="itemizedlist"><ul><li><p><a name="d0e1316"></a>
 	    Memory and forking: Users email most about the browser task running 
 	    out of memory. 
 	    This is not a problem with the browser; some compiles take a lot of 
@@ -34,20 +34,20 @@
 	    The browser does not support forking, so the only solution is to
 	    edit the java command line or script that launches the browser
 	    to add memory.
-		</p></li><li><p><a name="d0e1297"></a>
+		</p></li><li><p><a name="d0e1319"></a>
 		Editing build configuration files: this is not currently supported.
-		</p></li><li><p><a name="d0e1300"></a>
+		</p></li><li><p><a name="d0e1322"></a>
 		The structure model is incomplete after incremental compiles.
 		To get a complete structure model requires a full build.
-		</p></li><li><p><a name="d0e1303"></a>
+		</p></li><li><p><a name="d0e1325"></a>
 		If you change the output directory, you must do a
 		full build. 
 		</p></li></ul></div>
 		</p></div><div class="sect2"><a name="ajbrowser-limitations"></a><div class="titlepage"><div><h3 class="title"><a name="ajbrowser-limitations"></a>Limitations</h3></div></div><p>      
-		<div class="itemizedlist"><ul><li><p><a name="d0e1313"></a>
+		<div class="itemizedlist"><ul><li><p><a name="d0e1335"></a>
 		The AJBrowser expects the package and directory structure to match.  If they do not 
 		it will be unable to browse to the corresponding file.
-		</p></li><li><p><a name="d0e1316"></a>
+		</p></li><li><p><a name="d0e1338"></a>
 		The "Run" feature launches applications in the same VM.  As a result, if a Swing application
 		is disposed the AJBrowser will be disposed as well.
 		</p></li></ul></div>
diff --git a/org.aspectj.ajde/doc/devguide/ajc-ref.html b/org.aspectj.ajde/doc/devguide/ajc-ref.html
index 84fb790..9c9d2d1 100755
--- a/org.aspectj.ajde/doc/devguide/ajc-ref.html
+++ b/org.aspectj.ajde/doc/devguide/ajc-ref.html
@@ -39,13 +39,13 @@
         Path is a single argument containing
         a list of paths to zip files or directories, 
         delimited by the platform-specific path delimiter.
-        </p></dd><dt><a name="d0e206"></a><span class="term">-aspectpath <i><tt>JarList</tt></i></span></dt><dd><p><a name="d0e211"></a>
-        Weave binary aspects from JarList zip files into all sources.
+        </p></dd><dt><a name="d0e206"></a><span class="term">-aspectpath <i><tt>Path</tt></i></span></dt><dd><p><a name="d0e211"></a>
+        Weave binary aspects from Jars and directories on path into all sources.
         The aspects should have been output by the same version
         of the compiler.
         To run the output classes requires putting all the 
         aspectpath entries on the run classpath.
-        JarList, like classpath, is a single argument containing
+        Path, like classpath, is a single argument containing
         a list of paths to jar files, delimited by the platform-
         specific classpath delimiter.
         </p></dd><dt><a name="d0e214"></a><span class="term">-argfile <i><tt>File</tt></i></span></dt><dd><p><a name="d0e219"></a>
@@ -114,18 +114,24 @@
           defaults to the current working dir.
         </p></dd><dt><a name="d0e337"></a><span class="term">-target <i><tt>[1.1 to 1.4]</tt></i></span></dt><dd><p><a name="d0e342"></a>Specify classfile target setting (1.1 to 1.4, default is 1.2)
         </p></dd><dt><a name="d0e345"></a><span class="term">-1.3</span></dt><dd><p><a name="d0e348"></a>Set compliance level to 1.3 
+            This implies -source 1.3 and -target 1.1.
         </p></dd><dt><a name="d0e351"></a><span class="term">-1.4</span></dt><dd><p><a name="d0e354"></a>Set compliance level to 1.4 (default)
-        </p></dd><dt><a name="d0e357"></a><span class="term">-source <i><tt>[1.3|1.4]</tt></i></span></dt><dd><p><a name="d0e362"></a>Toggle assertions (1.3 or 1.4, default is 1.3).
+            This implies -source 1.4 and -target 1.2.
+        </p></dd><dt><a name="d0e357"></a><span class="term">-1.5</span></dt><dd><p><a name="d0e360"></a>Set compliance level to 1.5.
+            This implies -source 1.5 and -target 1.5.
+        </p></dd><dt><a name="d0e363"></a><span class="term">-source <i><tt>[1.3|1.4|1.5]</tt></i></span></dt><dd><p><a name="d0e368"></a>Toggle assertions (1.3, 1.4, or 1.5 - default is 1.4).
             When using -source 1.3, an assert() statement valid under
             Java 1.4 will result in a compiler error.
           When using -source 1.4, 
           treat <tt>assert</tt> as a keyword and 
           implement assertions according to the 1.4 language spec.
-        </p></dd><dt><a name="d0e368"></a><span class="term">-nowarn</span></dt><dd><p><a name="d0e371"></a>Emit no warnings (equivalent to '-warn:none')
+          When using -source 1.5,
+            Java 5 language features are permitted. 
+        </p></dd><dt><a name="d0e374"></a><span class="term">-nowarn</span></dt><dd><p><a name="d0e377"></a>Emit no warnings (equivalent to '-warn:none')
         This does not suppress messages
         generated by <tt>declare warning</tt> or
         <tt>Xlint</tt>.
-        </p></dd><dt><a name="d0e380"></a><span class="term">-warn: <i><tt>items</tt></i></span></dt><dd><p><a name="d0e385"></a>Emit warnings for any instances of
+        </p></dd><dt><a name="d0e386"></a><span class="term">-warn: <i><tt>items</tt></i></span></dt><dd><p><a name="d0e391"></a>Emit warnings for any instances of
         the comma-delimited list of questionable code 
         (eg '-warn:unusedLocals,deprecation'):
         <pre class="programlisting">
@@ -142,11 +148,11 @@
         generated by <tt>declare warning</tt> or
         <tt>Xlint</tt>.
         
-        </p></dd><dt><a name="d0e401"></a><span class="term">-deprecation</span></dt><dd><p><a name="d0e404"></a>Same as -warn:deprecation
-        </p></dd><dt><a name="d0e407"></a><span class="term">-noImportError</span></dt><dd><p><a name="d0e410"></a>Emit no errors for unresolved imports
-        </p></dd><dt><a name="d0e413"></a><span class="term">-proceedOnError</span></dt><dd><p><a name="d0e416"></a>Keep compiling after error, 
+        </p></dd><dt><a name="d0e407"></a><span class="term">-deprecation</span></dt><dd><p><a name="d0e410"></a>Same as -warn:deprecation
+        </p></dd><dt><a name="d0e413"></a><span class="term">-noImportError</span></dt><dd><p><a name="d0e416"></a>Emit no errors for unresolved imports
+        </p></dd><dt><a name="d0e419"></a><span class="term">-proceedOnError</span></dt><dd><p><a name="d0e422"></a>Keep compiling after error, 
                         dumping class files with problem methods
-        </p></dd><dt><a name="d0e419"></a><span class="term">-g<i><tt>:[lines,vars,source]</tt></i></span></dt><dd><p><a name="d0e424"></a>debug attributes level, that may take three forms:
+        </p></dd><dt><a name="d0e425"></a><span class="term">-g<i><tt>:[lines,vars,source]</tt></i></span></dt><dd><p><a name="d0e430"></a>debug attributes level, that may take three forms:
         <pre class="programlisting">
     -g         all debug info ('-g:lines,vars,source')
     -g:none    no debug info
@@ -154,34 +160,40 @@
                -g:lines,source
         </pre>
             
-        </p></dd><dt><a name="d0e430"></a><span class="term">-preserveAllLocals</span></dt><dd><p><a name="d0e433"></a>Preserve all local variables during code generation
+        </p></dd><dt><a name="d0e436"></a><span class="term">-preserveAllLocals</span></dt><dd><p><a name="d0e439"></a>Preserve all local variables during code generation
         (to facilitate debugging).
-        </p></dd><dt><a name="d0e436"></a><span class="term">-referenceInfo</span></dt><dd><p><a name="d0e439"></a>Compute reference information.
-        </p></dd><dt><a name="d0e442"></a><span class="term">-encoding <i><tt>format</tt></i></span></dt><dd><p><a name="d0e447"></a>Specify default source encoding format.
+        </p></dd><dt><a name="d0e442"></a><span class="term">-referenceInfo</span></dt><dd><p><a name="d0e445"></a>Compute reference information.
+        </p></dd><dt><a name="d0e448"></a><span class="term">-encoding <i><tt>format</tt></i></span></dt><dd><p><a name="d0e453"></a>Specify default source encoding format.
             Specify custom encoding on a per file basis by suffixing
 			each input source file/folder name with '[encoding]'.
-        </p></dd><dt><a name="d0e450"></a><span class="term">-verbose</span></dt><dd><p><a name="d0e453"></a>Emit messages about accessed/processed compilation units 
-        </p></dd><dt><a name="d0e456"></a><span class="term">-showWeaveInfo</span></dt><dd><p><a name="d0e459"></a>Emit messages about weaving 
-        </p></dd><dt><a name="d0e462"></a><span class="term">-log <i><tt>file</tt></i></span></dt><dd><p><a name="d0e467"></a>Specify a log file for compiler messages.
-        </p></dd><dt><a name="d0e470"></a><span class="term">-progress</span></dt><dd><p><a name="d0e473"></a>Show progress (requires -log mode).
-        </p></dd><dt><a name="d0e476"></a><span class="term">-time</span></dt><dd><p><a name="d0e479"></a>Display speed information.
-        </p></dd><dt><a name="d0e482"></a><span class="term">-noExit</span></dt><dd><p><a name="d0e485"></a>Do not call System.exit(n) at end of compilation
+        </p></dd><dt><a name="d0e456"></a><span class="term">-verbose</span></dt><dd><p><a name="d0e459"></a>Emit messages about accessed/processed compilation units 
+        </p></dd><dt><a name="d0e462"></a><span class="term">-showWeaveInfo</span></dt><dd><p><a name="d0e465"></a>Emit messages about weaving 
+        </p></dd><dt><a name="d0e468"></a><span class="term">-log <i><tt>file</tt></i></span></dt><dd><p><a name="d0e473"></a>Specify a log file for compiler messages.
+        </p></dd><dt><a name="d0e476"></a><span class="term">-progress</span></dt><dd><p><a name="d0e479"></a>Show progress (requires -log mode).
+        </p></dd><dt><a name="d0e482"></a><span class="term">-time</span></dt><dd><p><a name="d0e485"></a>Display speed information.
+        </p></dd><dt><a name="d0e488"></a><span class="term">-noExit</span></dt><dd><p><a name="d0e491"></a>Do not call System.exit(n) at end of compilation
 			(n=0 if no error)
-        </p></dd><dt><a name="d0e488"></a><span class="term">-repeat <i><tt>N</tt></i></span></dt><dd><p><a name="d0e493"></a>Repeat compilation process N times 
+        </p></dd><dt><a name="d0e494"></a><span class="term">-repeat <i><tt>N</tt></i></span></dt><dd><p><a name="d0e499"></a>Repeat compilation process N times 
         (typically to do performance analysis).
-        </p></dd><dt><a name="d0e496"></a><span class="term">-Xnoweave</span></dt><dd><p><a name="d0e499"></a>(Experimental) produce unwoven class files
+        </p></dd><dt><a name="d0e502"></a><span class="term">-Xnoweave</span></dt><dd><p><a name="d0e505"></a>(Experimental) produce unwoven class files
         for input using -injars.
-        </p></dd><dt><a name="d0e502"></a><span class="term">-Xreweavable[:compress]</span></dt><dd><p><a name="d0e505"></a>(Experimental) runs weaver in reweavable mode which causes
+        </p></dd><dt><a name="d0e508"></a><span class="term">-Xreweavable[:compress]</span></dt><dd><p><a name="d0e511"></a>(Experimental - deprecated as now default) 
+            Runs weaver in reweavable mode which causes
         it to create woven classes that can be rewoven, subject to the restriction that
         on attempting a reweave all the types that advised the woven type must be accessible.
-        </p></dd><dt><a name="d0e508"></a><span class="term">-XnoInline</span></dt><dd><p><a name="d0e511"></a>(Experimental) do not inline around advice
-        </p></dd><dt><a name="d0e514"></a><span class="term">-XincrementalFile <i><tt>file</tt></i></span></dt><dd><p><a name="d0e519"></a>(Experimental) This works like incremental mode, 
+        </p></dd><dt><a name="d0e514"></a><span class="term">-XnoInline</span></dt><dd><p><a name="d0e517"></a>(Experimental) do not inline around advice
+        </p></dd><dt><a name="d0e520"></a><span class="term">-XincrementalFile <i><tt>file</tt></i></span></dt><dd><p><a name="d0e525"></a>(Experimental) This works like incremental mode, 
         but using a file rather than standard input to control the compiler.  
         It will recompile each time file is changed and
         and halt when file is deleted.
-        </p></dd><dt><a name="d0e522"></a><span class="term">-XserializableAspects</span></dt><dd><p><a name="d0e525"></a>(Experimental) Normally it is an error to declare
+        </p></dd><dt><a name="d0e528"></a><span class="term">-XserializableAspects</span></dt><dd><p><a name="d0e531"></a>
+        (Experimental) Normally it is an error to declare
         aspects Serializable.  This option removes that restriction.
-        </p></dd></dl></div></div><div class="refsect2"><a name="d0e528"></a><h3>File names</h3><p>ajc accepts source files with either the <tt>.java</tt>
+        </p></dd><dt><a name="d0e534"></a><span class="term">-XnotReweavable</span></dt><dd><p><a name="d0e537"></a>
+    (Experimental) Create class files that can't be subsequently rewoven by AspectJ.
+        </p></dd><dt><a name="d0e542"></a><span class="term">-Xajruntimelevel:1.2, ajruntimelevel:1.5</span></dt><dd><p><a name="d0e545"></a>
+        (Experimental) Allows code to be generated that targets a 1.2 or a 1.5 level AspectJ runtime (default 1.5)
+         </p></dd></dl></div></div><div class="refsect2"><a name="d0e548"></a><h3>File names</h3><p>ajc accepts source files with either the <tt>.java</tt>
     extension or the <tt>.aj</tt> extension.  We normally use
     <tt>.java</tt> for all of our files in an AspectJ system -- files
     that contain aspects as well as files that contain classes.  However, if
@@ -189,20 +201,25 @@
     additional functionality from those that are pure Java we recommend using
     the <tt>.aj</tt> extension for those files.</p><p>We'd like to discourage other means of mechanical distinction such as
     naming conventions or sub-packages in favor of the <tt>.aj</tt>
-    extension.</p><div class="itemizedlist"><ul><li><p><a name="d0e551"></a>Filename conventions are hard to enforce and lead to awkward names
+    extension.</p><div class="itemizedlist"><ul><li><p><a name="d0e571"></a>Filename conventions are hard to enforce and lead to awkward names
     for your aspects.  Instead of <tt>TracingAspect.java</tt> we
     recommend using <tt>Tracing.aj</tt> (or just
-    <tt>Tracing.java</tt>) instead.</p></li><li><p><a name="d0e563"></a>Sub-packages move aspects out of their natural place in a system
+    <tt>Tracing.java</tt>) instead.</p></li><li><p><a name="d0e583"></a>Sub-packages move aspects out of their natural place in a system
     and can create an artificial need for privileged aspects.  Instead of
     adding a sub-package like <tt>aspects</tt> we recommend using the
     <tt>.aj</tt> extension and including these files in your existing
-    packages instead.</p></li></ul></div></div><div class="refsect2"><a name="d0e572"></a><h3>Compatibility</h3><p>
+    packages instead.</p></li></ul></div></div><div class="refsect2"><a name="d0e592"></a><h3>Compatibility</h3><p>
         AspectJ is a compatible extension to the Java programming language. The
         AspectJ compiler adheres to the <a href="http://java.sun.com/docs/books/jls/index.html" target="_top"> <i>The Java Language Specfication, Second
         Edition</i></a> and to the <a href="http://java.sun.com/docs/books/vmspec/index.html" target="_top"><i>The Java Virtual Machine Specification, Second
         Edition</i></a> and runs on any Java 2 compatible
         platform. The code it generates runs on any Java 1.1 or later
-        compatible platform.</p></div><div class="refsect2"><a name="d0e586"></a><h3>Examples</h3><div class="example"><p><a name="simpleexample"></a><b>Example 2.1. A simple example</b></p><p>Compile two files:</p><pre class="programlisting">
+        compatible platform.
+        For more information on compatibility with
+          Java and with previous releases of AspectJ,
+          see
+          <a href="compatibility.html#versionCompatibility">AspectJ Version Compatibility</a>.
+      </p></div><div class="refsect2"><a name="d0e608"></a><h3>Examples</h3><div class="example"><p><a name="simpleexample"></a><b>Example 2.1. A simple example</b></p><p>Compile two files:</p><pre class="programlisting">
         ajc HelloWorld.java Trace.java
         </pre></div><div class="example"><p><a name="exampleusingargfile"></a><b>Example 2.2. An example using -argfile/@</b></p><p>
           To avoid specifying file names on the command line, 
@@ -223,8 +240,8 @@
 ajc @sources.lst</pre><p>
         Argfiles are also supported by jikes and javac, so you 
         can use the files in hybrid builds.  However, the support varies:
-        </p><div class="itemizedlist"><ul><li><p><a name="d0e613"></a>Only ajc accepts command-line options</p></li><li><p><a name="d0e616"></a>Jikes and Javac do not accept internal @argfile references.
-            </p></li><li><p><a name="d0e619"></a>Jikes and Javac only accept the @file form on the command line.</p></li></ul></div></div><div class="example"><p><a name="examplebytecode"></a><b>Example 2.3. An example using -injars and -aspectpath</b></p><p>Bytecode weaving using -injars:
+        </p><div class="itemizedlist"><ul><li><p><a name="d0e635"></a>Only ajc accepts command-line options</p></li><li><p><a name="d0e638"></a>Jikes and Javac do not accept internal @argfile references.
+            </p></li><li><p><a name="d0e641"></a>Jikes and Javac only accept the @file form on the command line.</p></li></ul></div></div><div class="example"><p><a name="examplebytecode"></a><b>Example 2.3. An example using -injars and -aspectpath</b></p><p>Bytecode weaving using -injars:
           AspectJ 1.1 supports weaving from input zip or jar files containing 
           class files.  Using input jars is like compiling the corresponding 
           source files, and all binaries are emitted to output.  Although 
@@ -283,25 +300,25 @@
     ajc -aspectpath tracelib.jar -argfile tracing/notrace.lst -outjar tracedapp.jar 
         </pre><p>Run the application with tracing:</p><pre class="programlisting">
     java -classpath "$ajrt;tracedapp.jar;tracelib.jar" tracing.ExampleMain 
-        </pre><p>Build the application with tracing from binaries in two steps:</p><div class="itemizedlist"><ul><li><p><a name="d0e657"></a>
+        </pre><p>Build the application with tracing from binaries in two steps:</p><div class="itemizedlist"><ul><li><p><a name="d0e679"></a>
 (a) Build the application classes (using javac for demonstration's sake):</p><pre class="programlisting">
     mkdir classes 
     javac -d classes tracing/*.java 
     jar cfM app.jar -C classes . 
-        </pre></li><li><p><a name="d0e662"></a>
+        </pre></li><li><p><a name="d0e684"></a>
 (b) Build the application with tracing:</p><pre class="programlisting">
     ajc -injars app.jar -aspectpath tracelib.jar -outjar tracedapp.jar 
         </pre></li></ul></div><p>Run the application with tracing (same as above):</p><pre class="programlisting">
     java -classpath "$ajrt;tracedapp.jar;tracelib.jar" tracing.ExampleMain 
         </pre><p>Run the application without tracing:</p><pre class="programlisting">
     java -classpath "app.jar" tracing.ExampleMain
-        </pre></div></div><div class="refsect2"><a name="d0e675"></a><h3>The AspectJ compiler API</h3><p>The AspectJ compiler is implemented completely in Java and can be
+        </pre></div></div><div class="refsect2"><a name="d0e697"></a><h3>The AspectJ compiler API</h3><p>The AspectJ compiler is implemented completely in Java and can be
         called as a Java class.  The only interface that should be considered
         public are the public methods in <tt>org.aspectj.tools.ajc.Main</tt>.
         E.g., <tt>main(String[] args)</tt> takes the
         the standard <b>ajc</b> command line arguments. 
         This means that an alternative way to run the
-        compiler is </p><div class="cmdsynopsis" id="d0e689"><a name="d0e689"></a><tt><tt>java org.aspectj.tools.ajc.Main</tt></tt>  [<i><tt>option...</tt></i>] [<i><tt>file...</tt></i>]</div><p>To access compiler messages programmatically, use the methods
+        compiler is </p><div class="cmdsynopsis" id="d0e711"><a name="d0e711"></a><tt><tt>java org.aspectj.tools.ajc.Main</tt></tt>  [<i><tt>option...</tt></i>] [<i><tt>file...</tt></i>]</div><p>To access compiler messages programmatically, use the methods
          <tt>setHolder(IMessageHolder holder)</tt> and/or
          <tt>run(String[] args, IMessageHolder holder)</tt>.
 		  <tt>ajc</tt> reports each message to the holder
@@ -325,7 +342,7 @@
     System.out.println("messages: " + Arrays.asList(ms));
   }
 }
-        </pre></div><div class="refsect2"><a name="d0e724"></a><h3>Stack Traces and the SourceFile attribute</h3><p>Unlike traditional java compilers, the AspectJ compiler may in
+        </pre></div><div class="refsect2"><a name="d0e746"></a><h3>Stack Traces and the SourceFile attribute</h3><p>Unlike traditional java compilers, the AspectJ compiler may in
             certain cases generate classfiles from multiple source files.
             Unfortunately, the original Java class file format does not support 
             multiple
diff --git a/org.aspectj.ajde/doc/devguide/ajdoc-ref.html b/org.aspectj.ajde/doc/devguide/ajdoc-ref.html
index 0912157..317ee6c 100644
--- a/org.aspectj.ajde/doc/devguide/ajdoc-ref.html
+++ b/org.aspectj.ajde/doc/devguide/ajdoc-ref.html
@@ -1,13 +1,13 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-   <title>ajdoc</title><link rel="stylesheet" href="aspectj-docs.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.44"><link rel="home" href="index.html" title="The AspectJtm Development Environment Guide"><link rel="up" href="ajdoc-ref-top.html" title="ajdoc, the AspectJ documentation tool"><link rel="previous" href="ajc-ref.html" title="ajc"><link rel="next" href="aj-ref-top.html" title="aj, the AspectJ load-time weaving script"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">ajdoc</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ajc-ref.html">Prev</a>&nbsp;</td><th width="60%" align="center"><tt>ajdoc</tt>, the AspectJ documentation tool</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="aj-ref-top.html">Next</a></td></tr></table><hr></div><div class="refentry"><h1 class="title"><a name="ajdoc-ref"></a>ajdoc</h1><div class="refnamediv"><a name="d0e761"></a><h2>Name</h2>ajdoc &#8212; generate HTML API documentation, including crosscutting structure (early-access)
-    </div><div class="refsynopsisdiv"><a name="d0e766"></a><h2>Synopsis</h2><div class="cmdsynopsis" id="d0e767"><a name="d0e767"></a><tt>ajdoc</tt>  [
+   <title>ajdoc</title><link rel="stylesheet" href="aspectj-docs.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.44"><link rel="home" href="index.html" title="The AspectJtm Development Environment Guide"><link rel="up" href="ajdoc-ref-top.html" title="ajdoc, the AspectJ documentation tool"><link rel="previous" href="ajc-ref.html" title="ajc"><link rel="next" href="aj-ref-top.html" title="aj, the AspectJ load-time weaving script"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">ajdoc</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ajc-ref.html">Prev</a>&nbsp;</td><th width="60%" align="center"><tt>ajdoc</tt>, the AspectJ documentation tool</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="aj-ref-top.html">Next</a></td></tr></table><hr></div><div class="refentry"><h1 class="title"><a name="ajdoc-ref"></a>ajdoc</h1><div class="refnamediv"><a name="d0e783"></a><h2>Name</h2>ajdoc &#8212; generate HTML API documentation, including crosscutting structure (early-access)
+    </div><div class="refsynopsisdiv"><a name="d0e788"></a><h2>Synopsis</h2><div class="cmdsynopsis" id="d0e789"><a name="d0e789"></a><tt>ajdoc</tt>  [
         -bootclasspath <i><tt>classpathlist</tt></i>
       ] [
         -classpath <i><tt>classpathlist</tt></i>
       ] [-d <i><tt>path</tt></i>] [-help] [-package] [-protected] [-private] [-public] [-overview <i><tt>overviewFile</tt></i>] [
         -sourcepath <i><tt>sourcepathlist</tt></i>
-      ] [-verbose] [-version] [<i><tt>sourcefiles...</tt></i> | <i><tt>packages...</tt></i> | @<i><tt>file...</tt></i> | -argfile <i><tt>file...</tt></i>]</div></div><div class="refsect1"><a name="d0e822"></a><h2>Description</h2><p>
+      ] [-verbose] [-version] [<i><tt>sourcefiles...</tt></i> | <i><tt>packages...</tt></i> | @<i><tt>file...</tt></i> | -argfile <i><tt>file...</tt></i>]</div></div><div class="refsect1"><a name="d0e844"></a><h2>Description</h2><p>
       Similar to <b>javadoc</b>, 
       <b>ajdoc</b> renders HTML documentation for pointcuts,
       advice, and inter-type declarations, as 
@@ -58,25 +58,25 @@
       variable points to an appropriate installation of Java.
       You may need to provide this jar when using a different
       version of Java or a JRE.
-    </p></div><div class="refsect1"><a name="d0e910"></a><h2>Known limitations</h2><p>
+    </p></div><div class="refsect1"><a name="d0e932"></a><h2>Known limitations</h2><p>
       <b>ajdoc</b> documents advice and pointcut members, shows where advice applies and
       links affected members back to the advice.
       It currently does not document or add structural links for any inter-type declarations or other declare forms.
-    </p></div><div class="refsect1"><a name="d0e918"></a><h2>Examples</h2><div class="example"><p><a name="ajdocdocumentingspacewar"></a><b>Example 2.4. Documenting Spacewar</b></p><div class="itemizedlist"><ul><li><p><a name="d0e926"></a>
+    </p></div><div class="refsect1"><a name="d0e940"></a><h2>Examples</h2><div class="example"><p><a name="ajdocdocumentingspacewar"></a><b>Example 2.4. Documenting Spacewar</b></p><div class="itemizedlist"><ul><li><p><a name="d0e948"></a>
   	        Change into the <tt>examples</tt> directory.
-  	      </p></li><li><p><a name="d0e932"></a>
+  	      </p></li><li><p><a name="d0e954"></a>
   	        Type <b><tt>mkdir doc</tt></b> to create the
   	        destination directory for the documentation.
-  	      </p></li><li><p><a name="d0e938"></a>
+  	      </p></li><li><p><a name="d0e960"></a>
 	          Type <b><tt>ajdoc -private -d doc spacewar
 	            coordination</tt></b> to generate the documentation.
-	        </p><div class="itemizedlist"><ul><li><p><a name="d0e945"></a>
+	        </p><div class="itemizedlist"><ul><li><p><a name="d0e967"></a>
 		      (Use <tt>-private</tt> to get all members, since
             may of the interesting ones in spacewar are not public.)
-	            </p></li></ul></div></li><li><p><a name="d0e951"></a>
+	            </p></li></ul></div></li><li><p><a name="d0e973"></a>
               Type <b><tt>ajdoc -private -d doc @spacewar/demo.lst</tt></b> 
               to use the argfile associated with Spacewar.  
-  	            </p></li><li><p><a name="d0e957"></a>
+  	            </p></li><li><p><a name="d0e979"></a>
   	          To view the documentation, open the file <tt>index.html</tt> 
               in the <tt>doc</tt> directory using a web browser.
   	        </p></li></ul></div></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ajc-ref.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="aj-ref-top.html">Next</a></td></tr><tr><td width="40%" align="left">ajc&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ajdoc-ref-top.html">Up</a></td><td width="40%" align="right">&nbsp;<tt>aj</tt>, the AspectJ load-time weaving script</td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/org.aspectj.ajde/doc/devguide/antTasks-adapter.html b/org.aspectj.ajde/doc/devguide/antTasks-adapter.html
index 0ac8121..a766a34 100755
--- a/org.aspectj.ajde/doc/devguide/antTasks-adapter.html
+++ b/org.aspectj.ajde/doc/devguide/antTasks-adapter.html
@@ -55,44 +55,44 @@
 	The adapter supports any ajc command-line option passed using compilerarg, 
 	as well as the following options available only in AjcTask. 
 	Find more details on the following options in <a href="antTasks-iajc.html">AjcTask (iajc)</a>.
-	</p><div class="itemizedlist"><ul><li><p><a name="d0e2172"></a>
+	</p><div class="itemizedlist"><ul><li><p><a name="d0e2204"></a>
 		<tt>-Xmaxmem</tt>: 
 			set maximum memory for forking (also settable in javac).		
-		</p></li><li><p><a name="d0e2178"></a>
+		</p></li><li><p><a name="d0e2210"></a>
 		<tt>-Xlistfileargs</tt>: 
 			list file arguments (also settable in javac).		
-		</p></li><li><p><a name="d0e2184"></a>
+		</p></li><li><p><a name="d0e2216"></a>
 		<tt>-Xfailonerror</tt>: 
 			throw BuildException on compiler error (also settable in javac).
-		</p></li><li><p><a name="d0e2190"></a>
+		</p></li><li><p><a name="d0e2222"></a>
 		<tt>-Xmessageholderclass</tt>: 
 			specify fully-qualified name of class to use as the message holder.	
-		</p></li><li><p><a name="d0e2196"></a>
+		</p></li><li><p><a name="d0e2228"></a>
 		<tt>-Xcopyinjars</tt>: 
 			copy resources from any input jars to output
 			(default behavior since 1.1.1)
-		</p></li><li><p><a name="d0e2202"></a>
+		</p></li><li><p><a name="d0e2234"></a>
 		<tt>-Xsourcerootcopyfilter {filter}</tt>: 
 			copy resources from source directories to output (minus files specified in filter)
-		</p></li><li><p><a name="d0e2208"></a>
+		</p></li><li><p><a name="d0e2240"></a>
 		<tt>-Xtagfile {file}</tt>: 
 			use file to control incremental compilation		
-		</p></li><li><p><a name="d0e2214"></a>
+		</p></li><li><p><a name="d0e2246"></a>
 		<tt>-Xsrcdir {dir}</tt>: 		
 			add to list of ajc source roots (all source files will be included).
 		</p></li></ul></div><p>
 	Special considerations when using Javac and compilerarg:
-	</p><div class="itemizedlist"><ul><li><p><a name="d0e2223"></a>
+	</p><div class="itemizedlist"><ul><li><p><a name="d0e2255"></a>
 		The names above may differ slightly from what you might expect 
 		from AjcTask; use these forms when specifying compilerarg.
-		</p></li></ul></div><div class="itemizedlist"><ul><li><p><a name="d0e2227"></a>
+		</p></li></ul></div><div class="itemizedlist"><ul><li><p><a name="d0e2259"></a>
 		By default the adapter will mimic the Javac task's copying of resource 
 		files by specifying 
 		<tt>"**/CVS/*,**/*.java,**/*.aj"</tt>
 		for the sourceroot copy filter. 
 		To change this behavior, supply your own value 
 		(e.g., <tt>"**/*"</tt> to copy nothing).
-		</p></li></ul></div><div class="itemizedlist"><ul><li><p><a name="d0e2237"></a>
+		</p></li></ul></div><div class="itemizedlist"><ul><li><p><a name="d0e2269"></a>
 		Warning - define the system property
 		<tt>build.compiler.clean</tt> to compile all files, 
 		when available.
@@ -115,20 +115,20 @@
 		</pre><p>		
 		Caveats to consider when using this global 
 		<tt>build.compiler.clean</tt> property:
-		</p><div class="orderedlist"><ol type="1"><li><p><a name="d0e2256"></a>
+		</p><div class="orderedlist"><ol type="1"><li><p><a name="d0e2288"></a>
 		   If javac believes there are no out-of-date source files, 
 		   then the adapter is never called and cannot clean up, 
 		   and the "compile" will appear to complete successfully 
 		   though it did nothing.
-			</p></li><li><p><a name="d0e2259"></a>
+			</p></li><li><p><a name="d0e2291"></a>
 		   Cleaning will makes stepwise build processes fail if 
 		   they depend on the results of the prior compilation being 
 		   in the same directory, since cleaning deletes all .class files.
-			</p></li><li><p><a name="d0e2262"></a>
+			</p></li><li><p><a name="d0e2294"></a>
 		   This clean process only permits one compile process at a 
 		   time for each destination directory because it tracks 
 		   recursion by writing a tag file to the destination directory.
-			</p></li><li><p><a name="d0e2265"></a>
+			</p></li><li><p><a name="d0e2297"></a>
 		   When running incrementally, the clean happens only before 
 		   the initial compile.
 			</p></li></ol></div></li></ul></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="antTasks-iajc.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="antTasks-ajc.html">Next</a></td></tr><tr><td width="40%" align="left">AjcTask (iajc)&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="antTasks.html">Up</a></td><td width="40%" align="right">&nbsp;Ajc10 (ajc)</td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/org.aspectj.ajde/doc/devguide/antTasks-ajc.html b/org.aspectj.ajde/doc/devguide/antTasks-ajc.html
index 29533de..ab5bdbe 100755
--- a/org.aspectj.ajde/doc/devguide/antTasks-ajc.html
+++ b/org.aspectj.ajde/doc/devguide/antTasks-ajc.html
@@ -21,7 +21,7 @@
 	    <tt>srcdir</tt> (with patterns)).
 	    </p><p>Boolean parameters default to <tt>false</tt>
 	    unless otherwise stated.
-	    </p><div class="table"><p><a name="d0e2299"></a><b>Table 4.1. AjcTask (ajc) options for specifying sources</b></p><table summary="AjcTask (ajc) options for specifying sources" border="1"><colgroup><col><col></colgroup><thead><tr><th>Attribute</th><th>Description</th></tr></thead><tbody><tr><td><p>srcdir
+	    </p><div class="table"><p><a name="d0e2331"></a><b>Table 4.1. AjcTask (ajc) options for specifying sources</b></p><table summary="AjcTask (ajc) options for specifying sources" border="1"><colgroup><col><col></colgroup><thead><tr><th>Attribute</th><th>Description</th></tr></thead><tbody><tr><td><p>srcdir
 				</p></td><td><p>
 				The base directory of the java files.
 				See 
@@ -81,7 +81,7 @@
 				</p></td></tr><tr><td><p>source
 				</p></td><td><p>
 				Value of -source option - ignored unless <tt>1.4</tt>.
-				</p></td></tr></tbody></table></div><div class="table"><p><a name="d0e2431"></a><b>Table 4.2. Parameters ignored by the old ajc taskdef, 
+				</p></td></tr></tbody></table></div><div class="table"><p><a name="d0e2463"></a><b>Table 4.2. Parameters ignored by the old ajc taskdef, 
 				but now supported or buggy</b></p><table summary="Parameters ignored by the old ajc taskdef, &#xA;				but now supported or buggy" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Attribute</th><th>Description</th><th>Supported?</th></tr></thead><tbody><tr><td><p>encoding
 				</p></td><td><p>Default encoding of source files.
 				</p></td><td><p>yes
@@ -112,11 +112,11 @@
 				</p></td></tr></tbody></table></div><p>
 		The following table shows that many of the unique parameters in 
 		AspectJ 1.0 are no longer supported.
-		</p><div class="table"><p><a name="d0e2519"></a><b>Table 4.3. Parameters unique to ajc</b></p><table summary="Parameters unique to ajc" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Attribute</th><th>Description</th></tr></thead><tbody><tr><td><p>X
+		</p><div class="table"><p><a name="d0e2551"></a><b>Table 4.3. Parameters unique to ajc</b></p><table summary="Parameters unique to ajc" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Attribute</th><th>Description</th></tr></thead><tbody><tr><td><p>X
 				</p></td><td><p>
-				 	comma-delimited list of extended (-X...) options, 
-				 	entered without -X (e.g., 
-				 	<tt>X="lint"</tt> for -Xlint).
+				 	deprecated X options include
+					reweavable (on by default)
+					reweavable:compress (compressed by default)
 				</p></td></tr><tr><td><p>emacssym
 				</p></td><td><p>
 				Generate symbols for Emacs IDE support.
@@ -124,7 +124,7 @@
 				</p></td><td><p>
 				A comma-delimited list of argfiles that contain a line-delimited 
 				list of source file paths (absolute or relative to the argfile).
-				</p></td></tr></tbody></table></div><div class="sect3"><a name="d0e2554"></a><div class="titlepage"><div><h4 class="title"><a name="d0e2554"></a>argfiles - argument list files</h4></div></div><p>
+				</p></td></tr></tbody></table></div><div class="sect3"><a name="d0e2583"></a><div class="titlepage"><div><h4 class="title"><a name="d0e2583"></a>argfiles - argument list files</h4></div></div><p>
 		An argument file is a file (usually <tt>{file}.lst</tt>) 
 		containing a list of source file paths 
 		(absolute or relative to the argfile). 
diff --git a/org.aspectj.ajde/doc/devguide/antTasks-iajc.html b/org.aspectj.ajde/doc/devguide/antTasks-iajc.html
index 231053d..9945a75 100755
--- a/org.aspectj.ajde/doc/devguide/antTasks-iajc.html
+++ b/org.aspectj.ajde/doc/devguide/antTasks-iajc.html
@@ -47,7 +47,7 @@
 			<span class="strong"><i>
 			AjcTask (iajc) options for specifying sources
 			</i></span>		
-		</p><div class="informaltable" id="d0e1464"><a name="d0e1464"></a><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Attribute</th><th>Description</th></tr></thead><tbody><tr><td><p>argfiles, argfilesRef
+		</p><div class="informaltable" id="d0e1486"><a name="d0e1486"></a><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Attribute</th><th>Description</th></tr></thead><tbody><tr><td><p>argfiles, argfilesRef
 				(<a href="antTasks-iajc.html#antTasks-iajc-paths">Path</a>)
 				</p></td><td><p>
 				An argument file contains a list of arguments read by the compiler. 
@@ -105,7 +105,7 @@
 			<span class="strong"><i>
 		AjcTask (iajc) options for specifying output
 			</i></span>		
-		</p><div class="informaltable" id="d0e1567"><a name="d0e1567"></a><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Attribute</th><th>Description</th></tr></thead><tbody><tr><td><p>destDir
+		</p><div class="informaltable" id="d0e1589"><a name="d0e1589"></a><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Attribute</th><th>Description</th></tr></thead><tbody><tr><td><p>destDir
 				</p></td><td><p>						
 				The directory in which to place the generated class files. 
 				Only one of <tt>destDir</tt> and 
@@ -150,7 +150,7 @@
 			<span class="strong"><i>
 		AjcTask (iajc) options for specifying compiler behavior
 			</i></span>		
-		</p><div class="informaltable" id="d0e1655"><a name="d0e1655"></a><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Attribute</th><th>Description</th></tr></thead><tbody><tr><td><p>fork
+		</p><div class="informaltable" id="d0e1677"><a name="d0e1677"></a><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Attribute</th><th>Description</th></tr></thead><tbody><tr><td><p>fork
 				</p></td><td><p>						
 				Run process in another VM. 
 				This gets the forking classpath either explicitly
@@ -185,10 +185,17 @@
 				Requires that source files be specified only using 
 				<tt>sourceroots</tt>. 
 				</p></td></tr><tr><td><p>X
-				</p></td><td><p>						
-				Set experimental option(s), using comma-separated list of accepted options 
-				(unlisted here). Options should not contain the leading X. 
-				XLint options should be specified using the xlint... entries.
+				</p></td><td><p>
+					Set experimental option(s), using comma-separated list of accepted options 
+				    Options should not contain the leading X.
+                    Some commonly-used experimental options have their
+                    own entries.  The other permitted ones (currently) are
+                    serializableAspects, incrementalFile, lazyTjp,
+        		reweavable, notReweavable, noInline,
+            	noWeave,
+                ajruntimelevel:1.2, and ajruntimelevel:1.5.
+                Of these, some were deprecated in AspectJ 5
+                    (reweavable, noWeave, etc.).
 				</p></td></tr><tr><td><p>Xnoweave
 				</p></td><td><p>		
 				Experimental option to produce binaries that can only be used as input 
@@ -199,9 +206,12 @@
 			<span class="strong"><i>
 		AjcTask (iajc) options for specifying compiler side-effects and messages
 			</i></span>		
-		</p><div class="informaltable" id="d0e1744"><a name="d0e1744"></a><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Attribute</th><th>Description</th></tr></thead><tbody><tr><td><p>emacssym
+		</p><div class="informaltable" id="d0e1766"><a name="d0e1766"></a><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Attribute</th><th>Description</th></tr></thead><tbody><tr><td><p>emacssym
 				</p></td><td><p>
 				If true, emit <tt>.ajesym</tt> symbol files for Emacs support.
+				</p></td></tr><tr><td><p>crossref
+				</p></td><td><p>
+				If true, emit <tt>.ajsym</tt> file into the output directory.
 				</p></td></tr><tr><td><p>verbose
 				</p></td><td><p>
 				If true, emit compiler status messages during the compile.				
@@ -251,7 +261,7 @@
 			<span class="strong"><i>
 		AjcTask (iajc) options for specifying Eclipse compiler options
 			</i></span>		
-		</p><div class="informaltable" id="d0e1859"><a name="d0e1859"></a><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Attribute</th><th>Description</th></tr></thead><tbody><tr><td><p>nowarn
+		</p><div class="informaltable" id="d0e1891"><a name="d0e1891"></a><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Attribute</th><th>Description</th></tr></thead><tbody><tr><td><p>nowarn
 				</p></td><td><p>		
 				 	If true, same as <tt>warn:none</tt>.
 				</p></td></tr><tr><td><p>deprecation
@@ -303,10 +313,11 @@
 				</p></td></tr><tr><td><p>source
 				</p></td><td><p>		
 				 	Set source compliance level to one of
-				 	[<tt>1.3 1.4</tt>]
-				 	(e.g., in 1.4 no assert identifiers
-				 	and no import from default package).
-				 	Defaults to 1.3 compliance level. 				
+				 	[<tt>1.3 1.4 1.5</tt>]
+                    (default is 1.4).
+                    1.3 implies -source 1.3 and -target 1.1.
+                    1.4 implies -source 1.4 and -target 1.2.
+                    1.5 implies -source 1.5 and -target 1.5.
 				</p></td></tr><tr><td><p>source
 				</p></td><td><p>
 				Set source assertion mode to one of
@@ -389,12 +400,12 @@
 
 		</pre><p>
 		Below is script with most everything in it. The compile process...
-		</p><div class="orderedlist"><ol type="1"><li><p><a name="d0e2080"></a>Runs in incremental mode, recompiling when the user hits return;
-	        </p></li><li><p><a name="d0e2083"></a>Reads all the source files from two directories;
-	        </p></li><li><p><a name="d0e2086"></a>Reads binary .class files from input jar and directory; 
-				</p></li><li><p><a name="d0e2089"></a>Uses a binary aspect library for persistence;
-	        </p></li><li><p><a name="d0e2092"></a>Outputs to an application jar; and
-	        </p></li><li><p><a name="d0e2095"></a>Copies resources from the source directories and binary input 
+		</p><div class="orderedlist"><ol type="1"><li><p><a name="d0e2112"></a>Runs in incremental mode, recompiling when the user hits return;
+	        </p></li><li><p><a name="d0e2115"></a>Reads all the source files from two directories;
+	        </p></li><li><p><a name="d0e2118"></a>Reads binary .class files from input jar and directory; 
+				</p></li><li><p><a name="d0e2121"></a>Uses a binary aspect library for persistence;
+	        </p></li><li><p><a name="d0e2124"></a>Outputs to an application jar; and
+	        </p></li><li><p><a name="d0e2127"></a>Copies resources from the source directories and binary input 
 				jar and directories to the application jar. </p></li></ol></div><p>
 		When this target is built, the compiler will build once and then 
 		wait for input from the user. 
diff --git a/org.aspectj.ajde/doc/devguide/antTasks-problems.html b/org.aspectj.ajde/doc/devguide/antTasks-problems.html
index 84876ba..389db04 100755
--- a/org.aspectj.ajde/doc/devguide/antTasks-problems.html
+++ b/org.aspectj.ajde/doc/devguide/antTasks-problems.html
@@ -4,15 +4,15 @@
 	If you have problems with the tasks not solved by the documentation, 
 	please try to see if you have the same problems when running ajc 
 	directly on the command line.
-	</p><div class="itemizedlist"><ul><li><p><a name="d0e2656"></a>
+	</p><div class="itemizedlist"><ul><li><p><a name="d0e2685"></a>
 		If the problem occurs on the command line also, then the problem 
 		is not in the task. 
 		(It may be in the tools; please send bug reports.)
-		</p></li><li><p><a name="d0e2659"></a>
+		</p></li><li><p><a name="d0e2688"></a>
 		If the problem does not occur on the command line, then it may 
 		lie in the parameters you are supplying in Ant or in the task's 
 		handling of them.
-		</p></li><li><p><a name="d0e2662"></a>
+		</p></li><li><p><a name="d0e2691"></a>
 		If the build script looks correct and the problem only occurs when 
 		building from Ant, then please send a report 
 		(including your build file, if possible).
diff --git a/org.aspectj.ajde/doc/devguide/antTasks.html b/org.aspectj.ajde/doc/devguide/antTasks.html
index 6b495a0..9a5278a 100755
--- a/org.aspectj.ajde/doc/devguide/antTasks.html
+++ b/org.aspectj.ajde/doc/devguide/antTasks.html
@@ -6,15 +6,15 @@
 	Included in the <tt>aspectjtools.jar</tt>
 	are Ant binaries to support three 
 	ways of running the compiler:
-    <div class="orderedlist"><ol type="1"><li><p><a name="d0e1351"></a>
+    <div class="orderedlist"><ol type="1"><li><p><a name="d0e1373"></a>
 	<a href="antTasks-iajc.html">AjcTask (iajc)</a>, 
 	a task to run the AspectJ post-1.1 compiler, 
 	which supports all the eclipse and ajc options, including incremental mode.
-        </p></li><li><p><a name="d0e1356"></a>
+        </p></li><li><p><a name="d0e1378"></a>
 	<a href="antTasks-adapter.html">Ajc11CompilerAdapter (javac)</a>, 
 	an adapter class to run the new compiler using Javac tasks 
 	by setting the build.compiler property
-        </p></li><li><p><a name="d0e1361"></a>
+        </p></li><li><p><a name="d0e1383"></a>
 	<a href="antTasks-ajc.html">Ajc10 (ajc)</a>, 
 	a task to run build scripts compatible with the AspectJ 1.0 tasks
         </p></li></ol></div>
diff --git a/org.aspectj.ajde/doc/devguide/ltw-configuration.html b/org.aspectj.ajde/doc/devguide/ltw-configuration.html
index d21c019..25f8657 100644
--- a/org.aspectj.ajde/doc/devguide/ltw-configuration.html
+++ b/org.aspectj.ajde/doc/devguide/ltw-configuration.html
@@ -6,7 +6,7 @@
         types will be woven. Additional diagnostic options allow the user to debug the configuration and 
         weaving process. </p><div class="sect2"><a name="enabling-load-time-weaving"></a><div class="titlepage"><div><h3 class="title"><a name="enabling-load-time-weaving"></a>Enabling Load-time Weaving</h3></div></div><p> AspectJ 5 supports several ways of enabling load-time weaving for
             an application: agents, a command-line launch script, and a set of interfaces for
-            integration of AspectJ load-time weaving in custom environments. </p><div class="variablelist"><dl><dt><a name="d0e2761"></a><span class="term">Agents</span></dt><dd><p><a name="d0e2764"></a>AspectJ 5 ships with a number of load-time weaving agents that
+            integration of AspectJ load-time weaving in custom environments. </p><div class="variablelist"><dl><dt><a name="d0e2788"></a><span class="term">Agents</span></dt><dd><p><a name="d0e2791"></a>AspectJ 5 ships with a number of load-time weaving agents that
                             enable load-time weaving. These agents and their configuration
                             are execution environment dependent. Configuration for the supported environments is discussed
                             later in this chapter.</p><p>
@@ -14,11 +14,15 @@
                             to the JVM.</p><p>
                             Using BEA JRockit and Java 1.3/1.4, the very same behavior can be obtained using BEA JRockit JMAPI features with
                             the <tt>-Xmanagement:class=org.aspectj.weaver.loadtime.JRockitAgent</tt>
-                        </p></dd><dt><a name="d0e2777"></a><span class="term">Command-line wrapper script <tt>aj</tt></span></dt><dd><p><a name="d0e2782"></a>The <b>aj</b> command runs Java programs in Java 1.4 or
+                        </p></dd><dt><a name="d0e2804"></a><span class="term">Command-line wrapper scripts <tt>aj</tt></span></dt><dd><p><a name="d0e2809"></a>The <b>aj</b> command runs Java programs in Java 1.4 or
                         later by setting up <tt>WeavingURLClassLoader</tt> as the 
                             system class loader.  
                             For more information, see <a href="aj-ref.html#aj">aj</a>.
-                        </p></dd><dt><a name="d0e2809"></a><span class="term">Custom class loader</span></dt><dd><p><a name="d0e2812"></a> A public interface is provided to allow a user written class loader
+                        </p><p>The <b>aj5</b> command runs Java programs in Java 5
+                        by using the <tt>-javaagent:pathto/aspectjweaver.jar</tt> option 
+                            described above.
+                            For more information, see <a href="aj-ref.html#aj">aj</a>.
+                        </p></dd><dt><a name="d0e2830"></a><span class="term">Custom class loader</span></dt><dd><p><a name="d0e2833"></a> A public interface is provided to allow a user written class loader
                             to instantiate a weaver and weave classes after loading and before
                             defining them in the JVM. This enables load-time weaving to be supported in
                             environments where no weaving agent is available. It also allows the
@@ -29,7 +33,7 @@
                             <tt>WeavingAdapter</tt>.
                         </p></dd></dl></div></div><div class="sect2"><a name="configuring-load-time-weaving-with-aopxml-files"></a><div class="titlepage"><div><h3 class="title"><a name="configuring-load-time-weaving-with-aopxml-files"></a>Configuring Load-time Weaving with aop.xml files</h3></div></div><p>The weaver is configured using one or more <tt>META-INF/aop.xml</tt>
                 files located on the class loader search path. Each file may define a list of
-                concrete aspects to be used for weaving, type patterns describing which types
+                aspects to be used for weaving, type patterns describing which types
                 should woven, and a set of options to be passed to the weaver. In addition AspectJ 5
                 supports the definition of concrete aspects in XML. Aspects defined in this way
                 must extend an abstract aspect visible to the weaver. The abstract aspect
@@ -49,11 +53,11 @@
                 &lt;pointcut name="tracingScope" expression="within(org.maw.*)"/&gt;
               &lt;/concrete-aspect&gt;
 
-              &lt;!-- Of the set of aspects declared in this sole aop.xml,
+              &lt;!-- Of the set of aspects declared to the weaver
                    use aspects matching the type pattern "com..*" for weaving. --&gt;
               &lt;include within="com..*"/&gt;
 
-              &lt;!-- Of the set of aspects declared in this sole aop.xml,
+              &lt;!-- Of the set of aspects declared to the weaver
                    do not use any aspects with the @CoolAspect annotation for weaving --&gt;
               &lt;exclude within="@CoolAspect *"/&gt;
 
@@ -66,7 +70,14 @@
               &lt;include within="javax.*"/&gt;
               &lt;include within="org.aspectj.*"/&gt;
               &lt;include within="(!@NoWeave foo.*) AND foo.*"/&gt;
-              &lt;dump within="somepack.*"/&gt;&lt;!-- will dump weaved classes to the "./_ajdump" folder on disk (for diagnostic purpose) --&gt;
+
+              &lt;!-- Do not weave types within the "bar" pakage --&gt;
+              &lt;exclude within="bar.*"/&gt;
+
+              &lt;!-- Dump all types within the "somepack" package,
+                   both before are after they are woven,
+                   to the "./_ajdump" folder on disk (for diagnostic purposes) --&gt;
+              &lt;dump within="somepack.*" /&gt;
             &lt;/weaver&gt;
 
           &lt;/aspectj&gt;
@@ -97,44 +108,49 @@
                 a type pattern of the same form as a within pcd, except that &amp;&amp;
                 and || are replaced by 'AND' and 'OR'.
             </p><p>
-                Note that <tt>include</tt> and <tt>exclude</tt> affects the declared list of aspects (or concrete-aspect) defined in this
-                sole aop.xml and has no side effect on other aop.xml files.
-                Also note it is required to use <tt>aspect</tt> or <tt>concrete-aspect</tt> elements and that include does not
-                mean "pick any aspect you 'll find" - as the aspect list must be known by the weaver.
+                Note that <tt>include</tt> and <tt>exclude</tt> elements affect all aspects 
+                declared to the weaver including those in other aop.xml files. To help avoid unexpected 
+                behaviour a lint warning is issued
+                if an aspect is not declared as a result of of applying these filters.
+                Also note <tt>aspect</tt> and <tt>concrete-aspect</tt> elements
+                must be used to delare aspects to the weaver i.e. <tt>include</tt> and <tt>exclude</tt>
+                elements cannot be used find aspects on the class loader search path.
             </p><p>
                 The weaver element is used to pass options to the weaver and to specify
                 the set of types that should be woven. If no include elements are specified
-                then all types seen by the weaver will be woven.
+                then all types visible to the weaver will be woven.
             </p><p> When several configuration files are visible from a given weaving class loader
-                their contents are conceptually merged (this applies to both aop.xml files
-                and to aop.properties files as described in the next section). 
+                their contents are conceptually merged. 
                 The files are merged in the order they are
                 found on the search path (regular <tt>getResourceAsStream</tt> lookup)
-                according to the following rules: </p><div class="itemizedlist"><ul><li><p><a name="d0e2874"></a>The set of available aspects is the set of all
+                according to the following rules: </p><div class="itemizedlist"><ul><li><p><a name="d0e2901"></a>The set of available aspects is the set of all
                     declared and defined aspects (<tt>aspect</tt> and
                     <tt>concrete-aspect</tt> elements of the <tt>aspects</tt>
-                    section).</p></li><li><p><a name="d0e2886"></a>The set of aspects used for weaving is the subset of the available
+                    section).</p></li><li><p><a name="d0e2913"></a>The set of aspects used for weaving is the subset of the available
                     aspects that are matched by at least one include statement and are not matched
                     by any exclude statements. If there are no include statements then all non-excluded
-                    aspects are included.</p></li><li><p><a name="d0e2889"></a> The set of types to be woven are those types matched by at
+                    aspects are included.</p></li><li><p><a name="d0e2916"></a> The set of types to be woven are those types matched by at
                     least one weaver <tt>include</tt> element and not matched by any 
                     weaver <tt>exclude</tt> element. If there are no weaver include
-                    statements then all non-excluded types are included.</p></li><li><p><a name="d0e2898"></a> The weaver options are derived by taking the union of the
+                    statements then all non-excluded types are included.</p></li><li><p><a name="d0e2925"></a> The weaver options are derived by taking the union of the
                     options specified in each of the weaver options attribute specifications. Where an
                     option takes a value e.g. <tt>-warn:none</tt> the most recently defined value
                     will be used.</p></li></ul></div><p>It is not an error for the same aspect to be defined to the weaver in 
                 more than one visible <tt>META-INF/aop.xml</tt> file. 
-                However, if a declarative concrete aspect
-                is declared in more than aop.xml file then an error will be issued.
-                 A concrete aspect 
+                However, if a concrete aspect
+                is defined in more than aop.xml file then an error will be issued.
+                A concrete aspect 
                 defined in this way will be used to weave types loaded by the
                 class loader that loaded the aop.xml file in which it was defined. 
-                </p><p> A <tt>META-INF/aop.xml</tt> file will automatically be generated when
-                using the <tt>-outjar</tt> option of the AspectJ compiler. 
-                It will simply contain a (possibly empty) set of aspect elements, one for
-                each concrete aspect included in the JAR. </p></div><div class="sect2"><a name="concrete-aspect"></a><div class="titlepage"><div><h3 class="title"><a name="concrete-aspect"></a>Using Concrete Aspects</h3></div></div><p>
-                It is possible to concretize an abstract aspect by the mean of the <tt>META-INF/aop.xml</tt>
-                file. This is usefull to define abstract pointcuts at deployment time, and also gives control
+                </p><p> A <tt>META-INF/aop.xml</tt> can be generated by
+                using either the <tt>-outxml</tt> or <tt>-outxmlfile</tt> options of the AspectJ compiler. 
+                It will simply contain a (possibly empty) set of aspect elements; one for
+                each abstract or concrete aspect defined. 
+                When used in conjuction with the <tt>-outjar</tt> option
+                a JAR is produced that can be used
+                with the <b>aj5</b> command or a load-time weaving environment.</p></div><div class="sect2"><a name="concrete-aspect"></a><div class="titlepage"><div><h3 class="title"><a name="concrete-aspect"></a>Using Concrete Aspects</h3></div></div><p>
+                It is possible to make an abstract aspect concrete by means of the <tt>META-INF/aop.xml</tt>
+                file. This is useful way to implement abstract pointcuts at deployment time, and also gives control
                 over precedence through the <tt>precedence</tt> attribute of the
                 <tt>concrete-aspect</tt> XML element.
                 Consider the following:
@@ -168,19 +184,18 @@
                 }
             }
             </pre><p>
-                This aspect (in either of its style) is a good candidate for concretization through <tt>META-INF/aop.xml</tt>.
-                It defines the abstract pointcut <tt>within()</tt>. It is important to remember that
-                concretization in this case must obey to the following rules:
-                <div class="itemizedlist"><ul><li><p><a name="d0e2946"></a>The parent aspect must be abstract. It can be an @AspectJ or a
-                            regular code style aspect.</p></li><li><p><a name="d0e2949"></a>Only simple abstract pointcut can be concretized ie pointcut that don't expose
+                This aspect (in either style) can be made concrete using <tt>META-INF/aop.xml</tt>.
+                It defines the abstract pointcut <tt>within()</tt>. When using this mechanism the 
+                following rules apply:
+                <div class="itemizedlist"><ul><li><p><a name="d0e2982"></a>The parent aspect must be abstract. It can be an @AspectJ or a
+                            regular code style aspect.</p></li><li><p><a name="d0e2985"></a>Only a simple abstract pointcut can be implemented i.e. a pointcut that doesn't expose
                             state (through <tt>args(), this(), target(), if()</tt>). In @AspectJ syntax
-                            as illustrated in this sample, this means the method that hosts the pointcut is abstract,
-                            has no arguments, and returns void.</p></li><li><p><a name="d0e2955"></a>Concretization must defines all such abstract pointcuts ie it is not possible
-                            to have <tt>concrete-aspect</tt> inter dependancies.</p></li><li><p><a name="d0e2961"></a>Concretization can only concretize pointcuts ie there cannot be abstract method
-                            left in the aspect.</p></li></ul></div>
-                If you have requirements for more complex aspect inheritance, you should consider regular aspect
-                inheritance instead of concretization through XML.
-                Given that the following XML is valid:
+                            as illustrated in this sample, this means the method that hosts the pointcut must be abstract,
+                            have no arguments, and return void.</p></li><li><p><a name="d0e2991"></a>The concrete aspect must implement all inherited abstract pointcuts.</p></li><li><p><a name="d0e2994"></a>The concrete aspect may not implement methods so the abstract aspect it 
+                            extends may not contain any abstract methods.</p></li></ul></div>
+                If more complex aspect inheritance is required use regular aspect
+                inheritance instead of XML.
+                The following XML definition shows a valid concrete sub-aspect for the abstract aspects above:
             </p><pre class="programlisting">
             &lt;aspectj&gt;
                 &lt;conrete-aspect name="mypack.__My__AbstractAspect" extends="mypack.AbstractAspect"&gt;
@@ -188,10 +203,11 @@
                 &lt;/concrete-aspect&gt;
             &lt;/aspectj&gt;
             </pre><p>
-                It is important to remember that the <tt>name</tt> attribute in the XML directive
-                <tt>concrete-aspect</tt> defines the fully qualified name that will be given to the
-                concrete aspect. It must then be a valid class name. This one will indeed be generated on the fly by the weaver internals. You must
-                then ensure that there won't be name collision. Also note that the concrete aspect will be
+                It is important to remember that the <tt>name</tt> attribute in the
+                <tt>concrete-aspect</tt> directive defines the fully qualified name that will be given to the
+                concrete aspect. It must a valid class name because the aspect will be generated on the fly by the weaver.
+                You must
+                also ensure that there are no name collisions. Note that the concrete aspect will be
                 defined at the classloader level for which the aop.xml is visible. This implies that if you need
                 to use the <tt>aspectof</tt> methods to access the aspect instance(s) (depending on the perclause
                 of the aspect it extends) you have to use the helper API <tt>org.aspectj.lang.Aspects.aspectOf(..)</tt>
@@ -208,10 +224,10 @@
                 <tt>@DeclarePrecedence</tt> or <tt>declare precedence</tt> do in
                 aspect source code.
             </p><p>
-                Sometimes it is required to declare precedence without extending any abstract aspect
-                as well. For such a need, it is possible to use the <tt>concrete-aspect</tt>
+                Sometimes it is necessary to declare precedence without extending any abstract aspect.
+                It is therefore possible to use the <tt>concrete-aspect</tt>
                 element without the <tt>extends</tt> attribute and without any
-                <tt>pointcut</tt> nested element, but only with a <tt>precedence</tt>
+                <tt>pointcut</tt> nested elements, just a <tt>precedence</tt>
                 attribute.
                 Consider the following:
             </p><pre class="programlisting">
@@ -220,24 +236,19 @@
                                      precedence="*..*Security*, Logging+, *"/&gt;
                 &lt;/aspectj&gt;
             </pre><p>
-                This deployment time declaration is only defining a precedence rule. You have to remember
+                This deployment time definitions is only declaring a precedence rule. You have to remember
                 that the <tt>name</tt> attribute must be a valid fully qualified class name
                 that will be then reserved for this concrete-aspect and must not conflict with other classes
                 you deploy.
             </p></div><div class="sect2"><a name="weaver-options"></a><div class="titlepage"><div><h3 class="title"><a name="weaver-options"></a>Weaver Options</h3></div></div><p> The table below lists the AspectJ options supported by LTW. All other options
-                will be ignored and a warning issued. </p><div class="informaltable" id="d0e3028"><a name="d0e3028"></a><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Option</th><th>Purpose</th></tr></thead><tbody><tr><td><tt>-verbose</tt></td><td>Issue informational messages about the weaving process. If ever you need to have information
-                                   when the load time weaving engine is bootstrapped (hence its logger as per <tt>-XmessageHandlerClass:...</tt> not ready yet),
-                                   you can use the option <tt>-Daj.weaving.verbose=true</tt> on the JVM startup command line. Messages will then be printed
-                                   on stderr as long as the message handler class is not ready.
-                            </td></tr><tr><td><tt>-1.5</tt></td><td>Run the weaver in 1.5 mode (supports autoboxing in
-                            join point matching)</td></tr><tr><td><tt>-Xlintfile:pathToAResource</tt></td><td>Configure lint messages as specified in the given resource (visible from this aop.xml file' classloader)</td></tr><tr><td><tt>-Xlint:default, -Xlint:ignore, ...</tt></td><td>Configure lint messages, refer to documentation for meaningfull values</td></tr><tr><td><tt>-nowarn, -warn:none</tt></td><td>Suppress warning messages</td></tr><tr><td><tt>-proceedOnError</tt></td><td>Continue weaving even if errors occur (for example,
-                             "... already woven" errors)</td></tr><tr><td><tt>-Xreweavable</tt></td><td>Produce class files that can subsequently be rewoven</td></tr><tr><td><tt>-XnoInline</tt></td><td>Don't inline around advice.</td></tr><tr><td><tt>-showWeaveInfo</tt></td><td>Issue informational messages whenever the weaver touches a class file</td></tr><tr><td><tt>-XmessageHandlerClass:...</tt></td><td>Provide alternative output destination to stdout/stderr for all weaver messages.
-                            The given value must be the full qualified class name of a class that implements
-                            <tt>org.aspectj.bridge.IMessageHandler</tt>
-                            and that is visible from where the <tt>aop.xml</tt> is packed.
-                            If more than one such options are used,
-                            the first occurence only is taken into account.
-                            You must also be very cautious about using a custom handler since it is likely that it will be invoked
-                            (as well as all its third parties) while the weaving is done, which means that f.e. it cannot be weaved
-                            by the aspects that are configured within the same deployment unit.
+                will be ignored and a warning issued. </p><div class="informaltable" id="d0e3061"><a name="d0e3061"></a><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Option</th><th>Purpose</th></tr></thead><tbody><tr><td><tt>-verbose</tt></td><td>Issue informational messages about the weaving process. Messages issued while the weaver is being 
+                                   bootstrapped are accumulated until all options are parsed. If the messages are required to be output
+                                   immediately you can use the option <tt>-Daj.weaving.verbose=true</tt> on the JVM startup command line.
+                            </td></tr><tr><td><tt>-Xlintfile:pathToAResource</tt></td><td>Configure lint messages as specified in the given resource (visible from this aop.xml file' classloader)</td></tr><tr><td><tt>-Xlint:default, -Xlint:ignore, ...</tt></td><td>Configure lint messages, refer to documentation for meaningfull values</td></tr><tr><td><tt>-nowarn, -warn:none</tt></td><td>Suppress warning messages</td></tr><tr><td><tt>-Xreweavable</tt></td><td>Produce class files that can subsequently be rewoven</td></tr><tr><td><tt>-XnoInline</tt></td><td>Don't inline around advice.</td></tr><tr><td><tt>-showWeaveInfo</tt></td><td>Issue informational messages whenever the weaver touches a class file</td></tr><tr><td><tt>-XmessageHandlerClass:...</tt></td><td>Provide alternative output destination to stdout/stderr for all weaver messages.
+                            The given value must be the full qualified class name of a class that implements the
+                            <tt>org.aspectj.bridge.IMessageHandler</tt> interface
+                            and is visible to the classloader with which the weaver being configured is associated.
+                            Exercise caution when packaging a custom message handler with an application that is to 
+                            be woven. The handler (as well as classes on which it depends) cannot itself be woven
+                            by the aspects that are declared to the same weaver.
                             </td></tr></tbody></table></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ltw-rules.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ltw-specialcases.html">Next</a></td></tr><tr><td width="40%" align="left">Load-time Weaving Requirements&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ltw.html">Up</a></td><td width="40%" align="right">&nbsp;Special cases</td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/org.aspectj.ajde/doc/devguide/ltw-rules.html b/org.aspectj.ajde/doc/devguide/ltw-rules.html
index 814fe44..e5c94ea 100644
--- a/org.aspectj.ajde/doc/devguide/ltw-rules.html
+++ b/org.aspectj.ajde/doc/devguide/ltw-rules.html
@@ -3,12 +3,12 @@
    <title>Load-time Weaving Requirements</title><link rel="stylesheet" href="aspectj-docs.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.44"><link rel="home" href="index.html" title="The AspectJtm Development Environment Guide"><link rel="up" href="ltw.html" title="Chapter 5. Load-Time Weaving"><link rel="previous" href="ltw.html" title="Chapter 5. Load-Time Weaving"><link rel="next" href="ltw-configuration.html" title="Configuration"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Load-time Weaving Requirements</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ltw.html">Prev</a>&nbsp;</td><th width="60%" align="center">Chapter 5. Load-Time Weaving</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ltw-configuration.html">Next</a></td></tr></table><hr></div><div class="sect1"><a name="ltw-rules"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="ltw-rules"></a>Load-time Weaving Requirements</h2></div></div><p> All load-time weaving is done in the context of a class loader, and hence the set of
             aspects used for weaving and the types that can be woven are affected by the class
             loader delegation model. This ensures that LTW complies with the Java 2 security model.
-            The following rules govern the interaction of load-time weaving with class loading: </p><div class="orderedlist"><ol type="1"><li><p><a name="d0e2741"></a>All aspects to be used for weaving must be defined to the weaver before any
+            The following rules govern the interaction of load-time weaving with class loading: </p><div class="orderedlist"><ol type="1"><li><p><a name="d0e2768"></a>All aspects to be used for weaving must be defined to the weaver before any
                 types to be woven are loaded.  This avoids types being "missed" by aspects added
-                later, with the result that invariants across types fail.</p></li><li><p><a name="d0e2744"></a>All aspects visible to the weaver are usable.
+                later, with the result that invariants across types fail.</p></li><li><p><a name="d0e2771"></a>All aspects visible to the weaver are usable.
                 A visible aspect is one defined by the
                 weaving class loader or one of its parent class loaders.
                 All concrete visible aspects are woven and all abstract visible aspects
                 may be extended.
-            </p></li><li><p><a name="d0e2747"></a>A class loader may only weave classes that it defines. It may not weave
+            </p></li><li><p><a name="d0e2774"></a>A class loader may only weave classes that it defines. It may not weave
                 classes loaded by a delegate or parent class loader.</p></li></ol></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ltw.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ltw-configuration.html">Next</a></td></tr><tr><td width="40%" align="left">Chapter 5. Load-Time Weaving&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ltw.html">Up</a></td><td width="40%" align="right">&nbsp;Configuration</td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/org.aspectj.ajde/doc/devguide/ltw-specialcases.html b/org.aspectj.ajde/doc/devguide/ltw-specialcases.html
index 3f128a4..54bc7df 100644
--- a/org.aspectj.ajde/doc/devguide/ltw-specialcases.html
+++ b/org.aspectj.ajde/doc/devguide/ltw-specialcases.html
@@ -1,9 +1,9 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Special cases</title><link rel="stylesheet" href="aspectj-docs.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.44"><link rel="home" href="index.html" title="The AspectJtm Development Environment Guide"><link rel="up" href="ltw.html" title="Chapter 5. Load-Time Weaving"><link rel="previous" href="ltw-configuration.html" title="Configuration"><link rel="next" href="ltw-packaging.html" title="Runtime Requirements for Load-time Weaving"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Special cases</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ltw-configuration.html">Prev</a>&nbsp;</td><th width="60%" align="center">Chapter 5. Load-Time Weaving</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ltw-packaging.html">Next</a></td></tr></table><hr></div><div class="sect1"><a name="ltw-specialcases"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="ltw-specialcases"></a>Special cases</h2></div></div><p>
-            Those classes are not exposed to the LTW infrastructure, no matter
-            the configuration of the <tt>aop.xml</tt> file(s):
-            <div class="itemizedlist"><ul><li><p><a name="d0e3118"></a>All <tt>org.aspectj.*</tt> classes (and subpackages) - as those are needed by the infrastructure itself</p></li><li><p><a name="d0e3124"></a>All <tt>java.*</tt> and <tt>javax.*</tt> classes (and subpackages)</p></li><li><p><a name="d0e3133"></a>All <tt>sun.reflect.*</tt> classes - as those are JDK specific classes used when reflective calls occurs</p></li></ul></div>
+            The following classes are not exposed to the LTW infrastructure regardless of 
+            the <tt>aop.xml</tt> file(s) used:
+            <div class="itemizedlist"><ul><li><p><a name="d0e3137"></a>All <tt>org.aspectj.*</tt> classes (and subpackages) - as those are needed by the infrastructure itself</p></li><li><p><a name="d0e3143"></a>All <tt>java.*</tt> and <tt>javax.*</tt> classes (and subpackages)</p></li><li><p><a name="d0e3152"></a>All <tt>sun.reflect.*</tt> classes - as those are JDK specific classes used when reflective calls occurs</p></li></ul></div>
         </p><p>
             Despite these restrictions, it is perfectly possible to match call join points for calls to these types providing the calling
             class is exposed to the weaver. Subtypes of these excluded types that are exposed to the weaver may of course be woven.
diff --git a/org.aspectj.ajde/doc/devguide/ltw.html b/org.aspectj.ajde/doc/devguide/ltw.html
index ed4dfc8..5dd048c 100644
--- a/org.aspectj.ajde/doc/devguide/ltw.html
+++ b/org.aspectj.ajde/doc/devguide/ltw.html
@@ -4,22 +4,21 @@
             The weaving process itself can take place at one of three different times: compile-time,
             post-compile time, and load-time. The class files produced by the weaving process (and
             hence the run-time behaviour of an application) are the same regardless of the approach
-            chosen. </p><div class="itemizedlist"><ul><li><p><a name="d0e2714"></a>Compile-time weaving is the simplest approach. When you have the source code
+            chosen. </p><div class="itemizedlist"><ul><li><p><a name="d0e2743"></a>Compile-time weaving is the simplest approach. When you have the source code
                 for an application, ajc will compile from source and produce woven class files as
                 output. The invocation of the weaver is integral to the ajc compilation process. The
-                aspects themselves may be in source or binary form. </p></li><li><p><a name="d0e2717"></a>Post-compile weaving (also sometimes called binary weaving) is used to weave
+                aspects themselves may be in source or binary form. </p></li><li><p><a name="d0e2746"></a>Post-compile weaving (also sometimes called binary weaving) is used to weave
                 existing class files and JAR files. As with compile-time weaving,
                 the aspects used for weaving may be in source or binary form,
-                and may themselves be woven by aspects. </p></li><li><p><a name="d0e2720"></a>Load-time weaving (LTW) is simply binary weaving defered until the point that
+                and may themselves be woven by aspects. </p></li><li><p><a name="d0e2749"></a>Load-time weaving (LTW) is simply binary weaving defered until the point that
                 a class loader loads a class file and defines the class to the JVM. To support this,
                 one or more "weaving class loaders", either provided explicitly by the run-time
                 environment or enabled through a "weaving agent" are required. </p></li></ul></div><p> You may also hear the term "run-time weaving". We define this as the weaving of
             classes that have already been defined to the JVM (without reloading those
             classes). AspectJ 5 does not provide explicit support for run-time weaving although
-            simple coding patterns can support dynamically enabling and disabling advice in aspects. </p><div class="sect2"><a name="weaving-class-files-more-than-once"></a><div class="titlepage"><div><h3 class="title"><a name="weaving-class-files-more-than-once"></a>Weaving class files more than once</h3></div></div><p> By default a class file that has been woven by the AspectJ compiler cannot
-                subsequently be rewoven (passed as input to the weaver). If you are developing
-                AspectJ applications that are to be used in a load-time weaving environment, you
+            simple coding patterns can support dynamically enabling and disabling advice in aspects. </p><div class="sect2"><a name="weaving-class-files-more-than-once"></a><div class="titlepage"><div><h3 class="title"><a name="weaving-class-files-more-than-once"></a>Weaving class files more than once</h3></div></div><p> As of AspectJ 5 aspects (code style or annotation style) and woven classes are
+            	reweavable by default. If you are developing AspectJ applications that are to be used 
+            	in a load-time weaving environment with an older version of the compiler you
                 need to specify the <tt>-Xreweavable</tt> compiler option when building
                 them. This causes AspectJ to save additional state in the class files that is used
-                to support subsequent reweaving. </p><p>As per AspectJ 1.5.0 M3 aspects (code style or annotation style) are
-            reweavable by default, and weaved classes are reweavable by default as well as per AspectJ 1.5.0 M4.</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="antTasks-problems.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ltw-rules.html">Next</a></td></tr><tr><td width="40%" align="left">Isolating problems running the Ant tasks&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right">&nbsp;Load-time Weaving Requirements</td></tr></table></div></body></html>
\ No newline at end of file
+                to support subsequent reweaving. </p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="antTasks-problems.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ltw-rules.html">Next</a></td></tr><tr><td width="40%" align="left">Isolating problems running the Ant tasks&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right">&nbsp;Load-time Weaving Requirements</td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/org.aspectj.ajde/doc/devguide/printable.html b/org.aspectj.ajde/doc/devguide/printable.html
index 077eabe..caf6d29 100755
--- a/org.aspectj.ajde/doc/devguide/printable.html
+++ b/org.aspectj.ajde/doc/devguide/printable.html
@@ -179,13 +179,13 @@
         Path is a single argument containing
         a list of paths to zip files or directories, 
         delimited by the platform-specific path delimiter.
-        </p></dd><dt><a name="d0e206"></a><span class="term">-aspectpath <i><tt>JarList</tt></i></span></dt><dd><p><a name="d0e211"></a>
-        Weave binary aspects from JarList zip files into all sources.
+        </p></dd><dt><a name="d0e206"></a><span class="term">-aspectpath <i><tt>Path</tt></i></span></dt><dd><p><a name="d0e211"></a>
+        Weave binary aspects from Jars and directories on path into all sources.
         The aspects should have been output by the same version
         of the compiler.
         To run the output classes requires putting all the 
         aspectpath entries on the run classpath.
-        JarList, like classpath, is a single argument containing
+        Path, like classpath, is a single argument containing
         a list of paths to jar files, delimited by the platform-
         specific classpath delimiter.
         </p></dd><dt><a name="d0e214"></a><span class="term">-argfile <i><tt>File</tt></i></span></dt><dd><p><a name="d0e219"></a>
@@ -254,18 +254,24 @@
           defaults to the current working dir.
         </p></dd><dt><a name="d0e337"></a><span class="term">-target <i><tt>[1.1 to 1.4]</tt></i></span></dt><dd><p><a name="d0e342"></a>Specify classfile target setting (1.1 to 1.4, default is 1.2)
         </p></dd><dt><a name="d0e345"></a><span class="term">-1.3</span></dt><dd><p><a name="d0e348"></a>Set compliance level to 1.3 
+            This implies -source 1.3 and -target 1.1.
         </p></dd><dt><a name="d0e351"></a><span class="term">-1.4</span></dt><dd><p><a name="d0e354"></a>Set compliance level to 1.4 (default)
-        </p></dd><dt><a name="d0e357"></a><span class="term">-source <i><tt>[1.3|1.4]</tt></i></span></dt><dd><p><a name="d0e362"></a>Toggle assertions (1.3 or 1.4, default is 1.3).
+            This implies -source 1.4 and -target 1.2.
+        </p></dd><dt><a name="d0e357"></a><span class="term">-1.5</span></dt><dd><p><a name="d0e360"></a>Set compliance level to 1.5.
+            This implies -source 1.5 and -target 1.5.
+        </p></dd><dt><a name="d0e363"></a><span class="term">-source <i><tt>[1.3|1.4|1.5]</tt></i></span></dt><dd><p><a name="d0e368"></a>Toggle assertions (1.3, 1.4, or 1.5 - default is 1.4).
             When using -source 1.3, an assert() statement valid under
             Java 1.4 will result in a compiler error.
           When using -source 1.4, 
           treat <tt>assert</tt> as a keyword and 
           implement assertions according to the 1.4 language spec.
-        </p></dd><dt><a name="d0e368"></a><span class="term">-nowarn</span></dt><dd><p><a name="d0e371"></a>Emit no warnings (equivalent to '-warn:none')
+          When using -source 1.5,
+            Java 5 language features are permitted. 
+        </p></dd><dt><a name="d0e374"></a><span class="term">-nowarn</span></dt><dd><p><a name="d0e377"></a>Emit no warnings (equivalent to '-warn:none')
         This does not suppress messages
         generated by <tt>declare warning</tt> or
         <tt>Xlint</tt>.
-        </p></dd><dt><a name="d0e380"></a><span class="term">-warn: <i><tt>items</tt></i></span></dt><dd><p><a name="d0e385"></a>Emit warnings for any instances of
+        </p></dd><dt><a name="d0e386"></a><span class="term">-warn: <i><tt>items</tt></i></span></dt><dd><p><a name="d0e391"></a>Emit warnings for any instances of
         the comma-delimited list of questionable code 
         (eg '-warn:unusedLocals,deprecation'):
         <pre class="programlisting">
@@ -282,11 +288,11 @@
         generated by <tt>declare warning</tt> or
         <tt>Xlint</tt>.
         
-        </p></dd><dt><a name="d0e401"></a><span class="term">-deprecation</span></dt><dd><p><a name="d0e404"></a>Same as -warn:deprecation
-        </p></dd><dt><a name="d0e407"></a><span class="term">-noImportError</span></dt><dd><p><a name="d0e410"></a>Emit no errors for unresolved imports
-        </p></dd><dt><a name="d0e413"></a><span class="term">-proceedOnError</span></dt><dd><p><a name="d0e416"></a>Keep compiling after error, 
+        </p></dd><dt><a name="d0e407"></a><span class="term">-deprecation</span></dt><dd><p><a name="d0e410"></a>Same as -warn:deprecation
+        </p></dd><dt><a name="d0e413"></a><span class="term">-noImportError</span></dt><dd><p><a name="d0e416"></a>Emit no errors for unresolved imports
+        </p></dd><dt><a name="d0e419"></a><span class="term">-proceedOnError</span></dt><dd><p><a name="d0e422"></a>Keep compiling after error, 
                         dumping class files with problem methods
-        </p></dd><dt><a name="d0e419"></a><span class="term">-g<i><tt>:[lines,vars,source]</tt></i></span></dt><dd><p><a name="d0e424"></a>debug attributes level, that may take three forms:
+        </p></dd><dt><a name="d0e425"></a><span class="term">-g<i><tt>:[lines,vars,source]</tt></i></span></dt><dd><p><a name="d0e430"></a>debug attributes level, that may take three forms:
         <pre class="programlisting">
     -g         all debug info ('-g:lines,vars,source')
     -g:none    no debug info
@@ -294,34 +300,40 @@
                -g:lines,source
         </pre>
             
-        </p></dd><dt><a name="d0e430"></a><span class="term">-preserveAllLocals</span></dt><dd><p><a name="d0e433"></a>Preserve all local variables during code generation
+        </p></dd><dt><a name="d0e436"></a><span class="term">-preserveAllLocals</span></dt><dd><p><a name="d0e439"></a>Preserve all local variables during code generation
         (to facilitate debugging).
-        </p></dd><dt><a name="d0e436"></a><span class="term">-referenceInfo</span></dt><dd><p><a name="d0e439"></a>Compute reference information.
-        </p></dd><dt><a name="d0e442"></a><span class="term">-encoding <i><tt>format</tt></i></span></dt><dd><p><a name="d0e447"></a>Specify default source encoding format.
+        </p></dd><dt><a name="d0e442"></a><span class="term">-referenceInfo</span></dt><dd><p><a name="d0e445"></a>Compute reference information.
+        </p></dd><dt><a name="d0e448"></a><span class="term">-encoding <i><tt>format</tt></i></span></dt><dd><p><a name="d0e453"></a>Specify default source encoding format.
             Specify custom encoding on a per file basis by suffixing
 			each input source file/folder name with '[encoding]'.
-        </p></dd><dt><a name="d0e450"></a><span class="term">-verbose</span></dt><dd><p><a name="d0e453"></a>Emit messages about accessed/processed compilation units 
-        </p></dd><dt><a name="d0e456"></a><span class="term">-showWeaveInfo</span></dt><dd><p><a name="d0e459"></a>Emit messages about weaving 
-        </p></dd><dt><a name="d0e462"></a><span class="term">-log <i><tt>file</tt></i></span></dt><dd><p><a name="d0e467"></a>Specify a log file for compiler messages.
-        </p></dd><dt><a name="d0e470"></a><span class="term">-progress</span></dt><dd><p><a name="d0e473"></a>Show progress (requires -log mode).
-        </p></dd><dt><a name="d0e476"></a><span class="term">-time</span></dt><dd><p><a name="d0e479"></a>Display speed information.
-        </p></dd><dt><a name="d0e482"></a><span class="term">-noExit</span></dt><dd><p><a name="d0e485"></a>Do not call System.exit(n) at end of compilation
+        </p></dd><dt><a name="d0e456"></a><span class="term">-verbose</span></dt><dd><p><a name="d0e459"></a>Emit messages about accessed/processed compilation units 
+        </p></dd><dt><a name="d0e462"></a><span class="term">-showWeaveInfo</span></dt><dd><p><a name="d0e465"></a>Emit messages about weaving 
+        </p></dd><dt><a name="d0e468"></a><span class="term">-log <i><tt>file</tt></i></span></dt><dd><p><a name="d0e473"></a>Specify a log file for compiler messages.
+        </p></dd><dt><a name="d0e476"></a><span class="term">-progress</span></dt><dd><p><a name="d0e479"></a>Show progress (requires -log mode).
+        </p></dd><dt><a name="d0e482"></a><span class="term">-time</span></dt><dd><p><a name="d0e485"></a>Display speed information.
+        </p></dd><dt><a name="d0e488"></a><span class="term">-noExit</span></dt><dd><p><a name="d0e491"></a>Do not call System.exit(n) at end of compilation
 			(n=0 if no error)
-        </p></dd><dt><a name="d0e488"></a><span class="term">-repeat <i><tt>N</tt></i></span></dt><dd><p><a name="d0e493"></a>Repeat compilation process N times 
+        </p></dd><dt><a name="d0e494"></a><span class="term">-repeat <i><tt>N</tt></i></span></dt><dd><p><a name="d0e499"></a>Repeat compilation process N times 
         (typically to do performance analysis).
-        </p></dd><dt><a name="d0e496"></a><span class="term">-Xnoweave</span></dt><dd><p><a name="d0e499"></a>(Experimental) produce unwoven class files
+        </p></dd><dt><a name="d0e502"></a><span class="term">-Xnoweave</span></dt><dd><p><a name="d0e505"></a>(Experimental) produce unwoven class files
         for input using -injars.
-        </p></dd><dt><a name="d0e502"></a><span class="term">-Xreweavable[:compress]</span></dt><dd><p><a name="d0e505"></a>(Experimental) runs weaver in reweavable mode which causes
+        </p></dd><dt><a name="d0e508"></a><span class="term">-Xreweavable[:compress]</span></dt><dd><p><a name="d0e511"></a>(Experimental - deprecated as now default) 
+            Runs weaver in reweavable mode which causes
         it to create woven classes that can be rewoven, subject to the restriction that
         on attempting a reweave all the types that advised the woven type must be accessible.
-        </p></dd><dt><a name="d0e508"></a><span class="term">-XnoInline</span></dt><dd><p><a name="d0e511"></a>(Experimental) do not inline around advice
-        </p></dd><dt><a name="d0e514"></a><span class="term">-XincrementalFile <i><tt>file</tt></i></span></dt><dd><p><a name="d0e519"></a>(Experimental) This works like incremental mode, 
+        </p></dd><dt><a name="d0e514"></a><span class="term">-XnoInline</span></dt><dd><p><a name="d0e517"></a>(Experimental) do not inline around advice
+        </p></dd><dt><a name="d0e520"></a><span class="term">-XincrementalFile <i><tt>file</tt></i></span></dt><dd><p><a name="d0e525"></a>(Experimental) This works like incremental mode, 
         but using a file rather than standard input to control the compiler.  
         It will recompile each time file is changed and
         and halt when file is deleted.
-        </p></dd><dt><a name="d0e522"></a><span class="term">-XserializableAspects</span></dt><dd><p><a name="d0e525"></a>(Experimental) Normally it is an error to declare
+        </p></dd><dt><a name="d0e528"></a><span class="term">-XserializableAspects</span></dt><dd><p><a name="d0e531"></a>
+        (Experimental) Normally it is an error to declare
         aspects Serializable.  This option removes that restriction.
-        </p></dd></dl></div></div><div class="refsect2"><a name="d0e528"></a><h3>File names</h3><p>ajc accepts source files with either the <tt>.java</tt>
+        </p></dd><dt><a name="d0e534"></a><span class="term">-XnotReweavable</span></dt><dd><p><a name="d0e537"></a>
+    (Experimental) Create class files that can't be subsequently rewoven by AspectJ.
+        </p></dd><dt><a name="d0e542"></a><span class="term">-Xajruntimelevel:1.2, ajruntimelevel:1.5</span></dt><dd><p><a name="d0e545"></a>
+        (Experimental) Allows code to be generated that targets a 1.2 or a 1.5 level AspectJ runtime (default 1.5)
+         </p></dd></dl></div></div><div class="refsect2"><a name="d0e548"></a><h3>File names</h3><p>ajc accepts source files with either the <tt>.java</tt>
     extension or the <tt>.aj</tt> extension.  We normally use
     <tt>.java</tt> for all of our files in an AspectJ system -- files
     that contain aspects as well as files that contain classes.  However, if
@@ -329,20 +341,25 @@
     additional functionality from those that are pure Java we recommend using
     the <tt>.aj</tt> extension for those files.</p><p>We'd like to discourage other means of mechanical distinction such as
     naming conventions or sub-packages in favor of the <tt>.aj</tt>
-    extension.</p><div class="itemizedlist"><ul><li><p><a name="d0e551"></a>Filename conventions are hard to enforce and lead to awkward names
+    extension.</p><div class="itemizedlist"><ul><li><p><a name="d0e571"></a>Filename conventions are hard to enforce and lead to awkward names
     for your aspects.  Instead of <tt>TracingAspect.java</tt> we
     recommend using <tt>Tracing.aj</tt> (or just
-    <tt>Tracing.java</tt>) instead.</p></li><li><p><a name="d0e563"></a>Sub-packages move aspects out of their natural place in a system
+    <tt>Tracing.java</tt>) instead.</p></li><li><p><a name="d0e583"></a>Sub-packages move aspects out of their natural place in a system
     and can create an artificial need for privileged aspects.  Instead of
     adding a sub-package like <tt>aspects</tt> we recommend using the
     <tt>.aj</tt> extension and including these files in your existing
-    packages instead.</p></li></ul></div></div><div class="refsect2"><a name="d0e572"></a><h3>Compatibility</h3><p>
+    packages instead.</p></li></ul></div></div><div class="refsect2"><a name="d0e592"></a><h3>Compatibility</h3><p>
         AspectJ is a compatible extension to the Java programming language. The
         AspectJ compiler adheres to the <a href="http://java.sun.com/docs/books/jls/index.html" target="_top"> <i>The Java Language Specfication, Second
         Edition</i></a> and to the <a href="http://java.sun.com/docs/books/vmspec/index.html" target="_top"><i>The Java Virtual Machine Specification, Second
         Edition</i></a> and runs on any Java 2 compatible
         platform. The code it generates runs on any Java 1.1 or later
-        compatible platform.</p></div><div class="refsect2"><a name="d0e586"></a><h3>Examples</h3><div class="example"><p><a name="simpleexample"></a><b>Example 2.1. A simple example</b></p><p>Compile two files:</p><pre class="programlisting">
+        compatible platform.
+        For more information on compatibility with
+          Java and with previous releases of AspectJ,
+          see
+          <a href="#versionCompatibility">AspectJ Version Compatibility</a>.
+      </p></div><div class="refsect2"><a name="d0e608"></a><h3>Examples</h3><div class="example"><p><a name="simpleexample"></a><b>Example 2.1. A simple example</b></p><p>Compile two files:</p><pre class="programlisting">
         ajc HelloWorld.java Trace.java
         </pre></div><div class="example"><p><a name="exampleusingargfile"></a><b>Example 2.2. An example using -argfile/@</b></p><p>
           To avoid specifying file names on the command line, 
@@ -363,8 +380,8 @@
 ajc @sources.lst</pre><p>
         Argfiles are also supported by jikes and javac, so you 
         can use the files in hybrid builds.  However, the support varies:
-        </p><div class="itemizedlist"><ul><li><p><a name="d0e613"></a>Only ajc accepts command-line options</p></li><li><p><a name="d0e616"></a>Jikes and Javac do not accept internal @argfile references.
-            </p></li><li><p><a name="d0e619"></a>Jikes and Javac only accept the @file form on the command line.</p></li></ul></div></div><div class="example"><p><a name="examplebytecode"></a><b>Example 2.3. An example using -injars and -aspectpath</b></p><p>Bytecode weaving using -injars:
+        </p><div class="itemizedlist"><ul><li><p><a name="d0e635"></a>Only ajc accepts command-line options</p></li><li><p><a name="d0e638"></a>Jikes and Javac do not accept internal @argfile references.
+            </p></li><li><p><a name="d0e641"></a>Jikes and Javac only accept the @file form on the command line.</p></li></ul></div></div><div class="example"><p><a name="examplebytecode"></a><b>Example 2.3. An example using -injars and -aspectpath</b></p><p>Bytecode weaving using -injars:
           AspectJ 1.1 supports weaving from input zip or jar files containing 
           class files.  Using input jars is like compiling the corresponding 
           source files, and all binaries are emitted to output.  Although 
@@ -423,25 +440,25 @@
     ajc -aspectpath tracelib.jar -argfile tracing/notrace.lst -outjar tracedapp.jar 
         </pre><p>Run the application with tracing:</p><pre class="programlisting">
     java -classpath "$ajrt;tracedapp.jar;tracelib.jar" tracing.ExampleMain 
-        </pre><p>Build the application with tracing from binaries in two steps:</p><div class="itemizedlist"><ul><li><p><a name="d0e657"></a>
+        </pre><p>Build the application with tracing from binaries in two steps:</p><div class="itemizedlist"><ul><li><p><a name="d0e679"></a>
 (a) Build the application classes (using javac for demonstration's sake):</p><pre class="programlisting">
     mkdir classes 
     javac -d classes tracing/*.java 
     jar cfM app.jar -C classes . 
-        </pre></li><li><p><a name="d0e662"></a>
+        </pre></li><li><p><a name="d0e684"></a>
 (b) Build the application with tracing:</p><pre class="programlisting">
     ajc -injars app.jar -aspectpath tracelib.jar -outjar tracedapp.jar 
         </pre></li></ul></div><p>Run the application with tracing (same as above):</p><pre class="programlisting">
     java -classpath "$ajrt;tracedapp.jar;tracelib.jar" tracing.ExampleMain 
         </pre><p>Run the application without tracing:</p><pre class="programlisting">
     java -classpath "app.jar" tracing.ExampleMain
-        </pre></div></div><div class="refsect2"><a name="d0e675"></a><h3>The AspectJ compiler API</h3><p>The AspectJ compiler is implemented completely in Java and can be
+        </pre></div></div><div class="refsect2"><a name="d0e697"></a><h3>The AspectJ compiler API</h3><p>The AspectJ compiler is implemented completely in Java and can be
         called as a Java class.  The only interface that should be considered
         public are the public methods in <tt>org.aspectj.tools.ajc.Main</tt>.
         E.g., <tt>main(String[] args)</tt> takes the
         the standard <b>ajc</b> command line arguments. 
         This means that an alternative way to run the
-        compiler is </p><div class="cmdsynopsis" id="d0e689"><a name="d0e689"></a><tt><tt>java org.aspectj.tools.ajc.Main</tt></tt>  [<i><tt>option...</tt></i>] [<i><tt>file...</tt></i>]</div><p>To access compiler messages programmatically, use the methods
+        compiler is </p><div class="cmdsynopsis" id="d0e711"><a name="d0e711"></a><tt><tt>java org.aspectj.tools.ajc.Main</tt></tt>  [<i><tt>option...</tt></i>] [<i><tt>file...</tt></i>]</div><p>To access compiler messages programmatically, use the methods
          <tt>setHolder(IMessageHolder holder)</tt> and/or
          <tt>run(String[] args, IMessageHolder holder)</tt>.
 		  <tt>ajc</tt> reports each message to the holder
@@ -465,7 +482,7 @@
     System.out.println("messages: " + Arrays.asList(ms));
   }
 }
-        </pre></div><div class="refsect2"><a name="d0e724"></a><h3>Stack Traces and the SourceFile attribute</h3><p>Unlike traditional java compilers, the AspectJ compiler may in
+        </pre></div><div class="refsect2"><a name="d0e746"></a><h3>Stack Traces and the SourceFile attribute</h3><p>Unlike traditional java compilers, the AspectJ compiler may in
             certain cases generate classfiles from multiple source files.
             Unfortunately, the original Java class file format does not support 
             multiple
@@ -510,14 +527,14 @@
             traditional Java compilers.
       </p></div></div></div></div><div class="sect1"><a name="ajdoc-ref-top"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="ajdoc-ref-top"></a><tt>ajdoc</tt>, the AspectJ documentation tool</h2></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="#ajdoc-ref">ajdoc</a> - generate HTML API documentation, including crosscutting structure (early-access)
     </dt></dl></div><p><tt>ajdoc</tt> produces JavaDoc-style documentation
-        including crosscutting information.</p><div class="refentry"><h1 class="title"><a name="ajdoc-ref"></a>ajdoc</h1><div class="refnamediv"><a name="d0e761"></a><h2>Name</h2>ajdoc &#8212; generate HTML API documentation, including crosscutting structure (early-access)
-    </div><div class="refsynopsisdiv"><a name="d0e766"></a><h2>Synopsis</h2><div class="cmdsynopsis" id="d0e767"><a name="d0e767"></a><tt>ajdoc</tt>  [
+        including crosscutting information.</p><div class="refentry"><h1 class="title"><a name="ajdoc-ref"></a>ajdoc</h1><div class="refnamediv"><a name="d0e783"></a><h2>Name</h2>ajdoc &#8212; generate HTML API documentation, including crosscutting structure (early-access)
+    </div><div class="refsynopsisdiv"><a name="d0e788"></a><h2>Synopsis</h2><div class="cmdsynopsis" id="d0e789"><a name="d0e789"></a><tt>ajdoc</tt>  [
         -bootclasspath <i><tt>classpathlist</tt></i>
       ] [
         -classpath <i><tt>classpathlist</tt></i>
       ] [-d <i><tt>path</tt></i>] [-help] [-package] [-protected] [-private] [-public] [-overview <i><tt>overviewFile</tt></i>] [
         -sourcepath <i><tt>sourcepathlist</tt></i>
-      ] [-verbose] [-version] [<i><tt>sourcefiles...</tt></i> | <i><tt>packages...</tt></i> | @<i><tt>file...</tt></i> | -argfile <i><tt>file...</tt></i>]</div></div><div class="refsect1"><a name="d0e822"></a><h2>Description</h2><p>
+      ] [-verbose] [-version] [<i><tt>sourcefiles...</tt></i> | <i><tt>packages...</tt></i> | @<i><tt>file...</tt></i> | -argfile <i><tt>file...</tt></i>]</div></div><div class="refsect1"><a name="d0e844"></a><h2>Description</h2><p>
       Similar to <b>javadoc</b>, 
       <b>ajdoc</b> renders HTML documentation for pointcuts,
       advice, and inter-type declarations, as 
@@ -568,29 +585,29 @@
       variable points to an appropriate installation of Java.
       You may need to provide this jar when using a different
       version of Java or a JRE.
-    </p></div><div class="refsect1"><a name="d0e910"></a><h2>Known limitations</h2><p>
+    </p></div><div class="refsect1"><a name="d0e932"></a><h2>Known limitations</h2><p>
       <b>ajdoc</b> documents advice and pointcut members, shows where advice applies and
       links affected members back to the advice.
       It currently does not document or add structural links for any inter-type declarations or other declare forms.
-    </p></div><div class="refsect1"><a name="d0e918"></a><h2>Examples</h2><div class="example"><p><a name="ajdocdocumentingspacewar"></a><b>Example 2.4. Documenting Spacewar</b></p><div class="itemizedlist"><ul><li><p><a name="d0e926"></a>
+    </p></div><div class="refsect1"><a name="d0e940"></a><h2>Examples</h2><div class="example"><p><a name="ajdocdocumentingspacewar"></a><b>Example 2.4. Documenting Spacewar</b></p><div class="itemizedlist"><ul><li><p><a name="d0e948"></a>
   	        Change into the <tt>examples</tt> directory.
-  	      </p></li><li><p><a name="d0e932"></a>
+  	      </p></li><li><p><a name="d0e954"></a>
   	        Type <b><tt>mkdir doc</tt></b> to create the
   	        destination directory for the documentation.
-  	      </p></li><li><p><a name="d0e938"></a>
+  	      </p></li><li><p><a name="d0e960"></a>
 	          Type <b><tt>ajdoc -private -d doc spacewar
 	            coordination</tt></b> to generate the documentation.
-	        </p><div class="itemizedlist"><ul><li><p><a name="d0e945"></a>
+	        </p><div class="itemizedlist"><ul><li><p><a name="d0e967"></a>
 		      (Use <tt>-private</tt> to get all members, since
             may of the interesting ones in spacewar are not public.)
-	            </p></li></ul></div></li><li><p><a name="d0e951"></a>
+	            </p></li></ul></div></li><li><p><a name="d0e973"></a>
               Type <b><tt>ajdoc -private -d doc @spacewar/demo.lst</tt></b> 
               to use the argfile associated with Spacewar.  
-  	            </p></li><li><p><a name="d0e957"></a>
+  	            </p></li><li><p><a name="d0e979"></a>
   	          To view the documentation, open the file <tt>index.html</tt> 
               in the <tt>doc</tt> directory using a web browser.
   	        </p></li></ul></div></div></div></div></div><div class="sect1"><a name="aj-ref-top"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="aj-ref-top"></a><tt>aj</tt>, the AspectJ load-time weaving script</h2></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="#aj-ref">aj</a> - command-line launcher for basic load-time weaving</dt></dl></div><p><tt>aj</tt> launches programs,
-            configuring basic load-time weaving.</p><div class="refentry"><h1 class="title"><a name="aj-ref"></a>aj</h1><div class="refnamediv"><a name="d0e981"></a><h2>Name</h2>aj &#8212; command-line launcher for basic load-time weaving</div><div class="refsynopsisdiv"><a name="d0e986"></a><h2>Synopsis</h2><div class="cmdsynopsis" id="d0e987"><a name="d0e987"></a><tt>aj</tt>  [<i><tt>Options</tt></i>] [<i><tt>arg...</tt></i>]</div></div><div class="refsect1"><a name="aj"></a><h2>Description</h2><p>The
+            configuring basic load-time weaving.</p><div class="refentry"><h1 class="title"><a name="aj-ref"></a>aj</h1><div class="refnamediv"><a name="d0e1003"></a><h2>Name</h2>aj &#8212; command-line launcher for basic load-time weaving</div><div class="refsynopsisdiv"><a name="d0e1008"></a><h2>Synopsis</h2><div class="cmdsynopsis" id="d0e1009"><a name="d0e1009"></a><tt>aj</tt>  [<i><tt>Options</tt></i>] [<i><tt>arg...</tt></i>]</div></div><div class="refsect1"><a name="aj"></a><h2>Description</h2><p>The
             <b>aj</b> command runs Java programs in Java 1.4 or
             later by setting up
             <tt>WeavingURLClassLoader</tt> as the system class
@@ -599,7 +616,7 @@
             <tt>CLASSPATH</tt> and
             <tt>ASPECTPATH</tt>. </p><p>For more information and alternatives for load-time weaving,
         see <a href="#ltw">Load-Time Weaving</a>.
-        </p><div class="refsect2"><a name="d0e1020"></a><h3>Examples</h3><div class="example"><p><a name="simpleajexample"></a><b>Example 2.5. A simple example</b></p><p>Use ajc to build a library, then weave at load time</p><pre class="programlisting">                     
+        </p><div class="refsect2"><a name="d0e1042"></a><h3>Examples</h3><div class="example"><p><a name="simpleajexample"></a><b>Example 2.5. A simple example</b></p><p>Use ajc to build a library, then weave at load time</p><pre class="programlisting">                     
     REM compile library
     ${ASPECTJ_HOME}\bin\ajc.bat -outjar lib\aspects.jar @aspects.lst
                 
@@ -681,11 +698,11 @@
         link it will appear light-blue.
 		<span class="inlinemediaobject"><img src="ajbrowser-building.gif"></span>
     </p><div class="sect2"><a name="example"></a><div class="titlepage"><div><h3 class="title"><a name="example"></a>Example: Exploring the "Spacewar" sample code </h3></div></div><p>
-        <div class="itemizedlist"><ul><li><p><a name="d0e1127"></a>Launch <tt>ajbrowser</tt></p></li><li><p><a name="d0e1132"></a>Choose "File -&gt; Open" or click the "Open Build
+        <div class="itemizedlist"><ul><li><p><a name="d0e1149"></a>Launch <tt>ajbrowser</tt></p></li><li><p><a name="d0e1154"></a>Choose "File -&gt; Open" or click the "Open Build
           Configuration" button
            (<span class="inlinemediaobject"><img src="openConfig.gif"></span>) and select the configuration file for debugging
           the spacewar example, in
-          <tt>examples/spacewar/debug.lst</tt>.</p></li><li><p><a name="d0e1142"></a>Click the "Build" button (<span class="inlinemediaobject"><img src="build.gif"></span>) to
+          <tt>examples/spacewar/debug.lst</tt>.</p></li><li><p><a name="d0e1164"></a>Click the "Build" button (<span class="inlinemediaobject"><img src="build.gif"></span>) to
              compile.  The left pane should fill with a spacewar declaration
              tree.  If there is a compiler error, the clickable error message
              shows up as in label 4.
@@ -703,13 +720,13 @@
            <tt>lib/aspectjrt.jar</tt> that came with the browser.
               </p><p>
           <span class="inlinemediaobject"><img src="ajbrowser-options.gif"></span>&gt;
-              </p></li><li><p><a name="d0e1170"></a>Different structure views: The structure tree at the
+              </p></li><li><p><a name="d0e1192"></a>Different structure views: The structure tree at the
           left can display different orderings and granularity for structure:
 
-           <div class="itemizedlist"><ul><li><p><a name="d0e1174"></a>The package hierarchy view shows the traditional hierarchy
-               of package, class, and members.</p></li><li><p><a name="d0e1177"></a>The inheritance view shows the hierarchy from topmost
-               parent classes through subclasses to members.</p></li><li><p><a name="d0e1180"></a>The crosscutting view shows the aspect members
-               and the code they affect.</p></li><li><p><a name="d0e1183"></a>Additional buttons in the pane can be used to change the
+           <div class="itemizedlist"><ul><li><p><a name="d0e1196"></a>The package hierarchy view shows the traditional hierarchy
+               of package, class, and members.</p></li><li><p><a name="d0e1199"></a>The inheritance view shows the hierarchy from topmost
+               parent classes through subclasses to members.</p></li><li><p><a name="d0e1202"></a>The crosscutting view shows the aspect members
+               and the code they affect.</p></li><li><p><a name="d0e1205"></a>Additional buttons in the pane can be used to change the
                granularity and filter out items.</p></li></ul></div>
 
              </p><p>Whenever you select an item in the tree view, the
@@ -717,13 +734,13 @@
                    representing another program element, then the tree
                    selection will go to the corresponding node.  (See below for
                    how to use two panes to maintain your place.)
-             </p></li><li><p><a name="d0e1189"></a>When working with aspects, it helps to be able to navigate
+             </p></li><li><p><a name="d0e1211"></a>When working with aspects, it helps to be able to navigate
                between different program elements:
-             </p><div class="itemizedlist"><ul><li><p><a name="d0e1193"></a>When looking at a method, find the advice that
-              affects it.  </p></li><li><p><a name="d0e1196"></a>When looking at a pointcut, find the advice that
-              uses it.  </p></li><li><p><a name="d0e1199"></a>When looking at advice, find what it advises -
+             </p><div class="itemizedlist"><ul><li><p><a name="d0e1215"></a>When looking at a method, find the advice that
+              affects it.  </p></li><li><p><a name="d0e1218"></a>When looking at a pointcut, find the advice that
+              uses it.  </p></li><li><p><a name="d0e1221"></a>When looking at advice, find what it advises -
               e.g., method calls or executions, initializers, etc.
-              </p></li><li><p><a name="d0e1202"></a>When looking at a type, find any aspects that
+              </p></li><li><p><a name="d0e1224"></a>When looking at a type, find any aspects that
                               declare members or supertypes of the type, or
                               vice-versa.
               </p></li></ul></div><p>You can view the advice on a particular method using the
@@ -781,14 +798,14 @@
 	If you have problems with the browser not solved by the documentation, 
 	please try to see if you have the same problems when running ajc 
 	directly on the command line.
-	</p><div class="itemizedlist"><ul><li><p><a name="d0e1268"></a>
+	</p><div class="itemizedlist"><ul><li><p><a name="d0e1290"></a>
 		If the problem occurs on the command line also, then the problem 
 		is not in the browser. 
 		(It may be in the compiler; please send bug reports.)
-		</p></li><li><p><a name="d0e1271"></a>
+		</p></li><li><p><a name="d0e1293"></a>
 		If the problem does not occur on the command line, then it may 
 		lie in the parameters you are supplying in the build options.
-		</p></li><li><p><a name="d0e1274"></a>
+		</p></li><li><p><a name="d0e1296"></a>
 		If the build options look correct and the problem only occurs 
 		when building from the browser, then please submit a bug report.
 		</p></li></ul></div><div class="sect2"><a name="ajbrowser-knownProblems"></a><div class="titlepage"><div><h3 class="title"><a name="ajbrowser-knownProblems"></a>Known issues with the AspectJ browser</h3></div></div><p>
@@ -803,7 +820,7 @@
 			IDE bugs
 			</a>.
 		</p><p>
-		<div class="itemizedlist"><ul><li><p><a name="d0e1294"></a>
+		<div class="itemizedlist"><ul><li><p><a name="d0e1316"></a>
 	    Memory and forking: Users email most about the browser task running 
 	    out of memory. 
 	    This is not a problem with the browser; some compiles take a lot of 
@@ -811,20 +828,20 @@
 	    The browser does not support forking, so the only solution is to
 	    edit the java command line or script that launches the browser
 	    to add memory.
-		</p></li><li><p><a name="d0e1297"></a>
+		</p></li><li><p><a name="d0e1319"></a>
 		Editing build configuration files: this is not currently supported.
-		</p></li><li><p><a name="d0e1300"></a>
+		</p></li><li><p><a name="d0e1322"></a>
 		The structure model is incomplete after incremental compiles.
 		To get a complete structure model requires a full build.
-		</p></li><li><p><a name="d0e1303"></a>
+		</p></li><li><p><a name="d0e1325"></a>
 		If you change the output directory, you must do a
 		full build. 
 		</p></li></ul></div>
 		</p></div><div class="sect2"><a name="ajbrowser-limitations"></a><div class="titlepage"><div><h3 class="title"><a name="ajbrowser-limitations"></a>Limitations</h3></div></div><p>      
-		<div class="itemizedlist"><ul><li><p><a name="d0e1313"></a>
+		<div class="itemizedlist"><ul><li><p><a name="d0e1335"></a>
 		The AJBrowser expects the package and directory structure to match.  If they do not 
 		it will be unable to browse to the corresponding file.
-		</p></li><li><p><a name="d0e1316"></a>
+		</p></li><li><p><a name="d0e1338"></a>
 		The "Run" feature launches applications in the same VM.  As a result, if a Swing application
 		is disposed the AJBrowser will be disposed as well.
 		</p></li></ul></div>
@@ -844,15 +861,15 @@
 	Included in the <tt>aspectjtools.jar</tt>
 	are Ant binaries to support three 
 	ways of running the compiler:
-    <div class="orderedlist"><ol type="1"><li><p><a name="d0e1351"></a>
+    <div class="orderedlist"><ol type="1"><li><p><a name="d0e1373"></a>
 	<a href="#antTasks-iajc">AjcTask (iajc)</a>, 
 	a task to run the AspectJ post-1.1 compiler, 
 	which supports all the eclipse and ajc options, including incremental mode.
-        </p></li><li><p><a name="d0e1356"></a>
+        </p></li><li><p><a name="d0e1378"></a>
 	<a href="#antTasks-adapter">Ajc11CompilerAdapter (javac)</a>, 
 	an adapter class to run the new compiler using Javac tasks 
 	by setting the build.compiler property
-        </p></li><li><p><a name="d0e1361"></a>
+        </p></li><li><p><a name="d0e1383"></a>
 	<a href="#antTasks-ajc">Ajc10 (ajc)</a>, 
 	a task to run build scripts compatible with the AspectJ 1.0 tasks
         </p></li></ol></div>
@@ -957,7 +974,7 @@
 			<span class="strong"><i>
 			AjcTask (iajc) options for specifying sources
 			</i></span>		
-		</p><div class="informaltable" id="d0e1464"><a name="d0e1464"></a><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Attribute</th><th>Description</th></tr></thead><tbody><tr><td><p>argfiles, argfilesRef
+		</p><div class="informaltable" id="d0e1486"><a name="d0e1486"></a><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Attribute</th><th>Description</th></tr></thead><tbody><tr><td><p>argfiles, argfilesRef
 				(<a href="#antTasks-iajc-paths">Path</a>)
 				</p></td><td><p>
 				An argument file contains a list of arguments read by the compiler. 
@@ -1015,7 +1032,7 @@
 			<span class="strong"><i>
 		AjcTask (iajc) options for specifying output
 			</i></span>		
-		</p><div class="informaltable" id="d0e1567"><a name="d0e1567"></a><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Attribute</th><th>Description</th></tr></thead><tbody><tr><td><p>destDir
+		</p><div class="informaltable" id="d0e1589"><a name="d0e1589"></a><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Attribute</th><th>Description</th></tr></thead><tbody><tr><td><p>destDir
 				</p></td><td><p>						
 				The directory in which to place the generated class files. 
 				Only one of <tt>destDir</tt> and 
@@ -1060,7 +1077,7 @@
 			<span class="strong"><i>
 		AjcTask (iajc) options for specifying compiler behavior
 			</i></span>		
-		</p><div class="informaltable" id="d0e1655"><a name="d0e1655"></a><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Attribute</th><th>Description</th></tr></thead><tbody><tr><td><p>fork
+		</p><div class="informaltable" id="d0e1677"><a name="d0e1677"></a><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Attribute</th><th>Description</th></tr></thead><tbody><tr><td><p>fork
 				</p></td><td><p>						
 				Run process in another VM. 
 				This gets the forking classpath either explicitly
@@ -1095,10 +1112,17 @@
 				Requires that source files be specified only using 
 				<tt>sourceroots</tt>. 
 				</p></td></tr><tr><td><p>X
-				</p></td><td><p>						
-				Set experimental option(s), using comma-separated list of accepted options 
-				(unlisted here). Options should not contain the leading X. 
-				XLint options should be specified using the xlint... entries.
+				</p></td><td><p>
+					Set experimental option(s), using comma-separated list of accepted options 
+				    Options should not contain the leading X.
+                    Some commonly-used experimental options have their
+                    own entries.  The other permitted ones (currently) are
+                    serializableAspects, incrementalFile, lazyTjp,
+        		reweavable, notReweavable, noInline,
+            	noWeave,
+                ajruntimelevel:1.2, and ajruntimelevel:1.5.
+                Of these, some were deprecated in AspectJ 5
+                    (reweavable, noWeave, etc.).
 				</p></td></tr><tr><td><p>Xnoweave
 				</p></td><td><p>		
 				Experimental option to produce binaries that can only be used as input 
@@ -1109,9 +1133,12 @@
 			<span class="strong"><i>
 		AjcTask (iajc) options for specifying compiler side-effects and messages
 			</i></span>		
-		</p><div class="informaltable" id="d0e1744"><a name="d0e1744"></a><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Attribute</th><th>Description</th></tr></thead><tbody><tr><td><p>emacssym
+		</p><div class="informaltable" id="d0e1766"><a name="d0e1766"></a><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Attribute</th><th>Description</th></tr></thead><tbody><tr><td><p>emacssym
 				</p></td><td><p>
 				If true, emit <tt>.ajesym</tt> symbol files for Emacs support.
+				</p></td></tr><tr><td><p>crossref
+				</p></td><td><p>
+				If true, emit <tt>.ajsym</tt> file into the output directory.
 				</p></td></tr><tr><td><p>verbose
 				</p></td><td><p>
 				If true, emit compiler status messages during the compile.				
@@ -1161,7 +1188,7 @@
 			<span class="strong"><i>
 		AjcTask (iajc) options for specifying Eclipse compiler options
 			</i></span>		
-		</p><div class="informaltable" id="d0e1859"><a name="d0e1859"></a><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Attribute</th><th>Description</th></tr></thead><tbody><tr><td><p>nowarn
+		</p><div class="informaltable" id="d0e1891"><a name="d0e1891"></a><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Attribute</th><th>Description</th></tr></thead><tbody><tr><td><p>nowarn
 				</p></td><td><p>		
 				 	If true, same as <tt>warn:none</tt>.
 				</p></td></tr><tr><td><p>deprecation
@@ -1213,10 +1240,11 @@
 				</p></td></tr><tr><td><p>source
 				</p></td><td><p>		
 				 	Set source compliance level to one of
-				 	[<tt>1.3 1.4</tt>]
-				 	(e.g., in 1.4 no assert identifiers
-				 	and no import from default package).
-				 	Defaults to 1.3 compliance level. 				
+				 	[<tt>1.3 1.4 1.5</tt>]
+                    (default is 1.4).
+                    1.3 implies -source 1.3 and -target 1.1.
+                    1.4 implies -source 1.4 and -target 1.2.
+                    1.5 implies -source 1.5 and -target 1.5.
 				</p></td></tr><tr><td><p>source
 				</p></td><td><p>
 				Set source assertion mode to one of
@@ -1299,12 +1327,12 @@
 
 		</pre><p>
 		Below is script with most everything in it. The compile process...
-		</p><div class="orderedlist"><ol type="1"><li><p><a name="d0e2080"></a>Runs in incremental mode, recompiling when the user hits return;
-	        </p></li><li><p><a name="d0e2083"></a>Reads all the source files from two directories;
-	        </p></li><li><p><a name="d0e2086"></a>Reads binary .class files from input jar and directory; 
-				</p></li><li><p><a name="d0e2089"></a>Uses a binary aspect library for persistence;
-	        </p></li><li><p><a name="d0e2092"></a>Outputs to an application jar; and
-	        </p></li><li><p><a name="d0e2095"></a>Copies resources from the source directories and binary input 
+		</p><div class="orderedlist"><ol type="1"><li><p><a name="d0e2112"></a>Runs in incremental mode, recompiling when the user hits return;
+	        </p></li><li><p><a name="d0e2115"></a>Reads all the source files from two directories;
+	        </p></li><li><p><a name="d0e2118"></a>Reads binary .class files from input jar and directory; 
+				</p></li><li><p><a name="d0e2121"></a>Uses a binary aspect library for persistence;
+	        </p></li><li><p><a name="d0e2124"></a>Outputs to an application jar; and
+	        </p></li><li><p><a name="d0e2127"></a>Copies resources from the source directories and binary input 
 				jar and directories to the application jar. </p></li></ol></div><p>
 		When this target is built, the compiler will build once and then 
 		wait for input from the user. 
@@ -1438,44 +1466,44 @@
 	The adapter supports any ajc command-line option passed using compilerarg, 
 	as well as the following options available only in AjcTask. 
 	Find more details on the following options in <a href="#antTasks-iajc">AjcTask (iajc)</a>.
-	</p><div class="itemizedlist"><ul><li><p><a name="d0e2172"></a>
+	</p><div class="itemizedlist"><ul><li><p><a name="d0e2204"></a>
 		<tt>-Xmaxmem</tt>: 
 			set maximum memory for forking (also settable in javac).		
-		</p></li><li><p><a name="d0e2178"></a>
+		</p></li><li><p><a name="d0e2210"></a>
 		<tt>-Xlistfileargs</tt>: 
 			list file arguments (also settable in javac).		
-		</p></li><li><p><a name="d0e2184"></a>
+		</p></li><li><p><a name="d0e2216"></a>
 		<tt>-Xfailonerror</tt>: 
 			throw BuildException on compiler error (also settable in javac).
-		</p></li><li><p><a name="d0e2190"></a>
+		</p></li><li><p><a name="d0e2222"></a>
 		<tt>-Xmessageholderclass</tt>: 
 			specify fully-qualified name of class to use as the message holder.	
-		</p></li><li><p><a name="d0e2196"></a>
+		</p></li><li><p><a name="d0e2228"></a>
 		<tt>-Xcopyinjars</tt>: 
 			copy resources from any input jars to output
 			(default behavior since 1.1.1)
-		</p></li><li><p><a name="d0e2202"></a>
+		</p></li><li><p><a name="d0e2234"></a>
 		<tt>-Xsourcerootcopyfilter {filter}</tt>: 
 			copy resources from source directories to output (minus files specified in filter)
-		</p></li><li><p><a name="d0e2208"></a>
+		</p></li><li><p><a name="d0e2240"></a>
 		<tt>-Xtagfile {file}</tt>: 
 			use file to control incremental compilation		
-		</p></li><li><p><a name="d0e2214"></a>
+		</p></li><li><p><a name="d0e2246"></a>
 		<tt>-Xsrcdir {dir}</tt>: 		
 			add to list of ajc source roots (all source files will be included).
 		</p></li></ul></div><p>
 	Special considerations when using Javac and compilerarg:
-	</p><div class="itemizedlist"><ul><li><p><a name="d0e2223"></a>
+	</p><div class="itemizedlist"><ul><li><p><a name="d0e2255"></a>
 		The names above may differ slightly from what you might expect 
 		from AjcTask; use these forms when specifying compilerarg.
-		</p></li></ul></div><div class="itemizedlist"><ul><li><p><a name="d0e2227"></a>
+		</p></li></ul></div><div class="itemizedlist"><ul><li><p><a name="d0e2259"></a>
 		By default the adapter will mimic the Javac task's copying of resource 
 		files by specifying 
 		<tt>"**/CVS/*,**/*.java,**/*.aj"</tt>
 		for the sourceroot copy filter. 
 		To change this behavior, supply your own value 
 		(e.g., <tt>"**/*"</tt> to copy nothing).
-		</p></li></ul></div><div class="itemizedlist"><ul><li><p><a name="d0e2237"></a>
+		</p></li></ul></div><div class="itemizedlist"><ul><li><p><a name="d0e2269"></a>
 		Warning - define the system property
 		<tt>build.compiler.clean</tt> to compile all files, 
 		when available.
@@ -1498,20 +1526,20 @@
 		</pre><p>		
 		Caveats to consider when using this global 
 		<tt>build.compiler.clean</tt> property:
-		</p><div class="orderedlist"><ol type="1"><li><p><a name="d0e2256"></a>
+		</p><div class="orderedlist"><ol type="1"><li><p><a name="d0e2288"></a>
 		   If javac believes there are no out-of-date source files, 
 		   then the adapter is never called and cannot clean up, 
 		   and the "compile" will appear to complete successfully 
 		   though it did nothing.
-			</p></li><li><p><a name="d0e2259"></a>
+			</p></li><li><p><a name="d0e2291"></a>
 		   Cleaning will makes stepwise build processes fail if 
 		   they depend on the results of the prior compilation being 
 		   in the same directory, since cleaning deletes all .class files.
-			</p></li><li><p><a name="d0e2262"></a>
+			</p></li><li><p><a name="d0e2294"></a>
 		   This clean process only permits one compile process at a 
 		   time for each destination directory because it tracks 
 		   recursion by writing a tag file to the destination directory.
-			</p></li><li><p><a name="d0e2265"></a>
+			</p></li><li><p><a name="d0e2297"></a>
 		   When running incrementally, the clean happens only before 
 		   the initial compile.
 			</p></li></ol></div></li></ul></div></div></div><div class="sect1"><a name="antTasks-ajc"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="antTasks-ajc"></a>Ajc10 (ajc)</h2></div></div><p>
@@ -1535,7 +1563,7 @@
 	    <tt>srcdir</tt> (with patterns)).
 	    </p><p>Boolean parameters default to <tt>false</tt>
 	    unless otherwise stated.
-	    </p><div class="table"><p><a name="d0e2299"></a><b>Table 4.1. AjcTask (ajc) options for specifying sources</b></p><table summary="AjcTask (ajc) options for specifying sources" border="1"><colgroup><col><col></colgroup><thead><tr><th>Attribute</th><th>Description</th></tr></thead><tbody><tr><td><p>srcdir
+	    </p><div class="table"><p><a name="d0e2331"></a><b>Table 4.1. AjcTask (ajc) options for specifying sources</b></p><table summary="AjcTask (ajc) options for specifying sources" border="1"><colgroup><col><col></colgroup><thead><tr><th>Attribute</th><th>Description</th></tr></thead><tbody><tr><td><p>srcdir
 				</p></td><td><p>
 				The base directory of the java files.
 				See 
@@ -1595,7 +1623,7 @@
 				</p></td></tr><tr><td><p>source
 				</p></td><td><p>
 				Value of -source option - ignored unless <tt>1.4</tt>.
-				</p></td></tr></tbody></table></div><div class="table"><p><a name="d0e2431"></a><b>Table 4.2. Parameters ignored by the old ajc taskdef, 
+				</p></td></tr></tbody></table></div><div class="table"><p><a name="d0e2463"></a><b>Table 4.2. Parameters ignored by the old ajc taskdef, 
 				but now supported or buggy</b></p><table summary="Parameters ignored by the old ajc taskdef, &#xA;				but now supported or buggy" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Attribute</th><th>Description</th><th>Supported?</th></tr></thead><tbody><tr><td><p>encoding
 				</p></td><td><p>Default encoding of source files.
 				</p></td><td><p>yes
@@ -1626,11 +1654,11 @@
 				</p></td></tr></tbody></table></div><p>
 		The following table shows that many of the unique parameters in 
 		AspectJ 1.0 are no longer supported.
-		</p><div class="table"><p><a name="d0e2519"></a><b>Table 4.3. Parameters unique to ajc</b></p><table summary="Parameters unique to ajc" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Attribute</th><th>Description</th></tr></thead><tbody><tr><td><p>X
+		</p><div class="table"><p><a name="d0e2551"></a><b>Table 4.3. Parameters unique to ajc</b></p><table summary="Parameters unique to ajc" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Attribute</th><th>Description</th></tr></thead><tbody><tr><td><p>X
 				</p></td><td><p>
-				 	comma-delimited list of extended (-X...) options, 
-				 	entered without -X (e.g., 
-				 	<tt>X="lint"</tt> for -Xlint).
+				 	deprecated X options include
+					reweavable (on by default)
+					reweavable:compress (compressed by default)
 				</p></td></tr><tr><td><p>emacssym
 				</p></td><td><p>
 				Generate symbols for Emacs IDE support.
@@ -1638,7 +1666,7 @@
 				</p></td><td><p>
 				A comma-delimited list of argfiles that contain a line-delimited 
 				list of source file paths (absolute or relative to the argfile).
-				</p></td></tr></tbody></table></div><div class="sect3"><a name="d0e2554"></a><div class="titlepage"><div><h4 class="title"><a name="d0e2554"></a>argfiles - argument list files</h4></div></div><p>
+				</p></td></tr></tbody></table></div><div class="sect3"><a name="d0e2583"></a><div class="titlepage"><div><h4 class="title"><a name="d0e2583"></a>argfiles - argument list files</h4></div></div><p>
 		An argument file is a file (usually <tt>{file}.lst</tt>) 
 		containing a list of source file paths 
 		(absolute or relative to the argfile). 
@@ -1735,15 +1763,15 @@
 	If you have problems with the tasks not solved by the documentation, 
 	please try to see if you have the same problems when running ajc 
 	directly on the command line.
-	</p><div class="itemizedlist"><ul><li><p><a name="d0e2656"></a>
+	</p><div class="itemizedlist"><ul><li><p><a name="d0e2685"></a>
 		If the problem occurs on the command line also, then the problem 
 		is not in the task. 
 		(It may be in the tools; please send bug reports.)
-		</p></li><li><p><a name="d0e2659"></a>
+		</p></li><li><p><a name="d0e2688"></a>
 		If the problem does not occur on the command line, then it may 
 		lie in the parameters you are supplying in Ant or in the task's 
 		handling of them.
-		</p></li><li><p><a name="d0e2662"></a>
+		</p></li><li><p><a name="d0e2691"></a>
 		If the build script looks correct and the problem only occurs when 
 		building from Ant, then please send a report 
 		(including your build file, if possible).
@@ -1791,42 +1819,41 @@
             The weaving process itself can take place at one of three different times: compile-time,
             post-compile time, and load-time. The class files produced by the weaving process (and
             hence the run-time behaviour of an application) are the same regardless of the approach
-            chosen. </p><div class="itemizedlist"><ul><li><p><a name="d0e2714"></a>Compile-time weaving is the simplest approach. When you have the source code
+            chosen. </p><div class="itemizedlist"><ul><li><p><a name="d0e2743"></a>Compile-time weaving is the simplest approach. When you have the source code
                 for an application, ajc will compile from source and produce woven class files as
                 output. The invocation of the weaver is integral to the ajc compilation process. The
-                aspects themselves may be in source or binary form. </p></li><li><p><a name="d0e2717"></a>Post-compile weaving (also sometimes called binary weaving) is used to weave
+                aspects themselves may be in source or binary form. </p></li><li><p><a name="d0e2746"></a>Post-compile weaving (also sometimes called binary weaving) is used to weave
                 existing class files and JAR files. As with compile-time weaving,
                 the aspects used for weaving may be in source or binary form,
-                and may themselves be woven by aspects. </p></li><li><p><a name="d0e2720"></a>Load-time weaving (LTW) is simply binary weaving defered until the point that
+                and may themselves be woven by aspects. </p></li><li><p><a name="d0e2749"></a>Load-time weaving (LTW) is simply binary weaving defered until the point that
                 a class loader loads a class file and defines the class to the JVM. To support this,
                 one or more "weaving class loaders", either provided explicitly by the run-time
                 environment or enabled through a "weaving agent" are required. </p></li></ul></div><p> You may also hear the term "run-time weaving". We define this as the weaving of
             classes that have already been defined to the JVM (without reloading those
             classes). AspectJ 5 does not provide explicit support for run-time weaving although
-            simple coding patterns can support dynamically enabling and disabling advice in aspects. </p><div class="sect2"><a name="weaving-class-files-more-than-once"></a><div class="titlepage"><div><h3 class="title"><a name="weaving-class-files-more-than-once"></a>Weaving class files more than once</h3></div></div><p> By default a class file that has been woven by the AspectJ compiler cannot
-                subsequently be rewoven (passed as input to the weaver). If you are developing
-                AspectJ applications that are to be used in a load-time weaving environment, you
+            simple coding patterns can support dynamically enabling and disabling advice in aspects. </p><div class="sect2"><a name="weaving-class-files-more-than-once"></a><div class="titlepage"><div><h3 class="title"><a name="weaving-class-files-more-than-once"></a>Weaving class files more than once</h3></div></div><p> As of AspectJ 5 aspects (code style or annotation style) and woven classes are
+            	reweavable by default. If you are developing AspectJ applications that are to be used 
+            	in a load-time weaving environment with an older version of the compiler you
                 need to specify the <tt>-Xreweavable</tt> compiler option when building
                 them. This causes AspectJ to save additional state in the class files that is used
-                to support subsequent reweaving. </p><p>As per AspectJ 1.5.0 M3 aspects (code style or annotation style) are
-            reweavable by default, and weaved classes are reweavable by default as well as per AspectJ 1.5.0 M4.</p></div></div><div class="sect1"><a name="ltw-rules"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="ltw-rules"></a>Load-time Weaving Requirements</h2></div></div><p> All load-time weaving is done in the context of a class loader, and hence the set of
+                to support subsequent reweaving. </p></div></div><div class="sect1"><a name="ltw-rules"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="ltw-rules"></a>Load-time Weaving Requirements</h2></div></div><p> All load-time weaving is done in the context of a class loader, and hence the set of
             aspects used for weaving and the types that can be woven are affected by the class
             loader delegation model. This ensures that LTW complies with the Java 2 security model.
-            The following rules govern the interaction of load-time weaving with class loading: </p><div class="orderedlist"><ol type="1"><li><p><a name="d0e2741"></a>All aspects to be used for weaving must be defined to the weaver before any
+            The following rules govern the interaction of load-time weaving with class loading: </p><div class="orderedlist"><ol type="1"><li><p><a name="d0e2768"></a>All aspects to be used for weaving must be defined to the weaver before any
                 types to be woven are loaded.  This avoids types being "missed" by aspects added
-                later, with the result that invariants across types fail.</p></li><li><p><a name="d0e2744"></a>All aspects visible to the weaver are usable.
+                later, with the result that invariants across types fail.</p></li><li><p><a name="d0e2771"></a>All aspects visible to the weaver are usable.
                 A visible aspect is one defined by the
                 weaving class loader or one of its parent class loaders.
                 All concrete visible aspects are woven and all abstract visible aspects
                 may be extended.
-            </p></li><li><p><a name="d0e2747"></a>A class loader may only weave classes that it defines. It may not weave
+            </p></li><li><p><a name="d0e2774"></a>A class loader may only weave classes that it defines. It may not weave
                 classes loaded by a delegate or parent class loader.</p></li></ol></div></div><div class="sect1"><a name="ltw-configuration"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="ltw-configuration"></a>Configuration</h2></div></div><p>New in AspectJ 5 are a number of mechanisms to make load-time weaving
         easy to use. The load-time weaving mechanism is chosen through JVM startup options. 
         Configuration files determine the set of aspects to be used for weaving and which 
         types will be woven. Additional diagnostic options allow the user to debug the configuration and 
         weaving process. </p><div class="sect2"><a name="enabling-load-time-weaving"></a><div class="titlepage"><div><h3 class="title"><a name="enabling-load-time-weaving"></a>Enabling Load-time Weaving</h3></div></div><p> AspectJ 5 supports several ways of enabling load-time weaving for
             an application: agents, a command-line launch script, and a set of interfaces for
-            integration of AspectJ load-time weaving in custom environments. </p><div class="variablelist"><dl><dt><a name="d0e2761"></a><span class="term">Agents</span></dt><dd><p><a name="d0e2764"></a>AspectJ 5 ships with a number of load-time weaving agents that
+            integration of AspectJ load-time weaving in custom environments. </p><div class="variablelist"><dl><dt><a name="d0e2788"></a><span class="term">Agents</span></dt><dd><p><a name="d0e2791"></a>AspectJ 5 ships with a number of load-time weaving agents that
                             enable load-time weaving. These agents and their configuration
                             are execution environment dependent. Configuration for the supported environments is discussed
                             later in this chapter.</p><p>
@@ -1834,11 +1861,15 @@
                             to the JVM.</p><p>
                             Using BEA JRockit and Java 1.3/1.4, the very same behavior can be obtained using BEA JRockit JMAPI features with
                             the <tt>-Xmanagement:class=org.aspectj.weaver.loadtime.JRockitAgent</tt>
-                        </p></dd><dt><a name="d0e2777"></a><span class="term">Command-line wrapper script <tt>aj</tt></span></dt><dd><p><a name="d0e2782"></a>The <b>aj</b> command runs Java programs in Java 1.4 or
+                        </p></dd><dt><a name="d0e2804"></a><span class="term">Command-line wrapper scripts <tt>aj</tt></span></dt><dd><p><a name="d0e2809"></a>The <b>aj</b> command runs Java programs in Java 1.4 or
                         later by setting up <tt>WeavingURLClassLoader</tt> as the 
                             system class loader.  
                             For more information, see <a href="#aj">aj</a>.
-                        </p></dd><dt><a name="d0e2809"></a><span class="term">Custom class loader</span></dt><dd><p><a name="d0e2812"></a> A public interface is provided to allow a user written class loader
+                        </p><p>The <b>aj5</b> command runs Java programs in Java 5
+                        by using the <tt>-javaagent:pathto/aspectjweaver.jar</tt> option 
+                            described above.
+                            For more information, see <a href="#aj">aj</a>.
+                        </p></dd><dt><a name="d0e2830"></a><span class="term">Custom class loader</span></dt><dd><p><a name="d0e2833"></a> A public interface is provided to allow a user written class loader
                             to instantiate a weaver and weave classes after loading and before
                             defining them in the JVM. This enables load-time weaving to be supported in
                             environments where no weaving agent is available. It also allows the
@@ -1849,7 +1880,7 @@
                             <tt>WeavingAdapter</tt>.
                         </p></dd></dl></div></div><div class="sect2"><a name="configuring-load-time-weaving-with-aopxml-files"></a><div class="titlepage"><div><h3 class="title"><a name="configuring-load-time-weaving-with-aopxml-files"></a>Configuring Load-time Weaving with aop.xml files</h3></div></div><p>The weaver is configured using one or more <tt>META-INF/aop.xml</tt>
                 files located on the class loader search path. Each file may define a list of
-                concrete aspects to be used for weaving, type patterns describing which types
+                aspects to be used for weaving, type patterns describing which types
                 should woven, and a set of options to be passed to the weaver. In addition AspectJ 5
                 supports the definition of concrete aspects in XML. Aspects defined in this way
                 must extend an abstract aspect visible to the weaver. The abstract aspect
@@ -1869,11 +1900,11 @@
                 &lt;pointcut name="tracingScope" expression="within(org.maw.*)"/&gt;
               &lt;/concrete-aspect&gt;
 
-              &lt;!-- Of the set of aspects declared in this sole aop.xml,
+              &lt;!-- Of the set of aspects declared to the weaver
                    use aspects matching the type pattern "com..*" for weaving. --&gt;
               &lt;include within="com..*"/&gt;
 
-              &lt;!-- Of the set of aspects declared in this sole aop.xml,
+              &lt;!-- Of the set of aspects declared to the weaver
                    do not use any aspects with the @CoolAspect annotation for weaving --&gt;
               &lt;exclude within="@CoolAspect *"/&gt;
 
@@ -1886,7 +1917,14 @@
               &lt;include within="javax.*"/&gt;
               &lt;include within="org.aspectj.*"/&gt;
               &lt;include within="(!@NoWeave foo.*) AND foo.*"/&gt;
-              &lt;dump within="somepack.*"/&gt;&lt;!-- will dump weaved classes to the "./_ajdump" folder on disk (for diagnostic purpose) --&gt;
+
+              &lt;!-- Do not weave types within the "bar" pakage --&gt;
+              &lt;exclude within="bar.*"/&gt;
+
+              &lt;!-- Dump all types within the "somepack" package,
+                   both before are after they are woven,
+                   to the "./_ajdump" folder on disk (for diagnostic purposes) --&gt;
+              &lt;dump within="somepack.*" /&gt;
             &lt;/weaver&gt;
 
           &lt;/aspectj&gt;
@@ -1917,44 +1955,49 @@
                 a type pattern of the same form as a within pcd, except that &amp;&amp;
                 and || are replaced by 'AND' and 'OR'.
             </p><p>
-                Note that <tt>include</tt> and <tt>exclude</tt> affects the declared list of aspects (or concrete-aspect) defined in this
-                sole aop.xml and has no side effect on other aop.xml files.
-                Also note it is required to use <tt>aspect</tt> or <tt>concrete-aspect</tt> elements and that include does not
-                mean "pick any aspect you 'll find" - as the aspect list must be known by the weaver.
+                Note that <tt>include</tt> and <tt>exclude</tt> elements affect all aspects 
+                declared to the weaver including those in other aop.xml files. To help avoid unexpected 
+                behaviour a lint warning is issued
+                if an aspect is not declared as a result of of applying these filters.
+                Also note <tt>aspect</tt> and <tt>concrete-aspect</tt> elements
+                must be used to delare aspects to the weaver i.e. <tt>include</tt> and <tt>exclude</tt>
+                elements cannot be used find aspects on the class loader search path.
             </p><p>
                 The weaver element is used to pass options to the weaver and to specify
                 the set of types that should be woven. If no include elements are specified
-                then all types seen by the weaver will be woven.
+                then all types visible to the weaver will be woven.
             </p><p> When several configuration files are visible from a given weaving class loader
-                their contents are conceptually merged (this applies to both aop.xml files
-                and to aop.properties files as described in the next section). 
+                their contents are conceptually merged. 
                 The files are merged in the order they are
                 found on the search path (regular <tt>getResourceAsStream</tt> lookup)
-                according to the following rules: </p><div class="itemizedlist"><ul><li><p><a name="d0e2874"></a>The set of available aspects is the set of all
+                according to the following rules: </p><div class="itemizedlist"><ul><li><p><a name="d0e2901"></a>The set of available aspects is the set of all
                     declared and defined aspects (<tt>aspect</tt> and
                     <tt>concrete-aspect</tt> elements of the <tt>aspects</tt>
-                    section).</p></li><li><p><a name="d0e2886"></a>The set of aspects used for weaving is the subset of the available
+                    section).</p></li><li><p><a name="d0e2913"></a>The set of aspects used for weaving is the subset of the available
                     aspects that are matched by at least one include statement and are not matched
                     by any exclude statements. If there are no include statements then all non-excluded
-                    aspects are included.</p></li><li><p><a name="d0e2889"></a> The set of types to be woven are those types matched by at
+                    aspects are included.</p></li><li><p><a name="d0e2916"></a> The set of types to be woven are those types matched by at
                     least one weaver <tt>include</tt> element and not matched by any 
                     weaver <tt>exclude</tt> element. If there are no weaver include
-                    statements then all non-excluded types are included.</p></li><li><p><a name="d0e2898"></a> The weaver options are derived by taking the union of the
+                    statements then all non-excluded types are included.</p></li><li><p><a name="d0e2925"></a> The weaver options are derived by taking the union of the
                     options specified in each of the weaver options attribute specifications. Where an
                     option takes a value e.g. <tt>-warn:none</tt> the most recently defined value
                     will be used.</p></li></ul></div><p>It is not an error for the same aspect to be defined to the weaver in 
                 more than one visible <tt>META-INF/aop.xml</tt> file. 
-                However, if a declarative concrete aspect
-                is declared in more than aop.xml file then an error will be issued.
-                 A concrete aspect 
+                However, if a concrete aspect
+                is defined in more than aop.xml file then an error will be issued.
+                A concrete aspect 
                 defined in this way will be used to weave types loaded by the
                 class loader that loaded the aop.xml file in which it was defined. 
-                </p><p> A <tt>META-INF/aop.xml</tt> file will automatically be generated when
-                using the <tt>-outjar</tt> option of the AspectJ compiler. 
-                It will simply contain a (possibly empty) set of aspect elements, one for
-                each concrete aspect included in the JAR. </p></div><div class="sect2"><a name="concrete-aspect"></a><div class="titlepage"><div><h3 class="title"><a name="concrete-aspect"></a>Using Concrete Aspects</h3></div></div><p>
-                It is possible to concretize an abstract aspect by the mean of the <tt>META-INF/aop.xml</tt>
-                file. This is usefull to define abstract pointcuts at deployment time, and also gives control
+                </p><p> A <tt>META-INF/aop.xml</tt> can be generated by
+                using either the <tt>-outxml</tt> or <tt>-outxmlfile</tt> options of the AspectJ compiler. 
+                It will simply contain a (possibly empty) set of aspect elements; one for
+                each abstract or concrete aspect defined. 
+                When used in conjuction with the <tt>-outjar</tt> option
+                a JAR is produced that can be used
+                with the <b>aj5</b> command or a load-time weaving environment.</p></div><div class="sect2"><a name="concrete-aspect"></a><div class="titlepage"><div><h3 class="title"><a name="concrete-aspect"></a>Using Concrete Aspects</h3></div></div><p>
+                It is possible to make an abstract aspect concrete by means of the <tt>META-INF/aop.xml</tt>
+                file. This is useful way to implement abstract pointcuts at deployment time, and also gives control
                 over precedence through the <tt>precedence</tt> attribute of the
                 <tt>concrete-aspect</tt> XML element.
                 Consider the following:
@@ -1988,19 +2031,18 @@
                 }
             }
             </pre><p>
-                This aspect (in either of its style) is a good candidate for concretization through <tt>META-INF/aop.xml</tt>.
-                It defines the abstract pointcut <tt>within()</tt>. It is important to remember that
-                concretization in this case must obey to the following rules:
-                <div class="itemizedlist"><ul><li><p><a name="d0e2946"></a>The parent aspect must be abstract. It can be an @AspectJ or a
-                            regular code style aspect.</p></li><li><p><a name="d0e2949"></a>Only simple abstract pointcut can be concretized ie pointcut that don't expose
+                This aspect (in either style) can be made concrete using <tt>META-INF/aop.xml</tt>.
+                It defines the abstract pointcut <tt>within()</tt>. When using this mechanism the 
+                following rules apply:
+                <div class="itemizedlist"><ul><li><p><a name="d0e2982"></a>The parent aspect must be abstract. It can be an @AspectJ or a
+                            regular code style aspect.</p></li><li><p><a name="d0e2985"></a>Only a simple abstract pointcut can be implemented i.e. a pointcut that doesn't expose
                             state (through <tt>args(), this(), target(), if()</tt>). In @AspectJ syntax
-                            as illustrated in this sample, this means the method that hosts the pointcut is abstract,
-                            has no arguments, and returns void.</p></li><li><p><a name="d0e2955"></a>Concretization must defines all such abstract pointcuts ie it is not possible
-                            to have <tt>concrete-aspect</tt> inter dependancies.</p></li><li><p><a name="d0e2961"></a>Concretization can only concretize pointcuts ie there cannot be abstract method
-                            left in the aspect.</p></li></ul></div>
-                If you have requirements for more complex aspect inheritance, you should consider regular aspect
-                inheritance instead of concretization through XML.
-                Given that the following XML is valid:
+                            as illustrated in this sample, this means the method that hosts the pointcut must be abstract,
+                            have no arguments, and return void.</p></li><li><p><a name="d0e2991"></a>The concrete aspect must implement all inherited abstract pointcuts.</p></li><li><p><a name="d0e2994"></a>The concrete aspect may not implement methods so the abstract aspect it 
+                            extends may not contain any abstract methods.</p></li></ul></div>
+                If more complex aspect inheritance is required use regular aspect
+                inheritance instead of XML.
+                The following XML definition shows a valid concrete sub-aspect for the abstract aspects above:
             </p><pre class="programlisting">
             &lt;aspectj&gt;
                 &lt;conrete-aspect name="mypack.__My__AbstractAspect" extends="mypack.AbstractAspect"&gt;
@@ -2008,10 +2050,11 @@
                 &lt;/concrete-aspect&gt;
             &lt;/aspectj&gt;
             </pre><p>
-                It is important to remember that the <tt>name</tt> attribute in the XML directive
-                <tt>concrete-aspect</tt> defines the fully qualified name that will be given to the
-                concrete aspect. It must then be a valid class name. This one will indeed be generated on the fly by the weaver internals. You must
-                then ensure that there won't be name collision. Also note that the concrete aspect will be
+                It is important to remember that the <tt>name</tt> attribute in the
+                <tt>concrete-aspect</tt> directive defines the fully qualified name that will be given to the
+                concrete aspect. It must a valid class name because the aspect will be generated on the fly by the weaver.
+                You must
+                also ensure that there are no name collisions. Note that the concrete aspect will be
                 defined at the classloader level for which the aop.xml is visible. This implies that if you need
                 to use the <tt>aspectof</tt> methods to access the aspect instance(s) (depending on the perclause
                 of the aspect it extends) you have to use the helper API <tt>org.aspectj.lang.Aspects.aspectOf(..)</tt>
@@ -2028,10 +2071,10 @@
                 <tt>@DeclarePrecedence</tt> or <tt>declare precedence</tt> do in
                 aspect source code.
             </p><p>
-                Sometimes it is required to declare precedence without extending any abstract aspect
-                as well. For such a need, it is possible to use the <tt>concrete-aspect</tt>
+                Sometimes it is necessary to declare precedence without extending any abstract aspect.
+                It is therefore possible to use the <tt>concrete-aspect</tt>
                 element without the <tt>extends</tt> attribute and without any
-                <tt>pointcut</tt> nested element, but only with a <tt>precedence</tt>
+                <tt>pointcut</tt> nested elements, just a <tt>precedence</tt>
                 attribute.
                 Consider the following:
             </p><pre class="programlisting">
@@ -2040,30 +2083,25 @@
                                      precedence="*..*Security*, Logging+, *"/&gt;
                 &lt;/aspectj&gt;
             </pre><p>
-                This deployment time declaration is only defining a precedence rule. You have to remember
+                This deployment time definitions is only declaring a precedence rule. You have to remember
                 that the <tt>name</tt> attribute must be a valid fully qualified class name
                 that will be then reserved for this concrete-aspect and must not conflict with other classes
                 you deploy.
             </p></div><div class="sect2"><a name="weaver-options"></a><div class="titlepage"><div><h3 class="title"><a name="weaver-options"></a>Weaver Options</h3></div></div><p> The table below lists the AspectJ options supported by LTW. All other options
-                will be ignored and a warning issued. </p><div class="informaltable" id="d0e3028"><a name="d0e3028"></a><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Option</th><th>Purpose</th></tr></thead><tbody><tr><td><tt>-verbose</tt></td><td>Issue informational messages about the weaving process. If ever you need to have information
-                                   when the load time weaving engine is bootstrapped (hence its logger as per <tt>-XmessageHandlerClass:...</tt> not ready yet),
-                                   you can use the option <tt>-Daj.weaving.verbose=true</tt> on the JVM startup command line. Messages will then be printed
-                                   on stderr as long as the message handler class is not ready.
-                            </td></tr><tr><td><tt>-1.5</tt></td><td>Run the weaver in 1.5 mode (supports autoboxing in
-                            join point matching)</td></tr><tr><td><tt>-Xlintfile:pathToAResource</tt></td><td>Configure lint messages as specified in the given resource (visible from this aop.xml file' classloader)</td></tr><tr><td><tt>-Xlint:default, -Xlint:ignore, ...</tt></td><td>Configure lint messages, refer to documentation for meaningfull values</td></tr><tr><td><tt>-nowarn, -warn:none</tt></td><td>Suppress warning messages</td></tr><tr><td><tt>-proceedOnError</tt></td><td>Continue weaving even if errors occur (for example,
-                             "... already woven" errors)</td></tr><tr><td><tt>-Xreweavable</tt></td><td>Produce class files that can subsequently be rewoven</td></tr><tr><td><tt>-XnoInline</tt></td><td>Don't inline around advice.</td></tr><tr><td><tt>-showWeaveInfo</tt></td><td>Issue informational messages whenever the weaver touches a class file</td></tr><tr><td><tt>-XmessageHandlerClass:...</tt></td><td>Provide alternative output destination to stdout/stderr for all weaver messages.
-                            The given value must be the full qualified class name of a class that implements
-                            <tt>org.aspectj.bridge.IMessageHandler</tt>
-                            and that is visible from where the <tt>aop.xml</tt> is packed.
-                            If more than one such options are used,
-                            the first occurence only is taken into account.
-                            You must also be very cautious about using a custom handler since it is likely that it will be invoked
-                            (as well as all its third parties) while the weaving is done, which means that f.e. it cannot be weaved
-                            by the aspects that are configured within the same deployment unit.
+                will be ignored and a warning issued. </p><div class="informaltable" id="d0e3061"><a name="d0e3061"></a><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Option</th><th>Purpose</th></tr></thead><tbody><tr><td><tt>-verbose</tt></td><td>Issue informational messages about the weaving process. Messages issued while the weaver is being 
+                                   bootstrapped are accumulated until all options are parsed. If the messages are required to be output
+                                   immediately you can use the option <tt>-Daj.weaving.verbose=true</tt> on the JVM startup command line.
+                            </td></tr><tr><td><tt>-Xlintfile:pathToAResource</tt></td><td>Configure lint messages as specified in the given resource (visible from this aop.xml file' classloader)</td></tr><tr><td><tt>-Xlint:default, -Xlint:ignore, ...</tt></td><td>Configure lint messages, refer to documentation for meaningfull values</td></tr><tr><td><tt>-nowarn, -warn:none</tt></td><td>Suppress warning messages</td></tr><tr><td><tt>-Xreweavable</tt></td><td>Produce class files that can subsequently be rewoven</td></tr><tr><td><tt>-XnoInline</tt></td><td>Don't inline around advice.</td></tr><tr><td><tt>-showWeaveInfo</tt></td><td>Issue informational messages whenever the weaver touches a class file</td></tr><tr><td><tt>-XmessageHandlerClass:...</tt></td><td>Provide alternative output destination to stdout/stderr for all weaver messages.
+                            The given value must be the full qualified class name of a class that implements the
+                            <tt>org.aspectj.bridge.IMessageHandler</tt> interface
+                            and is visible to the classloader with which the weaver being configured is associated.
+                            Exercise caution when packaging a custom message handler with an application that is to 
+                            be woven. The handler (as well as classes on which it depends) cannot itself be woven
+                            by the aspects that are declared to the same weaver.
                             </td></tr></tbody></table></div></div></div><div class="sect1"><a name="ltw-specialcases"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="ltw-specialcases"></a>Special cases</h2></div></div><p>
-            Those classes are not exposed to the LTW infrastructure, no matter
-            the configuration of the <tt>aop.xml</tt> file(s):
-            <div class="itemizedlist"><ul><li><p><a name="d0e3118"></a>All <tt>org.aspectj.*</tt> classes (and subpackages) - as those are needed by the infrastructure itself</p></li><li><p><a name="d0e3124"></a>All <tt>java.*</tt> and <tt>javax.*</tt> classes (and subpackages)</p></li><li><p><a name="d0e3133"></a>All <tt>sun.reflect.*</tt> classes - as those are JDK specific classes used when reflective calls occurs</p></li></ul></div>
+            The following classes are not exposed to the LTW infrastructure regardless of 
+            the <tt>aop.xml</tt> file(s) used:
+            <div class="itemizedlist"><ul><li><p><a name="d0e3137"></a>All <tt>org.aspectj.*</tt> classes (and subpackages) - as those are needed by the infrastructure itself</p></li><li><p><a name="d0e3143"></a>All <tt>java.*</tt> and <tt>javax.*</tt> classes (and subpackages)</p></li><li><p><a name="d0e3152"></a>All <tt>sun.reflect.*</tt> classes - as those are JDK specific classes used when reflective calls occurs</p></li></ul></div>
         </p><p>
             Despite these restrictions, it is perfectly possible to match call join points for calls to these types providing the calling
             class is exposed to the weaver. Subtypes of these excluded types that are exposed to the weaver may of course be woven.
diff --git a/org.aspectj.ajde/doc/faq.html b/org.aspectj.ajde/doc/faq.html
index 90e98c4..c22bcf6 100755
--- a/org.aspectj.ajde/doc/faq.html
+++ b/org.aspectj.ajde/doc/faq.html
@@ -3,7 +3,7 @@
    <title>Frequently Asked Questions about AspectJ</title><link rel="stylesheet" href="aspectj-faq.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.44"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="article"><div class="titlepage"><div><h2 class="title"><a name="d0e3"></a>Frequently Asked Questions about AspectJ</h2></div><hr></div><p>Copyright (c) 1997-2001 Xerox Corporation, 
        2002 Palo Alto Research Center, Incorporated,
        2003-2005 Contributors. All rights reserved.
-  </p><p>Last updated October 6, 2005
+  </p><p>Last updated December 18, 2005
   </p><p>
    For a list of recently-updated FAQ entries, see <a href="#q:faqchanges">Q:What has changed since the last FAQ version?</a>
   </p><div class="qandaset"><dl><dt>1 <a href="#overview">Overview</a></dt><dd><dl><dt>1.  <a href="#q:whatisaj">What is AspectJ?</a></dt><dt>2.  <a href="#q:benefits">What are the benefits of using AspectJ?</a></dt><dt>3.  <a href="#q:compability">Can AspectJ work with any Java program?</a></dt><dt>4.  <a href="#q:license">How is AspectJ licensed?</a></dt><dt>5.  <a href="#q:project">What is the AspectJ Project?</a></dt></dl></dd><dt>2 <a href="#quickstart">Quick Start</a></dt><dd><dl><dt>1.  <a href="#q:requirements">
@@ -53,26 +53,28 @@
           </a></dt><dt>6.  <a href="#q:aspectjandj2ee">Can I use AspectJ with J2EE?</a></dt><dt>7.  <a href="#q:aspectjandgj">Can I use AspectJ with Generic Java?</a></dt><dt>8.  <a href="#q:aspectjandj2me">Can I use AspectJ with J2ME?</a></dt><dt>9.  <a href="#q:aopinjava"> Are you working to put AOP into Java?  
 	   It seems that every AOP toolset currently uses proprietary mechanisms 
 	   to describe point-cuts, etc.
-          </a></dt><dt>10.  <a href="#q:support">What kind of support is available?</a></dt><dt>11.  <a href="#q:mailingLists">What mailing lists are there?</a></dt></dl></dd><dt>8 <a href="#compiler">Using the AspectJ compiler</a></dt><dd><dl><dt>1.  <a href="#q:requiredsources">
+          </a></dt><dt>10.  <a href="#q:support">What kind of support is available?</a></dt><dt>11.  <a href="#q:mailingLists">What mailing lists are there?</a></dt></dl></dd><dt>8 <a href="#compiler">Using the AspectJ compiler</a></dt><dd><dl><dt>1.  <a href="#q:compilerRequired">
+            Do I have to use the AspectJ compiler?
+          </a></dt><dt>2.  <a href="#q:requiredsources">
             What files do I need to include when compiling AspectJ programs?
-          </a></dt><dt>2.  <a href="#q:listingsources">I have to list many files in the command line to
+          </a></dt><dt>3.  <a href="#q:listingsources">I have to list many files in the command line to
             compile with ajc. Is there any other way to
             provide the file names to ajc?
-          </a></dt><dt>3.  <a href="#q:compilerVM">What Java virtual machine (JVM) do I use to run the
+          </a></dt><dt>4.  <a href="#q:compilerVM">What Java virtual machine (JVM) do I use to run the
             AspectJ compiler?
-          </a></dt><dt>4.  <a href="#q:compilingForDifferentVMs">How can I use ajc to compile
+          </a></dt><dt>5.  <a href="#q:compilingForDifferentVMs">How can I use ajc to compile
             programs for a JVM that is different from the one used to run it?
-          </a></dt><dt>5.  <a href="#q:assert">Does the ajc compiler support 
+          </a></dt><dt>6.  <a href="#q:assert">Does the ajc compiler support 
         the assert keyword in Java 1.4?
-          </a></dt><dt>6.  <a href="#q:generics">Does the ajc compiler support 
+          </a></dt><dt>7.  <a href="#q:generics">Does the ajc compiler support 
         generics and the other new language features of Java 5?
-          </a></dt><dt>7.  <a href="#q:versionCompatibility">Will aspects work with different versions of the compiler/weaver and runtime?
-          </a></dt><dt>8.  <a href="#q:msjvm">Are there any issues using AspectJ with the Microsoft
+          </a></dt><dt>8.  <a href="#q:versionCompatibility">Will aspects work with different versions of the compiler/weaver and runtime?
+          </a></dt><dt>9.  <a href="#q:msjvm">Are there any issues using AspectJ with the Microsoft
             JVM?
-          </a></dt><dt>9.  <a href="#q:javacbytecode">Does ajc rely
+          </a></dt><dt>10.  <a href="#q:javacbytecode">Does ajc rely
             on javac for generating Java bytecode
             (.class) files?
-          </a></dt><dt>10.  <a href="#q:parsergenerators">
+          </a></dt><dt>11.  <a href="#q:parsergenerators">
             I noticed the AspectJ compiler doesn't use a parser generator.  Why is that?
           </a></dt></dl></dd><dt>9 <a href="#devtools">Integrating AspectJ into your development environment</a></dt><dd><dl><dt>1.  <a href="#q:knowWhenAspectsAffectClasses">How do I know which aspects affect a class when looking
             at that class's source code?
@@ -165,18 +167,24 @@
           </a></dt><dt>2.  <a href="#q:eclipserequired">Do I have to download Eclipse to use AspectJ?
           </a></dt><dt>3.  <a href="#q:eclipseetc">What are the relationships between AspectJ, JDT, 
                 Eclipse, AJDT, and IDE support generally?
-          </a></dt></dl></dd><dt>13 <a href="#Technology">Understanding AspectJ Technology</a></dt><dd><dl><dt>1.  <a href="#q:implementation">Do I need to know how the compiler or weaver works?
+          </a></dt></dl></dd><dt></dt><dd><dl><dt>1.  <a href="#q:aspectj5features">
+            What are the new features of AspectJ 5?
+          </a></dt><dt>2.  <a href="#q:codeversusannotationstyles">
+            Should I use code- or annotation-style aspects?
+          </a></dt><dt>3.  <a href="#q:aspectj5ltw">
+            What's new about the load-time weaving support in AspectJ 5?
+          </a></dt></dl></dd><dt>14 <a href="#Technology">Understanding AspectJ Technology</a></dt><dd><dl><dt>1.  <a href="#q:implementation">Do I need to know how the compiler or weaver works?
           </a></dt><dt>2.  <a href="#q:whitepapers">How does the compiler/weaver work? Are there any white papers?
           </a></dt><dt>3.  <a href="#q:reflection">Does AspectJ use reflection at runtime?
           </a></dt><dt>4.  <a href="#q:loadtimeWeaving">What about load-time weaving? Can I weave aspects at runtime?
-          </a></dt></dl></dd><dt>14 <a href="#Developers">AspectJ Project Development</a></dt><dd><dl><dt>1.  <a href="#q:howitworks">I'm interested in the code implementing AspectJ.
+          </a></dt></dl></dd><dt>15 <a href="#Developers">AspectJ Project Development</a></dt><dd><dl><dt>1.  <a href="#q:howitworks">I'm interested in the code implementing AspectJ.
           </a></dt><dt>2.  <a href="#q:contributions">How can I get involved with developing the AspectJ project?
           </a></dt><dt>3.  <a href="#q:buildingsource">How do I get and compile the source code for AspectJ?
           </a></dt><dt>4.  <a href="#q:devDocs">Where do I find developer documentation on building and testing AspectJ source code?
           </a></dt><dt>5.  <a href="#q:harnesstestcases">How should I submit test cases for bugs?
           </a></dt><dt>6.  <a href="#q:testharness">I'd like to run my test case.  How do I get the test harness?
           </a></dt><dt>7.  <a href="#q:bcel">BCEL is used by AspectJ but it's not actively developed.  Will you change?
-          </a></dt></dl></dd><dt>15 <a href="#help">Getting Help</a></dt><dd><dl><dt>1.  <a href="#q:moreaboutaj">
+          </a></dt></dl></dd><dt>16 <a href="#help">Getting Help</a></dt><dd><dl><dt>1.  <a href="#q:moreaboutaj">
             How do I find out more about AspectJ?
           </a></dt><dt>2.  <a href="#q:bugreports">How do I submit a bug report?</a></dt><dt>3.  <a href="#q:talktousers">
             How do I communicate with other AspectJ users?
@@ -194,7 +202,7 @@
             Where can our group get consulting and support?
           </a></dt><dt>10.  <a href="#q:faqchanges">
             What has changed since the last FAQ version?
-          </a></dt></dl></dd><dt>16 <a href="#project">About the AspectJ Project</a></dt><dd><dl><dt>1.  <a href="#q:opensource">What does the fact that AspectJ is an Open Source
+          </a></dt></dl></dd><dt>17 <a href="#project">About the AspectJ Project</a></dt><dd><dl><dt>1.  <a href="#q:opensource">What does the fact that AspectJ is an Open Source
             Project mean to me?
           </a></dt><dt>2.  <a href="#q:standardization">What are your plans to make AspectJ a general feature
             of Java supported by Sun and the other key players in the Java
@@ -1055,9 +1063,21 @@
             To get on a similar list for aspect-oriented software 
             development generally, see
             <a href="http://aosd.net" target="_top">http://aosd.net</a>.
-          </p></div></div></div><div class="qandadiv"><h3 class="title"><a name="compiler"></a>8 Using the AspectJ compiler</h3><div class="qandaentry"><div class="question"><p><a name="q:requiredsources"></a><b>1. </b>
+          </p></div></div></div><div class="qandadiv"><h3 class="title"><a name="compiler"></a>8 Using the AspectJ compiler</h3><div class="qandaentry"><div class="question"><p><a name="q:compilerRequired"></a><b>1. </b>
+            Do I have to use the AspectJ compiler?
+          </p></div><div class="answer"><p><a name="d0e903"></a><b></b> The AspectJ compiler or weaver is required at some point, but
+                many people can use AspectJ without changing their build or
+                deployment process significantly. For aspects that are not
+                required to compile, you can use the AspectJ binary weaver, run
+                at build-time or class-load-time. You can write aspects using
+                the original code style (which must be compiled with the AspectJ
+                compiler) or using the annotation style new in AspectJ 5 (which
+                may be compiled with Javac or the AspectJ compiler). </p><p>
+              For more information, see
+              <a href="#q:codeversusannotationstyles">Q:Should I use code- or annotation-style aspects?</a>.
+          </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:requiredsources"></a><b>2. </b>
             What files do I need to include when compiling AspectJ programs?
-          </p></div><div class="answer"><p><a name="d0e903"></a><b></b>You need to specify to the compiler the files that
+          </p></div><div class="answer"><p><a name="d0e914"></a><b></b>You need to specify to the compiler the files that
             contain your aspects and the files that contain the 
             types affected by your aspects.
 	    See <a href="#q:knowWhenAspectsAffectClasses">Q: How do I know which aspects affect a class when looking at that class's source code?</a>.
@@ -1081,10 +1101,10 @@
               Development Environment Guide</a>
             <a href="devguide/ajc-ref.html" target="_top">
               Reference for ajc</a>.
-          </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:listingsources"></a><b>2. </b>I have to list many files in the command line to
+          </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:listingsources"></a><b>3. </b>I have to list many files in the command line to
             compile with <tt>ajc</tt>. Is there any other way to
             provide the file names to <tt>ajc</tt>?
-          </p></div><div class="answer"><p><a name="d0e928"></a><b></b>
+          </p></div><div class="answer"><p><a name="d0e939"></a><b></b>
           Yes, use the argfile option to ajc. List source 
           files in a line-delimited text file and direct ajc to that 
           file using <tt>-argfile</tt> or <tt>@</tt>:
@@ -1100,9 +1120,9 @@
               Development Environment Guide</a>
             <a href="devguide/ajc-ref.html" target="_top">
               Reference for ajc</a>.
-          </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:compilerVM"></a><b>3. </b>What Java virtual machine (JVM) do I use to run the
+          </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:compilerVM"></a><b>4. </b>What Java virtual machine (JVM) do I use to run the
             AspectJ compiler?
-          </p></div><div class="answer"><p><a name="d0e958"></a><b></b>Use the latest, greatest, fastest JVM you can get your hands on
+          </p></div><div class="answer"><p><a name="d0e969"></a><b></b>Use the latest, greatest, fastest JVM you can get your hands on
             for your platform. The compiler's performance is dependent on the
             performance of the JVM it is running on, so the faster a JVM you
             can find to run it on, the shorter your compile times will be. At a
@@ -1115,19 +1135,19 @@
             losing a number of developers who are working on platforms without
             Java 2 support. Here is a list of starting places where you might
             find support for your system.
-            <div class="itemizedlist"><ul><li><p><a name="d0e962"></a>
+            <div class="itemizedlist"><ul><li><p><a name="d0e973"></a>
                   <a href="http://java.sun.com/j2se/" target="_top">Java 2
                     Platform, Standard Edition
                   </a>
-                </p></li><li><p><a name="d0e968"></a>
+                </p></li><li><p><a name="d0e979"></a>
                   <a href="http://www-106.ibm.com/developerworks/java/jdk/" target="_top">
                     developerWorks : Java technology : Tools and products - Developer kits
                   </a>
-                </p></li><li><p><a name="d0e974"></a>
+                </p></li><li><p><a name="d0e985"></a>
                   <a href="http://www-124.ibm.com/developerworks/oss/jikes/" target="_top">
                     developerWorks : Open Source - Jikes Project
                   </a>
-                </p></li><li><p><a name="d0e980"></a>
+                </p></li><li><p><a name="d0e991"></a>
                   <a href="http://java.sun.com/cgi-bin/java-ports.cgi" target="_top">Java
                     Platform Ports
                   </a>
@@ -1139,9 +1159,9 @@
             build programs that will run on Macintosh, FreeBSD, and applets
             that will run in Internet Explorer and Netscape Navigator that are
             still not yet Java 2 compliant.
-          </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:compilingForDifferentVMs"></a><b>4. </b>How can I use <tt>ajc</tt> to compile
+          </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:compilingForDifferentVMs"></a><b>5. </b>How can I use <tt>ajc</tt> to compile
             programs for a JVM that is different from the one used to run it?
-          </p></div><div class="answer"><p><a name="d0e999"></a><b></b>
+          </p></div><div class="answer"><p><a name="d0e1010"></a><b></b>
             <tt>ajc</tt> can be used to develop programs that are
             targeted at the Java 1.1 platform, even though the
             <tt>ajc</tt> compiler won't run on that platform. Here's
@@ -1161,26 +1181,26 @@
    -classpath c:\aspectj1.0\lib\aspectjrt.jar \
     -extdirs c:\jdk1.2\jre\lib\ext
             -argfile jdk12system.lst
-          </pre></div></div><div class="qandaentry"><div class="question"><p><a name="q:assert"></a><b>5. </b>Does the <tt>ajc</tt> compiler support 
+          </pre></div></div><div class="qandaentry"><div class="question"><p><a name="q:assert"></a><b>6. </b>Does the <tt>ajc</tt> compiler support 
         the <tt>assert</tt> keyword in Java 1.4?
-          </p></div><div class="answer"><p><a name="d0e1030"></a><b></b>Yes. As with <tt>Javac</tt>,
+          </p></div><div class="answer"><p><a name="d0e1041"></a><b></b>Yes. As with <tt>Javac</tt>,
           use the <tt>-source 1.4</tt> option as described
           in the
             <a href="devguide/index.html" target="_top">
               Development Environment Guide</a>
             <a href="devguide/ajc-ref.html" target="_top">
               Reference for ajc</a>.
-          </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:generics"></a><b>6. </b>Does the <tt>ajc</tt> compiler support 
+          </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:generics"></a><b>7. </b>Does the <tt>ajc</tt> compiler support 
         generics and the other new language features of Java 5?
-          </p></div><div class="answer"><p><a name="d0e1052"></a><b></b>Yes. As with <tt>Javac</tt>,
-          use the <tt>-source 1.5</tt> option as described
+          </p></div><div class="answer"><p><a name="d0e1063"></a><b></b>Yes. As with <tt>Javac</tt>,
+          use the <tt>-1.5</tt> option as described
           in the
             <a href="devguide/index.html" target="_top">
               Development Environment Guide</a>
             <a href="devguide/ajc-ref.html" target="_top">
               Reference for ajc</a>.
-          </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:versionCompatibility"></a><b>7. </b>Will aspects work with different versions of the compiler/weaver and runtime?
-          </p></div><div class="answer"><p><a name="d0e1071"></a><b></b>Yes.  Both <tt>ajc</tt> and 
+          </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:versionCompatibility"></a><b>8. </b>Will aspects work with different versions of the compiler/weaver and runtime?
+          </p></div><div class="answer"><p><a name="d0e1082"></a><b></b>Yes.  Both <tt>ajc</tt> and 
 			  <tt>aspectjrt.jar</tt> should work with versions
 			  of aspect code and libraries back to AspectJ 1.2.1. 
 			  Any aspects should be deployed
@@ -1195,14 +1215,14 @@
               Deployment notes</a> section on 
             <a href="devguide/versionCompatibility.html" target="_top">
 				Version compatibility</a>.
-			</p></div></div><div class="qandaentry"><div class="question"><p><a name="q:msjvm"></a><b>8. </b>Are there any issues using AspectJ with the Microsoft
+			</p></div></div><div class="qandaentry"><div class="question"><p><a name="q:msjvm"></a><b>9. </b>Are there any issues using AspectJ with the Microsoft
             JVM?
-          </p></div><div class="answer"><p><a name="d0e1099"></a><b></b>Since AspectJ requires Java 2 or later, it will not run on the
+          </p></div><div class="answer"><p><a name="d0e1110"></a><b></b>Since AspectJ requires Java 2 or later, it will not run on the
             Microsoft JVM, which does not support Java 2.
-          </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:javacbytecode"></a><b>9. </b>Does <tt>ajc</tt> rely
+          </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:javacbytecode"></a><b>10. </b>Does <tt>ajc</tt> rely
             on <tt>javac</tt> for generating Java bytecode
             (<tt>.class</tt>) files?
-          </p></div><div class="answer"><p><a name="d0e1115"></a><b></b> No.  Some previous versions of AspectJ had this requirement.
+          </p></div><div class="answer"><p><a name="d0e1126"></a><b></b> No.  Some previous versions of AspectJ had this requirement.
           In AspectJ 1.0, <tt>javac</tt> can still be used as
           <tt>ajc</tt> back end by using the
           <tt>-usejavac</tt> flag.  You can also run <tt>ajc</tt>
@@ -1210,9 +1230,9 @@
           (<tt>.java</tt>) files to be compiled using
           <tt>javac</tt> or another java compiler.
           Neither option is supported in AspectJ 1.1.
-          </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:parsergenerators"></a><b>10. </b>
+          </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:parsergenerators"></a><b>11. </b>
             I noticed the AspectJ compiler doesn't use a parser generator.  Why is that?
-          </p></div><div class="answer"><p><a name="d0e1140"></a><b></b>In AspectJ 1.0,
+          </p></div><div class="answer"><p><a name="d0e1151"></a><b></b>In AspectJ 1.0,
           the PARSER for ajc is written by hand.  This choice was made with full 
           awareness of the generator tools out there.  (Jim had for example used 
           the excellent javacc tool for building the parser for JPython (now Jython)).  
@@ -1222,18 +1242,18 @@
           very readable and writable by humans.
           </p><p>
             Antlr and javacc did not really suit the project:
-          </p><div class="itemizedlist"><ul><li><p><a name="d0e1146"></a>
+          </p><div class="itemizedlist"><ul><li><p><a name="d0e1157"></a>
             Antlr's support for unicode in the lexer is still immature and this makes 
             using it with Java challenging.  This was an even bigger issue 3 years ago 
             when we started on the Java implementation of ajc.
-              </p></li><li><p><a name="d0e1149"></a>
+              </p></li><li><p><a name="d0e1160"></a>
             While javacc is freely available, it is not Open Source.  Depending on a 
             closed-source tool to build an Open Source compiler would reduce some 
             of the transparency and control of open-source.
               </p></li></ul></div><p>
           There were also several things that were easier to implement with 
           a hand-written parser than with any of the exiting tools.
-          </p><div class="itemizedlist"><ul><li><p><a name="d0e1155"></a>
+          </p><div class="itemizedlist"><ul><li><p><a name="d0e1166"></a>
             Semi-keywords -- it's important to us that 
             "every legal Java program is also a legal AspectJ program."  
             This wouldn't be true if we made 'before' and 'call' full keywords in 
@@ -1241,15 +1261,15 @@
             hand-written parser.  (Note: ajc-1.0.x handles 'aspect' and 'pointcut' 
             slightly specially which can break a few unusual pure Java programs.  
             This is a compiler limitation that will be fixed in a future release.)
-              </p></li><li><p><a name="d0e1158"></a>
+              </p></li><li><p><a name="d0e1169"></a>
             Deprecated syntax warnings -- the syntax of AspectJ 
             changed many times from version 0.2 to the 1.0 release.  It was easier 
             to provide helpful warning messages for these changes with our 
             hand-written parser.
-              </p></li><li><p><a name="d0e1161"></a>
+              </p></li><li><p><a name="d0e1172"></a>
             Grammar modularity -- We like being able to have 
             AspectJParser extend JavaParser.
-              </p></li><li><p><a name="d0e1164"></a> 
+              </p></li><li><p><a name="d0e1175"></a> 
             Part of the grammar for AspectJ is extremely hard for existing tools to 
             capture. This is the type pattern syntax, i.e. "com.xerox..*.*(..)".  
             The sort of case that gives standard parser generators fits is something 
@@ -1262,7 +1282,7 @@
               the language.
               </p></li></ul></div></div></div></div><div class="qandadiv"><h3 class="title"><a name="devtools"></a>9 Integrating AspectJ into your development environment</h3><div class="qandaentry"><div class="question"><p><a name="q:knowWhenAspectsAffectClasses"></a><b>1. </b>How do I know which aspects affect a class when looking
             at that class's source code?
-          </p></div><div class="answer"><p><a name="d0e1176"></a><b></b>When you are working with the IDE support, you can get an
+          </p></div><div class="answer"><p><a name="d0e1187"></a><b></b>When you are working with the IDE support, you can get an
             understanding of which aspects affect any class.
             This enables AspectJ programmers to get the benefits of
             modularizing crosscutting concerns while still having immediate
@@ -1316,7 +1336,7 @@
                see <a href="#q:seeingjoinpoints">Q:I don't understand what join points exist.  How can I see them?</a>
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:idesupport"></a><b>2. </b>What kind of IDE support is available for developing
             AspectJ programs?
-          </p></div><div class="answer"><p><a name="d0e1234"></a><b></b>See <a href="#q:integrateWithDevTools">Q: How well does AspectJ integrate with existing Java development tools?</a></p></div></div><div class="qandaentry"><div class="question"><p><a name="q:idesupportplans"></a><b>3. </b>What plans are there to support my IDE?</p></div><div class="answer"><p><a name="d0e1242"></a><b></b>
+          </p></div><div class="answer"><p><a name="d0e1245"></a><b></b>See <a href="#q:integrateWithDevTools">Q: How well does AspectJ integrate with existing Java development tools?</a></p></div></div><div class="qandaentry"><div class="question"><p><a name="q:idesupportplans"></a><b>3. </b>What plans are there to support my IDE?</p></div><div class="answer"><p><a name="d0e1253"></a><b></b>
             The AspectJ team directly provided components for JBuilder, Forte,
             and Emacs and supported the open-source AspectJ plugin project
             at <a href="http://eclipse.org/ajdt" target="_top">http://eclipse.org/ajdt</a>
@@ -1327,21 +1347,21 @@
             Here are the IDE's where we know people have expressed interest,
             so interested developer may want to join with others in their
             developer communities to build the integration.
-            <div class="itemizedlist"><p><b></b></p><ul><li><p><a name="d0e1250"></a>IDEA/IntelliJ has an enthusiastic community and 
+            <div class="itemizedlist"><p><b></b></p><ul><li><p><a name="d0e1261"></a>IDEA/IntelliJ has an enthusiastic community and 
                 the developers are working on an extensibility API
                 - <a href="http://intellij.com" target="_top">http://intellij.com</a>
-                </p></li><li><p><a name="d0e1256"></a>jEdit comes from a very active open-source community.</p></li><li><p><a name="d0e1259"></a>
+                </p></li><li><p><a name="d0e1267"></a>jEdit comes from a very active open-source community.</p></li><li><p><a name="d0e1270"></a>
                   Oracle JDeveloper is supported at
                   <a href="https://jdeveloperaop.dev.java.net/" target="_top">
 					https://jdeveloperaop.dev.java.net/</a>.
-                </p></li><li><p><a name="d0e1265"></a>Some have suggested Codeguide from Omnicore
+                </p></li><li><p><a name="d0e1276"></a>Some have suggested Codeguide from Omnicore
 	         <a href="http://www.omnicore.com" target="_top">http://www.omnicore.com/</a>
                 </p></li></ul></div>
           </p><p>
             For questions on AJDE, join the developer's list
             <tt>aspectj-dev@eclipse.org</tt>.
             For questions on the current IDE integrations, contact those projects.
-          </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:portingajde"></a><b>4. </b>Can I port AJDE support to my development environment?</p></div><div class="answer"><p><a name="d0e1281"></a><b></b>Yes. The core AJDE API is extensible and the source code is
+          </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:portingajde"></a><b>4. </b>Can I port AJDE support to my development environment?</p></div><div class="answer"><p><a name="d0e1292"></a><b></b>Yes. The core AJDE API is extensible and the source code is
             available for download. Start by studying the sources
             for the existing IDE support linked off the AspectJ site
             <a href="http://eclipse.org/aspectj" target="_top">http://eclipse.org/aspectj</a>.
@@ -1349,7 +1369,7 @@
         remove them for production builds.  How can I set up the build
         system so they are unpluggable?  And so I use <tt>javac</tt>
         in my production build?
-          </p></div><div class="answer"><p><a name="d0e1294"></a><b></b>
+          </p></div><div class="answer"><p><a name="d0e1305"></a><b></b>
           If you are using development-time-only aspects - aspects that only 
           exist when you are developing the code, not when you ship it - 
           you can use implement a hybrid build process by listing
@@ -1380,7 +1400,7 @@
             jikes @production.lst
           </pre></div></div><div class="qandaentry"><div class="question"><p><a name="q:stepwiseBuilds"></a><b>6. </b>
             We compile module jars and then assemble them.  Can we continue this with AspectJ?
-          </p></div><div class="answer"><p><a name="d0e1323"></a><b></b>
+          </p></div><div class="answer"><p><a name="d0e1334"></a><b></b>
 		Aspects apply to everything in a namespace, as if everything is 
 		compiled together.
 		Sometimes you can break the build down into separate steps without breaking 
@@ -1446,7 +1466,7 @@
 		the build process and might cause problems.
 		</p></div></div><div class="qandaentry"><div class="question"><p><a name="q:incrementalModuleCompiles"></a><b>7. </b>We use modules and would like to use incremental compilation.
                 Is that possible?
-          </p></div><div class="answer"><p><a name="d0e1346"></a><b></b>
+          </p></div><div class="answer"><p><a name="d0e1357"></a><b></b>
 			Just incrementally-compile the whole system.
 			Specify to ajc the modules as multiple source roots  
 			(or input jars if you are weaving libraries).
@@ -1473,7 +1493,7 @@
           </p></div></div></div><div class="qandadiv"><h3 class="title"><a name="notes"></a>10 Programming notes and tips</h3><div class="qandaentry"><div class="question"><p><a name="q:methodsignatures"></a><b>1. </b>Is it possible to change methods by introducing keywords (like
             <tt>synchronized</tt>), adding parameters, 
                      or changing the "throws" clause?
-          </p></div><div class="answer"><p><a name="d0e1366"></a><b></b>AspectJ does not enable you to change the signature of a method,
+          </p></div><div class="answer"><p><a name="d0e1377"></a><b></b>AspectJ does not enable you to change the signature of a method,
             but you can (by express declaration) work around some 
             limits imposed by the signature.  You can convert a checked exception to
             unchecked using <tt>declare soft</tt>, privileged aspects
@@ -1493,7 +1513,7 @@
             </a>.
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:seeingjoinpoints"></a><b>2. </b>
             I don't understand what join points exist.  How can I see them?
-          </p></div><div class="answer"><p><a name="d0e1388"></a><b></b>
+          </p></div><div class="answer"><p><a name="d0e1399"></a><b></b>
           You can trace them using using an aspect.
            For example, you can start logging at a particular method call and 
 	   see what join points occur after the call and before it returns.
@@ -1639,7 +1659,7 @@
           	<tt>aspect TraceMyJoinPoints dominates *</tt>.
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:comparecallandexecution"></a><b>3. </b>
             What is the difference between call and execution join points?
-          </p></div><div class="answer"><p><a name="d0e1413"></a><b></b>
+          </p></div><div class="answer"><p><a name="d0e1424"></a><b></b>
 	    Briefly, there are two interesting times when a constructor or method is
 	    run.  Those times are when it is called, and when it actually
 	    executes.
@@ -1710,7 +1730,7 @@
 	        reverse is true.
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:comparecflowandcflowbelow"></a><b>4. </b>
             What is the difference between cflow and cflowbelow?
-          </p></div><div class="answer"><p><a name="d0e1489"></a><b></b>
+          </p></div><div class="answer"><p><a name="d0e1500"></a><b></b>
 	    Both pick out all the join points in the control flow of
 	    the specified join points.
             They differ only in that the <tt>cflowbelow()</tt>
@@ -1718,7 +1738,7 @@
 	    specified, while <tt>cflow()</tt> does.
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:recursiveentrypoints"></a><b>5. </b>How do I say that I want the topmost entrypoint in a
 	        recursive call? How about the most-recent prior entrypoint?
-          </p></div><div class="answer"><p><a name="d0e1502"></a><b></b>This is best seen by way of example.
+          </p></div><div class="answer"><p><a name="d0e1513"></a><b></b>This is best seen by way of example.
 	Given a recursive call to <tt>int factorial(int)</tt>
 	  you can print the arguments for 
 	(a) the current and most-recent recursive call
@@ -1741,7 +1761,7 @@
           </pre></div></div><div class="qandaentry"><div class="question"><p><a name="q:initializationjoinpoints"></a><b>6. </b>What is the difference between constructor call, 
           constructor execution, initialization, and static 
           initialization join points?
-          </p></div><div class="answer"><p><a name="d0e1514"></a><b></b>Static initialization pertains to initialization of
+          </p></div><div class="answer"><p><a name="d0e1525"></a><b></b>Static initialization pertains to initialization of
           a class or interface type. Constructor call and execution
           are akin to method call, and initialization generalizes this and
           picks out the first constructor called.
@@ -1796,11 +1816,11 @@
         might prefer to use the <tt>initialization</tt> 
         pointcut designator.
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:adviseconstructors"></a><b>7. </b>How do I work with an object right when it is created?
-          </p></div><div class="answer"><p><a name="d0e1542"></a><b></b>
+          </p></div><div class="answer"><p><a name="d0e1553"></a><b></b>
           You can advise some form of constructor join point.
           Constructors are tricky in Java, and that's exposed in AspectJ.  
           Here are some rules of thumb:
-          <div class="itemizedlist"><ul><li><p><a name="d0e1546"></a>If you want the join point on the "outside" of object creation, 
+          <div class="itemizedlist"><ul><li><p><a name="d0e1557"></a>If you want the join point on the "outside" of object creation, 
               use after returning from call to the constructor:
               </p><pre class="programlisting">
     after() returning (Foo newlyCreatedObject): call(Foo.new(..)) { ... }
@@ -1808,13 +1828,13 @@
   You might be tempted to use "this" or "target" to expose the new object, but remember
   that if you're on the "outside" of object creation, the object itself might not be
   created yet... it only exists "on the way out", when you return the object.
-              </p></li><li><p><a name="d0e1553"></a>If you want the join point inside a particular constructor, use:
+              </p></li><li><p><a name="d0e1564"></a>If you want the join point inside a particular constructor, use:
               </p><pre class="programlisting">
     after(Foo newlyCreatedObject) returning: this(newlyCreatedObject) &amp;&amp; execution(Foo.new(..)) { ... }
               </pre><p>
     Remember, though, that if you use "before" advice here, the body of the constructor
     will not have run, and so the object may be somewhat uninitialized.
-              </p></li><li><p><a name="d0e1560"></a>
+              </p></li><li><p><a name="d0e1571"></a>
     In the rare case that there are all sorts of constructors for the object that call 
     each other with <tt>this(...)</tt> and you want exactly one join point 
     for each initialization of <tt>Foo</tt>, regardless of the path of 
@@ -1824,7 +1844,7 @@
               </pre></li></ul></div>
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:andingpointcuts"></a><b>8. </b>
             I want advice to run at two join points, but it doesn't run at all.  What gives?
-          </p></div><div class="answer"><p><a name="d0e1576"></a><b></b>
+          </p></div><div class="answer"><p><a name="d0e1587"></a><b></b>
 	  This usually reflects both a conceptual error and a programming mistake.
 	  Most likely you want to do something like "run the advice for all 
 	public and private calls," and the code looks something like this:
@@ -1843,7 +1863,7 @@
             Then the advice will run at the join point.
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:staticfieldreferences"></a><b>9. </b>
             How do I refer to a static field when my advice crosscuts multiple classes?
-          </p></div><div class="answer"><p><a name="d0e1597"></a><b></b>There is no way in advice to refer to the type of the
+          </p></div><div class="answer"><p><a name="d0e1608"></a><b></b>There is no way in advice to refer to the type of the
 	  code executing in a static context except by specification.
 	  This makes it impossible to refer to static members using 
 	  runtime information.
@@ -1855,7 +1875,7 @@
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:interfacesastypepatterns"></a><b>10. </b>I would like to reuse a type pattern, e.g., to
 	write advice that is limited to a certain set of classes.
 	Do I have to retype it each time?
-          </p></div><div class="answer"><p><a name="d0e1606"></a><b></b>No.  You can declare that all the types implement
+          </p></div><div class="answer"><p><a name="d0e1617"></a><b></b>No.  You can declare that all the types implement
 	an interface you define, and then use the interface type in
 	your program.  For example:
           </p><pre class="programlisting">
@@ -1883,12 +1903,12 @@
 aspect MyMarker extends MarkerExample {
   declare parents: com.mycompany.whatever..* implements Marked;
 }
-          </pre></div></div><div class="qandaentry"><div class="question"><p><a name="q:exampleprograms"></a><b>11. </b>Where do I find example programs and how-to's?</p></div><div class="answer"><p><a name="d0e1615"></a><b></b>There are a number of places to find sample code
+          </pre></div></div><div class="qandaentry"><div class="question"><p><a name="q:exampleprograms"></a><b>11. </b>Where do I find example programs and how-to's?</p></div><div class="answer"><p><a name="d0e1626"></a><b></b>There are a number of places to find sample code
            and instructions for using AspectJ with other programming tools.
-		  <div class="orderedlist"><ol type="1"><li><p><a name="d0e1619"></a>
+		  <div class="orderedlist"><ol type="1"><li><p><a name="d0e1630"></a>
 			The AspectJ release includes examples in its 
           	<tt>doc</tt> directory.
-			</p></li><li><p><a name="d0e1625"></a>
+			</p></li><li><p><a name="d0e1636"></a>
            There is a community repository of sample code and tutorials
            in the AspectJ CVS tree  
            <tt>docs</tt> module <tt>sandbox</tt> directory.
@@ -1896,13 +1916,13 @@
            <a href="http://dev.eclipse.org/viewcvs/indextech.cgi/~checkout~/aspectj-home/sample-code.html" target="_top">
 		   here
            </a>.
-			</p></li><li><p><a name="d0e1637"></a>
+			</p></li><li><p><a name="d0e1648"></a>
 			The <tt>teaching</tt> directory of the 
 			<tt>docs</tt> module contains public materials 
 			the AspectJ committers use for presentations, some of 
 			which include example code.  To access CVS, see
 			<a href="#q:buildingsource">Q:How do I get and compile the source code for AspectJ?</a>.			
-			</p></li><li><p><a name="d0e1648"></a>
+			</p></li><li><p><a name="d0e1659"></a>
 			The archives for the user and developer mailing lists 
 			contain many good examples.  To search the archives, see
 			<a href="#q:searchingsite">Q:How can I search the email archives or the web site?</a>.
@@ -1912,7 +1932,7 @@
            correct.  However, code found in our CVS tree might not have 
            been tested thoroughly, and code from the mailing lists might
            be untested or use older versions of the language.
-          </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:aspectlibraries"></a><b>12. </b>Are aspect libraries available?</p></div><div class="answer"><p><a name="d0e1658"></a><b></b>Some libraries are distributed in the release under the
+          </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:aspectlibraries"></a><b>12. </b>Are aspect libraries available?</p></div><div class="answer"><p><a name="d0e1669"></a><b></b>Some libraries are distributed in the release under the
             examples folder in the distribution.
             These are "libraries" in the sense that they are reusable,
             but they are delivered in source form. 
@@ -1930,7 +1950,7 @@
               				Reference for ajc</a>.
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:serialversionuid"></a><b>13. </b>How does <tt>ajc</tt> interact with the
             <tt>serialVersionUID</tt>?
-          </p></div><div class="answer"><p><a name="d0e1684"></a><b></b>The current version of <tt>ajc</tt> can change the
+          </p></div><div class="answer"><p><a name="d0e1695"></a><b></b>The current version of <tt>ajc</tt> can change the
             <tt>serialVersionUID</tt> of generated
             <tt>.class</tt> files as a result of weaving in advice.
             This is an important fact that developers using both aspects and
@@ -1946,7 +1966,7 @@
             <a href="http://jcp.org/jsr/detail/057.jsp" target="_top">
               Long-Term Persistence for JavaBeans Specification
             </a>.
-          </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:applets"></a><b>14. </b>How can I use AspectJ with applets?</p></div><div class="answer"><p><a name="d0e1711"></a><b></b>
+          </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:applets"></a><b>14. </b>How can I use AspectJ with applets?</p></div><div class="answer"><p><a name="d0e1722"></a><b></b>
             Just include the aspectjrt.jar as a required archive.  
             For example, here is the HTML code for an HTML editor 
             applet that contains some debugging aspects:
@@ -1972,7 +1992,7 @@
           <a href="http://java.sun.com/j2se/1.4.1/manual_install_linux.html" target="_top">
           http://java.sun.com/j2se/1.4.1/manual_install_linux.html</a>.
           (Thanks to Chris Bartling for this answer.)
-          </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:typeoblivious"></a><b>15. </b>How can I specify types for advice that captures primitives, void, etc.?</p></div><div class="answer"><p><a name="d0e1725"></a><b></b>
+          </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:typeoblivious"></a><b>15. </b>How can I specify types for advice that captures primitives, void, etc.?</p></div><div class="answer"><p><a name="d0e1736"></a><b></b>
 	In some cases, AspectJ allows conversion from values of primitive types to Object, 
 	so that highly polymorphic advice may be written.  This works if an advice parameter 
 	or the return type for around is typed to Object.  So:
@@ -2000,7 +2020,7 @@
             <a href="progguide/semantics-pointcuts.html" target="_top">
               semantics section "Context Exposure"
             </a>.
-          </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:versioninfo"></a><b>16. </b>How do I detect which version I am running?</p></div><div class="answer"><p><a name="d0e1743"></a><b></b>The <tt>ajc</tt>
+          </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:versioninfo"></a><b>16. </b>How do I detect which version I am running?</p></div><div class="answer"><p><a name="d0e1754"></a><b></b>The <tt>ajc</tt>
           compiler emits the version when passed the
           <tt>-version</tt> flag as an argument.
           </p><p>To programmatically
@@ -2022,7 +2042,7 @@
           <tt>org.aspectj.bridge.Version</tt>.
           </p></div></div></div><div class="qandadiv"><h3 class="title"><a name="problems"></a>11 Common Problems</h3><div class="qandaentry"><div class="question"><p><a name="q:infiniterecursion"></a><b>1. </b>When I run, I get a <tt>StackOverflowError</tt>
         (or a long stack trace or no output whatsoever)
-          </p></div><div class="answer"><p><a name="d0e1788"></a><b></b>Most likely this is a case of infinite recursion, 
+          </p></div><div class="answer"><p><a name="d0e1799"></a><b></b>Most likely this is a case of infinite recursion, 
           where advice is advising itself. It presents as a 
           <tt>StackOverflowError</tt>
           or silence as the VM exhausts itself in the recursion.
@@ -2085,7 +2105,7 @@
         target.dirtyFlag = true; // compile fails here
     }
 }
-          </pre></div><div class="answer"><p><a name="d0e1839"></a><b></b>You need a type to refer to any member, field or method.
+          </pre></div><div class="answer"><p><a name="d0e1850"></a><b></b>You need a type to refer to any member, field or method.
           It's generally better to introduce onto an interface and
           declare classes to implement the interface, which permits you
           to use the interface type in advice formals.
@@ -2102,7 +2122,7 @@
 }
           </pre></div></div><div class="qandaentry"><div class="question"><p><a name="q:ajcoom"></a><b>3. </b>The AspectJ compiler aborts with an OutOfMemoryError when
           compiling many classes. How can I fix this?
-          </p></div><div class="answer"><p><a name="d0e1848"></a><b></b><tt>ajc</tt> can use more memory than a javac
+          </p></div><div class="answer"><p><a name="d0e1859"></a><b></b><tt>ajc</tt> can use more memory than a javac
            compile of the corresponding pure-java sources when aspects
            are added to the mix.  You'll need to increase the memory
            available.
@@ -2119,7 +2139,7 @@
           for the IDE to determine how to increase available memory.
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:duplicateclass"></a><b>4. </b>
             Why do I get a message that my class is already defined?
-          </p></div><div class="answer"><p><a name="d0e1878"></a><b></b>
+          </p></div><div class="answer"><p><a name="d0e1889"></a><b></b>
             Most commonly, a source file was specified twice on the command line
             (e.g., directly and by a *.java entry in a .lst file).
             However, sometimes you have defined a class in two files in the
@@ -2128,7 +2148,7 @@
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:ajcrecompile"></a><b>5. </b>
             <tt>ajc</tt> recompiles all files every time. 
           How can I make it recompile only the files that have changed?
-          </p></div><div class="answer"><p><a name="d0e1888"></a><b></b>
+          </p></div><div class="answer"><p><a name="d0e1899"></a><b></b>
             <tt>ajc</tt> 1.0 does not support incremental
           compilation, but the 1.1 release does when passed the 
           	<tt>-incremental</tt> option.  It may still recompile
@@ -2140,7 +2160,7 @@
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:ajcjvm"></a><b>6. </b>
             <tt>ajc</tt> is using the wrong JVM. How do I
             fix it?
-          </p></div><div class="answer"><p><a name="d0e1904"></a><b></b>The easiest way to fix this is to re-install
+          </p></div><div class="answer"><p><a name="d0e1915"></a><b></b>The easiest way to fix this is to re-install
             <tt>ajc</tt> (using the same <tt>.class</tt> or
             <tt>.exe</tt> file that you originally downloaded) and
             this time make sure to tell it to use the desired JDK (typically
@@ -2151,7 +2171,7 @@
             script.
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:idebalkingataspects"></a><b>7. </b>My IDE is trying to parse AspectJ files which makes my project unusable.
                 What can I do?
-          </p></div><div class="answer"><p><a name="d0e1928"></a><b></b>
+          </p></div><div class="answer"><p><a name="d0e1939"></a><b></b>
         When working with an unsupported IDE that objects to the syntax of 
         AspectJ source files (and, e.g., automatically gathers them 
         in a source tree as Java files based on the .java extension), 
@@ -2163,7 +2183,7 @@
         edit your AspectJ files and navigate the crosscutting structure.)
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:idememory"></a><b>8. </b>I used to be able to compile my program in my IDE, but when I
                 use AJDE, I run out of memory (or it goes really slow).
-          </p></div><div class="answer"><p><a name="d0e1935"></a><b></b>
+          </p></div><div class="answer"><p><a name="d0e1946"></a><b></b>
         The ajc compiler does more analysis than (e.g.,) javac,
         and AJDE may in some IDE's hold a copy of the structure tree until the
         next tree is available from the compile process.  Both mean that you may
@@ -2192,14 +2212,14 @@
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:noaspectbound"></a><b>9. </b>
             When I run, I get a <tt>NoAspectBoundException</tt> or a
             ClassNotFound message for <tt>NoAspectBoundException</tt>.
-          </p></div><div class="answer"><p><a name="d0e1964"></a><b></b>This happens when an aspect is not associated with an object
+          </p></div><div class="answer"><p><a name="d0e1975"></a><b></b>This happens when an aspect is not associated with an object
         		that is being advised.  We have seen this happen two ways:
-			  <div class="itemizedlist"><ul><li><p><a name="d0e1968"></a>You get a ClassNotFound message for 
+			  <div class="itemizedlist"><ul><li><p><a name="d0e1979"></a>You get a ClassNotFound message for 
 				  	<tt>NoAspectBoundException</tt> when loading a 
 				  	class affected by aspects if <tt>aspectjrt.jar</tt> 
 				  	classes are not on the runtime classpath.   
         			To fix this, put the classes on the classpath.
-				  </p></li><li><p><a name="d0e1977"></a>
+				  </p></li><li><p><a name="d0e1988"></a>
 				  	You can get a <tt>NoAspectBoundException</tt> when
 				  	there is a cycle in aspect initialization or static 
 				  	initialization, most commonly when an aspect advises
@@ -2218,7 +2238,7 @@
 				  </p></li></ul></div>
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:stacktraces"></a><b>10. </b>
             My stack traces don't make sense.  What gives?
-          </p></div><div class="answer"><p><a name="d0e2003"></a><b></b>In 1.0, unless you are using the <tt>ajdb</tt> debugger, 
+          </p></div><div class="answer"><p><a name="d0e2014"></a><b></b>In 1.0, unless you are using the <tt>ajdb</tt> debugger, 
           stack traces may
           have synthetic methods in the stack, and the line numbers may
           not track your source code.  The 
@@ -2232,7 +2252,7 @@
           of extra stack frames for call-backs.
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:advicenotrunning"></a><b>11. </b>
             My advice is not running (or running twice), and I don't know why.
-          </p></div><div class="answer"><p><a name="d0e2021"></a><b></b>
+          </p></div><div class="answer"><p><a name="d0e2032"></a><b></b>
           	When advice is not running,   
           	there is probably a problem in the pointcut.
           Sometimes users specify pointcuts that 
@@ -2275,7 +2295,7 @@
           it may be a bug.  See <a href="#q:bugreports">Q:How do I submit a bug report?</a>.
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:adviceOnOveriddenMethods"></a><b>12. </b>
             My advice runs for each overridden method!
-            </p></div><div class="answer"><p><a name="d0e2048"></a><b></b>Most likely you are advising the method execution join
+            </p></div><div class="answer"><p><a name="d0e2059"></a><b></b>Most likely you are advising the method execution join
            	point and specifying the defining signature.
            	Since all overriding methods share this signature,
            	the advice runs for each method executed.
@@ -2287,11 +2307,11 @@
           	out only the initial method-execution.
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:tejpsp"></a><b>13. </b>
             I don't understand when thisEnclosingJoinPointStaticPart is available.
-          </p></div><div class="answer"><p><a name="d0e2066"></a><b></b>
+          </p></div><div class="answer"><p><a name="d0e2077"></a><b></b>
           	<tt>thisEnclosingJoinPointStaticPart</tt> is a special 
           	variable available in the context of advice to refer to the
           	join point, if any, lexically enclosing the current join point:
-          	<div class="table"><p><a name="d0e2072"></a><b>Table 1. thisEnclosingJoinPointStaticPart</b></p><table summary="thisEnclosingJoinPointStaticPart" border="1"><colgroup><col><col></colgroup><tbody><tr><td>One of these...</td><td>will be tEJSP for each of these:</td></tr><tr><td>
+          	<div class="table"><p><a name="d0e2083"></a><b>Table 1. thisEnclosingJoinPointStaticPart</b></p><table summary="thisEnclosingJoinPointStaticPart" border="1"><colgroup><col><col></colgroup><tbody><tr><td>One of these...</td><td>will be tEJSP for each of these:</td></tr><tr><td>
 						constructor-execution, method-execution, 
 						advice execution, initialization,
   						pre-initialization, static initialization
@@ -2304,14 +2324,14 @@
   			as the handler itself.
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:packagedeclares"></a><b>14. </b>
             I declared a member on a class with package access, but other classes in the package cannot see it.
-          </p></div><div class="answer"><p><a name="d0e2095"></a><b></b>When declaring parents on other types from an aspect, package access only
+          </p></div><div class="answer"><p><a name="d0e2106"></a><b></b>When declaring parents on other types from an aspect, package access only
 	applies to code the implementation controls.  For AspectJ 1.0, that is the set of files
 	passed to the compiler.  That means other classes not compiled with the aspect will not
 	be able to access the aspect-declared members even if they are in the same package.
 	The only way for classes outside the control of the implementation to access aspect-declared
 	members is to declare them public.
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:interfaceDeclarations"></a><b>15. </b>I declared a member on a interface, but javac does not see it.
-          </p></div><div class="answer"><p><a name="d0e2102"></a><b></b>
+          </p></div><div class="answer"><p><a name="d0e2113"></a><b></b>
           	You have to compile all the top-level implementating
           	classes of the interface using <tt>ajc</tt>.
             From an email by Jim Hugunin on the requirements for AspectJ 1.1 to 
@@ -2325,7 +2345,7 @@
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:cantfindjavac"></a><b>16. </b>
             <tt>ajc</tt> 1.0 complains that it can't find
             <tt>javac</tt>. What's wrong?
-          </p></div><div class="answer"><p><a name="d0e2120"></a><b></b>
+          </p></div><div class="answer"><p><a name="d0e2131"></a><b></b>
             <tt>ajc</tt> 1.0 does not try to locate
             <tt>javac</tt> in your path: it uses the
             <tt>javac</tt> classes directly. In JDK 1.2 and 1.3 these
@@ -2339,7 +2359,7 @@
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:ajdocneeds13"></a><b>17. </b>
           I'm running under 1.4, but <tt>ajdoc</tt> asks for 1.3 
           (or throws IllegalAccessError for HtmlWriter.configuration)
-          </p></div><div class="answer"><p><a name="d0e2154"></a><b></b>
+          </p></div><div class="answer"><p><a name="d0e2165"></a><b></b>
           The 1.0 implementation of <tt>ajdoc</tt> uses
 	      specific javadoc classes in the J2SE 1.3 tools.jar.
 	      We are working on addressing this limitation, but in the interim
@@ -2359,7 +2379,7 @@
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:compileunits"></a><b>18. </b>I set up different files to my compiles to change what
                 the aspects see, but now I don't
 	        understand how the aspects are working.
-          </p></div><div class="answer"><p><a name="d0e2168"></a><b></b>It is a bad practice to use the compilation unit
+          </p></div><div class="answer"><p><a name="d0e2179"></a><b></b>It is a bad practice to use the compilation unit
 	   to control crosscutting.  Aspects and pointcuts especially
             should be written to specify crosscutting precisely.	
             Aspects will behave the same when you add files if
@@ -2370,7 +2390,7 @@
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:readingpreprocessedcode"></a><b>19. </b>I'm reading the code generated by <tt>ajc</tt> 1.0
         in <tt>-preprocess</tt> mode, and it seems like it would not
         work (or "like it works this way").
-          </p></div><div class="answer"><p><a name="d0e2181"></a><b></b>The generated code can be difficult for a human to read and
+          </p></div><div class="answer"><p><a name="d0e2192"></a><b></b>The generated code can be difficult for a human to read and
           understand.  The compiler uses implementation techniques which might
           not be apparent.  To determine if the code is behaving correctly, you
           should write and run a program that attempts to provoke the error you
@@ -2380,7 +2400,7 @@
           AspectJ <a href="progguide/index.html" target="_top">Programming Guide</a>.
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:injection"></a><b>20. </b>I've heard AspectJ can generate or inject code into my code.  
 	        Is this true?
-          </p></div><div class="answer"><p><a name="d0e2191"></a><b></b>
+          </p></div><div class="answer"><p><a name="d0e2202"></a><b></b>
             This is a misconception spawned from the early implementation.
           </p><p>
 	  AspectJ does not "inject" or "generate" code.  In AspectJ the
@@ -2402,13 +2422,13 @@
           it makes it much easier to understand the semantics of advice on
           cflow pointcuts.
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:newjoinpoints"></a><b>21. </b>Why can't AspectJ pick out local variables (or array elements or ...)?
-          </p></div><div class="answer"><p><a name="d0e2206"></a><b></b>Users have sometimes wanted AspectJ to pick out 
+          </p></div><div class="answer"><p><a name="d0e2217"></a><b></b>Users have sometimes wanted AspectJ to pick out 
           	many more join points, including
-          	<div class="itemizedlist"><ul><li><p><a name="d0e2210"></a>method-local field access</p></li><li><p><a name="d0e2213"></a>array-element access</p></li><li><p><a name="d0e2216"></a>loop iteration</p></li><li><p><a name="d0e2219"></a>method parameter evaluation</p></li></ul></div>
+          	<div class="itemizedlist"><ul><li><p><a name="d0e2221"></a>method-local field access</p></li><li><p><a name="d0e2224"></a>array-element access</p></li><li><p><a name="d0e2227"></a>loop iteration</p></li><li><p><a name="d0e2230"></a>method parameter evaluation</p></li></ul></div>
           	Most of these have turned out not to make sense,
           	for a variety of reasons:
-          	<div class="itemizedlist"><ul><li><p><a name="d0e2224"></a>it is not a commonly-understood unit for Java programmers</p></li><li><p><a name="d0e2227"></a>there are very few use-cases for advice on the join point</p></li><li><p><a name="d0e2230"></a>a seemingly-insignificant change to the underlying program
-          			      causes a change in the join point</p></li><li><p><a name="d0e2233"></a>pointcuts can't really distinguish the join point in question</p></li><li><p><a name="d0e2236"></a>the join point would differ too much for different 
+          	<div class="itemizedlist"><ul><li><p><a name="d0e2235"></a>it is not a commonly-understood unit for Java programmers</p></li><li><p><a name="d0e2238"></a>there are very few use-cases for advice on the join point</p></li><li><p><a name="d0e2241"></a>a seemingly-insignificant change to the underlying program
+          			      causes a change in the join point</p></li><li><p><a name="d0e2244"></a>pointcuts can't really distinguish the join point in question</p></li><li><p><a name="d0e2247"></a>the join point would differ too much for different 
           			implementations of AspectJ, or would only be implementable
           			in one way
           			</p></li></ul></div>
@@ -2420,7 +2440,7 @@
 			  The pointcut <tt>call(void run())</tt> 
 			  won't pick out a call using reflection, like
 			  <tt>((Method)run).invoke(null, args)</tt>.
-          </p></div><div class="answer"><p><a name="d0e2250"></a><b></b>The pointcut 
+          </p></div><div class="answer"><p><a name="d0e2261"></a><b></b>The pointcut 
 			  <tt>execution(void run())</tt> will
 			  work. The call pointcut doesn't work because 
 			  <tt>Method.invoke(..)</tt> is the Java method-call,
@@ -2438,14 +2458,14 @@
         System.out.println("before reflective call " + thisJoinPoint); 
     }
 }
-          </pre></div></div><div class="qandaentry"><div class="question"><p><a name="q:currentbugs"></a><b>23. </b>What are the bugs now most affecting users?</p></div><div class="answer"><p><a name="d0e2268"></a><b></b>The bugs affecting the semantics of the language
+          </pre></div></div><div class="qandaentry"><div class="question"><p><a name="q:currentbugs"></a><b>23. </b>What are the bugs now most affecting users?</p></div><div class="answer"><p><a name="d0e2279"></a><b></b>The bugs affecting the semantics of the language
 			  are marked with the "info" keyword.  Find them with
 			  the query
 			  <a href="http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&amp;keywords=info" target="_top">
 						  http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&amp;keywords=info
 						  </a>
 		  </p></div></div></div><div class="qandadiv"><h3 class="title"><a name="aj11"></a>12 AspectJ 1.1 and eclipse.org</h3><div class="qandaentry"><div class="question"><p><a name="q:whyeclipse"></a><b>1. </b>Why did the AspectJ project move to eclipse.org?
-          </p></div><div class="answer"><p><a name="d0e2281"></a><b></b>From the message sent to users:
+          </p></div><div class="answer"><p><a name="d0e2292"></a><b></b>From the message sent to users:
           </p><p>
             AspectJ has come a long way -- the language has
             stabilized; there are a rapidly growing number of
@@ -2481,13 +2501,13 @@
             in the Java space. Once development moves to
             Eclipse.org, others will be able to contribute more easily.
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:eclipserequired"></a><b>2. </b>Do I have to download Eclipse to use AspectJ?
-          </p></div><div class="answer"><p><a name="d0e2296"></a><b></b>No.  The AspectJ tools download is completely self-contained
+          </p></div><div class="answer"><p><a name="d0e2307"></a><b></b>No.  The AspectJ tools download is completely self-contained
                 and does not require that you work in Eclipse.
                 For information on IDE support, see
                  <a href="#q:integrateWithDevTools">Q: How well does AspectJ integrate with existing Java development tools?</a>.
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:eclipseetc"></a><b>3. </b>What are the relationships between AspectJ, JDT, 
                 Eclipse, AJDT, and IDE support generally?
-          </p></div><div class="answer"><p><a name="d0e2305"></a><b></b>Eclipse is a software platform.
+          </p></div><div class="answer"><p><a name="d0e2316"></a><b></b>Eclipse is a software platform.
           </p><p>JDT is an eclipse project to support Java development.  
 			JDT has a Java compiler.
           </p><p>AspectJ 1.1 is built on Eclipse/JDT's Java compiler
@@ -2515,8 +2535,124 @@
           compliant Java compiler, and supports external projects 
           doing IDE integrations in Eclipse, Emacs, JBuilder, and NetBeans
           through a common API, AJDE.
-          </p></div></div></div><div class="qandadiv"><h3 class="title"><a name="Technology"></a>13 Understanding AspectJ Technology</h3><div class="qandaentry"><div class="question"><p><a name="q:implementation"></a><b>1. </b>Do I need to know how the compiler or weaver works?
-          </p></div><div class="answer"><p><a name="d0e2334"></a><b></b>Writing AspectJ programs only requires understanding the
+          </p></div></div></div><div class="qandadiv"><div class="qandaentry"><div class="question"><p><a name="q:aspectj5features"></a><b>1. </b>
+            What are the new features of AspectJ 5?
+          </p></div><div class="answer"><p><a name="d0e2343"></a><b></b>
+                All the new features are documented in the 
+                <a href="adk15notebook/index.html" target="_top">
+              AspectJ 5 Developer's Notebook</a>
+                and the 
+                <a href="devguide/index.html" target="_top">
+              AspectJ Development Environment Guide</a>.
+                To summarize:
+            </p><div class="itemizedlist"><ul><li><p><a name="d0e2353"></a>
+                    Java 5 support: as an extension to Java, AspectJ supports
+                    all the new language features of Java 5, including generics
+                    (parameterized types), autoboxing, covariant return types,
+                    enhanced for-loops, enums, varargs, and of course 
+                    annotations.
+				</p></li><li><p><a name="d0e2356"></a>
+                    Java 5 extensions: the AspectJ language has been extended
+                    to make use of Java 5 language features.
+                    <div class="itemizedlist"><ul><li><p><a name="d0e2360"></a>
+                            Generic aspects: an abstract aspect can be declared
+                            with a generic type parameter which can be used 
+                            in pointcuts and when declaring members on the aspect
+                            (but not when declaring members on other types).
+        				</p></li><li><p><a name="d0e2363"></a>
+                            Annotations: pointcuts can now pick out join points
+                            based on the associated annotations, annotation
+                            values can be bound in the same way that other
+                            context variables are bound at the join point,
+                            and annotations may be declared on other types in
+                            an aspect.
+        				</p></li></ul></div>                    
+				</p></li><li><p><a name="d0e2367"></a>
+                    Annotation-style aspects: AspectJ 5 integrates AspectWerkz-style
+                    aspects declared in annotations.  This permits aspects to 
+                    be written and compiled in pure-java code and woven using
+                    build-time or load-time weaving with the AspectJ weaver.
+                    (The original AspectJ language aspects are distinguished
+                    as "code-style" aspects.)
+				</p></li><li><p><a name="d0e2370"></a>
+                    AspectWerkz load-time weaving: Load-time weaving is
+                    greatly improved for all versions of Java, and now supports
+                    an XML configuration file which can declare concrete aspects.
+                    This means developers can deploy binary abstract aspects
+                    that deployers configure using only XML.
+				</p></li><li><p><a name="d0e2373"></a>
+                    pertypewithin instantiation model: aspects may now be instantiated
+                    on a per-class basis.
+				</p></li><li><p><a name="d0e2376"></a>
+                    Reflection and runtime support: AspectJ 5 supports reflection
+                    on aspects using the Aspect class, and also support runtime
+                    evaluation of pointcuts using a pointcut parser.
+				</p></li></ul></div><p>
+          </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:codeversusannotationstyles"></a><b>2. </b>
+            Should I use code- or annotation-style aspects?
+          </p></div><div class="answer"><p><a name="d0e2385"></a><b></b>
+            To use AspectJ, you can use the original code-style aspects
+            or the annotation-style aspects new in AspectJ 5.  
+          </p><p>
+            The original code-style is a small extension of the Java language
+            designed to express crosscutting as clearly as possible
+            in ways familiar to most Java programmers.
+            To use the original code-style aspects,
+            compile them with the AspectJ compiler or weave
+            pre-compiled binary aspects using the AspectJ binary (.class)
+            weaver, either at build-time or at class-load-time.
+            Code-style aspects have excellent IDE support, allowing
+            you to navigate to and from affected source code.
+          </p><p>
+            Annotation-style
+            aspects are written (not surprisingly) using annotations.
+            They use the subset of the AspectJ language that works
+            when aspects are woven after the code is compiled.
+            The source files are compiled with Javac, which simply saves the 
+            annotations in the .class files.  The resulting .class files
+              must be woven using
+            the AspectJ weaver, which reads the annotations from the
+            .class file and uses them to define aspects.
+            Annotation-style aspects have the benefit of being compilable
+              by Javac, but you can't use the full AspectJ language,
+              and you don't enjoy the same level of IDE support
+              for viewing crosscutting structure.
+          </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:aspectj5ltw"></a><b>3. </b>
+            What's new about the load-time weaving support in AspectJ 5?
+          </p></div><div class="answer"><p><a name="d0e2396"></a><b></b>
+              While the AspectJ weaver could be used at load-time in previous
+              releases, the AspectJ 5 release supports much better integration
+              with the Java 5 VM and the BEA JRocket JVM.  It also supports
+              an XML file for configuration that allows deployers to declare
+              concrete aspects using only XML.  This means aspect developers
+              can write abstract aspects, and deployers need only configure
+              <tt>aop.xml</tt> and run using the AspectJ weaver in Java 5.  
+              For example, to run Java 5 VM with load-time weaving,
+          </p><pre class="programlisting">
+            
+java -javaagent:aspectjweaver.jar -classpath "aspects.jar:${CLASSPATH}" ..
+
+          </pre><p>
+              To declare a concrete aspect, add a a 
+              concrete-aspect XML entity to <tt>META-INF/aop.xml</tt>.
+              This example extends a tracing aspect to apply to 
+              every type in the application:
+          </p><pre class="programlisting">
+            
+&lt;concrete-aspect 
+    name="com.company.tracing.ConcreteTracing"
+    extends="tracing.AbstractTracing"&gt;
+    &lt;pointcut 
+        name="tracingScope" 
+        expression="within(com.company.app..*)"/&gt;
+&lt;/concrete-aspect&gt;                
+
+          </pre><p>
+                For more information, see the
+                <a href="devguide/index.html" target="_top">
+              AspectJ Development Environment Guide</a>.
+            </p></div></div></div><div class="qandadiv"><h3 class="title"><a name="Technology"></a>14 Understanding AspectJ Technology</h3><div class="qandaentry"><div class="question"><p><a name="q:implementation"></a><b>1. </b>Do I need to know how the compiler or weaver works?
+          </p></div><div class="answer"><p><a name="d0e2423"></a><b></b>Writing AspectJ programs only requires understanding the
           <a href="progguide/index.html" target="_top">Programming Guide</a>.
           However, current implementations do not control everything in
           a system, so AspectJ program semantics may be limited to code
@@ -2542,7 +2678,7 @@
 		  For more information, see
 		      <a href="#Developers">AspectJ Project Development</a>.     
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:whitepapers"></a><b>2. </b>How does the compiler/weaver work? Are there any white papers?
-          </p></div><div class="answer"><p><a name="d0e2351"></a><b></b>
+          </p></div><div class="answer"><p><a name="d0e2440"></a><b></b>
           There are currently no documents describing this process in detail.  
           You can compile programs and inspect the generated source or bytecode,
           or view the source code (see <a href="#Developers">AspectJ Project Development</a>).
@@ -2564,7 +2700,7 @@
           </p><p>
 			Each .class file is woven independently.  
 			A .class file is woven by the following steps:
-			<div class="itemizedlist"><ul><li><p><a name="d0e2367"></a>
+			<div class="itemizedlist"><ul><li><p><a name="d0e2456"></a>
 					Collect all of the joinpoint shadows in the .class file.  
 					For every dynamic joinpoint in the AspectJ language model, 
 					there is a corresponding static shadow of that joinpoint 
@@ -2573,16 +2709,16 @@
 					bytecode as its static shadow.  Some joinpoints 
 					(such as initialization) have much more 
 					complicated static shadows.
-				</p></li><li><p><a name="d0e2370"></a>
+				</p></li><li><p><a name="d0e2459"></a>
 					Each piece of advice is matched to each static shadow.  
 					There are three results possible from this match.
-					<div class="itemizedlist"><ul><li><p><a name="d0e2374"></a>
+					<div class="itemizedlist"><ul><li><p><a name="d0e2463"></a>
 							Never matches,
 							in which case nothing is done to the shadow
-						</p></li><li><p><a name="d0e2377"></a>
+						</p></li><li><p><a name="d0e2466"></a>
 							Always matches, 
 							in which case the advice is woven into this joinpoint shadow
-						</p></li><li><p><a name="d0e2380"></a>
+						</p></li><li><p><a name="d0e2469"></a>
 							Sometimes matches,
 							in which case the advice is woven into the shadow 
 							along with the minimal dynamic tests to determine 
@@ -2591,7 +2727,7 @@
 							The simplest example of sometimes matches is 
 							when the pointcut uses if(test()).
 						</p></li></ul></div>
-				</p></li><li><p><a name="d0e2384"></a>
+				</p></li><li><p><a name="d0e2473"></a>
 					If any advice matched any static shadows in the .class file, 
 					then the transformed .class file is written out, 
 					otherwise it is left unchanged.
@@ -2607,20 +2743,27 @@
 			It also ignores performance optimizations such as fast-match 
 			that speed up the weaving process.
 		</p></div></div><div class="qandaentry"><div class="question"><p><a name="q:reflection"></a><b>3. </b>Does AspectJ use reflection at runtime?
-          </p></div><div class="answer"><p><a name="d0e2403"></a><b></b>
+          </p></div><div class="answer"><p><a name="d0e2492"></a><b></b>
           The only time that reflection is used during run-time is when the special 
           thisJoinPoint object is used to discover reflective information about the 
           join point.  If you don't use thisJoinPoint then no reflection will be used.
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:loadtimeWeaving"></a><b>4. </b>What about load-time weaving? Can I weave aspects at runtime?
-          </p></div><div class="answer"><p><a name="d0e2410"></a><b></b>
-          AspectJ 1.1 can weave binary aspects
+          </p></div><div class="answer"><p><a name="d0e2499"></a><b></b>
+          Since the 1.1 release, AspectJ can weave binary aspects
           into classes in bytecode form.  Hooked up to a class loader,
           this can weave class bytecodes after they are read in,
           before the
-          class is defined by the VM.  In the 1.1 release (or soon
-          thereafter) we will provide a proof-of-concept class loader,
-          but we expect most people will already have a custom 
-          class loader which they will adapt to invoke our weaver.
+          class is defined by the VM.  (This means load-time weaving
+          only works were aspects are not required to compile the pure-java
+          classes.  If the aspects are required, then the Java classes
+          have to be compiled with the aspects using the AspectJ compiler.)
+              The AspectJ 1.2 release had the
+              WeavingURLClassLoader, and the 1.2.1 release introduced
+              the aj.bat script for Java 1.4.
+              The AspectJ 5 release introduces much better support for
+              load-time weaving, including declaring concrete aspects
+              in XML files and integrating with Java 5 and BEA JRocket
+              JVM's.  See ???.
           </p><p>Some have asked about only weaving particular classes 
           specified at run-time.
 		  Aspects should work across an entire namespace, and problems 
@@ -2634,8 +2777,8 @@
           do not use bytecode weaving, at load-time or otherwise,
           to modify .class files protected by license,
           without permission from the licensor.
-          </p></div></div></div><div class="qandadiv"><h3 class="title"><a name="Developers"></a>14 AspectJ Project Development</h3><div class="qandaentry"><div class="question"><p><a name="q:howitworks"></a><b>1. </b>I'm interested in the code implementing AspectJ.
-          </p></div><div class="answer"><p><a name="d0e2424"></a><b></b>Most people do not need to see the code for AspectJ;
+          </p></div></div></div><div class="qandadiv"><h3 class="title"><a name="Developers"></a>15 AspectJ Project Development</h3><div class="qandaentry"><div class="question"><p><a name="q:howitworks"></a><b>1. </b>I'm interested in the code implementing AspectJ.
+          </p></div><div class="answer"><p><a name="d0e2515"></a><b></b>Most people do not need to see the code for AspectJ;
           they can download the binary distribution for documentation
           and tools for writing AspectJ programs.
           </p><p>For people who want to know how the AspectJ technology works,
@@ -2650,9 +2793,9 @@
 		  might be an initial version of a new architecture (e.g., bytecode
 		  weaving).
 		  </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:contributions"></a><b>2. </b>How can I get involved with developing the AspectJ project?
-          </p></div><div class="answer"><p><a name="d0e2439"></a><b></b>For those who want to contribute to the project,
+          </p></div><div class="answer"><p><a name="d0e2530"></a><b></b>For those who want to contribute to the project,
           here's a general list of ways to do so, in no particular order:
-          <div class="itemizedlist"><ul><li><p><a name="d0e2443"></a>Participate effectively in the mailing lists.
+          <div class="itemizedlist"><ul><li><p><a name="d0e2534"></a>Participate effectively in the mailing lists.
                  The quality of the mailing lists makes a huge difference
                  in the ability of new and experienced AspectJ users
                  to write good code.  For guidance on effective
@@ -2662,13 +2805,13 @@
                  Also, the time that experienced users take in answering emails
                  can directly translate to time developers can use (instead)
                  for fixing bugs or adding features.
-              </p></li><li><p><a name="d0e2450"></a>Write bugs.  Good bugs, especially with test cases, 
+              </p></li><li><p><a name="d0e2541"></a>Write bugs.  Good bugs, especially with test cases, 
               	are always appreciated.  We especially like proposals for
               	new <tt>XLint</tt> messages, since they are
               	sometimes easy to implement and help users learn
               	AspectJ, and for other implementable features
               	grounded in a compelling use-case.  
-              </p></li><li><p><a name="d0e2456"></a>Write test cases for compiler bugs without test cases.
+              </p></li><li><p><a name="d0e2547"></a>Write test cases for compiler bugs without test cases.
               Compiler bugs without test cases are much less likely to be fixed;
               until they are rendered in code, they might be user mistakes,
               and they might duplicate another bug or actually cover many bugs.
@@ -2682,7 +2825,7 @@
               </a>
               </p><p>For how to write test cases, see
                  <a href="#q:harnesstestcases">Q:How should I submit test cases for bugs?</a>.
-              </p></li><li><p><a name="d0e2470"></a>Write patches to fix bugs.
+              </p></li><li><p><a name="d0e2561"></a>Write patches to fix bugs.
               If you particularly need a bug to be fixed, or if you're interested in 
               learning about the system, then get the source code and try to fix the
               bug.  Most likely you'll want to email aspectj-dev@eclipse.org to 
@@ -2693,7 +2836,7 @@
               the bug.  (When creating patches, do so on a per-module basis; that 
               means if fixing the bug involves changes to three modules, submit
               three patches.)
-              </p></li><li><p><a name="d0e2473"></a>Write patches for other reasons.
+              </p></li><li><p><a name="d0e2564"></a>Write patches for other reasons.
               Often documentation needs to be fixed, or there may be a small new 
               feature you'd like to see.  You can just do it and then submit it
               as a patch to a bug you create.  As with bugs, in some cases you
@@ -2702,7 +2845,7 @@
               on an approach that will be fruitless.
               </p></li></ul></div>
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:buildingsource"></a><b>3. </b>How do I get and compile the source code for AspectJ?
-          </p></div><div class="answer"><p><a name="d0e2481"></a><b></b>AspectJ 1.0 source code is available in an archive available 
+          </p></div><div class="answer"><p><a name="d0e2572"></a><b></b>AspectJ 1.0 source code is available in an archive available 
            with the 1.0 downloads.  It contains instructions for building
            from sources.
           </p><p>AspectJ 1.1+ source code is available through CVS using the 
@@ -2727,11 +2870,11 @@
           </p><p>
             To get the modules to build you have to set some classpath variables (<tt>Window &gt; Preferences &gt; Java &gt; Build Path &gt; Classpath Variables</tt>):
           </p><p>
-		  <div class="itemizedlist"><ul><li><p><a name="d0e2526"></a>
+		  <div class="itemizedlist"><ul><li><p><a name="d0e2617"></a>
 			Name: <tt>JAVA_HOME</tt>, Value: (wherever your Java JDK is installed)
-			</p></li><li><p><a name="d0e2532"></a>
+			</p></li><li><p><a name="d0e2623"></a>
 			Name: <tt>JRE15_LIB</tt>, Value: (wherever your Java 5 Runtime is installed)<tt>\jre\lib\rt.jar</tt>
-			</p></li><li><p><a name="d0e2541"></a>
+			</p></li><li><p><a name="d0e2632"></a>
 			Name: <tt>ASPECTJRT_LIB</tt>, Value: (wherever your workspace is)<tt>\lib\aspectj\lib\aspectjrt.jar</tt>. To find out where your workspace is go to <tt>File &gt; Switch Workspace</tt>.
 			</p></li></ul></div>
 		  </p><p>
@@ -2754,19 +2897,19 @@
           all modules; as of this writing, here are the modules to get 
           for building the specific parts of AspectJ:
           </p><p>
-          <div class="itemizedlist"><ul><li><p><a name="d0e2584"></a>For any builds: build, lib
-            </p></li><li><p><a name="d0e2587"></a>For the documentation: docs
-            </p></li><li><p><a name="d0e2590"></a>For the compiler: bridge, util, testing-util,
+          <div class="itemizedlist"><ul><li><p><a name="d0e2675"></a>For any builds: build, lib
+            </p></li><li><p><a name="d0e2678"></a>For the documentation: docs
+            </p></li><li><p><a name="d0e2681"></a>For the compiler: bridge, util, testing-util,
             weaver, asm, org.eclipse.jdt.core, org.aspectj.ajdt.core,
             and runtime.
-            </p></li><li><p><a name="d0e2593"></a>For ajbrowser: the compiler modules, plus
+            </p></li><li><p><a name="d0e2684"></a>For ajbrowser: the compiler modules, plus
             ajbrowser, ajdoc, taskdefs, and ajde.
-            </p></li><li><p><a name="d0e2596"></a>For the AspectJ distribution, the ajbrowser modules, 
+            </p></li><li><p><a name="d0e2687"></a>For the AspectJ distribution, the ajbrowser modules, 
 				plus aspectj5rt and org.aspectj.lib.
-            </p></li><li><p><a name="d0e2599"></a>For the test harness (or to run the release build
+            </p></li><li><p><a name="d0e2690"></a>For the test harness (or to run the release build
 				scripts and tests): the ajbrowser modules, plus
             testing, testing-client, and testing-drivers.
-            </p></li><li><p><a name="d0e2602"></a>To run the test suite: the test harness modules, plus
+            </p></li><li><p><a name="d0e2693"></a>To run the test suite: the test harness modules, plus
             tests.
             </p></li></ul></div>
           </p><p>
@@ -2776,32 +2919,32 @@
            files and may
           change, so the list above may not be correct when you read it.
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:devDocs"></a><b>4. </b>Where do I find developer documentation on building and testing AspectJ source code?
-          </p></div><div class="answer"><p><a name="d0e2615"></a><b></b>Find the developer documentation in HTML files in the CVS tree,
+          </p></div><div class="answer"><p><a name="d0e2706"></a><b></b>Find the developer documentation in HTML files in the CVS tree,
           inside the <tt>build</tt> and <tt>testing</tt> modules 
           (i.e., in <tt>org.aspectj/modules/build/...</tt>).
           Most pertinant:          
-            <div class="itemizedlist"><ul><li><p><a name="d0e2628"></a>
+            <div class="itemizedlist"><ul><li><p><a name="d0e2719"></a>
               	<tt>../build/readme-build-and-test-aspectj.html</tt>
                   describes how to build the AspectJ distribution in Eclipse
                   and in Ant.
-              </p></li><li><p><a name="d0e2634"></a><tt>../build/readme-docs-module.html</tt>
+              </p></li><li><p><a name="d0e2725"></a><tt>../build/readme-docs-module.html</tt>
                   describes the AspectJ documentation sources and
                   how to build the documentation using Ant.
-              </p></li><li><p><a name="d0e2639"></a><tt>../build/readme-tests-module.html</tt>
+              </p></li><li><p><a name="d0e2730"></a><tt>../build/readme-tests-module.html</tt>
                   describes the all the tests 
                   in the <tt>tests</tt> module.
-              </p></li><li><p><a name="d0e2647"></a><tt>../build/readme-writing-compiler-tests.html</tt>
+              </p></li><li><p><a name="d0e2738"></a><tt>../build/readme-writing-compiler-tests.html</tt>
                   describes how to write compiler tests that can be run by
                   the AspectJ test harness.
-              </p></li><li><p><a name="d0e2652"></a><tt>../build/readme-testing-drivers-module.html</tt>
+              </p></li><li><p><a name="d0e2743"></a><tt>../build/readme-testing-drivers-module.html</tt>
                   describes the test harness used to run the compiler tests
                   in the <tt>tests</tt> module.
-              </p></li><li><p><a name="d0e2660"></a><tt>../build/readme-testing-drivers-module.html</tt>
+              </p></li><li><p><a name="d0e2751"></a><tt>../build/readme-testing-drivers-module.html</tt>
                   describes the test harness used to run the compiler tests
                   in the <tt>testing</tt> module.
               </p></li></ul></div>
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:harnesstestcases"></a><b>5. </b>How should I submit test cases for bugs?
-          </p></div><div class="answer"><p><a name="d0e2673"></a><b></b>You can attach files to a bug after it has been created.
+          </p></div><div class="answer"><p><a name="d0e2764"></a><b></b>You can attach files to a bug after it has been created.
           The code of course should replicate the actual behavior
           described in the bug when run on the target version.
           If you have a single source file, you can attach it directly,
@@ -2910,7 +3053,7 @@
 
           </pre>
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:testharness"></a><b>6. </b>I'd like to run my test case.  How do I get the test harness?
-          </p></div><div class="answer"><p><a name="d0e2690"></a><b></b>The test harness is not distributed.
+          </p></div><div class="answer"><p><a name="d0e2781"></a><b></b>The test harness is not distributed.
           To build it, get the source tree as
           described in <a href="#q:buildingsource">Q:How do I get and compile the source code for AspectJ?</a> and then
           build the <tt>build-testing-drivers</tt> target:
@@ -2923,7 +3066,7 @@
           which you can run as described in
           <tt>tests/readme-tests-module.html</tt>.
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:bcel"></a><b>7. </b>BCEL is used by AspectJ but it's not actively developed.  Will you change?
-          </p></div><div class="answer"><p><a name="d0e2711"></a><b></b>The AspectJ bytecode weaver has used BCEL for bytecode manipulation
+          </p></div><div class="answer"><p><a name="d0e2802"></a><b></b>The AspectJ bytecode weaver has used BCEL for bytecode manipulation
 			  since its first release.  We have upgraded it extensively, to improve 
 			  performance, support Java 5, etc.  The BCEL developers have not
 			  incorporated our patches, so we continue to maintain our own version.
@@ -2938,11 +3081,11 @@
 			  use reflection where possible.  Otherwise, it
 			  continues to use BCEL, but does not hold BCEL structures in
 			  memory after our evaluation completes.
-          </p></div></div></div><div class="qandadiv"><h3 class="title"><a name="help"></a>15 Getting Help</h3><div class="qandaentry"><div class="question"><p><a name="q:moreaboutaj"></a><b>1. </b>
+          </p></div></div></div><div class="qandadiv"><h3 class="title"><a name="help"></a>16 Getting Help</h3><div class="qandaentry"><div class="question"><p><a name="q:moreaboutaj"></a><b>1. </b>
             How do I find out more about AspectJ?
-          </p></div><div class="answer"><p><a name="d0e2723"></a><b></b>Visit the AspectJ project web site:
+          </p></div><div class="answer"><p><a name="d0e2814"></a><b></b>Visit the AspectJ project web site:
             <a href="http://eclipse.org/aspectj" target="_top">http://eclipse.org/aspectj</a>.
-          </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:bugreports"></a><b>2. </b>How do I submit a bug report?</p></div><div class="answer"><p><a name="d0e2733"></a><b></b>You can submit a bug from 
+          </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:bugreports"></a><b>2. </b>How do I submit a bug report?</p></div><div class="answer"><p><a name="d0e2824"></a><b></b>You can submit a bug from 
               <a href="http://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ" target="_top">
                           http://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ
               </a>.
@@ -2953,7 +3096,7 @@
             <a href="#q:ajcbugs">Q:How do I write bugs for the AspectJ compiler?</a>.
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:talktousers"></a><b>3. </b>
             How do I communicate with other AspectJ users?
-          </p></div><div class="answer"><p><a name="d0e2745"></a><b></b>You can reach other AspectJ users by using the
+          </p></div><div class="answer"><p><a name="d0e2836"></a><b></b>You can reach other AspectJ users by using the
             aspectj-users mailing list.  You can subscribe to the list or view the
             list archives from the AspectJ home page
             <a href="http://eclipse.org/aspectj" target="_top">
@@ -2961,7 +3104,7 @@
             </a>.
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:searchingsite"></a><b>4. </b>
             How can I search the email archives or the web site?
-          </p></div><div class="answer"><p><a name="d0e2755"></a><b></b>
+          </p></div><div class="answer"><p><a name="d0e2846"></a><b></b>
 			It is very effective to do a google search of the form,
             <a href="http://www.google.com/search?q=site:eclipse.org+cflowbelow" target="_top">
               http://www.google.com/search?q=site:eclipse.org+cflowbelow
@@ -2977,14 +3120,14 @@
             </a>.
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:writingbugsandemails"></a><b>5. </b>
             How should I write email queries?
-          </p></div><div class="answer"><p><a name="d0e2771"></a><b></b>Here's the general form of a good email:
-              </p><div class="orderedlist"><ol type="1"><li><p><a name="d0e2775"></a>
+          </p></div><div class="answer"><p><a name="d0e2862"></a><b></b>Here's the general form of a good email:
+              </p><div class="orderedlist"><ol type="1"><li><p><a name="d0e2866"></a>
                 Describe the big picture of what you are trying to do...
-              </p></li><li><p><a name="d0e2778"></a>
+              </p></li><li><p><a name="d0e2869"></a>
   	Describe what you think it takes, in AspectJ terms
   	(concepts, syntax, and semantics) from the 
             <a href="progguide/index.html" target="_top">Programming Guide</a>...
-              </p></li><li><p><a name="d0e2784"></a>
+              </p></li><li><p><a name="d0e2875"></a>
 	Show the AspectJ code you are using, what output it
   	produces when run, and what output you expect...
               </p></li></ol></div><p>
@@ -3010,7 +3153,7 @@
             </a>.
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:idebugs"></a><b>6. </b>
             How do I write bugs for IDE support?
-          </p></div><div class="answer"><p><a name="d0e2801"></a><b></b>
+          </p></div><div class="answer"><p><a name="d0e2892"></a><b></b>
           Bugs appearing in the IDE's may apply to the affected IDE
           or to the compiler.  Compiler stack traces in IDE message windows
           are prefixed "Internal Compiler Error" and should be written up
@@ -3042,29 +3185,29 @@
     You can submit a patch by attaching it to the bug.
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:ajcbugs"></a><b>7. </b>
             How do I write bugs for the AspectJ compiler?
-          </p></div><div class="answer"><p><a name="d0e2822"></a><b></b>
+          </p></div><div class="answer"><p><a name="d0e2913"></a><b></b>
 	The best compiler bug report is a reproducible test case, 
 	standalone code that demonstrates the problem.
 	Sometimes with aspects, a test case requires several 
 	files, if not some way to capture the behavior.
 	Here's how we recommend submitting test cases:
-            <div class="orderedlist"><ol type="1"><li><p><a name="d0e2826"></a>
+            <div class="orderedlist"><ol type="1"><li><p><a name="d0e2917"></a>
 	Write the test case so that when the compiler bug 
   	is fixed, the test completes normally without output
   	(e.g., expected compiler errors are issued,
    	or classes produced run correctly).  This usually
     means writing one or more source files.
-                </p></li><li><p><a name="d0e2829"></a>
+                </p></li><li><p><a name="d0e2920"></a>
 	In the bug report, briefly summarize the bug.
 	If it is not obvious, be sure to specify 
 	the expected output/behavior (e.g., compiler error on line 32)
 	and, if the compile should complete, the main class to run.
-                </p></li><li><p><a name="d0e2832"></a>
+                </p></li><li><p><a name="d0e2923"></a>
 	Submit the bugs via the web form 
             <a href="http://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ" target="_top">
                         http://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ
             </a>.
-                </p></li><li><p><a name="d0e2838"></a>Attach the test case to the bug.
+                </p></li><li><p><a name="d0e2929"></a>Attach the test case to the bug.
                 The test case may be a single file
                 or it may be multiple files in a single zip archive,
                 of the form discussed in
@@ -3072,7 +3215,7 @@
                 </p></li></ol></div>
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:teachingmaterials"></a><b>8. </b>
             Can you recommend reading or teaching material for AspectJ?
-          </p></div><div class="answer"><p><a name="d0e2848"></a><b></b>The documentation available in the distribution is the 
+          </p></div><div class="answer"><p><a name="d0e2939"></a><b></b>The documentation available in the distribution is the 
           best source for language and usage questions.  You can also find
           selected AspectJ papers and presentations on the 
           <a href="http://www.parc.com/groups/csl/projects/aspectj/index.html" target="_top">
@@ -3081,31 +3224,31 @@
           <a href="http://aosd.net" target="_top">http://aosd.net</a>.
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:consulting"></a><b>9. </b>
             Where can our group get consulting and support?
-          </p></div><div class="answer"><p><a name="d0e2861"></a><b></b>The best thing to to is join and email the
+          </p></div><div class="answer"><p><a name="d0e2952"></a><b></b>The best thing to to is join and email the
            <tt>aspectj-dev@eclipse.org</tt> mailing list.
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:faqchanges"></a><b>10. </b>
             What has changed since the last FAQ version?
-          </p></div><div class="answer"><p><a name="d0e2871"></a><b></b>
+          </p></div><div class="answer"><p><a name="d0e2962"></a><b></b>
           Entries changed recently:
-            <div class="itemizedlist"><ul><li><p><a name="d0e2875"></a><a href="#q:versionCompatibility">Q:Will AspectJ aspects work with different versions of the compiler/weaver and runtime?</a></p></li><li><p><a name="d0e2878"></a><a href="#q:bcel">Q:BCEL is used by AspectJ but it's not actively developed.  Will you change?</a></p></li><li><p><a name="d0e2881"></a><a href="#q:reflectiveCalls">Q:Why doesn't AspectJ pick out reflective calls?</a></p></li><li><p><a name="d0e2884"></a><a href="#q:java5">Q:Will AspectJ support Java 5?</a></p></li><li><p><a name="d0e2887"></a><a href="#q:dynamicaop">Q:How does AspectJ compare with more dynamic AOP?</a></p></li><li><p><a name="d0e2890"></a><a href="#q:buildingsource">Q:How do I get and compile the source code for AspectJ?</a></p></li></ul></div>
-          </p></div></div></div><div class="qandadiv"><h3 class="title"><a name="project"></a>16 About the AspectJ Project</h3><div class="qandaentry"><div class="question"><p><a name="q:opensource"></a><b>1. </b>What does the fact that AspectJ is an Open Source
+            <div class="itemizedlist"><ul><li><p><a name="d0e2966"></a><a href="#q:compilerRequired">Q:Do I have to use the AspectJ compiler?</a></p></li><li><p><a name="d0e2969"></a><a href="#q:aspectj5features">Q:What are the new features of AspectJ 5?</a></p></li><li><p><a name="d0e2972"></a><a href="#q:codeversusannotationstyles">Q:Should I use code- or annotation-style aspects?</a></p></li><li><p><a name="d0e2975"></a><a href="#q:aspectj5ltw">Q:What's new about the load-time weaving support in AspectJ 5?</a></p></li><li><p><a name="d0e2978"></a><a href="#q:versionCompatibility">Q:Will AspectJ aspects work with different versions of the compiler/weaver and runtime?</a></p></li><li><p><a name="d0e2981"></a><a href="#q:bcel">Q:BCEL is used by AspectJ but it's not actively developed.  Will you change?</a></p></li><li><p><a name="d0e2984"></a><a href="#q:reflectiveCalls">Q:Why doesn't AspectJ pick out reflective calls?</a></p></li><li><p><a name="d0e2987"></a><a href="#q:java5">Q:Will AspectJ support Java 5?</a></p></li><li><p><a name="d0e2990"></a><a href="#q:dynamicaop">Q:How does AspectJ compare with more dynamic AOP?</a></p></li><li><p><a name="d0e2993"></a><a href="#q:buildingsource">Q:How do I get and compile the source code for AspectJ?</a></p></li></ul></div>
+          </p></div></div></div><div class="qandadiv"><h3 class="title"><a name="project"></a>17 About the AspectJ Project</h3><div class="qandaentry"><div class="question"><p><a name="q:opensource"></a><b>1. </b>What does the fact that AspectJ is an Open Source
             Project mean to me?
-          </p></div><div class="answer"><p><a name="d0e2901"></a><b></b>Open source protects your interest in a correct, long-lived,
+          </p></div><div class="answer"><p><a name="d0e3004"></a><b></b>Open source protects your interest in a correct, long-lived,
 		up-to-date, and widely-accepted implementation of AspectJ.
-            <div class="itemizedlist"><ul><li><p><a name="d0e2905"></a>With the source code, you control your own destiny
+            <div class="itemizedlist"><ul><li><p><a name="d0e3008"></a>With the source code, you control your own destiny
                 in perpetuity.  You can continue to use the implementation
 		and update it as necessary to fix bugs and add things you need.
-                </p></li><li><p><a name="d0e2908"></a>Because the code is available to all, anyone can find
+                </p></li><li><p><a name="d0e3011"></a>Because the code is available to all, anyone can find
 		and fix bugs.  There is no need to hope for it to be fixed
 		in the next product release.  Those who encounter the bugs
 		are motivated to fix them, and there are more eyeballs on 
 		the code than in closed-source, so the quality tends to be high.
 		This can be particularly true for the AspectJ community,
 		which tends to be highly skilled.
-                </p></li><li><p><a name="d0e2911"></a>The same is true of new features or behavior, so the
+                </p></li><li><p><a name="d0e3014"></a>The same is true of new features or behavior, so the
 		implementation should be up-to-date.  This is important as
 		the field of AOP develops, to capture the latest solutions.
-                </p></li><li><p><a name="d0e2914"></a>For a programming language which forms the basis of 
+                </p></li><li><p><a name="d0e3017"></a>For a programming language which forms the basis of 
 		an entire solution stack, open source facilitates the kind
 		of adoption -- tool integrations and significant projects --
 		that develop and prove the technology for wider adoption.  This 
@@ -3116,7 +3259,7 @@
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:standardization"></a><b>2. </b>What are your plans to make AspectJ a general feature
             of Java supported by Sun and the other key players in the Java
             Industry?
-          </p></div><div class="answer"><p><a name="d0e2922"></a><b></b>Although we are committed to making AspectJ available to a wide
+          </p></div><div class="answer"><p><a name="d0e3025"></a><b></b>Although we are committed to making AspectJ available to a wide
             range of users, it is too early to decide on a strategy. Some
             options include continuing AspectJ as a stand-alone product,
             integrating it into IDEs, or possibly incorporating it into
@@ -3135,7 +3278,7 @@
             for AspectJ in the long term.
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:bytecodeweaving"></a><b>3. </b>When will AspectJ work from class files?
 	        When will it work at class-loading time?
-          </p></div><div class="answer"><p><a name="d0e2935"></a><b></b>Bytecode weaving is in AspectJ 1.1.  We believe it
+          </p></div><div class="answer"><p><a name="d0e3038"></a><b></b>Bytecode weaving is in AspectJ 1.1.  We believe it
 	   works as described in an email to the users list by Jim Hugugin:
           </p><p>
               The AspectJ language was designed to support weaving at many different times: 
@@ -3157,12 +3300,12 @@
               the 1.1 release or soon thereafter.
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:differences"></a><b>4. </b>What are the differences between the current and
             previously released versions of AspectJ?
-          </p></div><div class="answer"><p><a name="d0e2948"></a><b></b>The AspectJ team aims to keep the implementation bug-free and 
+          </p></div><div class="answer"><p><a name="d0e3051"></a><b></b>The AspectJ team aims to keep the implementation bug-free and 
 	  	up-to-date with the Java language, 
 	 	to limit AspectJ language changes to those that 
 		are carefully considered, compelling, and backwards-compatible,
 		and to deliver those language changes only in significant releases (1.0, 1.1).
-	  </p><div class="table"><p><a name="d0e2951"></a><b>Table 2. </b></p><table summary="" border="1"><colgroup><col><col></colgroup><tbody><tr><td align="left">Version</td><td align="left">Description</td></tr><tr><td>AspectJ 1.1</td><td>A few language changes and clarifications;
+	  </p><div class="table"><p><a name="d0e3054"></a><b>Table 2. </b></p><table summary="" border="1"><colgroup><col><col></colgroup><tbody><tr><td align="left">Version</td><td align="left">Description</td></tr><tr><td>AspectJ 1.1</td><td>A few language changes and clarifications;
                   	bytecode weaving and incremental compilation.
                   	See <a href="README-11.html" target="_top">README-11.html</a>
                   	for more detail.
@@ -3193,7 +3336,7 @@
             <a href="changes.html" target="_top">changes.html</a>.
           </p></div></div><div class="qandaentry"><div class="question"><p><a name="q:schedule"></a><b>5. </b>
             What is the AspectJ development schedule?
-          </p></div><div class="answer"><p><a name="d0e3031"></a><b></b>
+          </p></div><div class="answer"><p><a name="d0e3134"></a><b></b>
             Below is a table describing the goals for the major releases.
             For information about specific features, search the bug database
             for <tt>RFE</tt>'s ("requests for enhancement") by
@@ -3204,19 +3347,19 @@
             schedules, but we do follow a pattern of issuing preview releases 
             which can give observers an idea of when
             a particular release might be available.
-          </p><div class="table"><p><a name="d0e3040"></a><b>Table 3. The AspectJ Development Schedule</b></p><table summary="The AspectJ Development Schedule" border="1"><colgroup><col><col></colgroup><tbody><tr><td align="left">Version</td><td align="left">Description</td></tr><tr><td align="center" valign="top">1.0</td><td>Final syntax and semantic changes. Standalone structure
+          </p><div class="table"><p><a name="d0e3143"></a><b>Table 3. The AspectJ Development Schedule</b></p><table summary="The AspectJ Development Schedule" border="1"><colgroup><col><col></colgroup><tbody><tr><td align="left">Version</td><td align="left">Description</td></tr><tr><td align="center" valign="top">1.0</td><td>Final syntax and semantic changes. Standalone structure
                     browser. Complete documentation.
                   </td></tr><tr><td align="center" valign="top">1.1</td><td>Faster incremental compilation, bytecode weaving,
 	                 and a small number of language changes.</td></tr><tr><td align="center" valign="top">1.2</td><td>Faster weaving, -inpath option, better error messages,
                   better handling of binary input and resources
                   during incremental compilation, faster runtime
-                  </td></tr><tr><td align="center" valign="top">1.3 (AspectJ 5)</td><td>Support for Java 1.5
+                  </td></tr><tr><td align="center" valign="top">1.5 (AspectJ 5)</td><td>Support for Java 1.5, generic aspects,
+                      annotations, etc.  Integrates AspectWerkz-style
+                      load-time weaving.
                   </td></tr></tbody></table></div></div></div><div class="qandaentry"><div class="question"><p><a name="q:java5"></a><b>6. </b>
             Will AspectJ support Java 5?
-          </p></div><div class="answer"><p><a name="d0e3074"></a><b></b>
-          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.
+          </p></div><div class="answer"><p><a name="d0e3177"></a><b></b>
+          Yes.  Java 5 is supported in AspectJ 5.
           </p></div></div></div></div><p>AspectJ is a registered trademark of Palo Alto Research Center, Incorporated (PARC),
   	used with permission.
 	Java and all Java-based marks are trademarks or registered trademarks of
diff --git a/org.aspectj.ajde/doc/index.html b/org.aspectj.ajde/doc/index.html
index 5827eb0..dfee0c9 100755
--- a/org.aspectj.ajde/doc/index.html
+++ b/org.aspectj.ajde/doc/index.html
@@ -15,13 +15,15 @@
     code that runs in JDK 1.1 and later VM's. 
     For the latest materials, see
     <a href="http://eclipse.org/aspectj">http://eclipse.org/aspectj</a>.
+    Not all of these materials have been updated for AspectJ 5.
 <p/>
 
 <table>
     <tr><td><u>Section</u></td><td><u>Contents</u></td></tr>
     <tr><td><a href="#documentation">docs</a></td><td>
        <a href="faq.html">FAQ</a>, 
-       <a href="quick.pdf">Quick Reference</a>, 
+       <a href="quick5.pdf">Quick Reference (AspectJ 5)</a>,
+       <a href="quick.pdf">Quick Reference (1.2.1)</a>, 
        <a href="adk15notebook/index.html">AspectJ 5 Developer's Notebook</a>,
        <a href="progguide/index.html">programming</a> and 
        <a href="devguide/index.html">development</a> guides, 
@@ -31,10 +33,7 @@
     <tr><td><a href="#distributions">distributions</a></td><td>  
         <a href="http://eclipse.org/aspectj">AspectJ</a>;
         development environment support for 
-        <a href="http://eclipse.org/ajdt">Eclipse</a>, 
-        <a href="http://aspectj4emacs.sourceforge.net">Emacs</a>, 
-        <a href="http://aspectj4jbuildr.sourceforge.net">JBuilder</a>, 
-        <a href="http://aspectj4netbean.sourceforge.net">Netbeans</a>, 
+        <a href="http://eclipse.org/ajdt">Eclipse</a> 
         and
         <a href="https://jdeveloperaop.dev.java.net/">JDeveloper</a>. 
         </td></tr>
@@ -57,6 +56,12 @@
 <tr> <th>Documentation</th><th>Description</th> 
      </tr>
 
+
+<tr> <td><a href="quick5.pdf"> AspectJ 5 Quick Reference</a>
+     </td>
+     <td>This is a four-page quick reference for the AspectJ 5 language. 
+     </td> </tr>
+
 <tr> <td><a href="quick.pdf"> AspectJ Quick Reference</a>
      </td>
      <td>This is a two-page quick reference for the AspectJ language. 
@@ -175,38 +180,6 @@
          </td>
      </tr>
 
-<tr> <td><a href="http://aspectj4emacs.sourceforge.net">
-            AspectJ for Emacs</a>
-     </td>
-     <td>AspectJ Development Environment support for
-         Emacs is available under the GPL
-         from the sourceforge project site
-         <a href="http://aspectj4emacs.sourceforge.net/">
-                  http://aspectj4emacs.sourceforge.net</a>
-         </td>
-     </tr>
-
-<tr> <td><a href="http://aspectj4jbuildr.sourceforge.net">
-            AspectJ for JBuilder</a>
-     </td>
-     <td>AspectJ Development Environment support for
-         JBuilder is available under the Mozilla Public License 1.1
-         from the sourceforge project site
-         <a href="http://aspectj4jbuildr.sourceforge.net/">
-                  http://aspectj4jbuildr.sourceforge.net</a>
-         </td>
-     </tr>
-
-<tr> <td><a href="http://aspectj4netbean.sourceforge.net">
-          AspectJ for Netbeans</a>
-     </td>
-     <td>AspectJ Development Environment support for
-         Netbeans is available under the Mozilla Public License 1.1
-         from the sourceforge project site
-         <a href="http://aspectj4netbean.sourceforge.net/">
-                  http://aspectj4netbean.sourceforge.net</a>
-         </td>
-     </tr>
 <tr> <td><a href="https://jdeveloperaop.dev.java.net/">
           Support for the JDeveloper IDE</a>
      </td>
@@ -313,7 +286,9 @@
    <a href="faq.html#adoption">Deciding to adopt AspectJ</a>,
    the Development tools sections
    (<a href="faq.html#q:integrateWithDevTools">one</a>,
-    <a href="faq.html#devtools">two</a>), and
+    <a href="faq.html#devtools">two</a>, 
+    <a href="faq.html#ltw">Load-time weaving</a> 
+    ), and
    <a href="faq.html#q:opensource">AspectJ as open-source</a>.
 </p>
 <p>
diff --git a/org.aspectj.ajde/doc/quick5.pdf b/org.aspectj.ajde/doc/quick5.pdf
new file mode 100644
index 0000000..02452ca
--- /dev/null
+++ b/org.aspectj.ajde/doc/quick5.pdf
Binary files differ
diff --git a/org.aspectj.ajde/doc/quick5A4.pdf b/org.aspectj.ajde/doc/quick5A4.pdf
new file mode 100644
index 0000000..3175128
--- /dev/null
+++ b/org.aspectj.ajde/doc/quick5A4.pdf
Binary files differ
diff --git a/org.aspectj.ajde/doc/runtime-api/allclasses-frame.html b/org.aspectj.ajde/doc/runtime-api/allclasses-frame.html
index 45a1547..b822f92 100644
--- a/org.aspectj.ajde/doc/runtime-api/allclasses-frame.html
+++ b/org.aspectj.ajde/doc/runtime-api/allclasses-frame.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:51 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:45 GMT 2005 -->
 <TITLE>
 All Classes (AspectJ(tm) runtime API)
 </TITLE>
@@ -22,8 +22,6 @@
 <TR>
 <TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="org/aspectj/lang/reflect/AdviceSignature.html" title="interface in org.aspectj.lang.reflect" target="classFrame"><I>AdviceSignature</I></A>
 <BR>
-<A HREF="org/aspectj/lang/Aspects.html" title="class in org.aspectj.lang" target="classFrame">Aspects</A>
-<BR>
 <A HREF="org/aspectj/lang/reflect/CatchClauseSignature.html" title="interface in org.aspectj.lang.reflect" target="classFrame"><I>CatchClauseSignature</I></A>
 <BR>
 <A HREF="org/aspectj/lang/reflect/CodeSignature.html" title="interface in org.aspectj.lang.reflect" target="classFrame"><I>CodeSignature</I></A>
diff --git a/org.aspectj.ajde/doc/runtime-api/allclasses-noframe.html b/org.aspectj.ajde/doc/runtime-api/allclasses-noframe.html
index 3d5e59d..c3ebcf7 100644
--- a/org.aspectj.ajde/doc/runtime-api/allclasses-noframe.html
+++ b/org.aspectj.ajde/doc/runtime-api/allclasses-noframe.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:51 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:45 GMT 2005 -->
 <TITLE>
 All Classes (AspectJ(tm) runtime API)
 </TITLE>
@@ -22,8 +22,6 @@
 <TR>
 <TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="org/aspectj/lang/reflect/AdviceSignature.html" title="interface in org.aspectj.lang.reflect"><I>AdviceSignature</I></A>
 <BR>
-<A HREF="org/aspectj/lang/Aspects.html" title="class in org.aspectj.lang">Aspects</A>
-<BR>
 <A HREF="org/aspectj/lang/reflect/CatchClauseSignature.html" title="interface in org.aspectj.lang.reflect"><I>CatchClauseSignature</I></A>
 <BR>
 <A HREF="org/aspectj/lang/reflect/CodeSignature.html" title="interface in org.aspectj.lang.reflect"><I>CodeSignature</I></A>
diff --git a/org.aspectj.ajde/doc/runtime-api/constant-values.html b/org.aspectj.ajde/doc/runtime-api/constant-values.html
index e0f6518..001a960 100644
--- a/org.aspectj.ajde/doc/runtime-api/constant-values.html
+++ b/org.aspectj.ajde/doc/runtime-api/constant-values.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:51 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:45 GMT 2005 -->
 <TITLE>
 Constant Field Values (AspectJ(tm) runtime API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/runtime-api/deprecated-list.html b/org.aspectj.ajde/doc/runtime-api/deprecated-list.html
index 11288e5..d4839a6 100644
--- a/org.aspectj.ajde/doc/runtime-api/deprecated-list.html
+++ b/org.aspectj.ajde/doc/runtime-api/deprecated-list.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:51 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:45 GMT 2005 -->
 <TITLE>
 Deprecated List (AspectJ(tm) runtime API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/runtime-api/help-doc.html b/org.aspectj.ajde/doc/runtime-api/help-doc.html
index 11bb882..04f80ed 100644
--- a/org.aspectj.ajde/doc/runtime-api/help-doc.html
+++ b/org.aspectj.ajde/doc/runtime-api/help-doc.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:51 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:45 GMT 2005 -->
 <TITLE>
 API Help (AspectJ(tm) runtime API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/runtime-api/index-all.html b/org.aspectj.ajde/doc/runtime-api/index-all.html
index bd98ae6..1859c1c 100644
--- a/org.aspectj.ajde/doc/runtime-api/index-all.html
+++ b/org.aspectj.ajde/doc/runtime-api/index-all.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:51 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:45 GMT 2005 -->
 <TITLE>
 Index (AspectJ(tm) runtime API)
 </TITLE>
@@ -73,27 +73,14 @@
 <A NAME="skip-navbar_top"></A>
 <!-- ========= END OF TOP NAVBAR ========= -->
 
-<A HREF="#_A_">A</A> <A HREF="#_C_">C</A> <A HREF="#_E_">E</A> <A HREF="#_F_">F</A> <A HREF="#_G_">G</A> <A HREF="#_H_">H</A> <A HREF="#_I_">I</A> <A HREF="#_J_">J</A> <A HREF="#_M_">M</A> <A HREF="#_N_">N</A> <A HREF="#_O_">O</A> <A HREF="#_P_">P</A> <A HREF="#_S_">S</A> <A HREF="#_T_">T</A> <HR>
+<A HREF="#_A_">A</A> <A HREF="#_C_">C</A> <A HREF="#_E_">E</A> <A HREF="#_F_">F</A> <A HREF="#_G_">G</A> <A HREF="#_I_">I</A> <A HREF="#_J_">J</A> <A HREF="#_M_">M</A> <A HREF="#_N_">N</A> <A HREF="#_O_">O</A> <A HREF="#_P_">P</A> <A HREF="#_S_">S</A> <A HREF="#_T_">T</A> <HR>
 <A NAME="_A_"><!-- --></A><H2>
 <B>A</B></H2>
 <DL>
 <DT><A HREF="./org/aspectj/lang/JoinPoint.html#ADVICE_EXECUTION"><B>ADVICE_EXECUTION</B></A> - 
 Static variable in interface org.aspectj.lang.<A HREF="./org/aspectj/lang/JoinPoint.html" title="interface in org.aspectj.lang">JoinPoint</A>
 <DD>&nbsp;
-<DT><A HREF="./org/aspectj/lang/reflect/AdviceSignature.html" title="interface in org.aspectj.lang.reflect"><B>AdviceSignature</B></A> - Interface in <A HREF="./org/aspectj/lang/reflect/package-summary.html">org.aspectj.lang.reflect</A><DD>&nbsp;<DT><A HREF="./org/aspectj/lang/Aspects.html#aspectOf(java.lang.Class)"><B>aspectOf(Class)</B></A> - 
-Static method in class org.aspectj.lang.<A HREF="./org/aspectj/lang/Aspects.html" title="class in org.aspectj.lang">Aspects</A>
-<DD>Returns the singleton aspect or the percflow / percflowbelow associated with the current thread
-<DT><A HREF="./org/aspectj/lang/Aspects.html#aspectOf(java.lang.Class, java.lang.Object)"><B>aspectOf(Class, Object)</B></A> - 
-Static method in class org.aspectj.lang.<A HREF="./org/aspectj/lang/Aspects.html" title="class in org.aspectj.lang">Aspects</A>
-<DD>Returns the perthis / pertarget aspect
-<DT><A HREF="./org/aspectj/lang/Aspects.html#aspectOf(java.lang.Class, java.lang.Class)"><B>aspectOf(Class, Class)</B></A> - 
-Static method in class org.aspectj.lang.<A HREF="./org/aspectj/lang/Aspects.html" title="class in org.aspectj.lang">Aspects</A>
-<DD>Returns the pertypewithin aspect
-<DT><A HREF="./org/aspectj/lang/Aspects.html" title="class in org.aspectj.lang"><B>Aspects</B></A> - Class in <A HREF="./org/aspectj/lang/package-summary.html">org.aspectj.lang</A><DD>Handles generic aspectOf method when those are not available in the aspects but added later on
- thru load time weaving.<DT><A HREF="./org/aspectj/lang/Aspects.html#Aspects()"><B>Aspects()</B></A> - 
-Constructor for class org.aspectj.lang.<A HREF="./org/aspectj/lang/Aspects.html" title="class in org.aspectj.lang">Aspects</A>
-<DD>&nbsp;
-</DL>
+<DT><A HREF="./org/aspectj/lang/reflect/AdviceSignature.html" title="interface in org.aspectj.lang.reflect"><B>AdviceSignature</B></A> - Interface in <A HREF="./org/aspectj/lang/reflect/package-summary.html">org.aspectj.lang.reflect</A><DD>&nbsp;</DL>
 <HR>
 <A NAME="_C_"><!-- --></A><H2>
 <B>C</B></H2>
@@ -246,20 +233,6 @@
 <DD>&nbsp;
 </DL>
 <HR>
-<A NAME="_H_"><!-- --></A><H2>
-<B>H</B></H2>
-<DL>
-<DT><A HREF="./org/aspectj/lang/Aspects.html#hasAspect(java.lang.Class)"><B>hasAspect(Class)</B></A> - 
-Static method in class org.aspectj.lang.<A HREF="./org/aspectj/lang/Aspects.html" title="class in org.aspectj.lang">Aspects</A>
-<DD>Returns true if singleton aspect or percflow / percflowbelow aspect is bound
-<DT><A HREF="./org/aspectj/lang/Aspects.html#hasAspect(java.lang.Class, java.lang.Object)"><B>hasAspect(Class, Object)</B></A> - 
-Static method in class org.aspectj.lang.<A HREF="./org/aspectj/lang/Aspects.html" title="class in org.aspectj.lang">Aspects</A>
-<DD>Returns true if the perthis / pertarget aspect is bound
-<DT><A HREF="./org/aspectj/lang/Aspects.html#hasAspect(java.lang.Class, java.lang.Class)"><B>hasAspect(Class, Class)</B></A> - 
-Static method in class org.aspectj.lang.<A HREF="./org/aspectj/lang/Aspects.html" title="class in org.aspectj.lang">Aspects</A>
-<DD>Returns true if the pertypewithin aspect is bound
-</DL>
-<HR>
 <A NAME="_I_"><!-- --></A><H2>
 <B>I</B></H2>
 <DL>
@@ -470,7 +443,7 @@
 <DD>&nbsp;
 </DL>
 <HR>
-<A HREF="#_A_">A</A> <A HREF="#_C_">C</A> <A HREF="#_E_">E</A> <A HREF="#_F_">F</A> <A HREF="#_G_">G</A> <A HREF="#_H_">H</A> <A HREF="#_I_">I</A> <A HREF="#_J_">J</A> <A HREF="#_M_">M</A> <A HREF="#_N_">N</A> <A HREF="#_O_">O</A> <A HREF="#_P_">P</A> <A HREF="#_S_">S</A> <A HREF="#_T_">T</A> 
+<A HREF="#_A_">A</A> <A HREF="#_C_">C</A> <A HREF="#_E_">E</A> <A HREF="#_F_">F</A> <A HREF="#_G_">G</A> <A HREF="#_I_">I</A> <A HREF="#_J_">J</A> <A HREF="#_M_">M</A> <A HREF="#_N_">N</A> <A HREF="#_O_">O</A> <A HREF="#_P_">P</A> <A HREF="#_S_">S</A> <A HREF="#_T_">T</A> 
 
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <A NAME="navbar_bottom"><!-- --></A>
diff --git a/org.aspectj.ajde/doc/runtime-api/index.html b/org.aspectj.ajde/doc/runtime-api/index.html
index b8f4ed4..7f86d54 100644
--- a/org.aspectj.ajde/doc/runtime-api/index.html
+++ b/org.aspectj.ajde/doc/runtime-api/index.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc on Wed Dec 14 14:06:51 GMT 2005-->
+<!-- Generated by javadoc on Tue Dec 20 13:26:45 GMT 2005-->
 <TITLE>
 AspectJ(tm) runtime API
 </TITLE>
diff --git a/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/JoinPoint.EnclosingStaticPart.html b/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/JoinPoint.EnclosingStaticPart.html
index 55df1dc..3e80cd1 100644
--- a/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/JoinPoint.EnclosingStaticPart.html
+++ b/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/JoinPoint.EnclosingStaticPart.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:51 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:42 GMT 2005 -->
 <TITLE>
 JoinPoint.EnclosingStaticPart (AspectJ(tm) runtime API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/JoinPoint.StaticPart.html b/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/JoinPoint.StaticPart.html
index 5066b5f..3586eb2 100644
--- a/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/JoinPoint.StaticPart.html
+++ b/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/JoinPoint.StaticPart.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:51 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:43 GMT 2005 -->
 <TITLE>
 JoinPoint.StaticPart (AspectJ(tm) runtime API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/JoinPoint.html b/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/JoinPoint.html
index e62ed81..41a44f0 100644
--- a/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/JoinPoint.html
+++ b/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/JoinPoint.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:51 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:42 GMT 2005 -->
 <TITLE>
 JoinPoint (AspectJ(tm) runtime API)
 </TITLE>
@@ -51,7 +51,7 @@
 
 <TR>
 <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../../../org/aspectj/lang/Aspects.html" title="class in org.aspectj.lang"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;PREV CLASS&nbsp;
 &nbsp;<A HREF="../../../org/aspectj/lang/JoinPoint.EnclosingStaticPart.html" title="interface in org.aspectj.lang"><B>NEXT CLASS</B></A></FONT></TD>
 <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
   <A HREF="../../../index.html?org/aspectj/lang/JoinPoint.html" target="_top"><B>FRAMES</B></A>  &nbsp;
@@ -646,7 +646,7 @@
 
 <TR>
 <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../../../org/aspectj/lang/Aspects.html" title="class in org.aspectj.lang"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;PREV CLASS&nbsp;
 &nbsp;<A HREF="../../../org/aspectj/lang/JoinPoint.EnclosingStaticPart.html" title="interface in org.aspectj.lang"><B>NEXT CLASS</B></A></FONT></TD>
 <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
   <A HREF="../../../index.html?org/aspectj/lang/JoinPoint.html" target="_top"><B>FRAMES</B></A>  &nbsp;
diff --git a/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/NoAspectBoundException.html b/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/NoAspectBoundException.html
index 819af8e..b7eb556 100644
--- a/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/NoAspectBoundException.html
+++ b/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/NoAspectBoundException.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:51 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:44 GMT 2005 -->
 <TITLE>
 NoAspectBoundException (AspectJ(tm) runtime API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/ProceedingJoinPoint.html b/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/ProceedingJoinPoint.html
index f7ac037..e612994 100644
--- a/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/ProceedingJoinPoint.html
+++ b/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/ProceedingJoinPoint.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:51 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:44 GMT 2005 -->
 <TITLE>
 ProceedingJoinPoint (AspectJ(tm) runtime API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/Signature.html b/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/Signature.html
index 1a035c0..3553a30 100644
--- a/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/Signature.html
+++ b/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/Signature.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:51 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:44 GMT 2005 -->
 <TITLE>
 Signature (AspectJ(tm) runtime API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/SoftException.html b/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/SoftException.html
index 1a82688..330b00c 100644
--- a/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/SoftException.html
+++ b/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/SoftException.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:51 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:44 GMT 2005 -->
 <TITLE>
 SoftException (AspectJ(tm) runtime API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/package-frame.html b/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/package-frame.html
index d2014c0..70f7655 100644
--- a/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/package-frame.html
+++ b/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/package-frame.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:51 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:45 GMT 2005 -->
 <TITLE>
 org.aspectj.lang (AspectJ(tm) runtime API)
 </TITLE>
@@ -39,17 +39,6 @@
 <TABLE BORDER="0" WIDTH="100%" SUMMARY="">
 <TR>
 <TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
-Classes</FONT>&nbsp;
-<FONT CLASS="FrameItemFont">
-<BR>
-<A HREF="Aspects.html" title="class in org.aspectj.lang" target="classFrame">Aspects</A></FONT></TD>
-</TR>
-</TABLE>
-
-
-<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
-<TR>
-<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
 Exceptions</FONT>&nbsp;
 <FONT CLASS="FrameItemFont">
 <BR>
diff --git a/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/package-summary.html b/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/package-summary.html
index 8228309..65e0a04 100644
--- a/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/package-summary.html
+++ b/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/package-summary.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:51 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:45 GMT 2005 -->
 <TITLE>
 org.aspectj.lang (AspectJ(tm) runtime API)
 </TITLE>
@@ -121,21 +121,6 @@
 <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
 <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
 <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
-<B>Class Summary</B></FONT></TH>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD WIDTH="15%"><B><A HREF="../../../org/aspectj/lang/Aspects.html" title="class in org.aspectj.lang">Aspects</A></B></TD>
-<TD>Handles generic aspectOf method when those are not available in the aspects but added later on
- thru load time weaving.</TD>
-</TR>
-</TABLE>
-&nbsp;
-
-<P>
-
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
 <B>Exception Summary</B></FONT></TH>
 </TR>
 <TR BGCOLOR="white" CLASS="TableRowColor">
diff --git a/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/package-tree.html b/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/package-tree.html
index 85a7839..9e0d4ba 100644
--- a/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/package-tree.html
+++ b/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/package-tree.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:51 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:45 GMT 2005 -->
 <TITLE>
 org.aspectj.lang Class Hierarchy (AspectJ(tm) runtime API)
 </TITLE>
@@ -87,7 +87,7 @@
 </H2>
 <UL>
 <LI TYPE="circle">java.lang.Object<UL>
-<LI TYPE="circle">org.aspectj.lang.<A HREF="../../../org/aspectj/lang/Aspects.html" title="class in org.aspectj.lang"><B>Aspects</B></A><LI TYPE="circle">java.lang.Throwable (implements java.io.Serializable)
+<LI TYPE="circle">java.lang.Throwable (implements java.io.Serializable)
 <UL>
 <LI TYPE="circle">java.lang.Exception<UL>
 <LI TYPE="circle">java.lang.RuntimeException<UL>
diff --git a/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/reflect/AdviceSignature.html b/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/reflect/AdviceSignature.html
index b57a0d9..6f6242d 100644
--- a/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/reflect/AdviceSignature.html
+++ b/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/reflect/AdviceSignature.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:51 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:44 GMT 2005 -->
 <TITLE>
 AdviceSignature (AspectJ(tm) runtime API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/reflect/CatchClauseSignature.html b/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/reflect/CatchClauseSignature.html
index df69366..6b388b3 100644
--- a/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/reflect/CatchClauseSignature.html
+++ b/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/reflect/CatchClauseSignature.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:51 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:44 GMT 2005 -->
 <TITLE>
 CatchClauseSignature (AspectJ(tm) runtime API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/reflect/CodeSignature.html b/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/reflect/CodeSignature.html
index eee8b6c..0cc0f6c 100644
--- a/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/reflect/CodeSignature.html
+++ b/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/reflect/CodeSignature.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:51 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:44 GMT 2005 -->
 <TITLE>
 CodeSignature (AspectJ(tm) runtime API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/reflect/ConstructorSignature.html b/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/reflect/ConstructorSignature.html
index bcd1f1c..938f629 100644
--- a/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/reflect/ConstructorSignature.html
+++ b/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/reflect/ConstructorSignature.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:51 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:44 GMT 2005 -->
 <TITLE>
 ConstructorSignature (AspectJ(tm) runtime API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/reflect/FieldSignature.html b/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/reflect/FieldSignature.html
index 5b2ca5e..3e11ea4 100644
--- a/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/reflect/FieldSignature.html
+++ b/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/reflect/FieldSignature.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:51 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:44 GMT 2005 -->
 <TITLE>
 FieldSignature (AspectJ(tm) runtime API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/reflect/InitializerSignature.html b/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/reflect/InitializerSignature.html
index 41029c9..0a9756a 100644
--- a/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/reflect/InitializerSignature.html
+++ b/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/reflect/InitializerSignature.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:51 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:44 GMT 2005 -->
 <TITLE>
 InitializerSignature (AspectJ(tm) runtime API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/reflect/MemberSignature.html b/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/reflect/MemberSignature.html
index 703be56..3afbffd 100644
--- a/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/reflect/MemberSignature.html
+++ b/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/reflect/MemberSignature.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:51 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:44 GMT 2005 -->
 <TITLE>
 MemberSignature (AspectJ(tm) runtime API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/reflect/MethodSignature.html b/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/reflect/MethodSignature.html
index 446d86e..3b64222 100644
--- a/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/reflect/MethodSignature.html
+++ b/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/reflect/MethodSignature.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:51 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:44 GMT 2005 -->
 <TITLE>
 MethodSignature (AspectJ(tm) runtime API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/reflect/SourceLocation.html b/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/reflect/SourceLocation.html
index 8fc6cd5..c2a2bc9 100644
--- a/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/reflect/SourceLocation.html
+++ b/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/reflect/SourceLocation.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:51 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:44 GMT 2005 -->
 <TITLE>
 SourceLocation (AspectJ(tm) runtime API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/reflect/package-frame.html b/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/reflect/package-frame.html
index eaecf80..d194d4c 100644
--- a/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/reflect/package-frame.html
+++ b/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/reflect/package-frame.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:51 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:45 GMT 2005 -->
 <TITLE>
 org.aspectj.lang.reflect (AspectJ(tm) runtime API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/reflect/package-summary.html b/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/reflect/package-summary.html
index b826854..1384345 100644
--- a/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/reflect/package-summary.html
+++ b/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/reflect/package-summary.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:51 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:45 GMT 2005 -->
 <TITLE>
 org.aspectj.lang.reflect (AspectJ(tm) runtime API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/reflect/package-tree.html b/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/reflect/package-tree.html
index 67b6250..11aca30 100644
--- a/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/reflect/package-tree.html
+++ b/org.aspectj.ajde/doc/runtime-api/org/aspectj/lang/reflect/package-tree.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:51 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:45 GMT 2005 -->
 <TITLE>
 org.aspectj.lang.reflect Class Hierarchy (AspectJ(tm) runtime API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/runtime-api/org/aspectj/runtime/reflect/Factory.html b/org.aspectj.ajde/doc/runtime-api/org/aspectj/runtime/reflect/Factory.html
index ee109be..51b6795 100644
--- a/org.aspectj.ajde/doc/runtime-api/org/aspectj/runtime/reflect/Factory.html
+++ b/org.aspectj.ajde/doc/runtime-api/org/aspectj/runtime/reflect/Factory.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:51 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:44 GMT 2005 -->
 <TITLE>
 Factory (AspectJ(tm) runtime API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/runtime-api/org/aspectj/runtime/reflect/FieldSignatureImpl.html b/org.aspectj.ajde/doc/runtime-api/org/aspectj/runtime/reflect/FieldSignatureImpl.html
index e8ee7c4..4e40d26 100644
--- a/org.aspectj.ajde/doc/runtime-api/org/aspectj/runtime/reflect/FieldSignatureImpl.html
+++ b/org.aspectj.ajde/doc/runtime-api/org/aspectj/runtime/reflect/FieldSignatureImpl.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:51 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:44 GMT 2005 -->
 <TITLE>
 FieldSignatureImpl (AspectJ(tm) runtime API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/runtime-api/org/aspectj/runtime/reflect/package-frame.html b/org.aspectj.ajde/doc/runtime-api/org/aspectj/runtime/reflect/package-frame.html
index 0f16571..f9cf6f8 100644
--- a/org.aspectj.ajde/doc/runtime-api/org/aspectj/runtime/reflect/package-frame.html
+++ b/org.aspectj.ajde/doc/runtime-api/org/aspectj/runtime/reflect/package-frame.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:51 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:45 GMT 2005 -->
 <TITLE>
 org.aspectj.runtime.reflect (AspectJ(tm) runtime API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/runtime-api/org/aspectj/runtime/reflect/package-summary.html b/org.aspectj.ajde/doc/runtime-api/org/aspectj/runtime/reflect/package-summary.html
index e511644..dc34922 100644
--- a/org.aspectj.ajde/doc/runtime-api/org/aspectj/runtime/reflect/package-summary.html
+++ b/org.aspectj.ajde/doc/runtime-api/org/aspectj/runtime/reflect/package-summary.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:51 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:45 GMT 2005 -->
 <TITLE>
 org.aspectj.runtime.reflect (AspectJ(tm) runtime API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/runtime-api/org/aspectj/runtime/reflect/package-tree.html b/org.aspectj.ajde/doc/runtime-api/org/aspectj/runtime/reflect/package-tree.html
index d27218e..43e4a34 100644
--- a/org.aspectj.ajde/doc/runtime-api/org/aspectj/runtime/reflect/package-tree.html
+++ b/org.aspectj.ajde/doc/runtime-api/org/aspectj/runtime/reflect/package-tree.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:51 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:45 GMT 2005 -->
 <TITLE>
 org.aspectj.runtime.reflect Class Hierarchy (AspectJ(tm) runtime API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/runtime-api/overview-frame.html b/org.aspectj.ajde/doc/runtime-api/overview-frame.html
index 4a0bd53..3bbb2c9 100644
--- a/org.aspectj.ajde/doc/runtime-api/overview-frame.html
+++ b/org.aspectj.ajde/doc/runtime-api/overview-frame.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:51 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:45 GMT 2005 -->
 <TITLE>
 Overview (AspectJ(tm) runtime API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/runtime-api/overview-summary.html b/org.aspectj.ajde/doc/runtime-api/overview-summary.html
index e72f69f..563684f 100644
--- a/org.aspectj.ajde/doc/runtime-api/overview-summary.html
+++ b/org.aspectj.ajde/doc/runtime-api/overview-summary.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:51 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:45 GMT 2005 -->
 <TITLE>
 Overview (AspectJ(tm) runtime API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/runtime-api/overview-tree.html b/org.aspectj.ajde/doc/runtime-api/overview-tree.html
index 0b2d9c5..70bb5d8 100644
--- a/org.aspectj.ajde/doc/runtime-api/overview-tree.html
+++ b/org.aspectj.ajde/doc/runtime-api/overview-tree.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:51 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:45 GMT 2005 -->
 <TITLE>
 Class Hierarchy (AspectJ(tm) runtime API)
 </TITLE>
@@ -86,7 +86,7 @@
 </H2>
 <UL>
 <LI TYPE="circle">java.lang.Object<UL>
-<LI TYPE="circle">org.aspectj.lang.<A HREF="org/aspectj/lang/Aspects.html" title="class in org.aspectj.lang"><B>Aspects</B></A><LI TYPE="circle">org.aspectj.runtime.reflect.<A HREF="org/aspectj/runtime/reflect/Factory.html" title="class in org.aspectj.runtime.reflect"><B>Factory</B></A><LI TYPE="circle">org.aspectj.runtime.reflect.<A HREF="org/aspectj/runtime/reflect/FieldSignatureImpl.html" title="class in org.aspectj.runtime.reflect"><B>FieldSignatureImpl</B></A> (implements org.aspectj.lang.reflect.<A HREF="org/aspectj/lang/reflect/FieldSignature.html" title="interface in org.aspectj.lang.reflect">FieldSignature</A>)
+<LI TYPE="circle">org.aspectj.runtime.reflect.<A HREF="org/aspectj/runtime/reflect/Factory.html" title="class in org.aspectj.runtime.reflect"><B>Factory</B></A><LI TYPE="circle">org.aspectj.runtime.reflect.<A HREF="org/aspectj/runtime/reflect/FieldSignatureImpl.html" title="class in org.aspectj.runtime.reflect"><B>FieldSignatureImpl</B></A> (implements org.aspectj.lang.reflect.<A HREF="org/aspectj/lang/reflect/FieldSignature.html" title="interface in org.aspectj.lang.reflect">FieldSignature</A>)
 <LI TYPE="circle">java.lang.Throwable (implements java.io.Serializable)
 <UL>
 <LI TYPE="circle">java.lang.Exception<UL>
diff --git a/org.aspectj.ajde/doc/runtime-api/serialized-form.html b/org.aspectj.ajde/doc/runtime-api/serialized-form.html
index 8b86954..387286d 100644
--- a/org.aspectj.ajde/doc/runtime-api/serialized-form.html
+++ b/org.aspectj.ajde/doc/runtime-api/serialized-form.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:51 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:45 GMT 2005 -->
 <TITLE>
 Serialized Form (AspectJ(tm) runtime API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/weaver-api/allclasses-frame.html b/org.aspectj.ajde/doc/weaver-api/allclasses-frame.html
index 678ad3d..ad28208 100644
--- a/org.aspectj.ajde/doc/weaver-api/allclasses-frame.html
+++ b/org.aspectj.ajde/doc/weaver-api/allclasses-frame.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:56 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:27:02 GMT 2005 -->
 <TITLE>
 All Classes (AspectJ(tm) weaver API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/weaver-api/allclasses-noframe.html b/org.aspectj.ajde/doc/weaver-api/allclasses-noframe.html
index 698b98d..9fe0187 100644
--- a/org.aspectj.ajde/doc/weaver-api/allclasses-noframe.html
+++ b/org.aspectj.ajde/doc/weaver-api/allclasses-noframe.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:56 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:27:02 GMT 2005 -->
 <TITLE>
 All Classes (AspectJ(tm) weaver API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/weaver-api/constant-values.html b/org.aspectj.ajde/doc/weaver-api/constant-values.html
index ec99c80..bd5aa14 100644
--- a/org.aspectj.ajde/doc/weaver-api/constant-values.html
+++ b/org.aspectj.ajde/doc/weaver-api/constant-values.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:56 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:27:01 GMT 2005 -->
 <TITLE>
 Constant Field Values (AspectJ(tm) weaver API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/weaver-api/deprecated-list.html b/org.aspectj.ajde/doc/weaver-api/deprecated-list.html
index 30e0cb0..6fa6a8e 100644
--- a/org.aspectj.ajde/doc/weaver-api/deprecated-list.html
+++ b/org.aspectj.ajde/doc/weaver-api/deprecated-list.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:56 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:27:02 GMT 2005 -->
 <TITLE>
 Deprecated List (AspectJ(tm) weaver API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/weaver-api/help-doc.html b/org.aspectj.ajde/doc/weaver-api/help-doc.html
index 33bb38a..40d8d19 100644
--- a/org.aspectj.ajde/doc/weaver-api/help-doc.html
+++ b/org.aspectj.ajde/doc/weaver-api/help-doc.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:56 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:27:02 GMT 2005 -->
 <TITLE>
 API Help (AspectJ(tm) weaver API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/weaver-api/index-all.html b/org.aspectj.ajde/doc/weaver-api/index-all.html
index 65c80d7..a633ea9 100644
--- a/org.aspectj.ajde/doc/weaver-api/index-all.html
+++ b/org.aspectj.ajde/doc/weaver-api/index-all.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:56 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:27:01 GMT 2005 -->
 <TITLE>
 Index (AspectJ(tm) weaver API)
 </TITLE>
@@ -188,10 +188,7 @@
 <DT><A HREF="./org/aspectj/weaver/loadtime/DefaultMessageHandler.html" title="class in org.aspectj.weaver.loadtime"><B>DefaultMessageHandler</B></A> - Class in <A HREF="./org/aspectj/weaver/loadtime/package-summary.html">org.aspectj.weaver.loadtime</A><DD>&nbsp;<DT><A HREF="./org/aspectj/weaver/loadtime/DefaultMessageHandler.html#DefaultMessageHandler()"><B>DefaultMessageHandler()</B></A> - 
 Constructor for class org.aspectj.weaver.loadtime.<A HREF="./org/aspectj/weaver/loadtime/DefaultMessageHandler.html" title="class in org.aspectj.weaver.loadtime">DefaultMessageHandler</A>
 <DD>&nbsp;
-<DT><A HREF="./org/aspectj/weaver/loadtime/DefaultWeavingContext.html" title="class in org.aspectj.weaver.loadtime"><B>DefaultWeavingContext</B></A> - Class in <A HREF="./org/aspectj/weaver/loadtime/package-summary.html">org.aspectj.weaver.loadtime</A><DD>Use in non-OSGi environment<DT><A HREF="./org/aspectj/weaver/loadtime/DefaultWeavingContext.html#DefaultWeavingContext()"><B>DefaultWeavingContext()</B></A> - 
-Constructor for class org.aspectj.weaver.loadtime.<A HREF="./org/aspectj/weaver/loadtime/DefaultWeavingContext.html" title="class in org.aspectj.weaver.loadtime">DefaultWeavingContext</A>
-<DD>&nbsp;
-<DT><A HREF="./org/aspectj/weaver/loadtime/DefaultWeavingContext.html#DefaultWeavingContext(java.lang.ClassLoader)"><B>DefaultWeavingContext(ClassLoader)</B></A> - 
+<DT><A HREF="./org/aspectj/weaver/loadtime/DefaultWeavingContext.html" title="class in org.aspectj.weaver.loadtime"><B>DefaultWeavingContext</B></A> - Class in <A HREF="./org/aspectj/weaver/loadtime/package-summary.html">org.aspectj.weaver.loadtime</A><DD>Use in non-OSGi environment<DT><A HREF="./org/aspectj/weaver/loadtime/DefaultWeavingContext.html#DefaultWeavingContext(java.lang.ClassLoader)"><B>DefaultWeavingContext(ClassLoader)</B></A> - 
 Constructor for class org.aspectj.weaver.loadtime.<A HREF="./org/aspectj/weaver/loadtime/DefaultWeavingContext.html" title="class in org.aspectj.weaver.loadtime">DefaultWeavingContext</A>
 <DD>Construct a new WeavingContext to use the specifed ClassLoader
  This is the constructor which should be used.
@@ -259,6 +256,9 @@
 <DT><A HREF="./org/aspectj/weaver/loadtime/ClassLoaderWeavingAdaptor.html#flushGeneratedClasses()"><B>flushGeneratedClasses()</B></A> - 
 Method in class org.aspectj.weaver.loadtime.<A HREF="./org/aspectj/weaver/loadtime/ClassLoaderWeavingAdaptor.html" title="class in org.aspectj.weaver.loadtime">ClassLoaderWeavingAdaptor</A>
 <DD>Flush the generated classes cache
+<DT><A HREF="./org/aspectj/weaver/tools/WeavingAdaptor.WeavingAdaptorMessageHandler.html#flushMessages()"><B>flushMessages()</B></A> - 
+Method in class org.aspectj.weaver.tools.<A HREF="./org/aspectj/weaver/tools/WeavingAdaptor.WeavingAdaptorMessageHandler.html" title="class in org.aspectj.weaver.tools">WeavingAdaptor.WeavingAdaptorMessageHandler</A>
+<DD>&nbsp;
 <DT><A HREF="./org/aspectj/weaver/tools/FuzzyBoolean.html#fromBoolean(boolean)"><B>fromBoolean(boolean)</B></A> - 
 Static method in class org.aspectj.weaver.tools.<A HREF="./org/aspectj/weaver/tools/FuzzyBoolean.html" title="class in org.aspectj.weaver.tools">FuzzyBoolean</A>
 <DD>&nbsp;
@@ -350,6 +350,9 @@
 <DT><A HREF="./org/aspectj/weaver/tools/UnsupportedPointcutPrimitiveException.html#getInvalidPointcutExpression()"><B>getInvalidPointcutExpression()</B></A> - 
 Method in exception org.aspectj.weaver.tools.<A HREF="./org/aspectj/weaver/tools/UnsupportedPointcutPrimitiveException.html" title="class in org.aspectj.weaver.tools">UnsupportedPointcutPrimitiveException</A>
 <DD>&nbsp;
+<DT><A HREF="./org/aspectj/weaver/tools/WeavingAdaptor.html#getMessageHandler()"><B>getMessageHandler()</B></A> - 
+Method in class org.aspectj.weaver.tools.<A HREF="./org/aspectj/weaver/tools/WeavingAdaptor.html" title="class in org.aspectj.weaver.tools">WeavingAdaptor</A>
+<DD>&nbsp;
 <DT><A HREF="./org/aspectj/weaver/tools/PointcutParameter.html#getName()"><B>getName()</B></A> - 
 Method in interface org.aspectj.weaver.tools.<A HREF="./org/aspectj/weaver/tools/PointcutParameter.html" title="interface in org.aspectj.weaver.tools">PointcutParameter</A>
 <DD>The name of this parameter
@@ -587,9 +590,6 @@
 Method in interface org.aspectj.weaver.tools.<A HREF="./org/aspectj/weaver/tools/PointcutExpression.html" title="interface in org.aspectj.weaver.tools">PointcutExpression</A>
 <DD>Returns true iff this pointcut contains any expression that might necessitate a dynamic test
  at some join point (e.g.
-<DT><A HREF="./org/aspectj/weaver/tools/WeavingAdaptor.html#messageHandler"><B>messageHandler</B></A> - 
-Variable in class org.aspectj.weaver.tools.<A HREF="./org/aspectj/weaver/tools/WeavingAdaptor.html" title="class in org.aspectj.weaver.tools">WeavingAdaptor</A>
-<DD>&nbsp;
 </DL>
 <HR>
 <A NAME="_N_"><!-- --></A><H2>
@@ -717,6 +717,9 @@
 Method in interface org.aspectj.weaver.tools.<A HREF="./org/aspectj/weaver/tools/ShadowMatch.html" title="interface in org.aspectj.weaver.tools">ShadowMatch</A>
 <DD>Set a matching context to be used when matching
  join points.
+<DT><A HREF="./org/aspectj/weaver/tools/WeavingAdaptor.html#setMessageHandler(org.aspectj.bridge.IMessageHandler)"><B>setMessageHandler(IMessageHandler)</B></A> - 
+Method in class org.aspectj.weaver.tools.<A HREF="./org/aspectj/weaver/tools/WeavingAdaptor.html" title="class in org.aspectj.weaver.tools">WeavingAdaptor</A>
+<DD>&nbsp;
 <DT><A HREF="./org/aspectj/weaver/tools/ShadowMatch.html" title="interface in org.aspectj.weaver.tools"><B>ShadowMatch</B></A> - Interface in <A HREF="./org/aspectj/weaver/tools/package-summary.html">org.aspectj.weaver.tools</A><DD>The result of asking a PointcutExpression to match at a shadow (method execution,
  handler, constructor call, and so on).<DT><A HREF="./org/aspectj/weaver/loadtime/ClassLoaderWeavingAdaptor.html#shouldDump(java.lang.String, boolean)"><B>shouldDump(String, boolean)</B></A> - 
 Method in class org.aspectj.weaver.loadtime.<A HREF="./org/aspectj/weaver/loadtime/ClassLoaderWeavingAdaptor.html" title="class in org.aspectj.weaver.loadtime">ClassLoaderWeavingAdaptor</A>
diff --git a/org.aspectj.ajde/doc/weaver-api/index.html b/org.aspectj.ajde/doc/weaver-api/index.html
index e905337..059cf76 100644
--- a/org.aspectj.ajde/doc/weaver-api/index.html
+++ b/org.aspectj.ajde/doc/weaver-api/index.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc on Wed Dec 14 14:06:56 GMT 2005-->
+<!-- Generated by javadoc on Tue Dec 20 13:27:02 GMT 2005-->
 <TITLE>
 AspectJ(tm) weaver API
 </TITLE>
diff --git a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/Aj.html b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/Aj.html
index c8e833d..c7f89be 100644
--- a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/Aj.html
+++ b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/Aj.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:56 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:58 GMT 2005 -->
 <TITLE>
 Aj (AspectJ(tm) weaver API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/ClassLoaderWeavingAdaptor.html b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/ClassLoaderWeavingAdaptor.html
index 623d1c7..0ba4c90 100644
--- a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/ClassLoaderWeavingAdaptor.html
+++ b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/ClassLoaderWeavingAdaptor.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:56 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:58 GMT 2005 -->
 <TITLE>
 ClassLoaderWeavingAdaptor (AspectJ(tm) weaver API)
 </TITLE>
@@ -139,7 +139,7 @@
 <TH ALIGN="left"><B>Fields inherited from class org.aspectj.weaver.tools.<A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html" title="class in org.aspectj.weaver.tools">WeavingAdaptor</A></B></TH>
 </TR>
 <TR BGCOLOR="white" CLASS="TableRowColor">
-<TD><CODE><A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#bcelWorld">bcelWorld</A>, <A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#enabled">enabled</A>, <A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#generatedClasses">generatedClasses</A>, <A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#generatedClassHandler">generatedClassHandler</A>, <A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#messageHandler">messageHandler</A>, <A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#SHOW_WEAVE_INFO_PROPERTY">SHOW_WEAVE_INFO_PROPERTY</A>, <A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#verbose">verbose</A>, <A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#weaver">weaver</A>, <A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#WEAVING_ADAPTOR_VERBOSE">WEAVING_ADAPTOR_VERBOSE</A></CODE></TD>
+<TD><CODE><A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#bcelWorld">bcelWorld</A>, <A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#enabled">enabled</A>, <A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#generatedClasses">generatedClasses</A>, <A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#generatedClassHandler">generatedClassHandler</A>, <A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#SHOW_WEAVE_INFO_PROPERTY">SHOW_WEAVE_INFO_PROPERTY</A>, <A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#verbose">verbose</A>, <A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#weaver">weaver</A>, <A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#WEAVING_ADAPTOR_VERBOSE">WEAVING_ADAPTOR_VERBOSE</A></CODE></TD>
 </TR>
 </TABLE>
 &nbsp;
@@ -226,7 +226,7 @@
 <TH ALIGN="left"><B>Methods inherited from class org.aspectj.weaver.tools.<A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html" title="class in org.aspectj.weaver.tools">WeavingAdaptor</A></B></TH>
 </TR>
 <TR BGCOLOR="white" CLASS="TableRowColor">
-<TD><CODE><A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#addURL(java.net.URL)">addURL</A>, <A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#dump(java.lang.String, byte[], boolean)">dump</A>, <A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#error(java.lang.String)">error</A>, <A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#info(java.lang.String)">info</A>, <A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#warn(java.lang.String)">warn</A>, <A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#warn(java.lang.String, java.lang.Throwable)">warn</A>, <A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#weaveClass(java.lang.String, byte[])">weaveClass</A></CODE></TD>
+<TD><CODE><A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#addURL(java.net.URL)">addURL</A>, <A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#dump(java.lang.String, byte[], boolean)">dump</A>, <A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#error(java.lang.String)">error</A>, <A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#getMessageHandler()">getMessageHandler</A>, <A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#info(java.lang.String)">info</A>, <A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#setMessageHandler(org.aspectj.bridge.IMessageHandler)">setMessageHandler</A>, <A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#warn(java.lang.String)">warn</A>, <A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#warn(java.lang.String, java.lang.Throwable)">warn</A>, <A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#weaveClass(java.lang.String, byte[])">weaveClass</A></CODE></TD>
 </TR>
 </TABLE>
 &nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
diff --git a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/ClassPreProcessor.html b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/ClassPreProcessor.html
index 6ea37a9..ba7cab5 100644
--- a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/ClassPreProcessor.html
+++ b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/ClassPreProcessor.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:56 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:59 GMT 2005 -->
 <TITLE>
 ClassPreProcessor (AspectJ(tm) weaver API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/ConcreteAspectCodeGen.html b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/ConcreteAspectCodeGen.html
index cce9903..a3c4016 100644
--- a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/ConcreteAspectCodeGen.html
+++ b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/ConcreteAspectCodeGen.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:56 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:59 GMT 2005 -->
 <TITLE>
 ConcreteAspectCodeGen (AspectJ(tm) weaver API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/DefaultMessageHandler.html b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/DefaultMessageHandler.html
index 832fa7b..931fd66 100644
--- a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/DefaultMessageHandler.html
+++ b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/DefaultMessageHandler.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:56 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:59 GMT 2005 -->
 <TITLE>
 DefaultMessageHandler (AspectJ(tm) weaver API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/DefaultWeavingContext.html b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/DefaultWeavingContext.html
index 3e7f004..fb224b9 100644
--- a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/DefaultWeavingContext.html
+++ b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/DefaultWeavingContext.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:56 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:59 GMT 2005 -->
 <TITLE>
 DefaultWeavingContext (AspectJ(tm) weaver API)
 </TITLE>
@@ -138,12 +138,6 @@
 <B>Constructor Summary</B></FONT></TH>
 </TR>
 <TR BGCOLOR="white" CLASS="TableRowColor">
-<TD><CODE><B><A HREF="../../../../org/aspectj/weaver/loadtime/DefaultWeavingContext.html#DefaultWeavingContext()">DefaultWeavingContext</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
 <TD><CODE><B><A HREF="../../../../org/aspectj/weaver/loadtime/DefaultWeavingContext.html#DefaultWeavingContext(java.lang.ClassLoader)">DefaultWeavingContext</A></B>(java.lang.ClassLoader&nbsp;loader)</CODE>
 
 <BR>
@@ -227,14 +221,6 @@
 </TR>
 </TABLE>
 
-<A NAME="DefaultWeavingContext()"><!-- --></A><H3>
-DefaultWeavingContext</H3>
-<PRE>
-public <B>DefaultWeavingContext</B>()</PRE>
-<DL>
-</DL>
-<HR>
-
 <A NAME="DefaultWeavingContext(java.lang.ClassLoader)"><!-- --></A><H3>
 DefaultWeavingContext</H3>
 <PRE>
diff --git a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/IWeavingContext.html b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/IWeavingContext.html
index 615ce87..ec47e32 100644
--- a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/IWeavingContext.html
+++ b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/IWeavingContext.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:56 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:59 GMT 2005 -->
 <TITLE>
 IWeavingContext (AspectJ(tm) weaver API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/JRockitAgent.html b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/JRockitAgent.html
index 390e4d0..d917a35 100644
--- a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/JRockitAgent.html
+++ b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/JRockitAgent.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:56 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:59 GMT 2005 -->
 <TITLE>
 JRockitAgent (AspectJ(tm) weaver API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/Options.WeaverOption.html b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/Options.WeaverOption.html
index 153d425..097bcd4 100644
--- a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/Options.WeaverOption.html
+++ b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/Options.WeaverOption.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:56 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:59 GMT 2005 -->
 <TITLE>
 Options.WeaverOption (AspectJ(tm) weaver API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/Options.html b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/Options.html
index ebfd8b4..6394014 100644
--- a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/Options.html
+++ b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/Options.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:56 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:59 GMT 2005 -->
 <TITLE>
 Options (AspectJ(tm) weaver API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/WeavingURLClassLoader.html b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/WeavingURLClassLoader.html
index c8ebb1b..f335106 100644
--- a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/WeavingURLClassLoader.html
+++ b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/WeavingURLClassLoader.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:56 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:59 GMT 2005 -->
 <TITLE>
 WeavingURLClassLoader (AspectJ(tm) weaver API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/definition/Definition.ConcreteAspect.html b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/definition/Definition.ConcreteAspect.html
index cb8f0ef..9d705c2 100644
--- a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/definition/Definition.ConcreteAspect.html
+++ b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/definition/Definition.ConcreteAspect.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:56 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:27:00 GMT 2005 -->
 <TITLE>
 Definition.ConcreteAspect (AspectJ(tm) weaver API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/definition/Definition.Pointcut.html b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/definition/Definition.Pointcut.html
index 5f3622d..41267f7 100644
--- a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/definition/Definition.Pointcut.html
+++ b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/definition/Definition.Pointcut.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:56 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:27:01 GMT 2005 -->
 <TITLE>
 Definition.Pointcut (AspectJ(tm) weaver API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/definition/Definition.html b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/definition/Definition.html
index 5d6a440..fee3a8c 100644
--- a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/definition/Definition.html
+++ b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/definition/Definition.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:56 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:27:00 GMT 2005 -->
 <TITLE>
 Definition (AspectJ(tm) weaver API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/definition/DocumentParser.html b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/definition/DocumentParser.html
index 86423a4..07ad86e 100644
--- a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/definition/DocumentParser.html
+++ b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/definition/DocumentParser.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:56 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:27:01 GMT 2005 -->
 <TITLE>
 DocumentParser (AspectJ(tm) weaver API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/definition/package-frame.html b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/definition/package-frame.html
index 87b0cec..ff6fc49 100644
--- a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/definition/package-frame.html
+++ b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/definition/package-frame.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:56 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:27:01 GMT 2005 -->
 <TITLE>
 org.aspectj.weaver.loadtime.definition (AspectJ(tm) weaver API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/definition/package-summary.html b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/definition/package-summary.html
index c3088c0..6e7c8cd 100644
--- a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/definition/package-summary.html
+++ b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/definition/package-summary.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:56 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:27:01 GMT 2005 -->
 <TITLE>
 org.aspectj.weaver.loadtime.definition (AspectJ(tm) weaver API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/definition/package-tree.html b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/definition/package-tree.html
index a401e78..d4e024f 100644
--- a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/definition/package-tree.html
+++ b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/definition/package-tree.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:56 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:27:01 GMT 2005 -->
 <TITLE>
 org.aspectj.weaver.loadtime.definition Class Hierarchy (AspectJ(tm) weaver API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/package-frame.html b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/package-frame.html
index 7bd72fa..f101234 100644
--- a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/package-frame.html
+++ b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/package-frame.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:56 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:27:01 GMT 2005 -->
 <TITLE>
 org.aspectj.weaver.loadtime (AspectJ(tm) weaver API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/package-summary.html b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/package-summary.html
index cafa614..3d883db 100644
--- a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/package-summary.html
+++ b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/package-summary.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:56 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:27:01 GMT 2005 -->
 <TITLE>
 org.aspectj.weaver.loadtime (AspectJ(tm) weaver API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/package-tree.html b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/package-tree.html
index 54554d9..441c0a4 100644
--- a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/package-tree.html
+++ b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/loadtime/package-tree.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:56 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:27:01 GMT 2005 -->
 <TITLE>
 org.aspectj.weaver.loadtime Class Hierarchy (AspectJ(tm) weaver API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/ContextBasedMatcher.html b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/ContextBasedMatcher.html
index 4fa0741..5931202 100644
--- a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/ContextBasedMatcher.html
+++ b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/ContextBasedMatcher.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:55 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:56 GMT 2005 -->
 <TITLE>
 ContextBasedMatcher (AspectJ(tm) weaver API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/DefaultMatchingContext.html b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/DefaultMatchingContext.html
index 10df9e2..cb2a42b 100644
--- a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/DefaultMatchingContext.html
+++ b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/DefaultMatchingContext.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:55 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:56 GMT 2005 -->
 <TITLE>
 DefaultMatchingContext (AspectJ(tm) weaver API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/FuzzyBoolean.html b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/FuzzyBoolean.html
index 03a6b24..faa81b7 100644
--- a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/FuzzyBoolean.html
+++ b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/FuzzyBoolean.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:55 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:56 GMT 2005 -->
 <TITLE>
 FuzzyBoolean (AspectJ(tm) weaver API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/GeneratedClassHandler.html b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/GeneratedClassHandler.html
index 453b509..6b7434c 100644
--- a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/GeneratedClassHandler.html
+++ b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/GeneratedClassHandler.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:55 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:56 GMT 2005 -->
 <TITLE>
 GeneratedClassHandler (AspectJ(tm) weaver API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/JoinPointMatch.html b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/JoinPointMatch.html
index e629767..7815089 100644
--- a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/JoinPointMatch.html
+++ b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/JoinPointMatch.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:55 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:57 GMT 2005 -->
 <TITLE>
 JoinPointMatch (AspectJ(tm) weaver API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/MatchingContext.html b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/MatchingContext.html
index 868c607..57f68af 100644
--- a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/MatchingContext.html
+++ b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/MatchingContext.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:55 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:57 GMT 2005 -->
 <TITLE>
 MatchingContext (AspectJ(tm) weaver API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/PointcutDesignatorHandler.html b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/PointcutDesignatorHandler.html
index 7ad706b..b3fef36 100644
--- a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/PointcutDesignatorHandler.html
+++ b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/PointcutDesignatorHandler.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:55 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:57 GMT 2005 -->
 <TITLE>
 PointcutDesignatorHandler (AspectJ(tm) weaver API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/PointcutExpression.html b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/PointcutExpression.html
index dfe8ae9..fe78753 100644
--- a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/PointcutExpression.html
+++ b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/PointcutExpression.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:55 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:57 GMT 2005 -->
 <TITLE>
 PointcutExpression (AspectJ(tm) weaver API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/PointcutParameter.html b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/PointcutParameter.html
index dd00e07..2c69353 100644
--- a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/PointcutParameter.html
+++ b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/PointcutParameter.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:55 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:57 GMT 2005 -->
 <TITLE>
 PointcutParameter (AspectJ(tm) weaver API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/PointcutParser.html b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/PointcutParser.html
index 58ffd11..dff1de4 100644
--- a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/PointcutParser.html
+++ b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/PointcutParser.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:55 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:57 GMT 2005 -->
 <TITLE>
 PointcutParser (AspectJ(tm) weaver API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/PointcutPrimitive.html b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/PointcutPrimitive.html
index 33ee6f1..e22f148 100644
--- a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/PointcutPrimitive.html
+++ b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/PointcutPrimitive.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:55 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:57 GMT 2005 -->
 <TITLE>
 PointcutPrimitive (AspectJ(tm) weaver API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/ShadowMatch.html b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/ShadowMatch.html
index b2219fb..d31591c 100644
--- a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/ShadowMatch.html
+++ b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/ShadowMatch.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:56 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:57 GMT 2005 -->
 <TITLE>
 ShadowMatch (AspectJ(tm) weaver API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/TypePatternMatcher.html b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/TypePatternMatcher.html
index d1b64af..37abb8f 100644
--- a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/TypePatternMatcher.html
+++ b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/TypePatternMatcher.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:56 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:57 GMT 2005 -->
 <TITLE>
 TypePatternMatcher (AspectJ(tm) weaver API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/UnsupportedPointcutPrimitiveException.html b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/UnsupportedPointcutPrimitiveException.html
index fd6e7da..fdf0a4e 100644
--- a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/UnsupportedPointcutPrimitiveException.html
+++ b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/UnsupportedPointcutPrimitiveException.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:56 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:57 GMT 2005 -->
 <TITLE>
 UnsupportedPointcutPrimitiveException (AspectJ(tm) weaver API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/WeavingAdaptor.WeavingAdaptorMessageHandler.html b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/WeavingAdaptor.WeavingAdaptorMessageHandler.html
index 944ccfa..8cfdd2d 100644
--- a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/WeavingAdaptor.WeavingAdaptorMessageHandler.html
+++ b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/WeavingAdaptor.WeavingAdaptorMessageHandler.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:56 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:58 GMT 2005 -->
 <TITLE>
 WeavingAdaptor.WeavingAdaptorMessageHandler (AspectJ(tm) weaver API)
 </TITLE>
@@ -174,6 +174,14 @@
 </TR>
 <TR BGCOLOR="white" CLASS="TableRowColor">
 <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.WeavingAdaptorMessageHandler.html#flushMessages()">flushMessages</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
 <CODE>&nbsp;boolean</CODE></FONT></TD>
 <TD><CODE><B><A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.WeavingAdaptorMessageHandler.html#handleMessage(org.aspectj.bridge.IMessage)">handleMessage</A></B>(org.aspectj.bridge.IMessage&nbsp;message)</CODE>
 
@@ -303,6 +311,17 @@
 </DL>
 </DD>
 </DL>
+<HR>
+
+<A NAME="flushMessages()"><!-- --></A><H3>
+flushMessages</H3>
+<PRE>
+public void <B>flushMessages</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
 <!-- ========= END OF CLASS DATA ========= -->
 <HR>
 
diff --git a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/WeavingAdaptor.html b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/WeavingAdaptor.html
index 76be9ab..a4a2914 100644
--- a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/WeavingAdaptor.html
+++ b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/WeavingAdaptor.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:56 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:58 GMT 2005 -->
 <TITLE>
 WeavingAdaptor (AspectJ(tm) weaver API)
 </TITLE>
@@ -176,14 +176,6 @@
 </TR>
 <TR BGCOLOR="white" CLASS="TableRowColor">
 <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>protected &nbsp;org.aspectj.bridge.IMessageHandler</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#messageHandler">messageHandler</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
 <CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
 <TD><CODE><B><A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#SHOW_WEAVE_INFO_PROPERTY">SHOW_WEAVE_INFO_PROPERTY</A></B></CODE>
 
@@ -299,6 +291,14 @@
 </TR>
 <TR BGCOLOR="white" CLASS="TableRowColor">
 <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;org.aspectj.bridge.IMessageHandler</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#getMessageHandler()">getMessageHandler</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
 <CODE>protected &nbsp;boolean</CODE></FONT></TD>
 <TD><CODE><B><A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#info(java.lang.String)">info</A></B>(java.lang.String&nbsp;message)</CODE>
 
@@ -307,6 +307,14 @@
 </TR>
 <TR BGCOLOR="white" CLASS="TableRowColor">
 <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#setMessageHandler(org.aspectj.bridge.IMessageHandler)">setMessageHandler</A></B>(org.aspectj.bridge.IMessageHandler&nbsp;mh)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
 <CODE>protected &nbsp;boolean</CODE></FONT></TD>
 <TD><CODE><B><A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#shouldDump(java.lang.String, boolean)">shouldDump</A></B>(java.lang.String&nbsp;name,
            boolean&nbsp;before)</CODE>
@@ -425,16 +433,6 @@
 </DL>
 <HR>
 
-<A NAME="messageHandler"><!-- --></A><H3>
-messageHandler</H3>
-<PRE>
-protected org.aspectj.bridge.IMessageHandler <B>messageHandler</B></PRE>
-<DL>
-<DL>
-</DL>
-</DL>
-<HR>
-
 <A NAME="generatedClassHandler"><!-- --></A><H3>
 generatedClassHandler</H3>
 <PRE>
@@ -514,6 +512,28 @@
 </TR>
 </TABLE>
 
+<A NAME="getMessageHandler()"><!-- --></A><H3>
+getMessageHandler</H3>
+<PRE>
+protected org.aspectj.bridge.IMessageHandler <B>getMessageHandler</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setMessageHandler(org.aspectj.bridge.IMessageHandler)"><!-- --></A><H3>
+setMessageHandler</H3>
+<PRE>
+protected void <B>setMessageHandler</B>(org.aspectj.bridge.IMessageHandler&nbsp;mh)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
 <A NAME="addURL(java.net.URL)"><!-- --></A><H3>
 addURL</H3>
 <PRE>
diff --git a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/WeavingClassLoader.html b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/WeavingClassLoader.html
index a79be18..db8751c 100644
--- a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/WeavingClassLoader.html
+++ b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/WeavingClassLoader.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:56 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:26:58 GMT 2005 -->
 <TITLE>
 WeavingClassLoader (AspectJ(tm) weaver API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/package-frame.html b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/package-frame.html
index 7ed0ad8..826eb06 100644
--- a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/package-frame.html
+++ b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/package-frame.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:56 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:27:01 GMT 2005 -->
 <TITLE>
 org.aspectj.weaver.tools (AspectJ(tm) weaver API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/package-summary.html b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/package-summary.html
index 40da738..17b29ad 100644
--- a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/package-summary.html
+++ b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/package-summary.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:56 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:27:01 GMT 2005 -->
 <TITLE>
 org.aspectj.weaver.tools (AspectJ(tm) weaver API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/package-tree.html b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/package-tree.html
index 75d3e36..7c11bf4 100644
--- a/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/package-tree.html
+++ b/org.aspectj.ajde/doc/weaver-api/org/aspectj/weaver/tools/package-tree.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:56 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:27:01 GMT 2005 -->
 <TITLE>
 org.aspectj.weaver.tools Class Hierarchy (AspectJ(tm) weaver API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/weaver-api/overview-frame.html b/org.aspectj.ajde/doc/weaver-api/overview-frame.html
index b9305c0..5651998 100644
--- a/org.aspectj.ajde/doc/weaver-api/overview-frame.html
+++ b/org.aspectj.ajde/doc/weaver-api/overview-frame.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:56 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:27:01 GMT 2005 -->
 <TITLE>
 Overview (AspectJ(tm) weaver API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/weaver-api/overview-summary.html b/org.aspectj.ajde/doc/weaver-api/overview-summary.html
index 8ad5bf1..cb8dda6 100644
--- a/org.aspectj.ajde/doc/weaver-api/overview-summary.html
+++ b/org.aspectj.ajde/doc/weaver-api/overview-summary.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:56 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:27:02 GMT 2005 -->
 <TITLE>
 Overview (AspectJ(tm) weaver API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/weaver-api/overview-tree.html b/org.aspectj.ajde/doc/weaver-api/overview-tree.html
index a6c450b..bdaa888 100644
--- a/org.aspectj.ajde/doc/weaver-api/overview-tree.html
+++ b/org.aspectj.ajde/doc/weaver-api/overview-tree.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:56 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:27:01 GMT 2005 -->
 <TITLE>
 Class Hierarchy (AspectJ(tm) weaver API)
 </TITLE>
diff --git a/org.aspectj.ajde/doc/weaver-api/serialized-form.html b/org.aspectj.ajde/doc/weaver-api/serialized-form.html
index 1f859b3..45a2d9e 100644
--- a/org.aspectj.ajde/doc/weaver-api/serialized-form.html
+++ b/org.aspectj.ajde/doc/weaver-api/serialized-form.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.5.0_01) on Wed Dec 14 14:06:56 GMT 2005 -->
+<!-- Generated by javadoc (build 1.5.0_01) on Tue Dec 20 13:27:01 GMT 2005 -->
 <TITLE>
 Serialized Form (AspectJ(tm) weaver API)
 </TITLE>