The following elements are present in a Smalltalk program.
A class element refers to a particular class by name. It refers to the class only - instance variables and the like are distinct elements. A version of a class element contains the following properties:
bytes
, words
, weak
, variable
or normal
)In the Monticello user interface, a class element is displayed as the class
name within angle brackets, like this: <String>
A class comment element refers to the comment for a particular class. A version of a class comment has the following properties:
It is displayed like this: <String-comment>
A method element refers to a particular method of a particular class. A version of a method has the following properties:
It is displayed showing the class name, a separator symbol and the method
selector. Instance methods use $# as the separator, while class methods use
$*. For example, <String#asLowercase>
or <String*cr>
.
An instance variable method refers to a named instance variable of a
particular class. A version has only one property - the index of the slot
where the variable is stored in an object. An instance variable element is
displayed using $@ to separate the class name and variable name:
<Text@string>
.
A class variable refers to a named variable accessible by all instances of a
particular class and its subclasses. A version of a class variable has no
properties beyond its presence or absence. It is displayed with $% separating
the class name and variable name: <String%AsciiOrder>
.
A class instance variable is an instance variable of a class object. Versions
of a class instance variable have only one property - the index of the slot
where the variable is stored. A class instance variable is displayed with a
dollar sign separating the class name and variable name:
<ChangeSet$current>
.
A pool import element refers to the use of a particular pool dictionary by a
particular class. A version of a pool import has no properties beyond its
presence or absence. It is displayed with an ampersand separating the class
name and pool name: <Paragraph&TextConstants>