Loading Gemstone Variable (Indexable) classes into Pharo via Monticello

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Loading Gemstone Variable (Indexable) classes into Pharo via Monticello

Reg Krock
I have the following in Gemstone:

FristClass which is a indexableSublass of Object.
SecondClass which is a subclass of FirstClass.

When I save this to Monticello and then load it into Pharo, the load fails
on the 'recompile' because the SecondClass is not of type #variable.

The load works when I modify the method MCClassDefinition>>createClass to
use the superclass' type when the superclass type is #variable.

    --- current way ----
    ...
    type: type;
    ...

    --- hacked way ----
    ....
    type: ((superClass typeOfClass isSymbol not and: [superClass typeOfClass
             isVariable]) ifTrue: [superClass typeOfClass] ifFalse: [type]);
    ....

With this I was sucessfully able to important the code into Pharo.

I am able to go from Pharo to GemStone with no problems.

Is there a general solution to this problem? It obviously will not occur
very often.

Regards,

Reg


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Loading Gemstone Variable (Indexable) classes into Pharo via Monticello

Stéphane Ducasse

On Oct 7, 2009, at 10:18 PM, [hidden email] wrote:

> I have the following in Gemstone:
>
> FristClass which is a indexableSublass of Object.


can you check the fix for the classbuilder in the bug archive
and let us know if it fixes the problem?

http://code.google.com/p/pharo/issues/detail?id=1270

I guess not.
Now I'm wondering how the other smalltalk react to a variableSubclass  
being subclass.
Did you try?

Finally what you should know is that the classBuilder in Squeak/pharo  
is really an ugly beast that
one of these will have to be rewritten from scratch

Stef

> SecondClass which is a subclass of FirstClass.
>
> When I save this to Monticello and then load it into Pharo, the load  
> fails
> on the 'recompile' because the SecondClass is not of type #variable.
>
> The load works when I modify the method  
> MCClassDefinition>>createClass to
> use the superclass' type when the superclass type is #variable.
>
>    --- current way ----
>    ...
>    type: type;
>    ...
>
>    --- hacked way ----
>    ....
>    type: ((superClass typeOfClass isSymbol not and: [superClass  
> typeOfClass
>             isVariable]) ifTrue: [superClass typeOfClass] ifFalse:  
> [type]);
>    ....
>
> With this I was sucessfully able to important the code into Pharo.
>
> I am able to go from Pharo to GemStone with no problems.
>
> Is there a general solution to this problem? It obviously will not  
> occur
> very often.
>
> Regards,
>
> Reg
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


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