> and I was wondering where is used the selectionIntervalFor:

To accurately highlight matches (senders, implementers, parse tree
matches, lint issues) in the tools.

> Then I saw that BrowserEnvironmentWrapper introduces environment (which is 
> good)

'BrowserEnvironment' implements a composite pattern. The variable
'environment' refers to another 'BrowserEnvironment' instance, not to
a 'SystemDictionary'.

> Now the superclass uses directly Smalltalk globals so may be this would be 
> good to move enviroment above
> this way we can have a selection of the environemt as in BrowserEnvironment

No, BrowserEnvironment represents the system. In a system with
multiple namespaces it represents a merged view of all the classes in
the complete system no matter what namespace they are in. If we had
namespaces a new subclass (NamespaceEnvironment) could provide a view
onto a particular namespace, just like the PackageEnvironment does
today.

>  also have a browser that can browse a remote environment.

This was once possible, but since Class/Metaclass/SmalltalkDictionary
moved so far away from RBClass/RBMetaclass/BrowserEnvironment (they
were once polymorphic) it is very hard to do anything that works on
different models.

Lukas

-- 
Lukas Renggli
www.lukas-renggli.ch

Reply via email to