<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">Hi Jannis!<br>
<br>
Am 30.07.2014 18:41, schrieb Jannis Stoppe:<br>
</div>
<blockquote cite="mid:53D9202D.6080908@informatik.uni-bremen.de"
type="cite">
<meta http-equiv="content-type" content="text/html;
charset=ISO-8859-1">
Hi!<br>
<br>
Currently digging my way through AspectC++, everything works
nicely so far, but some questions come up that I can't seem to
answer myself... Any help would be appreciated.<br>
<ul>
<li>Can I match anything besides function calls and type names?
E.g. I could use the type matching expression to first replace
a field with according get and set methods and then replace
all expressions in the code that read or write that field with
the according calls? How would I match all expressions that
access that field? Is there something like regex matching like
in <br>
</li>
</ul>
</blockquote>
<br>
There is no set/get pointcut in AspectC++. Due to alias problem this
is much harder to implement than, for instance, in AspectJ. Recently
a student of mine has begun to work on this feature, but that work
will take some time. Not a single line of code has been written yet.<br>
<br>
<blockquote cite="mid:53D9202D.6080908@informatik.uni-bremen.de"
type="cite">
<ul>
<li> <br>
</li>
<li>What is the difference between <i>that</i> and <i>target</i>?
Using <i>tjp->that()</i> from within an aspect that was
woven in via an execution advice I get a reference to the
object that would usually be <i>this</i> inside the function
that is currently being executed, correct? What do I get with
<i>tjp->target()</i> as opposed to that?</li>
</ul>
</blockquote>
<br>
In execution advice I would normally only use that(). Its semantic
is that it represents the "this" pointer at the joinpoint. The
target() function has the same meaning in execution advice. The
difference is only relevant in call advice, where that() points to
the calling object and target() to the called object. If you write
very generic advice code that is executed for call *and* execution
joinpoints, it might be useful to have an implementation for
target() even for execution joinpoints.<br>
<br>
<blockquote cite="mid:53D9202D.6080908@informatik.uni-bremen.de"
type="cite">
<ul>
</ul>
<p>Thanks in advance and best regards<br>
Jannis<br>
</p>
<br>
</blockquote>
<br>
You're welcome. I hope this helps.<br>
<br>
Best regards,<br>
<br>
Olaf<br>
<br>
</body>
</html>