<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>