[Cuis-dev] Expanding on #noteCompilationOf:meta:

Juan Vuletich juan at jvuletich.org
Tue Feb 18 05:40:31 PST 2020


Just pushed these to GitHub.

Cheers,

-- 
Juan Vuletich
www.cuis-smalltalk.org
https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev
https://github.com/jvuletich
https://www.linkedin.com/in/juan-vuletich-75611b3
@JuanVuletich


On 2/2/2020 5:22 PM, Phil B via Cuis-dev wrote:
> Sorry for the delay... I had some convoluted dependencies on the old 
> methods that took me a while to untangle.  All set now.  Your proposed 
> changes look good to me.
>
> On Wed, Jan 29, 2020 at 8:55 AM Juan Vuletich <juan at jvuletich.org 
> <mailto:juan at jvuletich.org>> wrote:
>
>     On 1/18/2020 8:07 PM, Phil B via Cuis-dev wrote:
>     > Attached is a first cut of something I've wanted for a while: the
>     > ability to capture method changes as they occur with the ability to
>     > prevent them from happening if needed at a global level.  Basically
>     > it's just paired methods of #isOkTo[Compile|Remove]:meta: and
>     > #note[Compilation|Removal]Of:meta:.
>     >
>     > It's always bothered me how central the method  structure is yet
>     > completely useless from the standpoint of having extensible
>     > metadata... if I'm wrong re: extensibility, please let me know what
>     > I've overlooked.  So barring that, these changes allow for
>     things like
>     > helping to keep a separate metadata structure in sync with method
>     > changes.  The main requirement is to be able to track method adds,
>     > changes and deletes to the image globally.  Not sure, but I was
>     > thinking that this facility might also be useful for refactoring
>     tools.
>     >
>     > One issue / odd thing I noticed: the removal methods only get
>     called
>     > instance-side due to ClassDescription #removeSelector: only getting
>     > called on instance methods and you have to jump up to the Behavior
>     > implementor for class methods.  That seems strange to me since
>     method
>     > compilation all appears to occur at the level of
>     ClassDescription.  Is
>     > there a reason removals need to be different from compilation in
>     this
>     > way?  (Not knowing the answer, I haven't fixed this issue in the
>     > attached changeset)
>
>     Hi Phil, folks,
>
>     This is my proposal.
>
>     When reviewing all this code, I found some dead code, and stuff
>     crying
>     for cleanup. Hence the attached #4035 and #4036.
>
>     Then, I almost cloned your implementation of isOk, but with a
>     different
>     question for adding a new method than for modifying en existing
>     one. I
>     did #4037 with your initials, as it is your code after all.
>
>     BTW, I don't quite get your last paragraph. Can you elaborate a
>     bit on
>     the issue, perhaps with steps to reproduce the offending behavior?
>
>     If these changesets look ok for everybody, I'll push them to GitHub.
>
>     Thanks,
>
>     -- 
>     Juan Vuletich
>     www.cuis-smalltalk.org <http://www.cuis-smalltalk.org>
>     https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev
>     https://github.com/jvuletich
>     https://www.linkedin.com/in/juan-vuletich-75611b3
>     @JuanVuletich
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cuis.st/mailman/archives/cuis-dev/attachments/20200218/11cc7525/attachment-0001.htm>


More information about the Cuis-dev mailing list