Login  Register

Re: Creating a Class in a Temporary Environment

Posted by camille teruel on May 12, 2015; 12:41pm
URL: https://forum.world.st/Creating-a-Class-in-a-Temporary-Environment-tp4825963p4825982.html

Hi Sean,

You can use AnonymousClassInstaller instead of PharoClassInstaller.
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.
>