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

Juan Vuletich juan at jvuletich.org
Wed Jan 29 05:55:23 PST 2020


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
https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev
https://github.com/jvuletich
https://www.linkedin.com/in/juan-vuletich-75611b3
@JuanVuletich

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 4037-tracking-method-changes-globally-PhilBellalouna-2020Jan29-10h00m-pb.2.cs.st
URL: <http://lists.cuis.st/mailman/archives/cuis-dev/attachments/20200129/18b8f00e/attachment.ksh>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 4036-noteCompilationOfmeta-removal-JuanVuletich-2020Jan29-09h03m-jmv.1.cs.st
URL: <http://lists.cuis.st/mailman/archives/cuis-dev/attachments/20200129/18b8f00e/attachment-0001.ksh>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 4035-remove-methodAdded-event-JuanVuletich-2020Jan29-08h46m-jmv.1.cs.st
URL: <http://lists.cuis.st/mailman/archives/cuis-dev/attachments/20200129/18b8f00e/attachment-0002.ksh>


More information about the Cuis-dev mailing list