aboutsummaryrefslogtreecommitdiffstats
path: root/docs/progguide/implementation.adoc
diff options
context:
space:
mode:
Diffstat (limited to 'docs/progguide/implementation.adoc')
-rw-r--r--docs/progguide/implementation.adoc16
1 files changed, 8 insertions, 8 deletions
diff --git a/docs/progguide/implementation.adoc b/docs/progguide/implementation.adoc
index 42ee2e37e..03a0e19ae 100644
--- a/docs/progguide/implementation.adoc
+++ b/docs/progguide/implementation.adoc
@@ -1,7 +1,7 @@
[[implementation]]
-== Implementation Notes
+= Implementation Notes
-=== Compiler Notes
+== Compiler Notes
The initial implementations of AspectJ have all been compiler-based
implementations. Certain elements of AspectJ's semantics are difficult
@@ -108,10 +108,10 @@ used. During your development, you will have to be aware of the
limitations of the _ajc_ compiler you're using, but these limitations
should not drive the design of your aspects.
-=== Bytecode Notes
+== Bytecode Notes
[[the-class-expression-and-string-plus]]
-==== The `.class` expression and `String` `+`
+=== The `.class` expression and `String` `+`
The java language form `Foo.class` is implemented in bytecode with a
call to `Class.forName` guarded by an exception handler catching a
@@ -140,7 +140,7 @@ class Test {
In short, the join point model of the current AspectJ compiler considers
these as valid join points.
-==== The `handler()` join point
+=== The `handler()` join point
The end of exception handlers cannot reliably be found in Java bytecode.
Instead of removing the `handler` join point entirely, the current AspectJ
@@ -185,7 +185,7 @@ A source-code implementation of AspectJ (such as AspectJ 1.0.6) is able
to detect the endpoint of a handler join point, and as such will likely
have fewer such restrictions.
-==== Initializers and Inter-type Constructors
+=== Initializers and Inter-type Constructors
The code for Java initializers, such as the assignment to the field `d` in
@@ -221,7 +221,7 @@ aspect A {
It is the job of an inter-type constructor to do all the required
initialization, or to delegate to a `this` constructor if necessary.
-=== Annotation-style Notes
+== Annotation-style Notes
Writing aspects in annotation-style is subject to the same bytecode
limitations since the binary aspects take the same form and are woven in
@@ -229,7 +229,7 @@ the same way. However, the implementation differences (e.g., the
mechanism for implementing `around` advice) may be apparent at runtime.
See the documentation on annotation-style for more information.
-=== Summary of implementation requirements
+== Summary of implementation requirements
This summarizes the requirements of our implementation of AspectJ. For
more details, see the relevant sections of this guide.