I just found, that when i tried to redefine previously declared
regular class to a variable one,
the ClassBuilder bugs me with error, that 'class can't be recompiled'.

Just two doits to reproduce the problem:

Object subclass: #Blabla
        instanceVariableNames: ''
        classVariableNames: ''
        poolDictionaries: ''
        category: 'Whatever'.

Object variableSubclass: #Blabla
        instanceVariableNames: ''
        classVariableNames: ''
        poolDictionaries: ''
        category: 'Whatever'.

i wonder what the reason of preventing me to redefine a mistakenly
defined class, which having 0 methods? And even if i have the methods,
so what?
I think that this limitation is too strict.
I find it quite inconvenient , since now, to redefine a class, i have
to rename old one, then define a new one which is variable from a
start and then manually copy methods from old one.


Another funny thing that i found, that you can actually do:

| string |
string := 'Blabla'.
Object subclass: string
        instanceVariableNames: ''
        classVariableNames: ''
        poolDictionaries: ''
        category: 'Whatever'.

Smalltalk at: string " returns a class you just defined."

Its fun, but having no sense. What is interesting that OB can display
this class (but not in a regular way, you can find it in smart groups
pane, after searching for 'Blabla').

The above is true for both 3.10 and  Pharo-10178 (and i think a more
recent Pharo have same behavior).


-- 
Best regards,
Igor Stasenko AKA sig.

_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to