Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[ajdt-dev] ASM hierarchy model

A question for Mik I guess.

For IDE support to work correctly, should the Hierarchy and
Relationship model output by the weaver have correct "kind" for
@AspectJ style member ie be flagged as IProgramElement.Kind.Advice,
Aspect, Pointcut etc. ?

f.e. with 

      SingletonAspectBindingsTest  [class]
C:\Temp\ajcSandbox\ajcTest36518.tmp\ataspectj\SingletonAspectBindingsTest.java:30::1063
        TestAspect  [aspect]
C:\Temp\ajcSandbox\ajcTest36518.tmp\ataspectj\SingletonAspectBindingsTest.java:74::2495
          s  [field]
C:\Temp\ajcSandbox\ajcTest36518.tmp\ataspectj\SingletonAspectBindingsTest.java:76::2530
          ...  [initializer]
C:\Temp\ajcSandbox\ajcTest36518.tmp\ataspectj\SingletonAspectBindingsTest.java:78::2555
          TestAspect()  [constructor]
C:\Temp\ajcSandbox\ajcTest36518.tmp\ataspectj\SingletonAspectBindingsTest.java:82::2604
          aaround(ProceedingJoinPoint)  [method]
C:\Temp\ajcSandbox\ajcTest36518.tmp\ataspectj\SingletonAspectBindingsTest.java:90::2901
          around2(ProceedingJoinPoint, Object)  [method]
C:\Temp\ajcSandbox\ajcTest36518.tmp\ataspectj\SingletonAspectBindingsTest.java:101::3273
          before(JoinPoint.StaticPart)  [advice]
C:\Temp\ajcSandbox\ajcTest36518.tmp\ataspectj\SingletonAspectBindingsTest.java:113::3742
....
=== RELATIONSHIPS REPORT ========= After a batch build
Hid:1:(targets=1)
C:\Temp\ajcSandbox\ajcTest36518.tmp\ataspectj\SingletonAspectBindingsTest.java|49|0|1568
(advised by) C:\Temp\ajcSandbox\ajcTest36518.tmp\ataspectj\SingletonAspectBindingsTest.java|128|0|4563
Hid:2:(targets=1)
C:\Temp\ajcSandbox\ajcTest36518.tmp\ataspectj\SingletonAspectBindingsTest.java|90|0|2935
(advises) C:\Temp\ajcSandbox\ajcTest36518.tmp\ataspectj\SingletonAspectBindingsTest.java|45|0|1509
Hid:3:(targets=1)
C:\Temp\ajcSandbox\ajcTest36518.tmp\ataspectj\SingletonAspectBindingsTest.java|101|0|3317
(advises) C:\Temp\ajcSandbox\ajcTest36518.tmp\ataspectj\SingletonAspectBindingsTest.java|45|0|1509
...
=== Properties of the model and relationships map =====
method=13
import reference=19
aspect=1
constructor=1
class=2
advice=2
...
we can see that TestAspect.java is flagged to be an aspect.
Same for the method before, flagged to be an advice.
But since I am in the middle of doing some changes, you can see that
aaround(..) are flagged as methods.

Is AJDT supposed to work only from the advised-by / advises info or
does this things matters ? (this because it means changing some in the
ajdt.core to check if there are the @Aspect, @Before and so on
annotations).
(BTW with that, AJDT does not show up the markers and the cross
cutting structure better, despite the advised by is correct in the
problem view (when turned on).

Alex


Back to the top