SystemNavigation and deprecated methods
Daniel Vainsencher
danielv at netvision.net.il
Wed Aug 13 09:09:26 UTC 2003
Just wanted to chime in here, that I think the use case of wanting your
development tools to work on another environment is certainly real -
I've wanted to be able to use SLint on non-filed-in code for about a
year now. The problem is that the RB looks up the classes and sources
too directly.
I still don't have suggestions on how to solve this part of the problem,
though.
Daniel
Colin Putney <cputney at wiresong.ca> wrote:
>
> On Tuesday, August 12, 2003, at 07:56 AM, Joshua 'Schwa' Gargus wrote:
>
> > On Tue, Aug 12, 2003 at 02:29:11AM -0700, Colin Putney wrote:
> >
> >> Personally, I'd like to see something like 'self navigator' be the
> >> default way of getting a SystemNavigator. Then there's lots of room
> >> for
> >> overriding the default behaviour, in sort of the same way that classes
> >> can specify which compiler class should be used to compile their
> >> methods.
> >
> > I have thought that SystemNavigator provides a good core for browsing
> > the capabilities of remote images. 'SystemNavigaton default' would
> > answer the SystemNavigaton for the current image, and 'SystemNavigaton
> > pid: processID' could return one on another Squeak instance.
> >
> > I suppose this could be changed a bit to accomodate your vision.
> > 'self navigator' could return the class-appropriate SystemNavigation
> > for the current image, and 'self navigatorForPID: processID' could
> > return one for another image.
> >
> > Either of our approaches would be easy to move to should a need arise.
> > I think that sticking with 'SystemNavigation default' is the way to
> > go for 3.6.
> >
> > I confess that I can't think of a concrete use for your suggestion.
> > Care to broaden my horizons?
>
> Actually, I don't have an immediate use case for this either. It was
> more of a general observation that the users of SystemNavigator are all
> dev-tools of various flavours. What with the KCP, Squat, and packaging,
> the unit of development isn't universally the local image anymore. As
> Joshua notes above, we may want to develop in a remote environment
> using local tools. We may want to limit the scope of our navigation to
> a single package. Or we may want to do exotic things like send
> #allCallsOn: to an index of message sends compiled from all the
> packages on SqueakMap.
>
> What I like about the current method of navigation is that it's split
> into two parts - obtain a navigator and then navigate. I agree with
> Andreas that 'SystemNavigator new' is a bit of an odd way to do that in
> some cases. It's more natural from an OO POV to ask a class about its
> methods than to as the system to narrow its search to a specific class.
> So I wanted a more natural way of obtaining a navigator instance.
>
> It could be the wrong indirection, or maybe an unnecessary indirection.
> It probably is. I just think that it's silly to go to the trouble of
> separating out a clean abstraction for tracing through source code, and
> then prevent the possibility of using it polymorphically by referencing
> it through a global.
>
> Colin
More information about the Squeak-dev
mailing list
|