From a1e4d4694a330ee0f9d1700d1b38c606c2c19d44 Mon Sep 17 00:00:00 2001 From: wisberg Date: Wed, 23 Nov 2005 03:28:38 +0000 Subject: "Formals" defined when used, more details on aspectOf(..) --- docs/progGuideDB/semantics.xml | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) (limited to 'docs/progGuideDB') diff --git a/docs/progGuideDB/semantics.xml b/docs/progGuideDB/semantics.xml index 5654955bd..e6d828c3e 100644 --- a/docs/progGuideDB/semantics.xml +++ b/docs/progGuideDB/semantics.xml @@ -1249,8 +1249,8 @@ aspect A { - Formal parameter lists can use the wildcard .. to - indicate zero or more arguments, so + The wildcard .. indicates zero or more + parameters, so @@ -1782,6 +1782,16 @@ ModifiersPattern = around( Formals ) + + and where Formal refers to a + variable binding like those used for method parameters, + of the form + Type + Variable-Name, + and Formals refers to a comma-delimited + list of Formal. + + Advice defines crosscutting behavior. It is defined in terms of @@ -2952,7 +2962,9 @@ ModifiersPattern = Unlike class expressions, aspects are not instantiated with new expressions. Rather, aspect instances are - automatically created to cut across programs. + automatically created to cut across programs. A program + can get a reference to an aspect instance using the static + method aspectOf(..). @@ -2964,6 +2976,9 @@ ModifiersPattern = The criteria used to determine how an aspect is instantiated is inherited from its parent aspect. If the aspect has no parent aspect, then by default the aspect is a singleton aspect. + How an aspect is instantiated controls the form of the + aspectOf(..) method defined on the + concrete aspect class. @@ -2978,8 +2993,8 @@ ModifiersPattern = By default (or by using the modifier issingleton()) an aspect has exactly one instance that cuts across the entire program. That instance is available at any time during program - execution with the static method aspectOf() - defined on the aspect + execution from the static method aspectOf() + automatically defined on all concrete aspects -- so, in the above examples, A.aspectOf() will return A's instance. This aspect instance is created as the aspect's classfile is loaded. -- cgit v1.2.3