Bump...
2009/9/1 João Gonçalves <[email protected]>
> Greetings,
>
> I'm having problems with the "translation" of the following inter-type
> declaration to the new @AspectJ notation:
>
> *private* String FigureElement.enclosingGroup = *null*;
>
>
> I'm working with the following hierarchy:
>
> *interface* FigureElement
> *class* Group *implements* FigureElement
>
>
> I've declared the following interface:
>
> *public interface* FigureEnclosingGroup {
> String getFigureEnclosingGroup();
> *void* setFigureEnclosingGroup(String enclosingGroup);
> }
>
>
> I've also defined a simple implementation class *FigureEnclosingGroupImpl*
> .
>
> The @DeclareParents code I'm using is:
>
> @DeclareParents(value="FigureElement",
> defaultImpl=FigureEnclosingGroupImpl.*class*)
> *private* FigureEnclosingGroup figureEnclosingGroup;
>
>
> However, when I cast a Group element to FigureElement and try to access
> the getFigureEnclosingGroup() method, I get the following exception:
>
> java.lang.AbstractMethodError:
> Group.getFigureEnclosingGroup()Lfigures/Group
>
> That is, the method is not found.
>
> HOWEVER, if in the @DeclareParents' value attribute I use "FigureElement*+
> *" (notice the plus sign), everything runs without errors (and well)...
>
>
> Is this the normal behaviour? In the first @DeclareParents was I just
> stating that the implementation would affect only the interface and not the
> classes that implement it!? Must I use the plus sign with @DeclareMixin as
> well?
>
>
> Thanks.
>
_______________________________________________
aspectj-users mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/aspectj-users