> On 23 May 2018, at 13:30, Thierry Goubier <[email protected]> wrote:
>
> 2018-05-23 13:20 GMT+02:00 Sean P. DeNigris <[email protected]>:
>> Marcus Denker-4 wrote
>>> method := Smalltalk compiler
>>> environment: environment;
>>> compile: 'tt ^MyClass’.
>>
>> Awesome! Is it possible to override a global from /within/ a method (e.g. in
>> a test)?
>
> I think at the class level by manipulating that class compiler
Yes. You can override the class side method:
in Behaviour, it is defined as
compiler
"Answer a compiler appropriate for source methods of this class."
^self compilerClass new
environment: self environment;
class: self
so you can just
compiler
“Change the compiler environment "
^super compiler
environment: self myEnvironment
and it should work.
an a per method bases, we can only manipulate the compiler via Pragmas to set
options:
<compilerOptions: #(+ optionInlineTimesRepeat)>
for example.
> (and
> forcing a method recompile...)
>
indeed.. I still believe that we should late-bind global access :-)
Marcus