Login  Register

Re: Creating a Class in a Temporary Environment

Posted by Marcus Denker-4 on May 19, 2015; 6:24am
URL: https://forum.world.st/Creating-a-Class-in-a-Temporary-Environment-tp4825963p4827219.html


> On 12 May 2015, at 14:57, Camille <[hidden email]> wrote:
>
> Hi Sean,
>
> You can use AnonymousClassInstaller instead of PharoClassInstaller.

Hmmm… I don’t like that. It is for anonymous classes.

We should fix the class builder itself… and check that Opal can use environments, too.

It is already on my TODO...

> We should improve it because it has limitations: the environment is not used and you won’t be able to change the slots or the superclass after creation.
>
> AnonymousClassInstaller make: [ :builder |
> builder
> superclass: Object;
> name: #AClassForTesting ].
>
> Camille
>
>
>> On 12 May 2015, at 12:45, Sean P. DeNigris <[hidden email]> wrote:
>>
>> I used to have
>>
>> creatingAClassInATemporaryNamespace
>>
>> | testingEnvironment morph |
>> testingEnvironment := SystemDictionary new.
>>
>> ClassBuilder new
>> name: #AClassForTesting
>> inEnvironment: testingEnvironment
>> subclassOf: Object
>> type: Object typeOfClass
>> instanceVariableNames: ''
>> classVariableNames: ''
>> poolDictionaries: ''
>> category: 'TemporaryTesting'.
>>
>> How do I do this with Slots?
>>
>> I tried:
>>
>> creatingAClassInATemporaryNamespace
>>
>> | testingEnvironment morph |
>> testingEnvironment := SystemDictionary new.
>>
>> PharoClassInstaller make: [ :builder |
>> builder
>> superclass: Object;
>> name: #AClassForTesting;
>> environment: testingEnvironment;
>> category: 'TemporaryTesting' ].
>>
>> but got "key #SystemOrganization not found in SystemDictionary”.
>>
>> -----
>> Cheers,
>> Sean
>> --
>> View this message in context: http://forum.world.st/Creating-a-Class-in-a-Temporary-Environment-tp4825963.html
>> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>>
>
>