From: acolyer Date: Mon, 14 Mar 2005 02:17:07 +0000 (+0000) Subject: added some words on context binding across disjunctions and declare soft behaviour... X-Git-Tag: V1_5_0M2~35 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=e35d9ee62484336a691cfc3990c507c482a2d06a;p=aspectj.git added some words on context binding across disjunctions and declare soft behaviour wrt. RuntimeExceptions --- diff --git a/docs/adk15ProgGuideDB/miscellaneous.xml b/docs/adk15ProgGuideDB/miscellaneous.xml index 545a66418..063c8b816 100644 --- a/docs/adk15ProgGuideDB/miscellaneous.xml +++ b/docs/adk15ProgGuideDB/miscellaneous.xml @@ -8,10 +8,24 @@ Binding of formals - Binding of formals (cannot bind same formal more than once in a conjunction, - can bind exactly once in each branch of a disjunction, iff the branches are mutually - exclusive based on e.g. join point kind). - + 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: + + + + + + whereas this expression is permitted in AspectJ 5. Each context variable must + be bound exactly once in each branch of a disjunction, and the disjunctive branches + 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. + + @@ -27,9 +41,55 @@ Declare Soft - Describe change to only soften checked exceptions if we decide to - make it. + The semantics of the declare soft 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 RuntimeException + or a subtype of RuntimeException then a new XLint warning will be issued: + + + + + This XLint message can be controlled by setting the runtimeExceptionNotSoftened XLint parameter. + + + + If the exception type specified in a declare soft statement is a super type of RuntimeException + (such as Exception for example) then any checked exception thrown at a matched join point, + where the exception is an instance of the softened exception, will be softened to an + org.aspectj.lang.SoftException. + + + +