[squeak-dev] CompiledMethod>>#valueWithReceiver:arguments: deprecated implementation?
Eliot Miranda
eliot.miranda at gmail.com
Tue Dec 11 15:04:18 UTC 2018
Hi Patrick,
> On Dec 11, 2018, at 6:39 AM, <patrick.rein at hpi.uni-potsdam.de> <patrick.rein at hpi.uni-potsdam.de> wrote:
>
> Hi everyone,
>
> a while back we discovered the following method with a comment:
>
> CompiledMethod>>#valueWithReceiver: aReceiver arguments: anArray
> "This should be changed after the release of Squeak 4.3 to
> ^self class receiver: aReceiver withArguments: anArray executeMethod: self"
> ^ aReceiver withArgs: anArray executeMethod: self
>
> Is the comment still valid? Should this be changed? I changed it in my image and have not seen any problems. Also the Kernel-Methods tests are running fine. Does anyone know more about the comment?
I believe it’s my comment. The point is that a proxy object won’t inherit [Proto]Object>>#withArgs:executeMethod: and so sending #withArgs:executeMethod: to it won’t do what’s expected at all. The solution is to use a mirror primitive. So yes, we should indeed make this change. Someone (me?) needs to check that the VM support is there.
>
> Bests
> Patrick
Eliot
_,,,^..^,,,_ (phone)
More information about the Squeak-dev
mailing list
|