Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[ajdt-dev] AJ handle diffs - IJavaElement.getHandleIdentifier() vs. IRelationship.getSourceHandle()

Hello,

I'm writing an Eclipse plug-in that uses handle identifiers to work with crosscutting relationship information.  I *think* I'm seeing a slight variation in handle identifiers within AspectJ compilation units, depending on whether you're looking at an IJavaElement or a relationship that involves the IJavaElement.

If you get the handle from IJavaElement.getHandleIdentifier(), the AspectJ compilation unit's name is preceded by "{":

=handle-demo-aspects/src<handledemoaspects{HandleDemoAspect.aj}HandleDemoAspect&before

However, if that IJavaElement is in a crosscutting relationship, and you get the handle from IRelationship.getSourceHandle(), the AspectJ compilation unit's name is preceded by "*":

=handle-demo-aspects/src<handledemoaspects*HandleDemoAspect.aj}HandleDemoAspect&before

From what I can tell, this only seems to happen within AspectJ compilation units.  getHandleIdentifier() and getSourceHandler() both use "{" before Java compilation unit names:
=handle-demo-aspects/src<handledemoaspects{HandleDemoClass.java[HandleDemoClass

Am I doing something wrong, or should getHandleIdentifier() and getSourceHandler() both return the same thing?

I've written a small plug-in that demonstrates the behavior, if you're interested.

Thanks!
Jeff

Back to the top