Yep sorry, my bad, this was a configuration issue on my side, the fix
worked.

Cheers !

2015-07-06 21:51 GMT+02:00 Andy Clement <andrew.clem...@gmail.com>:

> Hi Romain,
>
> It should be in - I can see the fix in the git log (although I wish we’d
> tracked this in a real bugzilla rather than just in email). Are you sure
> you aren’t hitting something new now, having changed a bit of code?
>
> cheers,
> Andy
>
> On Jul 6, 2015, at 5:33 AM, Romain Primet <romain.pri...@gmail.com> wrote:
>
> Hi Andy,
>
> Contacting you again abount this issue, did the fix make it into 1.8.6? We
> get the same errors at compile time.
>
> Cheers
>
> Romain
>
> 2015-04-12 19:53 GMT+02:00 Andy Clement <andrew.clem...@gmail.com>:
>
>> Nope I have no testcase, I couldn’t recreate it in a simple scenario
>> after trying for a little while so had to work on it in Romains complete
>> app. Sometimes I don’t have the cycles to get a lovely regression test in
>> place :(
>>
>>
>> cheers,
>> Andy
>>
>> > On Apr 12, 2015, at 8:02 AM, Alexander Kriegisch <
>> alexan...@kriegisch.name> wrote:
>> >
>> > Hi Andy.
>> >
>> >> Possibly it is the use of declare parents extends (with generics),
>> >> that is just not as common as declare parents implements.
>> >
>> > Actually, no. That was the first thing I tried, namely getting rid of
>> the interface implementation 'DefaultIdentifiable' and replacing it like
>> this:
>> >
>> >
>> > package fr.inria.zvtm.cluster;
>> >
>> > import fr.inria.zvtm.engine.Camera;
>> > import fr.inria.zvtm.engine.VirtualSpace;
>> > import fr.inria.zvtm.glyphs.Glyph;
>> > import fr.inria.zvtm.engine.portals.Portal;
>> >
>> > aspect ObjIdIntroduction {
>> >    declare parents: VirtualSpace implements Identifiable;
>> >    declare parents: Glyph        implements Identifiable;
>> >    declare parents: Camera       implements Identifiable;
>> >    declare parents: Portal       implements Identifiable;
>> >
>> >    private final ObjId Identifiable.objId = ObjIdFactory.next();
>> >    private boolean Identifiable.replicated = false;
>> >
>> >    public ObjId Identifiable.getObjId(){ return objId; }
>> >    public boolean Identifiable.isReplicated() { return replicated; }
>> >    public void Identifiable.setReplicated(boolean val) {
>> this.replicated = val; }
>> > }
>> >
>> > The resulting compilation errors were the same as before. I actually
>> tried to replicate the generics situation in a simple project, but have
>> failed to do so. Do you have a test case for it? Well, probably I should
>> just look at your Git repo and check the latest commits (if you have pushed
>> them already).
>> >
>> > Regards
>> > --
>> > Alexander Kriegisch
>> >
>> > Schillerplatz 6, 91315 Höchstadt, Germany
>> > Tel +49 (9193) 52 76, Mob +49 (176) 20 53 07 02
>> >
>> >
>> > Andy Clement schrieb am 11.04.2015 18:56:
>> >
>> >> Hey,
>> >>
>> >> Yes, Romain sent me some repo references off list so the discussion
>> ended up
>> >> continuing there. I was planning to post back here when we got to a
>> conclusion
>> >> (which we just did last night when Romain tested a 1.8.6 snapshot I
>> created
>> >> with a potential fix).
>> >>
>> >> The new method will make it into the class file proceedOnError, but of
>> course
>> >> that isn’t where the compiler is looking. The compiler is looking at
>> the raw
>> >> type binding for Glyph, and that has a super type of Object.  Sometime
>> after
>> >> that raw type representation is built we apply the declare parents and
>> it
>> >> changes the super type of the generic type of Glyph to the new type
>> that
>> >> contains the missing methods.  When the classfiles are written out,
>> they’ll
>> >> be based on the generic type so the correct declare parented super
>> type will be
>> >> there but for all the non generic references made in the program, they
>> will
>> >> being resolved against the raw type which does not have these methods
>> in its
>> >> hierarchy.
>> >>
>> >> I don’t quite understand why this is only coming up now, looks to have
>> been
>> >> missing for a long time.  Possibly it is the use of declare parents
>> extends
>> >> (with generics), that is just not as common as declare parents
>> implements.
>> >>
>> >> The fix is simply to have a look for a raw type when patching up the
>> generic
>> >> type and fix that up too, possibly there is an issue with
>> parameterized types
>> >> too but I have no test program that shows me there is an issue (yet).
>> >>
>> >> A proceed on error without the fix would probably leave the code with
>> eclipse
>> >> exception throwing code generated at the bad method call sites that
>> would fail
>> >> at runtime when exercised. I never recommend proceedOnError.
>> >>
>> >> cheers,
>> >> Andy
>> >>
>> >>> On Apr 11, 2015, at 5:47 AM, Alexander Kriegisch <
>> alexan...@kriegisch.name>
>> >>> wrote:
>> >>>
>> >>> Sounds good, Romain, I had no idea Andy was in touch with you.
>> >>>
>> >>> BTW, I noticed that if you add
>> >>>   <proceedOnError>true</proceedOnError>
>> >>> to the POM of zvtm-cluster, the build continues and the necessary
>> methods seem
>> >>> to be there in the resulting class files. Can you please test that
>> with the
>> >>> official v1.8.5 (not the fixed preview) and tell me if the software
>> actually
>> >>> does what it is supposed to? I have no idea how to test that because
>> I do not
>> >>> know ZVTM. I am just curious if this workaround to keep the build
>> going
>> >>> actually works or leaves behind inconsistently woven class files.
>> >>>
>> >>> Thanks in advance
>> >>> --
>> >>> Alexander Kriegisch
>> >>> http://scrum-master.de
>> >>>
>> >>>
>> >>> Romain Primet schrieb am 11.04.2015 14:35:
>> >>>
>> >>>> Hi Alexander,
>> >>>>
>> >>>> I got a reply from Andy off-list; looks like an issue with ITD and
>> >>>> generic types (ITD not being done on raw type). I'm sure Andy will be
>> >>>> more precise; also, he has provided me with a snapshot build of
>> aspectj
>> >>>> that builds zvtm-cluster just fine.
>> >>>>
>> >>>> Thanks a lot to you both for the debugging and help!
>> >>>>
>> >>>> Romain
>> >>>>
>> >>>> Le 11/04/2015 14:31, Alexander Kriegisch a écrit :
>> >>>>> Hi Andy.
>> >>>>>
>> >>>>> I have looked into this a little more and noticed that the build
>> within
>> >>>>> Eclipse Luna with AJDT works nicely, but fails with AspectJ Maven
>> Plugin and
>> >>>>> on the command line via ajc.bat. So this might be a clue what it
>> going wrong
>> >>>>> if you can answer one question: What does ADJT differently in
>> comparison to
>> >>>>> Ajc with regards to build order or other relevant factors?
>> >>>>>
>> >>>>> I have also noticed that if I remove the three Aspect files
>> >>>>>  - GlyphCreation.aj
>> >>>>>  - GlyphReplication.aj
>> >>>>>  - VirtualSpaceReplication.aj
>> >>>>> from zvtm-cluster, the module compiles fine. This is because these
>> aspects
>> >>>>> rely on ObjIdIntroduction.aj being woven first as they expect the
>> introduced
>> >>>>> methods to be present in the target classes from module zvtm-core.
>> >>>>>
>> >>>>> I also tried to replicate a minimal sample with a Java project and
>> an
>> >>>>> AspectJ
>> >>>>> project having the Java project on its inpath. The AspectJ project
>> has three
>> >>>>> aspects which rely on each other's methods being present. It does
>> not show
>> >>>>> any
>> >>>>> errors during compilation from either Eclipse or command line
>> though. So
>> >>>>> probably you need to analyse the real project. To me it definitely
>> looks
>> >>>>> like
>> >>>>> a bug.
>> >>>>>
>> >>>>> Regards
>> >>>>
>> >>>> _______________________________________________
>> >>>> aspectj-users mailing list
>> >>>> aspectj-users@eclipse.org
>> >>>> To change your delivery options, retrieve your password, or
>> unsubscribe from
>> >>>> this list, visit
>> >>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>> >>>>
>> >>> _______________________________________________
>> >>> aspectj-users mailing list
>> >>> aspectj-users@eclipse.org
>> >>> To change your delivery options, retrieve your password, or
>> unsubscribe from
>> >>> this list, visit
>> >>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>> >>
>> >> _______________________________________________
>> >> aspectj-users mailing list
>> >> aspectj-users@eclipse.org
>> >> To change your delivery options, retrieve your password, or
>> unsubscribe from
>> >> this list, visit
>> >> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>> >>
>> >
>> > _______________________________________________
>> > aspectj-users mailing list
>> > aspectj-users@eclipse.org
>> > To change your delivery options, retrieve your password, or unsubscribe
>> from this list, visit
>> > https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>
>> _______________________________________________
>> aspectj-users mailing list
>> aspectj-users@eclipse.org
>> To change your delivery options, retrieve your password, or unsubscribe
>> from this list, visit
>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>
>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@eclipse.org
> To change your delivery options, retrieve your password, or unsubscribe
> from this list, visit
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>
>
>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@eclipse.org
> To change your delivery options, retrieve your password, or unsubscribe
> from this list, visit
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>
_______________________________________________
aspectj-users mailing list
aspectj-users@eclipse.org
To change your delivery options, retrieve your password, or unsubscribe from 
this list, visit
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Reply via email to