classNameCache/classNames problem

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

classNameCache/classNames problem

Pavel Krivanek-3
Hi,

I tried to run tests in Pharo 1.1 #11275 and then I got an error when
trying to open Message Names. The reason is that if you evaluate

Smalltalk classNames includes: #C1

you got true so Smalltalk classNames includes it however it is not
present in Smalltalk globals. After Smalltalk flushClassNameCache the
problem disapeared.

If I tried to create a class named SomeClass, the result was:

Smalltalk classNames includes: #SomeClass -> false
Smalltalk globals at: #SomeClass -> SomeClass

I had to remove Object>>#initialExtent because of neverending
deperecation warning (a methods tries respondsTo: #initialExtent on a
model. I don't know which one because Recent Submissions doesn't work
because of method reference
AutoGeneratedClassForTestingSystemChanges>>#Comment anwered nil on
actualClass message)

-- Pavel

_______________________________________________
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: classNameCache/classNames problem

Stéphane Ducasse
Thanks pavel
the Smalltalk -> SmalltalkImage current is not finished so any fix is welcomed.
I have some admin work today and will try to find soem times to fix that.

> I tried to run tests in Pharo 1.1 #11275 and then I got an error when
> trying to open Message Names. The reason is that if you evaluate
>
> Smalltalk classNames includes: #C1
>
> you got true so Smalltalk classNames includes it however it is not
> present in Smalltalk globals. After Smalltalk flushClassNameCache the
> problem disapeared.
>
> If I tried to create a class named SomeClass, the result was:
>
> Smalltalk classNames includes: #SomeClass -> false
> Smalltalk globals at: #SomeClass -> SomeClass
>
> I had to remove Object>>#initialExtent because of neverending
> deperecation warning (a methods tries respondsTo: #initialExtent on a
> model.

Oh yesssss. ARGH. My mistake. Indeed some models should not implement intialExtent
and it falls back on Object.... stupid me.
but this is strange because I run all the tests and besides


> I don't know which one because Recent Submissions doesn't work
> because of method reference
> AutoGeneratedClassForTestingSystemChanges>>#Comment anwered nil on
> actualClass message)
>
> -- Pavel
>
> _______________________________________________
> 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
Reply | Threaded
Open this post in threaded view
|

Re: classNameCache/classNames problem

Mariano Martinez Peck


On Wed, Mar 17, 2010 at 9:31 AM, Stéphane Ducasse <[hidden email]> wrote:
Thanks pavel
the Smalltalk -> SmalltalkImage current is not finished so any fix is welcomed.
I have some admin work today and will try to find soem times to fix that.

> I tried to run tests in Pharo 1.1 #11275 and then I got an error when
> trying to open Message Names. The reason is that if you evaluate
>
> Smalltalk classNames includes: #C1
>
> you got true so Smalltalk classNames includes it however it is not
> present in Smalltalk globals. After Smalltalk flushClassNameCache the
> problem disapeared.
>
> If I tried to create a class named SomeClass, the result was:
>
> Smalltalk classNames includes: #SomeClass -> false
> Smalltalk globals at: #SomeClass -> SomeClass
>
> I had to remove Object>>#initialExtent because of neverending
> deperecation warning (a methods tries respondsTo: #initialExtent on a
> model.

Oh yesssss. ARGH. My mistake. Indeed some models should not implement intialExtent
and it falls back on Object.... stupid me.
but this is strange because I run all the tests and besides


Stef: I am trying to run the tests on 11277 and it is impossible because of the amount of warnings about that deprecation in Object >> initialContext.

I would commit a slice but I am not sure what should be done.

Thanks

Mariano


 

> I don't know which one because Recent Submissions doesn't work
> because of method reference
> AutoGeneratedClassForTestingSystemChanges>>#Comment anwered nil on
> actualClass message)
>
> -- Pavel
>
> _______________________________________________
> 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


_______________________________________________
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: classNameCache/classNames problem

Stéphane Ducasse
yes I know I was waiting that marcus integrates the fix I proposed for image
Since it contains also some fix for initialExtent.
I will do it. and integrate another fix for initialExtent

try

Model>>initialExtent

        ^ RealEstateAgent standardWindowExtent


On Mar 18, 2010, at 4:04 PM, Mariano Martinez Peck wrote:

>
>
> On Wed, Mar 17, 2010 at 9:31 AM, Stéphane Ducasse <[hidden email]> wrote:
> Thanks pavel
> the Smalltalk -> SmalltalkImage current is not finished so any fix is welcomed.
> I have some admin work today and will try to find soem times to fix that.
>
> > I tried to run tests in Pharo 1.1 #11275 and then I got an error when
> > trying to open Message Names. The reason is that if you evaluate
> >
> > Smalltalk classNames includes: #C1
> >
> > you got true so Smalltalk classNames includes it however it is not
> > present in Smalltalk globals. After Smalltalk flushClassNameCache the
> > problem disapeared.
> >
> > If I tried to create a class named SomeClass, the result was:
> >
> > Smalltalk classNames includes: #SomeClass -> false
> > Smalltalk globals at: #SomeClass -> SomeClass
> >
> > I had to remove Object>>#initialExtent because of neverending
> > deperecation warning (a methods tries respondsTo: #initialExtent on a
> > model.
>
> Oh yesssss. ARGH. My mistake. Indeed some models should not implement intialExtent
> and it falls back on Object.... stupid me.
> but this is strange because I run all the tests and besides
>
>
> Stef: I am trying to run the tests on 11277 and it is impossible because of the amount of warnings about that deprecation in Object >> initialContext.
>
> I would commit a slice but I am not sure what should be done.
>
> Thanks
>
> Mariano
>
>
>  
>
> > I don't know which one because Recent Submissions doesn't work
> > because of method reference
> > AutoGeneratedClassForTestingSystemChanges>>#Comment anwered nil on
> > actualClass message)
> >
> > -- Pavel
> >
> > _______________________________________________
> > 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
>
> _______________________________________________
> 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
Reply | Threaded
Open this post in threaded view
|

Re: classNameCache/classNames problem

Mariano Martinez Peck


On Thu, Mar 18, 2010 at 4:10 PM, Stéphane Ducasse <[hidden email]> wrote:
yes I know I was waiting that marcus integrates the fix I proposed for image
Since it contains also some fix for initialExtent.
I will do it. and integrate another fix for initialExtent

try

Model>>initialExtent

       ^ RealEstateAgent standardWindowExtent

Better, but still problems.

SystemWindows >> initialExtent
    ^ (self model respondsTo: #initialExtent)
        ifTrue: [self model initialExtent]
        ifFalse: [RealEstateAgent standardWindowExtent]

 
the thing is that model is nil, and UndefinedObject responds to initialExtent (as it is in Object)..altough it is deprecated.

Maybe this is a good opportunity to add a respondsAndNotDeprecatedTo:   or just change respondsTo:  to returns false if it it deprecated.
I am not sure if this is a good idea.

Another hack may be to implement initialContext in UndefinedObject, but I am not sure if I like it neither.

Finally, we may implement such method in this way:

initialExtent
    ^ ( self model isNil not and: [ self model respondsTo: #initialExtent ] )
        ifTrue: [self model initialExtent]
        ifFalse: [RealEstateAgent standardWindowExtent]


What do you think ?

Cheers

Mariano


 

On Mar 18, 2010, at 4:04 PM, Mariano Martinez Peck wrote:

>
>
> On Wed, Mar 17, 2010 at 9:31 AM, Stéphane Ducasse <[hidden email]> wrote:
> Thanks pavel
> the Smalltalk -> SmalltalkImage current is not finished so any fix is welcomed.
> I have some admin work today and will try to find soem times to fix that.
>
> > I tried to run tests in Pharo 1.1 #11275 and then I got an error when
> > trying to open Message Names. The reason is that if you evaluate
> >
> > Smalltalk classNames includes: #C1
> >
> > you got true so Smalltalk classNames includes it however it is not
> > present in Smalltalk globals. After Smalltalk flushClassNameCache the
> > problem disapeared.
> >
> > If I tried to create a class named SomeClass, the result was:
> >
> > Smalltalk classNames includes: #SomeClass -> false
> > Smalltalk globals at: #SomeClass -> SomeClass
> >
> > I had to remove Object>>#initialExtent because of neverending
> > deperecation warning (a methods tries respondsTo: #initialExtent on a
> > model.
>
> Oh yesssss. ARGH. My mistake. Indeed some models should not implement intialExtent
> and it falls back on Object.... stupid me.
> but this is strange because I run all the tests and besides
>
>
> Stef: I am trying to run the tests on 11277 and it is impossible because of the amount of warnings about that deprecation in Object >> initialContext.
>
> I would commit a slice but I am not sure what should be done.
>
> Thanks
>
> Mariano
>
>
>
>
> > I don't know which one because Recent Submissions doesn't work
> > because of method reference
> > AutoGeneratedClassForTestingSystemChanges>>#Comment anwered nil on
> > actualClass message)
> >
> > -- Pavel
> >
> > _______________________________________________
> > 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
>
> _______________________________________________
> 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


_______________________________________________
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: classNameCache/classNames problem

Stéphane Ducasse
Yes we should remove it :)

>
>
>        ^ RealEstateAgent standardWindowExtent
>
> Better, but still problems.
>
> SystemWindows >> initialExtent
>     ^ (self model respondsTo: #initialExtent)
>         ifTrue: [self model initialExtent]
>         ifFalse: [RealEstateAgent standardWindowExtent]
>
>  
> the thing is that model is nil, and UndefinedObject responds to initialExtent (as it is in Object)..altough it is deprecated.
>
> Maybe this is a good opportunity to add a respondsAndNotDeprecatedTo:   or just change respondsTo:  to returns false if it it deprecated.
> I am not sure if this is a good idea.
>
> Another hack may be to implement initialContext in UndefinedObject, but I am not sure if I like it neither.
>
> Finally, we may implement such method in this way:
>
> initialExtent
>     ^ ( self model isNil not and: [ self model respondsTo: #initialExtent ] )
>         ifTrue: [self model initialExtent]
>         ifFalse: [RealEstateAgent standardWindowExtent]
>
>
> What do you think ?
>
> Cheers
>
> Mariano
>
>
>  
>
> On Mar 18, 2010, at 4:04 PM, Mariano Martinez Peck wrote:
>
> >
> >
> > On Wed, Mar 17, 2010 at 9:31 AM, Stéphane Ducasse <[hidden email]> wrote:
> > Thanks pavel
> > the Smalltalk -> SmalltalkImage current is not finished so any fix is welcomed.
> > I have some admin work today and will try to find soem times to fix that.
> >
> > > I tried to run tests in Pharo 1.1 #11275 and then I got an error when
> > > trying to open Message Names. The reason is that if you evaluate
> > >
> > > Smalltalk classNames includes: #C1
> > >
> > > you got true so Smalltalk classNames includes it however it is not
> > > present in Smalltalk globals. After Smalltalk flushClassNameCache the
> > > problem disapeared.
> > >
> > > If I tried to create a class named SomeClass, the result was:
> > >
> > > Smalltalk classNames includes: #SomeClass -> false
> > > Smalltalk globals at: #SomeClass -> SomeClass
> > >
> > > I had to remove Object>>#initialExtent because of neverending
> > > deperecation warning (a methods tries respondsTo: #initialExtent on a
> > > model.
> >
> > Oh yesssss. ARGH. My mistake. Indeed some models should not implement intialExtent
> > and it falls back on Object.... stupid me.
> > but this is strange because I run all the tests and besides
> >
> >
> > Stef: I am trying to run the tests on 11277 and it is impossible because of the amount of warnings about that deprecation in Object >> initialContext.
> >
> > I would commit a slice but I am not sure what should be done.
> >
> > Thanks
> >
> > Mariano
> >
> >
> >
> >
> > > I don't know which one because Recent Submissions doesn't work
> > > because of method reference
> > > AutoGeneratedClassForTestingSystemChanges>>#Comment anwered nil on
> > > actualClass message)
> > >
> > > -- Pavel
> > >
> > > _______________________________________________
> > > 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
> >
> > _______________________________________________
> > 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
>
> _______________________________________________
> 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