Login  Register

Re: Programmatic generation of new class

Posted by Blondeau Vincent on Jul 29, 2016; 3:28pm
URL: https://forum.world.st/Programmatic-generation-of-new-class-tp4908659p4908683.html

Hi,

 

The parentheses are not useful here: the unary message send (asSymbol) is made before the keyword one (subclass:instanceVariableNames:classVariableNames:packageJ

 

I tried :      

Object  subclass: 'Foo' asSymbol instanceVariableNames: '' classVariableNames: '' package: 'AAA' asString

On a fresh Pharo5.0 image and it works nice.

 

Vincent

 

De : Pharo-users [mailto:[hidden email]] De la part de Mark Bratcher
Envoyé : vendredi 29 juillet 2016 17:00
À : Any question about pharo is welcome
Objet : Re: [Pharo-users] Programmatic generation of new class

 

Try putting parentheses around `aDescriptorSystemClassName asSymbol`:

 

        descriptorSystem :=
        DynamicDescriptorSystem subclass: (aDescriptorSystemClassName asSymbol)
                        instanceVariableNames: ''
                        classVariableNames: ''
                        package: packageName asString

 

On Fri, Jul 29, 2016 at 10:50 AM Brad Selfridge <[hidden email]> wrote:

I'm trying to programmatically generate a new class, but am getting the
following error:

DynamicDescriptorSystem class(Object)>>doesNotUnderstand:
#subclass:instanceVariableNames:classVariableNames:package:

This is the method that I'm trying to execute:

buildNewDescriptorSystemUsing: aDescriptorSystemClassName

        descriptorSystem :=
        DynamicDescriptorSystem subclass: aDescriptorSystemClassName asSymbol
                        instanceVariableNames: ''
                        classVariableNames: ''
                        package: packageName asString

I see examples of this all over Pharo and I copied this code almost
verbatim.

What am I doing wrong?



-----
Brad Selfridge
--
View this message in context: http://forum.world.st/Programmatic-generation-of-new-class-tp4908659.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.


!!!*************************************************************************************
"Ce message et les pièces jointes sont confidentiels et réservés à l'usage exclusif de ses destinataires. Il peut également être protégé par le secret professionnel. Si vous recevez ce message par erreur, merci d'en avertir immédiatement l'expéditeur et de le détruire. L'intégrité du message ne pouvant être assurée sur Internet, la responsabilité de Worldline ne pourra être recherchée quant au contenu de ce message. Bien que les meilleurs efforts soient faits pour maintenir cette transmission exempte de tout virus, l'expéditeur ne donne aucune garantie à cet égard et sa responsabilité ne saurait être recherchée pour tout dommage résultant d'un virus transmis.

This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Worldline liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted.!!!"