Undeclared question

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

Undeclared question

Dave & Vicki Stevenson
Suppose I file in a method:

     foo ^MissingClass open


MissingClass becomes an entry in Undeclared. Why shouldn't filing in
this method also create an entry in Undeclared?:

     bar ^Smalltalk.AnotherMissingClass open

Dave

-- [hidden email]
_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: Undeclared question

Niall Ross
Dear Dave,:

> Suppose I file in a method:
>
>     foo ^MissingClass open
>
>
> MissingClass becomes an entry in Undeclared. Why shouldn't filing in
> this method also create an entry in Undeclared?:
>
>     bar ^Smalltalk.AnotherMissingClass open

It is a known (and undesirable) feature of the Undeclared search that it
does not reveal dot-referenced Undeclared (ARs 49017 and 50286).

We should of course mention this in the Known Limitations release-notes
section on Undeclared and offer solutions - I'll address that.

We should also address the bug (feature, I could say - this touches on
basic questions about the original intent of the Uncdeclared cache - but
if so its a feature I want to fix/update).

(Obviously, in your example, the code should eliminate the pointless
dot-reference.  In general, good structuring with general and specific
imports, and exploiting the package #namespace property, to eliminate
dot-references in methods, is good practice.  However there will always
be exceptions, especially perhaps in code that is in early development.)

                Yours faithfully
                      Niall Ross

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: Undeclared question

mkobetic
In reply to this post by Dave & Vicki Stevenson
I suspect that at least part of the reason are technical details that aren't immediately obvious. The full path to the MissingClass undeclared is

        Smalltalk.Undeclared.MissingClass

So if you create an undeclared dotted name reference where the path doesn't match the above, it's not obvious to me how you resolve that. My understanding is that the position so far was that the classic undeclared mechanism works for simple names but not for dotted names. That does not sound entirely unreasonable to me.

Dave<[hidden email]> wrote:

> Date: February 19, 2013 1:35:01 PM
> From: Dave <[hidden email]>
> To: VWNC<[hidden email]>
> Subject: [vwnc]  Undeclared question
>
> Suppose I file in a method:
>
>      foo ^MissingClass open
>
>
> MissingClass becomes an entry in Undeclared. Why shouldn't filing in
> this method also create an entry in Undeclared?:
>
>      bar ^Smalltalk.AnotherMissingClass open
>
> Dave
>
> -- [hidden email]
> _______________________________________________
> vwnc mailing list
> [hidden email]
> http://lists.cs.uiuc.edu/mailman/listinfo/vwnc


_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc