[Pharo-project] [squeak-dev] Contexts must only be created with newForMethod: ...

Mariano Martinez Peck marianopeck at gmail.com
Thu Sep 1 13:03:04 EDT 2011


Since I didn't get feedback there I ask here....what do you think?  I agree
with Chris.

Thanks

On Mon, Aug 1, 2011 at 8:34 PM, Mariano Martinez Peck <marianopeck at gmail.com
> wrote:

> Hi Chris.  Yes, I have this problem when materializing MethodContext
> instances in Fuel.
> I've solved it adding the method:
>
> ContextPart class >> newFromFrameSize: aFrameSize
>
>     ^ super basicNew: aFrameSize
>
> but it is a hack.
>
> So yes, if there is no real reason to do the opposite, I would change
> #basicNew:
>
> Cheers
>
>
> On Mon, Aug 1, 2011 at 8:27 PM, Chris Muller <ma.chris.m at gmail.com> wrote:
>
>> .. but #newForMethod: requires more in the API than it really uses.
>> It only checks the methods #frameSize to determine what basicSized
>> MethodContext to create - it doesn't actually set its method from the
>> one passed in.
>>
>> newForMethod: aMethod
>>        --- (comment snipped for brevity) ---
>>        ^ super basicNew: aMethod frameSize
>>
>> So, would it be ok to relax MethodContext class>>basicNew: to something
>> like:
>>
>>  basicNew: size
>>        ^ (size = CompiledMethod smallFrameSize or: [ size =
>> CompiledMethod fullframeSize ])
>>               ifTrue: [ super basicNew: size ]
>>               ifFalse: [ self error: 'Contexts must be ',
>> CompiledMethod smallFrameSize, ' or ', CompiledMethod fullframeSize, '
>> bytes.' ]
>>
>>
>
>
> --
> Mariano
> http://marianopeck.wordpress.com
>
>


-- 
Mariano
http://marianopeck.wordpress.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20110901/879b87b9/attachment-0001.html>


More information about the Pharo-dev mailing list