From acaeeaf485dd45db241b10c594d1a7a99bd7afa1 Mon Sep 17 00:00:00 2001 From: ehilsdal Date: Mon, 23 Aug 2004 01:53:41 +0000 Subject: fix for bugzilla bug 72379: static aspects not well explained --- docs/progGuideDB/gettingstarted.xml | 4 +-- docs/progGuideDB/semantics.xml | 61 ++++++++++++++++++++++++++++--------- 2 files changed, 48 insertions(+), 17 deletions(-) (limited to 'docs') diff --git a/docs/progGuideDB/gettingstarted.xml b/docs/progGuideDB/gettingstarted.xml index 0701d01bd..c9ac6ad36 100644 --- a/docs/progGuideDB/gettingstarted.xml +++ b/docs/progGuideDB/gettingstarted.xml @@ -888,7 +888,7 @@ aspect PointBoundsChecking { An aspect is a crosscutting type defined by the aspect - declaration. The aspect declaration is similar to the - class declaration in that it defines a type and an - implementation for that type. It differs in that the type and - implementation can cut across other types (including those defined by - other aspect declarations), and that it may not be directly instantiated - with a new expression, with cloning, or with serialization. Aspects may - have one constructor definition, but if so it must be of a constructor - taking no arguments and throwing no checked exceptions. + declaration. - - Aspects may be defined either at the package level, or as a static nested - aspect -- that is, a static member of a class, interface, or aspect. If it - is not at the package level, the aspect must be - defined with the static keyword. Local and anonymous aspects are not - allowed. - + + Aspect Declaration + + + The aspect declaration is similar to the + class declaration in that it defines a type and an + implementation for that type. It differs in a number of + ways: + + + + Aspect implementation can cut across other types + + In addition to normal Java class declarations such as + methods and fields, aspect declarations can include AspectJ + declarations such as advice, pointcuts, and inter-type + declarations. Thus, aspects contain implementation + declarations that can can cut across other types (including those defined by + other aspect declarations). + + + + + Aspects are not directly instantiated + + Aspects are not directly instantiated with a new + expression, with cloning, or with serialization. Aspects may + have one constructor definition, but if so it must be of a + constructor taking no arguments and throwing no checked + exceptions. + + + + + Nested aspects must be <literal>static</literal> + + + Aspects may be defined either at the package level, or as a static nested + aspect -- that is, a static member of a class, interface, or aspect. If it + is not at the package level, the aspect must be + defined with the static keyword. Local and anonymous aspects are not + allowed. + + + Aspect Extension -- cgit v1.2.3