On Sun, May 13, 2018 at 6:37 PM, Herbert Vojčík <he...@mailbox.sk> wrote:
> > > Guillermo Polito wrote: > >> Just be careful, that privateState thing looks like a Moose only Famix >> feature. It't not available in plain Pharo objects :) >> > > In ES6 mailing list, they had this problem re how to do private state for > objects, and it was shown that having private state is sort of isomorphic > to having WeakMap indexed by objects. So in case of Pharo, I'd say using > WeakIdentitityKeyDictionary can do the trick. Without resorting to any > external dependency. > This works if the WeakMap is ephemeral. We should see in latest Pharo7 if Ephemerons are working. > > Herby > > On Wed, May 9, 2018 at 2:09 AM, Alidra Abdelghani via Pharo-users < >> pharo-users@lists.pharo.org <mailto:pharo-users@lists.pharo.org>> wrote: >> >> >> >> ---------- Forwarded message ---------- >> From: Alidra Abdelghani <alidran...@yahoo.fr >> <mailto:alidran...@yahoo.fr>> >> To: Pavel Krivanek <pavel.kriva...@gmail.com >> <mailto:pavel.kriva...@gmail.com>> >> Cc: Any question about pharo is welcome <pharo-users@lists.pharo.org >> <mailto:pharo-users@lists.pharo.org>> >> Bcc: >> Date: Wed, 9 May 2018 01:09:06 +0100 >> Subject: Re: Package extension. Adding instance variables to classes >> Hi Pavel, >> >> Thank you for your answer. >> I actually didn’t know about this mechanism. >> I think it is will do the job :) >> I have probably to rewrite some parts pf my code to access my >> variables through privateState. no? >> >> >> Thanks again >> Abdelghani >> >>> On 07 May 2018, at 13:15, pharo-users-requ...@lists.pharo.org >>> <mailto:pharo-users-requ...@lists.pharo.org> wrote: >>> >>> >>> Message: 1 >>> Date: Mon, 7 May 2018 13:43:56 +0200 >>> From: Pavel Krivanek <pavel.kriva...@gmail.com >>> <mailto:pavel.kriva...@gmail.com>> >>> To: Any question about pharo is welcome >>> <pharo-users@lists.pharo.org <mailto:pharo-users@lists.pharo.org>> >>> Subject: Re: [Pharo-users] Package extension. Adding instance >>> variables to classes >>> Message-ID: >>> <CAHN2FzeMiBL4Y8asJ0XCjS2AQdxycoN+pbc+Hsd=trmnmui...@mail.gmail.com >>> <mailto:CAHN2FzeMiBL4Y8asJ0XCjS2AQdxycoN+pbc+Hsd=trMnmuiJqw@ >>> mail.gmail.com>> >>> Content-Type: text/plain; charset="utf-8" >>> >>> 2018-05-07 12:25 GMT+02:00 Alidra Abdelghani via Pharo-users < >>> pharo-users@lists.pharo.org <mailto:pharo-users@lists.pharo.org>>: >>> >>> >>>> >>>> ---------- P?eposlan? zpr?va ---------- >>>> From: Alidra Abdelghani <alidran...@yahoo.fr >>>> <mailto:alidran...@yahoo.fr>> >>>> To:pharo-users@lists.pharo.org <mailto:pharo-users@lists.pharo.org> >>>> Cc: >>>> Bcc: >>>> Date: Mon, 7 May 2018 11:25:49 +0100 >>>> Subject: Package extension. Adding instance variables to classes >>>> Hi, >>>> >>>> I am working on a package named ClassNamesAnalyzer and I need to >>>> add code >>>> to third party classes in other packages (for instance the >>>> FAMIX-Core >>>> package). >>>> ?Extending? third party classes with methods is easy; I just need to >>>> categorise my methods under the *ClassNamesAnalyzer protocole so >>>> that >>>> loading my package will load them in the image. >>>> However, if I want to add instance variables to theses classes, >>>> they are >>>> not there when I load the package in a new image. >>>> >>>> *So my question is* : is there a way to include instance variables >>>> addition to other packages in my package? >>>> >>>> >>> Currently not, you should use privateState >>> >>> >>> *Another question is* : is it good practice to add instance >>>> variables to >>>> classes in third party packages and is there a way to avoid it >>>> (because I >>>> am not very confortable with that idea)? >>>> >>>> >>> It is not, see FAMIXContainerEntity>>#definedAnnotationTypes how >>> this issue >>> is currently being solved using the privateState. >>> >>> Cheers, >>> -- Pavel >>> >>> >>> >>>> Thanks in advance, >>>> Abdelghani >>>> >>> >> >> >> >> >> >> -- >> >> >> >> Guille Polito >> >> Research Engineer >> >> Centre de Recherche en Informatique, Signal et Automatique de Lille >> >> CRIStAL - UMR 9189 >> >> French National Center for Scientific Research - _http://www.cnrs.fr_ >> >> >> *Web:* _http://guillep.github.io_ >> >> *Phone: *+33 06 52 70 66 13 >> >> -- Guille Polito Research Engineer Centre de Recherche en Informatique, Signal et Automatique de Lille CRIStAL - UMR 9189 French National Center for Scientific Research - *http://www.cnrs.fr <http://www.cnrs.fr>* *Web:* *http://guillep.github.io* <http://guillep.github.io> *Phone: *+33 06 52 70 66 13