Changes

Summary

  1. There is some *really* stragenge thing implemented for Method Properties: #refersToLiteral: checks both the key and, if the value is an array or a symbol, even that. (details)
Commit 842e6a9f5dbaae33e09ee259389c0ad7d420c5d0 by marcus.denker
There is some *really* stragenge thing implemented for Method Properties: #refersToLiteral: checks both the key and, if the value is an array or a symbol, even that.

This makes no sense: of course we want to look into Pragmas. But properties? This means that if we put some property (e.g. #sendHalt returning true), it will find all methods as method refering to the property key.

We should see properties more as "dynamic object specific ivars", just additional state that can be assiged to a compiledMethod.  #refersToLiteral: should *not* bother!

This, as  side effect, speeds up senders of a little (and a lot if you use method properties a lot)
The file was modifiedsrc/Kernel/AdditionalMethodState.class.st (diff)
The file was modifiedsrc/Kernel-Tests/CompiledCodeTest.class.st (diff)
The file was modifiedsrc/Collections-Support/Association.class.st (diff)