From e35d9ee62484336a691cfc3990c507c482a2d06a Mon Sep 17 00:00:00 2001 From: acolyer Date: Mon, 14 Mar 2005 02:17:07 +0000 Subject: [PATCH] added some words on context binding across disjunctions and declare soft behaviour wrt. RuntimeExceptions --- docs/adk15ProgGuideDB/miscellaneous.xml | 72 ++++++++++++++++++++++--- 1 file changed, 66 insertions(+), 6 deletions(-) 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. + + + + -- 2.39.5