logo       

Adding instance variables during runtime: msg#00064

lang.smalltalk.squeak.beginners

Subject: Adding instance variables during runtime

In my current little project I would like write classes in Smalltalk. However, when I am designing the classes I do not know, which instance variables the class should have.

While I am running the application, the user (or another agent) determines which instance variables should be assigned to a class.
How can I add instance variables and possibly class variables to a class, while the program is running ? Actually how can the Smalltalk code be automatically transformed (and "accepted") from the 'BEFORE' state to the 'AFTER' state.

// BEFORE //
Object subclass: #Class1
    instanceVariableNames: ''
    classVariableNames: ''
    poolDictionaries: ''
    category: 'some-category'

// AFTER //
Object subclass: #Class1
    instanceVariableNames: 'InstVar1 InstVar2 '
&n bsp;   classVariableNames: 'ClassVar1 ClassVar2'
    poolDictionaries: ''
    category: 'some-category'

I worked with the ClassBuilder class, but I haven't achieved this kind of automated code transformation.
Let's assume the desired variable names are available as normal strings and should be added one after another (method like: addNewInstanceVariable: aString ).

Don't worry about getter/setter methods for the new instance variables, that's another issue.


Thanks in advance
Warakorn


Want to start your own business? Learn how on Yahoo! Small Business._______________________________________________
Beginners mailing list
Beginners@xxxxxxxxxxxxxxxxxxxxxxxxxx
http://lists.squeakfoundation.org/mailman/listinfo/beginners
<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise