Last updated at 2:00 pm UTC on 10 May 2018
An instance of Lexicon shows the list of all the method categories known to an object or any of its superclasses, as a "flattened" list, and, within any selected category, shows all methods understood by the class's instances which are associated with that category, again as a "flattened" list. A variant with a search pane rather than a category list is also implemented.
categoryList the list of categories
categoryListIndex index of currently-selected category
targetObject optional – an instance being viewed
targetClass the class being viewed
lastSearchString the last string searched for
lastSendersSearchSelector the last senders search selector
limitClass optional – the limit class to search for
selectorsVisited list of selectors visited
selectorsActive not presently in use, subsumed by selectorsVisited
currentVocabulary the vocabulary currently installed
currentQuery what the query category relates to:
#senders #selectorName #currentChangeSet
Note about the Lexion tool by Scott Wallace:
From: Scott Wallace
Subject: Re: An Ideal System Browser
Date: Thu, 29 Nov 2000
Two new tools: They are young and little-known, but if you add them to your arsenal of tools you may eventually come to wonder how you ever got along without them.
The two are: an instance-based tool called the Instance Browser, and a class-based tool called the Lexicon. You can obtain these tools using "browse protocol" (cmd p) from browsers, inspectors, and elsewhere.
Among the things these tools offer that other tools in the system don't, are:
- A "navigation" metaphor, with a "history" mechanism accompanied by forward and back buttons.
- Natural in-tool chains of enquiry using "view" and "senders" buttons.
- A "find" facility that allows you to find methods by selector fragment (this is like the MethodNames tool, but confined to methods understood by the actual object you are browsing.)
- The ability to truncate your searches at any level of the inheritance chain.
- Merging of method categories up the inheritance chain.
A typical scenario of use is: you're looking at a method; to understand it better, you want to look at a different method – typically a method that calls this method, or a method called by this method. So you look at that method (use the "View..." or "Senders" button) – and maybe from there you may go on a further excursion suggested there – and you can always return to where your enquiry started by hitting the "back" button.
(Many other queries and features are also available in this tool – check out the various buttons, as well as the various items hidden behind the menu icon in the button bar.)
Understand that any one of these does not browse the entire system, but rather it browses the complete protocol of any one object or class. Thus, it is great for any chain of enquiry involving messages sent to "self", but if you have multiple objects that send messages to one another, you're best served by having multiple Instance browsers – one for each object. – Scott
Browse the protocol of Collection