From 26ea8385014b31dea870ca7d1a883976853179b1 Mon Sep 17 00:00:00 2001 From: ehilsdal Date: Mon, 23 Aug 2004 00:53:28 +0000 Subject: [PATCH] Fix for bugzilla bug 71391 "Specify context collecting behavior for this, target and args pointcuts" --- docs/progGuideDB/semantics.xml | 109 +++++++++++++++++++++++++++++++++ 1 file changed, 109 insertions(+) diff --git a/docs/progGuideDB/semantics.xml b/docs/progGuideDB/semantics.xml index b7325114e..a64dd8101 100644 --- a/docs/progGuideDB/semantics.xml +++ b/docs/progGuideDB/semantics.xml @@ -189,6 +189,115 @@ + + + Each join point potentially has three pieces of state associated + with it: the currently executing object, the target object, and + an object array of arguments. These are exposed by the three + state-exposing pointcuts, this, + target, and args, + respectively. + + + + Informally, the currently executing object is the object that a + this expression would pick out at the join + point. The target object is where control or attention is + transferred to by the join point. The arguments are those + values passed for that transfer of control or attention. + + + + + + + Join Point + Current Object + Target Object + Arguments + + + + Method Call + executing object* + target object** + method arguments + + + + Method Execution + executing object* + executing object* + method arguments + + + Constructor Call + executing object* + None + constructor arguments + + + + Constructor Execution + executing object + executing object + constructor arguments + + + + Static initializer execution + None + None + None + + + Object pre-initialization + None + None + constructor arguments + + + Object initialization + executing object + executing object + constructor arguments + + + Field reference + executing object* + target object** + None + + + Field assignment + executing object* + target object** + assigned value + + + Handler execution + executing object* + executing object* + caught exception + + + Advice execution + executing aspect + executing aspect + advice arguments + + + + + + * There is no executing object in static contexts such as + static method bodies or static initializers. + + + ** There is no target object for join points associated + with static methods or fields. + + -- 2.39.5