Index - All Packages - All Categories - All Classes

Class Object

Object is the abstract root of the standard Smalltalk class hierarchy. It has no instance variables (indeed it must not have any), but provides behavior common to all objects.

Instance Variables:


Class Variables:
_AlreadyPrinted <IdentitySet> used to prevent infinite recursion when printing
_AssertionFailureSignal <Signal> raised when assertion failures occur (see #assert:)
_DependentsRegister <WeakIdentityDictionary> containing DependentsCollections for instances
_EventsRegister <WeakIdentityDictionary> containing EventsCollections for instances
_FinalizeMask <Integer> bit mask to set/reset the finalize mark of instances

The following Instance specific behaviour mask constants are held in the PoolConstantsDictionary _InstanceBehaviorMasks in order that they may be readily shared into user defined root classes.
_GetSpecialMask <Integer> bit mask to retrieve special behavior flags of instances
_PropertyRegister <PropertyManager> Register of instance specific information not stored in instance variables
_WeakMask <Integer> bit mask to use to set/reset the weak mark of instances

Note: All class variables beginning with $_ are private to the implementation. This convention is adopted to avoid potential name clashes with user defined classes.

Object implements the ANSI protocol <Object> (browse the protocols-Object category).

The following messages defined in Object have optimized implementations inlined by the Compiler and cannot be overridden:
#==
#basicAt: (overridable if subclass not indexable)
#basicAt:put: (ditto)
#basicSize
#basicClass
#isNil
#notNil
In addition any selector in Object with a 'basic' prefix may be subject to inlining in future releases, so these should not be overridden.

Package: Dolphin
Immediate Subclasses: ActiveXScriptlet AttributeDescriptor AXTypeInfoAnalyzer AXTypeLibDocumentation AXTypeLibraryAnalyzer AXTypeLibRegistration Behavior BinaryPackage BlockClosure BlockingCallMonitor Boolean BrowserEnvironment ByteCodeInterpreter Canvas Category ChangeSet Chunk ChunkBrowserModel ChunkReader ClassBuilder Clipboard CodeCompletion CodeModelLockPolicy CodeToolSelectionPolicy Collection Color COMFunctionAbstract COMInterfaceImp Command CommandDescription CommandPolicy CommandQuery COMObjectRegistration COMObjectStub ComparisonPolicy CompilationResult CompiledCode Compiler DBAbstractStatement DBColAttr DBConnection DBErrorDetails DBExceptionDetails DBField DBRow DBTxn DeadObject DeafObject DeferredValue Delay DigitalSignatureAlgorithm Disassembler DiskVolumeInformation DocumentationManager DolphinSureCertificateInfo DolphinSureCertificateStore DolphinSureTrustedData DragDropObject DragDropSession DsdnDocumentAbstract DsdnSearch Event Exception ExceptionHandlerAbstract ExceptionSet ExternalCallback ExternalDescriptor ExternalLibrary ExternalStructure File FileLocator FramingConstraints Grabber GraphicsTool Grid GUID Heaper HistoryList HtmlWriteStream ImageManager InkStroke InputState InternetAddress Keyboard LayoutManager Link LintRule LintRuleTest ListViewColumn Locale Magnitude MemoryManager MenuItem Message MessageBox MessageSequenceAbstract MethodCategorizationPolicy MethodContext MethodProtocol MockClass MockContextClass ModalMsgLoop Model MoenContour MoenTreeNode Mutex NavigatorState NPSynchronousStreamHandler ObjectRegistry Package PackageManager PC1Cipher PlayShape Presenter ProcessorScheduler PropertyManager RBAbstractClass RBAbstractCondition RBMethod RBMethodName RBNamespace RBParser RBParseTreeRule RBProgramNode RBProgramNodeVisitor RBReadBeforeWrittenTester RBToken Rectangle Refactoring RefactoringManager RefactoryChange RefactoryChangeManager RefactoryTestDataApp RefactoryTyper ReferenceFinder RegQueryInfo Resource ResourceAccessor ResourceIdentifier RichText SearchPolicy SecureHashAlgorithm SessionManager SharedQueue Signal SmalllintChecker SmalllintContext SmalltalkSystemIcon SocketAbstract Sound SourceDocumenter SourceDocumenterContext SourceManager StackFrame StatusBarItemAbstract STBClassFormat STBFiler STBPrefix STBProxy Stream SUnitAbsModel SUnitAbsWrapper SUnitNameResolver TestCase TestResource TestResult TestSuite ToolbarItem TreeNode TypeConverter UdanaxMissing UndefinedObject VersionInfo VideoLibrary VideoRecording VideoTape View ViewState
Protocols: Object
Categories: Kernel-Objects

Class Methods

binaryReadFrom: aStream

Answers an object read from its binary representation on aStream.
This must have been saved using Object>>binaryStoreOn:

binaryReadFrom: aStream context: anObject

Answers an object read from its binary representation on aStream.
This must have been saved using Object>>binaryStoreOn:

defineFluid: aSymbol with: aDiskManagerEmulsion with: aBlockClosure


fromBinaryStoreBytes: aByteArray

Answers an object read from its binary representation in aByteArray.
This must have been created using Object>>binaryStoreBytes

fromBinaryStoreBytes: aByteArray context: anObject

Answers an object read from its binary representation in aByteArray.
This must have been created using Object>>binaryStoreBytes

icon

Answers an Icon that can be used to represent this class. Here we use a constant expression
evaluated at compile time in order to statically bind 'self' at this position in the class hierarchy
(i.e. to Object). This ensures that subclasses which do not override this method still answer
'Object defaultIcon' rather than 'aSubclass defaultIcon'. Classes which provide their own default icon
can override this method with a similar implementation perhaps with #defaultIconFrom: if the icon comes
from an ExternalResourceLibrary other than the system default.

Overrides: Object
Overridden by: AXTypeInfoAnalyzer class AXInterfaceTypeAnalyzer class TKindDispatchAnalyzer class AXStructureTypeAnalyzer class AXTypeLibDocumentation class AXTypeLibraryAnalyzer class AXTypeLibRegistration class Behavior class Class class Metaclass class BinaryPackage class BlockClosure class Boolean class False class True class Collection class BSTR class String class Symbol class RegKeyAbstract class RegKey class RegKeyValues class Color class AXDispatchImpAbstract class CompiledMethod class CompileFailedMethod class DeadObject class DeafObject class Delay class Exception class Error class Notification class CompilerNotification class Warning class CompilerLibrary class GDILibrary class VMLibrary class ExternalStructure class COMInterface class IDispatch class ITypeLib class DOUBLE class DATE class ExternalArray class ExternalInteger class VARIANT_BOOL class FLOAT class PICTDESC class POINTL class RECT class SIZE class File class Font class Image class Icon class Cursor class Menu class InputState class LayoutManager class Process class ListViewColumn class Number class Float class Fraction class ScaledDecimal class Point class Point3D class Character class Date class Time class MemoryManager class MenuItem class MethodProtocol class Model class AspectBuffer class ResourceManager class SmalltalkSystem class TreeModelAbstract class ValueModel class ValueAdaptor class ValueConverter class ValueHolder class ValueBuffer class Package class Presenter class CompositePresenter class Chat class EtchASketch class Inspector class ListValuePresenter class MethodBrowser class PublishedAspectInspector class Shell class Calculator class Dialog class CommandMenuItemDialog class ResourceIdentifierDialog class ValueDialog class ApplicationDeploymentWizard class CategoryPrompter class MenuComposer class NewVideoTapeDialog class ProgressDialog class VideoRecordingDialog class SmalltalkWorkspaceDocument class Notepad class RegEdit class SmalltalkToolShell class AXComponentWizard class ChunkBrowser class ClassBrowserShell class ClassHierarchyDiagram class Debugger class DsdnShell class InspectorShell class LiveUpdate class MethodBrowserShell class PackageBrowserShell class PackagePrerequisitesShell class ProcessMonitor class ProtocolBrowserShell class ResourceBrowser class SmalltalkSystemShell class SourceBrowser class TipOfTheDay class ViewComposer class TranscriptShell class VideoLibraryShell class WebBrowserShell class ListPresenter class FolderPresenter class Scribble class SmalltalkWorkspace class TreePresenter class ValuePresenter class AcceleratorPresenter class BooleanPresenter class ChoicePresenter class ColorPresenter class DatePresenter class FontPresenter class ImagePresenter class NumberPresenter class TextPresenter class TimePresenter class Rectangle class Resource class ViewResource class ResourceAccessor class ResourceIdentifier class ConsoleSessionManager class DevelopmentSessionManager class RuntimeSessionManager class Signal class NotificationSignal class WarningSignal class SmalltalkSystemIcon class SmalltalkSystemFolder class SourceManager class ToolbarItem class TypeConverter class UndefinedObject class VideoLibrary class VideoRecording class VideoTape class View class ContainerView class AbstractCardContainer class ScrollingDecorator class ShellView class DialogView class HelloWorld class Playground class AXValueConvertingControlSite class BasicListAbstract class MultipleSelectionListBox class ControlBarAbstract class GroupBox class IconicListAbstract class MultipleSelectionListView class TabView class TreeView class PushButton class ValueConvertingControlView class CheckBox class RadioButton class DateTimePicker class HotKey class ProgressBar class ScrollBar class Slider class ColorView class FontView class ImageView class StaticImage class StaticText class TextEdit class DesktopView class MenuComposerView class MouseTracker class ReferenceView class ScribbleView class Shield class Splitter class

initialize

Initialise the receiver's class variables

_PropertyRegister - Register of properties (instance specific information not stored
in instance variables) of objects
_AlreadyPrinted - Set of objects used to detect recursive printing (which would
otherwise cause a stack overflow).
_AssertionFailureSignal- Signalled on #assert: argument evaluting to false.

Overrides: Class
Overridden by: AttributeDescriptor class AXTypeInfoAnalyzer class AXInterfaceTypeAnalyzer class TKindDispatchAnalyzer class AXTypeLibraryAnalyzer class BinaryPackage class ByteCodeInterpreter class Category class ClassCategory class MethodCategory class AllMethodsCategory class FailedCompilationsCategory class MethodPrivacyCategory class PrimitiveMethodsCategory class ReferencesCategory class PackedReferencesCategory class UnclassifiedMethodsCategory class ClassBuilder class DWORDBytes class Symbol class MourningWeakArray class Set class SharedLookupTable class WeakLookupTable class WeakIdentityDictionary class RegKeyAbstract class SharedSet class WeakSet class WeakIdentitySet class IndexedColor class RGB class UnkAddRefFunction class UnkQIFunction class UnkReleaseFunction class AXEventSink class COMClassFactory class EnumRECT class NPApplet class NPDolphin class CommandDescription class CommandQuery class COMObjectStub class CompiledCode class ExternalMethod class Compiler class DBColAttr class DBField class DeadObject class DeafObject class DeferredValue class Delay class DigitalSignatureAlgorithm class DolphinSureCertificateStore class DragDropSession class KeyEvent class HRESULTError class Win32Fault class SocketError class ExceptionHandlerAbstract class ExternalCallback class ExternalDescriptor class CommCtrlLibrary class ExternalResourceLibrary class ODBCLibrary class VMLibrary class WSockLibrary class ExternalStructure class COMInterface class IXMLDOMNode class OLECountedArray class SAFEARRAY class HRESULT class DISPPARAMS class OLEFinalizableStructure class VARIANT class FILETIME class LVCOLUMN class POINTL class RECT class SIZE class File class ClassLocator class FramingConstraints class Grabber class AcceleratorTable class Bitmap class GUID class CLSID class IID class Heaper class InputState class Keyboard class Process class Float class Integer class Date class MemoryManager class MenuItem class CommandMenuItem class DividerMenuItem class MessageBox class MethodCategorizationPolicy class MethodProtocol class ImageStripper class MoenTreeNode class NPSynchronousStreamHandler class Package class PackageManager class Chat class AvatarChat class EtchASketch class CompiledMethodInspector class DBResultSetInspector class MethodBrowser class AXControlBrowser class Calculator class ApplicationDeploymentWizard class CategoryPrompter class BrowseFolderDialog class SmalltalkWorkspaceDocument class Notepad class RegEdit class SmalltalkToolShell class AXComponentWizard class ChunkBrowser class ClassBrowserShell class RefactoringBrowserShell class ClassHierarchyDiagram class Debugger class DsdnShell class LiveUpdate class PackageBrowserShell class ProcessMonitor class ProtocolBrowserShell class ResourceBrowser class SmalltalkSystemShell class SourceBrowser class SUnitBrowser class SUnitResourceBrowser class TipOfTheDay class ViewComposer class TranscriptShell class VideoLibraryShell class WebBrowserShell class Scribble class SmalltalkWorkspace class ValueWorkspace class ClassHierarchyPresenter class ProcessorScheduler class RBAbstractClass class RBParser class RefactoryChangeManager class ResourceAccessor class SessionManager class SharedQueue class SocketAbstract class Socket class Sound class SourceManager class StackFrame class StatusBarItemAbstract class STBViewProxy class Stream class FileStream class RBScanner class ToolbarButton class AccelToHotKey class Emulsion class View class ShellView class WalkbackDialog class HelloWorld class ControlView class AXControlSite class ComboBox class ListBox class StatusBar class Toolbar class ListView class TabView class TreeView class PushButton class StaticRectangle class DateTimePicker class ProgressBar class StaticText class TextEdit class RichTextEdit class DesktopView class MoenTreeView class WinAsyncSocket class

publishedAspects

Answer a LookupTable of AspectDescriptors that describe the aspects published
by the receiver. Overridden by subclasses to add the aspects
published locally

Overrides: Object
Overridden by: AXControlBrowser class ApplicationDeploymentWizard class SmalltalkWorkspaceDocument class SmalltalkToolShell class AXComponentWizard class ClassBrowserShell class ClassHierarchyDiagram class Debugger class DsdnShell class MethodBrowserShell class PackageBrowserShell class ProcessMonitor class ProtocolBrowserShell class ResourceBrowser class SmalltalkSystemShell class SourceBrowser class SUnitAbsBrowser class SUnitBrowser class TipOfTheDay class ViewComposer class TranscriptShell class

publishedAspectsOfInstances

Answer a LookupTable of AspectDescriptors that describe the aspects published
by an instance of the receiver. Overridden by subclasses to add the aspects
published locally.
N.B. All #publishedAspectsOfInstances methods must be placed in the 'must strip'
category so that they are removed before package pre-requisites are calculated
by the ImageStripper, otherwise the Development System may be a pre-requisite.

Overridden by: AXTypeLibraryAnalyzer class Boolean class Interval class FramingConstraints class Font class Menu class MenuBar class Pen class BorderLayout class FlowLayout class GridLayout class ProportionalLayout class ListViewColumn class Point class CommandMenuItem class ImageStripper class Package class Rectangle class StatusBarItemAbstract class StatusBarItem class ToolbarButton class ToolbarSystemButton class TypeConverter class BooleanToText class DateToText class TimeToText class View class ContainerView class AbstractCardContainer class CardContainer class ScrollingDecorator class ShellView class ControlView class AXControlSite class AXValueConvertingControlSite class BasicListAbstract class ComboBox class ListBox class MultipleSelectionListBox class ControlBarAbstract class StatusBar class Toolbar class IconicListAbstract class ListView class TabView class TreeView class PushButton class StaticRectangle class ValueConvertingControlView class CheckBox class DateTimePicker class HotKey class ProgressBar class ScrollBar class Slider class StaticViewAbstract class ColorView class FontView class ImageView class StaticBitmap class StaticIcon class StaticText class TextEdit class MultilineTextEdit class RichTextEdit class MoenTreeView class ReferenceView class

publishedEvents

Answer a Set of Symbols that describe the published events triggered
by the receiver. Overridden by subclasses to add the events published
locally

Overrides: Object

publishedEventsOfInstances

Answer a Set of Symbols that describe the published events triggered
by instances of the receiver. Overridden by subclasses to add the events published
locally

Overridden by: BlockingCallMonitor class MethodCategory class ClassBuilder class ListModel class SystemDictionary class WeakSet class Grabber class InputState class CardLayout class MethodProtocol class PersonalAccount class ResourceManager class SmalltalkSystem class TreeModelAbstract class TreeModel class VirtualTreeModel class ValueModel class ValueAspectAdaptor class ValueConverter class Package class PackageManager class Inspector class MethodBrowser class PublishedAspectInspector class ValueDialog class SmalltalkWorkspace class ValuePresenter class SessionManager class SocketAbstract class ServerSocket class Socket class View class AbstractCardContainer class CardContainer class ShellView class BasicListAbstract class MultipleSelectionListBox class Toolbar class IconicListAbstract class ListView class MultipleSelectionListView class TextEdit class MenuComposerView class MoenTreeView class

Instance Methods

~~ comparand

Answer whether the <Object>, comparand, is NOT identical to the receiver.
Implementation Note: This is faster than the obvious '^(self == anObject) not'
because of Compiler optimisation of #==.

~= comparand

Answer whether the <Object>, comparand, is NOT equivalent to the receiver.
Implementation Note: This is faster than '^(self = anObject) not' because
of Compiler optimisation of #==.

= comparand

Answer whether the receiver and the <Object>, comparand,
are considered equivalent (in whatever respect is appropriate for
the class of the receiver).

By default two objects are equal if they are identical. This is the
standard Smalltalk definition, though a better one is:
Two objects are equal if they are of the same species and
their contents are equal.
but this is a recursive definition, and is quite slow to implement in
general.

The identity primitive should NOT fail (so there are no primitive failure
results).

N.B. Equivalent objects (i.e. those that answer true for #=) MUST
answer the same hash value, in order that they can be stored and
retrieved successfully from hashed collections. Therefore, classes
which reimplement either #= or #hash, will probably need to
reimplement both.

Overridden by: ActiveXScriptlet AXTypeInfoAnalyzer AXTypeLibraryAnalyzer AXTypeLibRegistration Category CodeToolSelectionPolicy SequenceableCollection ByteArray DWORDBytes REFGUID String Symbol Interval Semaphore RegKeyAbstract IndexedColor RGB SystemColor COMObjectRegistration CompiledCode DeafObject ExternalStructure COMInterface IFont ExternalInteger FUNCDESC VARDESC VARIANT Font StockFont Image GUID BranchDescription Magnitude ArithmeticValue Float LargeInteger SmallInteger Point Point3D Association Character Date DateAndTime Duration Time TimeStamp Message MessageSend MethodProtocol ValueAspectAdaptor ValueKeyedAdaptor NavigatorState RBAbstractClass RBMethodNode RBReturnNode RBSequenceNode RBAssignmentNode RBBlockNode RBCascadeNode RBLiteralNode RBMessageNode RBOptimizedNode RBVariableNode Rectangle CompositeRefactoryChange RenameClassChange RenameVariableChange RefactoryClassChange AddClassChange AddMethodChange RefactoryVariableChange RemoveMethodChange ResourceIdentifier RichText SmalltalkSystemIcon StackFrame

== comparand

Answer whether the <Object>, comparand, is the same, identical,
object as the receiver.

The primitive should NOT fail.

N.B. This implementation cannot be overridden, and is never, in fact, received
(unless #perform'd), because #== is inlined by the Compiler.

-> anObject

Answer an Association with the receiver as the key, and anObject as the value

addDependent: anObject

Include anObject as one of the dependents of the receiver. anObject will subsequently
receive update messages when the receiver changes (see change and update).
Uses the private dependents accessing methods #[get|set]Dependents.
Note that the reference is weak, and will not prevent anObject being GC'd.

allReferences

Answer an Array containing all objects which reference the receiver.
The primitive should not fail.

asParameter

Answer the receiver in a form suitable for passing to an external function
primitive method (see ExternalLibrary and subclasses). The default is self.

Overridden by: AXTypeInfoAnalyzer AXTypeLibraryAnalyzer Boolean False True Canvas RegKeyAbstract Color IndexedColor RGB SystemColor ExternalCallback ExternalLibrary ExternalStructure COMInterface File GraphicsTool InternetAddress Locale Point Date Time TimeStamp Presenter Rectangle RichText SocketAbstract StdioFileStream View

aspectValue: anAspectSymbol

Answer a ValueAspectAdapter capable of treating anAspectSymbol of the receiver
as a ValueModel

Overridden by: AspectBuffer

assert: aBlock

Evaluates aBlock and signals an error if the result is not true. The default action is to bring up a
resumable walkback.

Overridden by: False True TestCase

asValue

Answer the receiver as a ValueModel.
In the general case create an answer a ValueHolder onto the receiver

Overridden by: ValueModel

at: index

Answer the receiver's indexed instance variable at the argument index.
As basicAt:, but may be reimplemented.

Primitive Failure Reasons:
0 - aSmallInteger is not a SmallInteger
1 - aSmallInteger out of bounds (not in the range 1..receiver's indexable size).

Overridden by: AXTypeLibraryAnalyzer BrowserEnvironment Bag RBSmallDictionary SequenceableCollection ArrayedCollection ExternalAddress BSTR RunArray String UnicodeString DBResultSet DOMNodeList Interval OLEEnumerator LinkedList ListModel OrderedCollection Set Dictionary DBRow ILockBytes IStream ExternalArray DOUBLEArray DWORDArray PointerArray SDWORDArray FLOATArray OLECountedArray SAFEARRAY StructureArray WORDArray SWORDArray Menu ImageManager Process Integer LargeInteger ResourceManager ObjectRegistry PackageManager StackFrame ContextFrame PrimArray VersionInfo

at: index put: value

Replace the receivers indexed instance variable at the argument,
index, with the argument, value. Answer value.
As basicAt:put: but may be reimplemented.

Primitive Failure Reasons:
0 - aSmallInteger is not a SmallInteger
1 - aSmallInteger out of bounds (not in the range 1..receiver's indexable size)
2 - the argument, value, is not of a class which can be stored in the receiver
(e.g. its a non-SmallInteger and the receiver is a ByteArray).

Overridden by: Bag RBSmallDictionary SequenceableCollection ArrayedCollection ExternalAddress BSTR RunArray String Symbol UnicodeString DBResultSet DOMNodeList Interval OLEEnumerator LinkedList ListModel OrderedCollection SortedCollection Set Dictionary DOMNamedNodeMap LookupTable PoolConstantsDictionary SharedLookupTable DeferredValueTable PoolDictionary RegKeyAbstract RegKey RegKeyValues SystemDictionary DBRow ILockBytes IStream ExternalArray DOUBLEArray DWORDArray PointerArray SDWORDArray FLOATArray OLECountedArray SAFEARRAY StructureArray WORDArray SWORDArray Menu Process SmallInteger ResourceManager StackFrame ContextFrame

basicCast: aClass



Overridden by: IntegerPos

basicClass

Answer a which is the class of the receiver.
The primitive should not fail. This message cannot be overridden
and always answers the actual class of the receiver, unlike #class
which might answer the class of a different object (e.g. in the case
of proxies).,

Overridden by: SmallInteger Character

basicDoesNotUnderstand: failedMessage

A message sent to the receiver was not implemented by the receiver or its superclasses
(i.e. it has no appropriate behaviour). This message is useful for by-passing a superclass'
implementation of #doesNotUnderstand:, as it must not be overridden by subclasses.
Signal a <MessageNotUnderstood> exception corresponding to the argument,
message.

basicInspect

Open and answer an inspector window on the receiver.
Do not override this method.

basicPrintOn: aStream

Append a short developer's description of the receiver to aStream.
Should not be overridden by subclasses.

basicPrintString

Answer a short developer's String description of the receiver.
Should not be overridden by subclasses

become: anObject

Swap the instance pointers of the receiver and the argument, anObject. All variables
in the entire system that pointed to the receiver will now point to the argument, and
vice versa.

Primitive failure reasons:
0 - receiver or argument an object with an immediate representation (e.g.
a SmallInteger), or either is a 'permanent' objects (nil, true, false, etc).

This method should be used with extreme care, as it has side effects for others referring
to the receiver and anObject. In particular never attempt to pass nil, true, false, etc,
as the argument, as this will almost certainly cause system failure.

N.B. Though Dolphin is faithful to the original Smalltalk-80 specification for
this method, and provides a two way switch as described, this is not universally true
for all Smalltalks, so portable code should assume only a one way switch. To better
guarantee portability you should use #swappingBecome: which, hopefully, will start
to become prevalent on other platforms.

becomeA: aClass

Change the class of the receiver to aClass, iff they are of the same 'shape' -
e.g. pointer objects cannot be converted to byte objects and vice versa.

SmallIntegers can be mutated to new byte objects which are always of length 4.

Primitive failure reasons:
0 - argument, aClass, is not a Behavior
1 - receiver's class and aClass are not the same shape.

Consider carefully before using this method as although it may improve performance,
it has potential side effects similar to those of #become:. As a rule of thumb, send
#becomeA: only to objects of known ownership (e.g. temporaries). Changing the class of
objects passed as parameters could well confuse the other objects referencing those
parameters.

It is always safe to change the class of a SmallInteger, since a new object is created
of the specified variable byte class to hold the value of the SmallInteger.

becomeAn: aClass

Sigh, just to keep Russ (aka The Grammar Pedant) happy.

beFinalizable

Mark the receiver as an object requiring finalization.
Answers the previous value of the special behavior mask.

beStrong

Revoke the receiver's status as an object whose indexable pointer variables hold
only weak references to their contents. Has no effect on objects which are already strong.
Answers the previous value of the special behavior mask.

beUnfinalizable

Mark the receiver as an object that does not require finalization. This is the default
so sending this message is only necessary to reverse a previous #beFinalizable message.
Answers the previous value of the special behavior mask.

beWeak

Mark the receiver as an object whose indexable variables hold only weak references to
their contents: that is those variables contents could be garbage collected and replaced
with the corpse object. When this happens, the receiver will subsequently receive an
#elementsExpired: message informing of the number of losses it suffered. It is up to the
receiver to take appropriate action to locate the corpses and act accordingly, e.g. by
turning them into nils, or just updating a tally.
Any object of any pointer class may be made weak, but there will be no useful effect
for those instances without indexable variables, and this will increase garbage collection
overhead. Classes which wish all their instances to be weak, should invoke this method
against all newly created instances.

binaryStoreBytes

Answers a ByteArray representation of the receiver stored in a binary form.
This can be reconstituted using Object class>>fromBinaryStoreBytes:

binaryStoreOn: aStream

Stores the receiver in a binary form on aStream that can be reconstituted using Object class>>binaryReadFrom:.
Uses the STB filing mechanism to achieve this. This implementation is sufficient for all objects
that do not need to isolate themselves from their surroundings. Sub-classes may override this
method to perform such isolation

Overridden by: ImageStripper

breakDependents

Break the connection with all objects which have registered a dependency on the reciever.

broadcast: aSymbol

Send the argument aSymbol as a unary message to all of the receiver's dependents

broadcast: aSymbol with: aParameter

Send the argument aSymbol as a keyword message with argument aParameter
to all of the receiver's dependents

browse

Open an appropriate browser on the receiver. The default is to
open a Class Hierarchy Browser on the receiver's class.

Overridden by: ClassDescription PoolConstantsDictionary CompiledMethod Package ResourceIdentifier

cast: aClass



Overridden by: PrimArray

cast: class1 into: class1BlockClosure cast: class2 into: class2BlockClosure others: othersBlockClosure

This stub method was auto-generated by the Dolphin debugger and remains to be correctly implemented.

cast: class into: castBlockClosure others: othersBlockClosure

This stub method was auto-generated by the Dolphin debugger and remains to be correctly implemented.

changed

The receiver changed in some general way; inform all the dependents by sending
each of them an #update: message with nil as an argument.

changed: anAspect

The receiver changed; the change is denoted by the argument, anAspect.
Usually the argument is a Symbol that is part of the dependent's change
protocol, but it may be any object which gives a hint as to the type of change

changed: anAspect with: aParameter

The receiver changed; the change is denoted by the argument, anAspect and an
argument in aParameter.

Overridden by: ChangeSet PropChange CannotPartializeChange DetectorWaitingChange EndorsementsChange FullPropChange PermissionsChange

class

Answer a which is the class of the receiver.
The primitive should not fail.

Overridden by: SmallInteger Character

copy

Answer an <Object> which is a copy of the receiver (by default a copy which shares the receiver's
instance variables). This may be reimplemented to return a deep copy, or some other
form of copy (e.g. a 2-level copy, or, for an identify object, the same object), whatever
is appropriate for the receiver.

Overridden by: CodeToolSelectionPolicy BSTR ExternalStructure IEnumXXXX IStream SAFEARRAY EXCEPINFO VARIANT Bitmap Menu Accumulator BoxAccumulator EdgeAccumulator IntegerEdgeAccumulator PtrArrayAccumulator SetAccumulator TableAccumulator ArrayAccumulator UnionRecruiter FeKeyMaster ScruSet ImmuSet MuSet GrandHashSet HashSet ActualHashSet ScruTable ImmuTable IntegerScruTable MuTable GrandHashTable HashTable ActualHashTable IntegerTable MuArray ActualArray OberIntegerTable ActualIntegerTable COWIntegerTable OffsetScruArray OffsetScruTable Stepper AscendingIntegerStepper BoxProjectionStepper BoxStepper DescendingIntegerStepper DisjointRegionStepper EdgeSimpleRegionStepper EdgeStepper EmptyStepper GenericCrossSimpleRegionStepper GrandDataPageStepper GrandHashSetStepper GrandNodeStepper GrandOverflowStepper HashSetStepper IDSimpleStepper IDStepper IntegerEdgeStepper IntegerSimpleRegionStepper ItemStepper MergeBundlesStepper MergeStepper PrimIndexTableStepper PrimPtr2PtrTableStepper PrimPtrTableStepper PrimSetStepper RealStepper SequenceStepper SetTableStepper TableStepper ArrayStepper AscendingArrayStepper BucketArrayStepper EditionStepper GrandHashTableStepper GrantStepper IntegerTableStepper ITAscendingStepper ITDescendingStepper ITGenericStepper OffsetArrayStepper OffsetScruTableStepper PtrArrayStepper TupleStepper TableEntry HashIndexEntry HeaperAsEntry IndexEntry PositionEntry Number MenuItem RBProgramNode RBProgramNodeVisitor Rectangle Resource ResourceSTBByteArrayAccessor ResourceSTBFileAccessor ResourceIdentifier

debugPrintString

Answer a whose characters are a description of the receiver
as the debugger would want to see it.

deepCopy

Answer a 'deep copy' of the receiver. The 'deep copy' is a clone of the receiver,
sharing only those parts which cannot be copied (e.g. classes, nil, true, false,
SmallIntegers, Symbols, Characters, etc).
This is sufficient for all objects except those holding external resources (where a
true deepCopy will clone that resource too), and those where there are circular
references from an object to a child and vice versa, and that reference must be
correctly maintained. In these circumstances it is appropriate to override
#_deepCopy:, which implements the body of the method. You should generally not override
#deepCopy.

Overridden by: Boolean ExternalAddress BSTR Symbol SmallInteger Character UndefinedObject

dependents

Answer a Collection of the receiver's dependents. Portable code should make no assumptions
about the ordering of the Collection (or its type), and must not modify it.

displayOn: aStream

Append, to aStream, a String whose characters are a representation of the receiver as a user
would want to see it.

Overridden by: ActiveXScriptlet Aspect AXTypeInfoAnalyzer AXTypeLibraryAnalyzer ClassDescription Category DWORDBytes ExternalAddress BSTR String UnicodeString PoolConstantsDictionary PoolDictionary RegKeyAbstract CommandDescription COMObjectRegistration DiskVolumeInformation DolphinSureCertificateStore DolphinSureCertificate Exception CompilerNotification IDispatch DOUBLE ExternalArray QWORD HRESULT VARIANT FILETIME SYSTEMTIME Font GUID CLSID IID InternetAddress Locale Float Fraction ScaledDecimal Character CommandMenuItem DividerMenuItem MethodProtocol PersonalAccount PersonalAccountTransaction ValueAspectAdaptor AspectAccessor ValueKeyedAdaptor KeyedAspectAccessor Package RichText StackFrame BlockFrame UndefinedObject VideoLibrary VideoRecording VideoTape View DesktopView

displayString

Answer a String whose characters are a representation of the receiver as a user
would want to see it.
N.B. Subclasses should override #displayOn: to provide suitable implementations.
You may also want to override #displayString for performance reasons in certain
situations, because using a Stream can be a significant overhead where one
simply wants the display string of a single object. However, if you override
#displayString you should also override #displayOn: to provide the same
representation.

Overridden by: String Symbol CanopyCrum SensorCrum SplitLoaf OExpandingLoaf ActualOrglRoot HistoryCrum Integer RefactoryChange CompositeRefactoryChange RichText

doesNotUnderstand: failedMessage

Sent to the receiver by the VM when a message sent to the receiver was not implemented
by the receiver or its superclasses (i.e. it has no appropriate behaviour).
Signal a <MessageNotUnderstood> exception corresponding to the argument,
message.

Overridden by: DBRow DeafObject ExternalStructure IDispatch AXRecord AspectBuffer

error: signalerText

Raise an <Error> exception reporting the error message contained in the
argument, signalerText.

errorAt: index

An at: operation on the receiver failed. Determine the cause of the error, and
raise an appropriate error.

errorAt: index put: value

An at:put: operation on the receiver failed. Determine the cause of the error, and
raise an appropriate error.

errorCantHold: anObject

Raise an error that the receiver cannot hold anObject (as it is of the wrong type)

errorNotFound: anObject

Raise a NotFoundError indicating that anObject was not found
in the receiver

errorSubscriptBounds: anInteger

Raise a BoundsError because anInteger is outside the subscript bounds of the receiver.

events

Answer a Collection of the receiver's events

finalize

Perform any death-bed operations as the receiver is about to expire. The default is to
do nothing.

It is not necessary to remove an objects finalization mark, since this has already been
done by the garbage collector. Should you wish an object to be finalized again, you must
send it #beFinalizable again (this can be done from the #finalize message, but be careful
as this may leave the object in an endless loop of finalizations, consuming system resources).

The receiver will cease to exist at some time after its finalize method has completed (at
the very latest at the next GC), unless that method causes additional references to be
taken to the receiver. It is a good idea to remove any circular references in an object's
finalize method to shorten its remaining life.

Note that this method is only sent to objects which are marked as requiring
finalization (see #beFinalizable) when their last strong reference is removed. The
object will not receive the message immediately, but only on the next run of the
Finalizer process (which runs at a low priority), and if the object has outstanding
weak references, only then after a run of the full garbage collector (which is necessarily
a relatively infrequent occurrence).

Overridden by: Canvas BSTR ExternalMemory NPOutStream DBAbstractStatement DBConnection ExternalStructure File GraphicsTool Process SocketAbstract FileStream StdioFileStream

halt

Bring up the Smalltalk debugger (suspending the active process) ...

hash

Answer the hash value for the receiver. By default use the identity hash
assigned at object creation time, which is temporally invariant.

Equivalent objects (i.e. those that answer true for #=) MUST
answer the same hash value, in order that they can be stored and
retrieved successfully from hashed collections. Therefore, classes
which reimplement either #= or #hash, will probably need to
reimplement both.

N.B. The primitive does not fail, but will raise an invalid memory access
exception if called for immediate subclasses such as SmallInteger.

Overridden by: AXTypeInfoAnalyzer AXTypeLibraryAnalyzer AXTypeLibRegistration Category CodeToolSelectionPolicy SequenceableCollection ByteArray DWORDBytes REFGUID String Symbol DBResultSet Interval Semaphore RegKeyAbstract IndexedColor RGB SystemColor COMObjectRegistration CompiledCode ExternalStructure COMInterface ExternalInteger FUNCDESC VARDESC Font StockFont Image GUID HashStream Magnitude Float Fraction Integer SmallInteger ScaledDecimal Point Point3D Association Character Date Time TimeStamp Message MessageSend MethodProtocol ValueAspectAdaptor ValueKeyedAdaptor NavigatorState RBAbstractClass RBMethodNode RBReturnNode RBSequenceNode RBAssignmentNode RBBlockNode RBCascadeNode RBLiteralNode RBMessageNode RBOptimizedNode RBVariableNode Rectangle CompositeRefactoryChange RenameVariableChange RefactoryClassChange AddClassChange AddMethodChange RefactoryVariableChange RemoveMethodChange ResourceIdentifier RichText SmalltalkSystemIcon StackFrame

hashForEqual



Overridden by: Heaper ExplicitArrangement IntegerArrangement UdanaxMissing

icon

Answer an Icon representing the receiver.

Overridden by: CompiledMethod CompileFailedMethod MethodProtocol Resource ResourceIdentifier SmalltalkSystemIcon STBViewProxy SUnitAbsWrapper SUnitStatusTextWrapper SUnitTestCaseWrapper SUnitTestResourceWrapper

identityHash

Answer the identity hash value for the receiver. This is
currently a 16-bit SmallInteger value, which may be negative.
This value is assigned when the object is created, and never changes
(i.e. it is temporally invariant). Because the range is limited
to 16-bits, very large collections hashed by identity using this value
alone are likely to be slow (consider including the identityHash of
the objects class e.g.
^((self class identityHash bitAnd: 16r3FFFFFFF) bitShift: 16)
bitOr: self identityHash
or: which is similar.
However, this would not be safe in general, because #become: and #becomeA:
might change an object's class, because it is not associated with the
identity, but the object itself.

Although this implementation is temporally invariant while an object remains
in memory, a binary filed object is re-incarnated with a different identity,
and so identity hash collections must be rebuilt or rehashed on load (the
standard Collections do this already).

This need not be reimplemented (except by immediate subclasses), because
it is not possible to override #==, indeed reimplementation is jolly unwise.

N.B. The primitive does not fail, but will raise a benign invalid memory access
exception if called for immediate subclasses such as SmallInteger.

Overridden by: SmallInteger Character

initialize

Initialise the receiver following instantiation. The default is to do nothing.
Answer the receiver

Overridden by: ActiveXScriptlet AttributeDescriptor FillerField Class BlockingCallMonitor BrowserEnvironment CategoryEnvironment ClassEnvironment MultiEnvironment SelectorEnvironment VariableEnvironment ChunkBrowserModel ClassBuilder Clipboard CodeModelLockPolicy StateLockPolicy RBSmallDictionary WeakArray MourningWeakArray Semaphore OrderedCollection Set LookupTable PluggableLookupTable SharedLookupTable DeferredValueTable WeakLookupTable PluggableSet SharedSet WeakSet EnumRECT NPApplet NPDolphin OLELockBytes CommandDescription CommandQuery DBAbstractStatement DBParameterizedStatement DBColAttr DBConnection DBField DeferredValue Delay InternalDragDropObject DragDropSession DsdnSearch CRTError Win32Error OutOfMemoryError Win32Fault SubclassResponsibilityError ExceptionHandlerSet ExceptionSet CommCtrlLibrary OLELibrary CRTLibrary ExternalStructure IXMLDOMDocument OLECountedArray StructureArray OLEFinalizableStructure AXRecord VARIANT ICONINFO File ClassLocator URLClassLocator FramingConstraints GraphicsTool AcceleratorTable Font Bitmap Menu ImageManager InkStroke InputState Keyboard BorderLayout CardLayout FlowLayout FramingLayout GridLayout ProportionalLayout Process LintRule BasicLintRule BlockLintRule LintRuleTest BasicLintRuleTest ListViewColumn MemoryManager MessageBox EventMessageSequence MessageSequence MethodProtocol ModalMsgLoop AspectBuffer BrowserApplicationModel CodeModel BrowserTextTool Navigator ImageStripper PluginImageStripper PersonalAccount PersonalAccountTransaction PersonalMoney ResourceManager SmalltalkSystem TreeModel VirtualTreeModel ValueModel Mutex NavigatorState NPSynchronousStreamHandler Package PackageManager RegularPolygon Presenter CompositePresenter EtchASketch MethodBrowser AXControlBrowser Dialog SimpleAXScriptEditor CategoryPrompter ChoicePrompter CommonDialog BrowseFolderDialog FileDialog MultipleFileOpenDialog FindDialog FindReplaceDialog FontDialog PrintDialog MenuComposer ProgressDialog RegEdit ChunkBrowser ClassBrowserShell Debugger InspectorShell LiveUpdate PackageBrowserShell ProtocolBrowserShell SmalltalkSystemShell SourceBrowser ViewComposer TranscriptShell WebBrowserShell FolderPresenter ResourceListPresenter Scribble SmalltalkWorkspace ValueWorkspace ClassHierarchyPresenter ChoicePresenter PropertyManager RBAbstractClass RBNamespace RBParseTreeRule RBReplaceRule RBBlockReplaceRule RBProgramNodeVisitor ParseTreeSearcher RBFormatter RBReadBeforeWrittenTester Refactoring RefactoringManager RefactoryChange CompositeRefactoryChange AddClassChange RefactoryChangeManager RefactoryTyper ReferenceFinder ResourceAccessor ResourceSTBByteArrayAccessor ResourceSTBFileAccessor SessionManager Signal SmalllintChecker SmalllintContext SocketAbstract ServerSocket Socket SourceDocumenterContext StatusBarItemAbstract StatusBarItem STBFiler STBInFiler PositionableStream SocketReadStream WriteStream FileStream SocketWriteStream SUnitAbsModel SUnitBrowserModel TestResource TestResult ToolbarItem ToolbarButton ToolbarSeparator BooleanToText DateToText NumberToText TimeToText PrimArray SharedPtrArray RandomStepper VideoLibrary VideoRecording View ContainerView AbstractCardContainer NPAppletSite ScrollingDecorator ShellView DialogView Playground Splash AXControlSite AXValueConvertingControlSite BasicListAbstract ComboBox ControlBarAbstract StatusBar Toolbar IconicListAbstract ListView TabView TreeView PushButton ValueConvertingControlView CheckBox DateTimePicker HotKey ProgressBar ScrollBar Slider ColorView FontView ImageView StaticImage StaticText TextEdit MultilineTextEdit RichTextEdit MenuComposerView ContextMenuComposerView MoenTreeView MouseTracker ScribbleView

inspect

Open and answer an inspector window on the receiver

Overridden by: DBResultSet DBRow BeRangeElement CanopyCrum DagWood Ent GrandNode OPart OExpandingLoaf ActualOrglRoot FeRangeElement HistoryCrum ScruSet GrandHashTable ActualHashTable ActualArray ActualIntegerTable SetTable SnarfHandler BoundedTrace

inspectorClass

Answer the class of inspector to be used when inspecting the receiver.

Overridden by: SequenceableCollection Dictionary CompiledCode ExternalStructure IDispatch ExternalArray

isBehavior

Answer whether the receiver is a <Behavior>.

Overridden by: Behavior

isEqualTo: anObject



Overridden by: BlockClosure Chunk ClassBased Firstchunk Subclass DoIt Subchunk CategoryOf CompiledCode

isFinalizable

Answer whether the receiver is marked as requiring finalization.
Finalizable objects will receive a #finalize message after the garbage
collector has determined that there are no outstanding references
to the object, however the delivery of the message is asynchronous
and an arbitrary interval may elapse before it is delivered.

isIndexable

Answer whether or not the receiver has indexable instance variables (in addition
to any named instance variables), and can be accessed using #at:/#at:put:

isInteger

Answer whether the receiver is a kind of Integer

Overridden by: Integer

isKindOf: candidateClass

Answer whether the receiver is an instance of the argument, candidateClass,
or one of its subclasses.
The primitive never fails, so the Smalltalk back up code is present for illustrative
purposes only. The primitive is very fast, so there is no particular reason to
implement isXXXXXX methods instead, BUT in any case is-kind-of tests are not
good practice. Tests should be made to see if an object provides a particular
protocol (if necessary) rather than testing for a particular class.

Overridden by: Abraham

isMemberOf: candidateClass

Answer whether the receiver is an instance of the argument,
candidateClass.

isNil

Answer whether the receiver is THE undefined (nil) object.
N.B. This message is inlined by the compiler and cannot be overridden.

Overridden by: UndefinedObject

isString

Answer whether the receiver is a <String>.

Overridden by: String

isSymbol



Overridden by: Symbol

isVariableBinding

Answer whether the receiver is a , i.e. an association which responds
to #key and #value methods.

Overridden by: Association

isWeak

Answer whether the receiver is an object whose indexable pointer variables hold only weak references
to their contents.

noEventsDo: aBlock

Evaluate aBlock while ensuring that the receiver will not trigger any events.
Answers the result of evaluating aBlock

notNil

Answer whether the receiver is not the undefined () object.
N.B. This message is inlined by the compiler and cannot be overridden.

Overridden by: UndefinedObject

notNil: aBlockClosure



Overridden by: UndefinedObject

oneWayBecome: anObject

Make all references to the receiver be references to the argument (i.e. anObject replaces
all uses of the receiver, and the receiver's identity and contents are lost). This is the
only form of #become: available in some Smalltalk systems. Can follow a two
way #become: for even more mind boggling fun (to maintain one objects identity, but
anothers value).

Primitive failure reasons:
0 - receiver or argument an object with an immediate representation (e.g.
a SmallInteger), or either is a 'permanent' objects (nil, true, false, etc).

This method should be used with care, but is some what less dangerous than #become:,
as it does not affect existing users of anObject. Currently the implementation is not
as efficient as #become:.

perform: selector

Send the receiver the unary message indicated by the argument,
answering the result.

Primitive failure reasons:
0 - The number of arguments expected with the selector is not zero.

perform: selector with: argument1

Send the receiver the keyword message indicated by the arguments, answering the result.
The first argument selector is the of the message. The second <Object> argument,
argument1, is the argument of the message to be sent.

Primitive failure reasons:
0 - The number of arguments expected with the selector is not one.

perform: selector with: argument1 with: argument2

Send the receiver the keyword message indicated by the arguments, answering the result.
The first argument is the selector of the message. The other arguments
and , are the argument of the message to be sent.

Primitive failure reasons:
0 - The number of arguments expected with the selector is not two.

perform: selector with: argument1 with: argument2 with: argument3

Send the receiver the keyword message indicated by the arguments, answering the result.
The first argument selector is the of the message. The other <Object> arguments
argument1, argument2 and argument3 are the arguments of the message to be sent.

Primitive failure reasons:
0 - The number of arguments expected with the selector is not three.

perform: selector with: argument1 with: argument2 with: argument3 with: argument4

Send the receiver the keyword message indicated by the arguments, answering the result.
The first argument selector is the of the message. The other <Object> arguments
argument1, argument2, argument3, and argument4 are the arguments of the message to be sent.

Primitive failure reasons:
0 - The number of arguments expected with the selector is not four.

perform: selector withArguments: arguments

Send the receiver the keyword message indicated by the arguments, answering the result.
The first argument, selector, is the of the message. The arguments of the message
are the elements of the <Array>, arguments.

Primitive failure reasons:
0 - The number of arguments expected with the selector is not the number supplied.
1 - arguments is not an <Array>.

postCopy

Apply any final flourish to the copy that may be required.
This should be overridden by subclasses which provide their own
storage (i.e. in instance variable(s)) for events/dependents in
order to release those (otherwise the copy will inherit them).

This selector requires an underscore prefix to avoid the fragile
base class problem in this ANSI standard class which must be
subclassable by compliant programs.

Overridden by: CategoryEnvironment ClassEnvironment ProtocolEnvironment SelectorEnvironment VariableEnvironment CodeToolSelectionPolicy Bag RBSmallDictionary RunArray ListModel LookupTable SharedLookupTable SharedSet Exception GraphicsTool Font RBProgramNode RBMethodNode RBReturnNode RBSequenceNode RBAssignmentNode RBBlockNode RBCascadeNode RBMessageNode RBProgramNodeVisitor RBFormatter CompositeRefactoryChange

primitiveFailed

Generate an error to the effect that a primitive has failed, including the failure code
specified by the primitive.

printOn: target

Append, to the , target, a string whose characters are a
the same as those which would result from sending a #printString
message to the receiver.
N.B. This is really intended for development use. #displayOn: and #displayString
are complementary methods for generating strings for presentation to an
end-user.

Overridden by: Aspect ExternalField EmbeddedField AXTypeInfoAnalyzer AXTypeLibDocumentation AXTypeLibraryAnalyzer ClassDescription BinaryPackage BlockClosure False True BrowserEnvironment Category Collection DWORDBytes BSTR REFGUID String Symbol DBResultSet Interval Semaphore Dictionary SharedLookupTable RegKeyAbstract SharedSet IndexedColor RGB SystemColor COMFunctionAbstract AXEventSink COMClassFactory CommandDescription CommandQuery COMObjectRegistration COMObjectStub ComparisonPolicy CompiledMethod ExternalMethod DBStatement DBColAttr DBConnection DBExceptionDetails DBField DBRow DBTxn Delay DiskVolumeInformation DolphinSureCertificateInfo DolphinSureCertificateStore DolphinSureCertificate Event PaintEvent Exception BlockCallback MessageCallback ExternalDescriptor ExternalLibrary ExternalStructure COMInterface IConnectionPoint IDispatch IXMLDOMNode IXMLDOMAttribute IXMLDOMComment IXMLDOMDocument IXMLDOMProcessingInstruction IErrorInfo ITypeInfo ITypeLib ExternalArray SAFEARRAY ExternalInteger QWORD HRESULT VARIANT_BOOL CURRENCY DECIMAL FUNCDESC VARDESC VARIANT TYPEDESC StructurePointer FILETIME MSG POINTL RECT SYSTEMTIME File ClassLocator Font Image OLEPicture Menu MenuBar GUID IID BeEdition BeWork BranchDescription BertCrum SensorCrum Counter DoublingFlock GrandDataPage GrandSetEntry GrandTableEntry GrandNode GrandOverflow MultiCounter DspLoaf SplitLoaf OExpandingLoaf OVirtualLoaf RegionLoaf ActualOrglRoot IntegerEdgeAccumulator TableAccumulator IntegerArrangement CBlockTracker CommIbid Cookbook ActualCookbook GenericCrossSpace FilterSpace IDSpace ExceptionRecord FeKeyMaster FeDataHolder FeEdition FeIDHolder FeLabel FeWork FeClubDescription FeSet FeText FeWorkSet FlockLocation FlockInfo HistoryCrum HBottomCrum Joint CompositeMapping ConstantMapping IdentityDsp IntegerMapping EmptyMapping SimpleMapping Pair ID IntegerPos IEEE32Pos IEEE64Pos Sequence Tuple StrongAsPosition PrimIntValue BertProp SensorProp Binary2Rcvr TextyRcvr Recipe RequestHandler ScruSet GrandHashSet ScruTable ImmuTableOnMu OffsetImmuTable GrandHashTable ActualHashTable ActualArray ActualIntegerTable OffsetScruArray OffsetScruTable SetTable SHTO SnarfRecord IntegerEdgeStepper IntegerSimpleRegionStepper PrimSetStepper AscendingArrayStepper TableEntry IndexEntry BootMaker BoundedTrace SequenceEdge BeforeSequencePrefix XcvrMaker Binary2Xmtr TextyXmtr ReadArrayStream ReadMemStream XnBufferedReadStream GenericCrossRegion AndFilter ClosedFilter NotSubsetFilter NotSupersetFilter OpenFilter OrFilter SubsetFilter SupersetFilter IDRegion IntegerRegion RealRegion SequenceRegion SetRegion CountStream WriteArrayStream WriteMemStream WriteVariableArrayStream XnBufferedWriteStream InkStroke InternetAddress MoenLink Process LintRule LintRuleTest ListViewColumn Locale Float Fraction Integer ScaledDecimal Point Point3D Association Character Date DateAndTime Duration Time TimeStamp MenuItem Message MessageSend MethodContext MethodProtocol CodeModel PersonalAccount PersonalAccountTransaction PersonalMoney ValueModel ValueAdaptor MoenContour MoenTreeNode Mutex NavigatorState DolphinNavigatorState Package RBAbstractClass RBMetaclass RBCondition RBConjunctiveCondition RBNegationCondition RBMethod RBProgramNode RBMethodNode RBToken RBValueToken Rectangle RefactoringManager CompositeRefactoryChange RenameVariableChange RefactoryClassChange AddClassChange AddMethodChange AddClassVariableChange AddInstanceVariableChange AddPoolVariableChange RemoveClassVariableChange RemoveInstanceVariableChange RemovePoolVariableChange RemoveClassChange RemoveMethodChange RefactoryTyper ResourceIdentifier RichText Signal SmalltalkSystemIcon SocketAbstract StackFrame StatusBarItem STBPrefix STBViewProxy TestCase TestResource TestResult ToolbarButton TreeNode UndefinedObject VideoLibrary VideoRecording VideoTape View ReferenceView

printString

Answer a whose characters are a description of the receiver
as a developer would want to see it.

Overridden by: SmallInteger UndefinedObject

propertyAt: aSymbol

Answers a property value of the receiver whose name matches aSymbol.

propertyAt: aSymbol ifAbsent: aBlock

Answers a property value of the receiver whose name matches aSymbol. If the object
does not have such a property then aBlock is evaluated.

propertyAt: aSymbol put: valueObject

Sets a property value of the receiver whose name matches aSymbol.

publishedAspects

Answer a Set of AspectDescriptors that describe the aspects published
by the receiver

Overridden by: SequenceableCollection Dictionary View ListView

publishedEvents

Answer a Set of Symbols that describe the published events triggered
by the receiver.

Overridden by: AXControlSite

quickCast: aClass


release

Remove references to objects that may refer back to the receiver. Note that although
we remove references to objects that depend on the receiver or receive triggers from it;
we don't perform the opposite removal. This means that an object is responsible for
deregistering these explictly.

Overridden by: DBAbstractStatement FeWork CodeModel PackageManager PackageBrowserShell RefactoryChangeManager RefactoryTestDataApp SmalllintChecker SmalllintContext

removeAllEventsTriggered

Remove all events triggers by the receiver

removeAllProperties

Remove all the properties of the receiver.

removeDependent: anObject

Remove the argument, anObject, as one of the receiver's dependents. If anObject is not
a dependent, do nothing. Answer anObject.

removeEventsTriggeredFor: anObject

Removes all events of the receiver destined for anObject.

Overridden by: EventsCollection

removePropertyAt: aSymbol

Removes a property of the receiver whose name matches aSymbol.

removePropertyAt: aSymbol ifAbsent: aBlock

Removes a property of the receiver whose name matches aSymbol. If the object
does not have such a property then aBlock is evaluated.

resize: anInteger

Resize the receiver to accomodate anInteger indexable instance variables. If anInteger
is greater than the current size of the receiver, then new, safely initialized, elements are
added to the end of the receiver. If anInteger is less that the current size of the receiver,
then elements are removed from the end of the receiver.

This is one of the relatively rare Dolphin methods that 'internally' modifies its receiver,
not a copy of it, so all objects referencing the receiver will see the change - i.e. it has
potential side effects.

Note also that this implementation is too simple for many objects (e.g. Sets) which will need
to override it.

Primitive failure reason:
0 - anInteger is not a positive SmallInteger
1 - the receiver is not of an indexable (variable sized) class.

Overridden by: SequenceableCollection ArrayedCollection ExternalAddress ExternalMemory RunArray DBResultSet ListModel OrderedCollection Set SharedLookupTable RegKeyAbstract SharedSet OLELockBytesAbstract OLELockBytes IStream

respondsTo: selector

Answer whether the receiver has behaviour defined for the argument.
N.B. Even if an object is able to respond to selector, an error may still result
when that selector is sent if, for example, the receiver implements the message with
#subclassReponsibility.

shallowCopy

Answer a copy of the receiver which shares the receiver's instance
variables. This implementation suffices for most objects. The
primitive does not fail, but #basicShallowCopy provides a Smalltalk
implementation for documentation purposes.

Overridden by: Behavior Boolean Symbol SmallInteger Character UndefinedObject

shouldNotImplement

The class of the receiver is unable to provide an implementation of a message in
the protocol of one of its superclasses. Generate an exception to this effect.

This error will be experienced when an attempt is made to use inappropriate
superclass protocol against a subclass which is not a true sub-type (e.g.
SortedCollection is not a true sub-type of OrderedCollection, as it does
not support the indexed access method #at:put:.

size

Answer the number of indexed variables in the receiver (0 for non-indexable objects,
as the named instance variables are not included). The primitive should not fail.

Overridden by: Collection Bag RBSmallDictionary SequenceableCollection ArrayedCollection BSTR ExternalMemory RunArray UnicodeString DBResultSet DOMNodeList Interval OLEEnumerator LinkedList ListModel OrderedCollection Set DOMNamedNodeMap RegKeyAbstract RegKey RegKeyValues NPStream OLELockBytesAbstract OLELockBytes OLELockFileBytes DBField ExternalStructure IFontDisp IFont IStream ExternalArray ExternalPointer File CountStream WriteMemStream ImageManager Process LargeInteger SmallInteger Character EventMessageSequence MessageSequence TreeModelAbstract TreeModel RBProgramNode SharedQueue PositionableStream FileStream StdioFileStream BasicListAbstract StatusBar Toolbar IconicListAbstract

species

Answer the preferred class of the receiver - not always the same as the
answer to #class (although this implementation uses the class primitive, which
should not fail). Used, for example, by Collections to determine what type of Collection
should result from the enumeration messages #collect:, #select:, and #reject:

Overridden by: Collection ExternalAddress REFGUID String WeakArray DBResultSet DOMNodeList Interval OLEEnumerator ListModel DOMNamedNodeMap WeakLookupTable WeakIdentityDictionary RegKeyAbstract WeakSet ExternalArray GUID SmallInteger Character

stbFixup: anSTBInFiler at: newObjectIndex

Answer the true object that must be used to represent the receiver when read from anSTBInFiler.
Typically this is overridden by subclasses of STBProxy to answer the proxied object. Other classes
may also override this method to effectively 'one way become' the receiver to some other object

Overridden by: Bitmap STBProxy STBClassProxy STBExternalResourceLibraryProxy STBGlobalObjectProxy STBImportedClassProxy STBImportedMetaclassProxy STBResourceSTBByteArrayAccessorProxy STBResourceSTBFileAccessorProxy STBSingletonProxy STBSymbolProxy STBViewProxy

stbSaveOn: anSTBOutFiler

Save out a binary representation of the receiver to anSTBOutFiler.
The options are:
1. to let the filer output the receiver as normal using
STBOutFiler>>#saveObject: self.
or
STBOutFiler>>#saveObject: self as: 0.

2. to output nil instead of the receiver using
STBOutFiler>>#saveObject: self as: nil.

3. to output a proxy in place of the receiver using
STBOutFiler>>#saveObject: self as: anSTBProxy.
The proxy will be sent a #fixup:at: message at load time (see STB classes) and should then
answer the object it represents.

By default, objects are happy to be saved and loaded just as they are (option 1).

Overridden by: AXTypeLibraryAnalyzer Class Metaclass BinaryPackage ExternalAddress ExternalHandle Symbol ListModel OrderedCollection SortedCollection Set Dictionary LookupTable SharedLookupTable SharedSet ExternalMethod ExternalLibrary ExternalResourceLibrary AbsoluteFileLocator ImageRelativeFileLocator InstallRelativeFileLocator GraphicsTool ImageManager IconImageManager Process Model SmalltalkSystem Package Presenter ResourceSTBByteArrayAccessor ResourceSTBFileAccessor STBGlobalObjectProxy View

storeOn: aStream



Overridden by: BrowserEnvironment BrowserEnvironmentWrapper AndEnvironment CategoryEnvironment ClassEnvironment NotEnvironment ProtocolEnvironment SelectorEnvironment VariableEnvironment Collection Array ByteArray String Dictionary RBAbstractClass RBMetaclass AddClassRefactoring ChildrenToSiblingsRefactoring RenameClassRefactoring AddMethodRefactoring AddParameterRefactoring RemoveParameterRefactoring InlineParameterRefactoring RenameMethodRefactoring ExtractMethodRefactoring ExtractMethodToComponentRefactoring ExtractToTemporaryRefactoring InlineAllSendersRefactoring InlineMethodRefactoring InlineTemporaryRefactoring MoveMethodRefactoring MoveVariableDefinitionRefactoring PushDownMethodRefactoring PushUpMethodRefactoring RemoveMethodRefactoring RenameTemporaryRefactoring TemporaryToInstanceVariableRefactoring RemoveClassRefactoring SplitClassRefactoring VariableRefactoring CreateAccessorsForVariableRefactoring RenameClassVariableRefactoring RenameInstanceVariableRefactoring

storeString


subclassResponsibility

Generate an error to the effect that a message was receiver which should have been
implemented by a subclass. Useful for completely defining abstract classes.

This error will be experienced when either, an abstract class has been incorrectly instantiated, or
a subclass of an abstract class is not completely defined.

sunitAddDependent: anObject


sunitChanged: aspect


sunitRemoveDependent: anObject


swappingBecome: anObject

Swap the instance pointers of the receiver and the argument, anObject. All variables
in the entire system that pointed to the receiver will now point to the argument, and
vice versa. A synonym for #become:. To better allow for code portablity you should
use #swappingBecome: and #oneWayBecome: rather than #become:. They are more
explicit since the behaviour of the latter is not standard across all Smalltalk
implementations.

trigger: anEventSymbol

Evaluate the sequence of MessageSends registered for the receiver and the event,
anEventSymbol. Also signal a change for any dependents with the
trigger name as the aspect. Answer the result returned by the last respondent (for :-}).

Overridden by: DetectorEvent DoneEvent FilledEvent GrabbedEvent RangeFilledEvent ReleasedEvent RevisedEvent

trigger: anEventSymbol with: aParameter

Evaluate the sequence of MessageSends registered for the receiver and the event,
anEventSymbol. Passes aParameter along to each MessageSend. Also signal a change for
any dependents with the trigger name as the aspect. Answer the value returned
by the last respondent.

trigger: anEventSymbol with: aParameter with: anotherParameter

Evaluate the sequence of MessageSends registered for the receiver and the event,
anEventSymbol. Passes aParameter and anotherParameter along to each MessageSend.
Also signal a change for any dependents with the trigger name as the aspect.
Answer the value returned by the last respondent.

trigger: anEventSymbol withArguments: args

Evaluate the sequence of MessageSends registered for the receiver and the event,
anEventSymbol. Passes the array of parameters to each message send.
Answer the value returned by the last respondent.

understandsArithmetic

Answer whether the receiver understands basic arithmetic (and can therefore
be operated on like Numbers).

Overridden by: ArithmeticValue

update: aParameter

An object on whom the receiver is dependent has chnanged. The receiver updates its
status accordingly. The argument is the argument to the #changed: message.
The default is to do nothing.

Overridden by: CodeModel TestRunner

update: anAspect with: argument

An object on whom the receiver is dependent has changed. The receiver updates its
status accordingly. anAspect usually identifies the kind of change, and argument gives
additional information. The default is to try the simpler #update: method dropping
the argument.

update: anAspect with: argument from: originator

An object on whom the receiver is dependent has changed. The receiver updates its
status accordingly. anAspect usually identifies the kind of change, and argument gives
additional information. The object that triggered this update was originator.
The default is to try the simpler #update:with: method dropping the originator.

Overridden by: RefactoryChangeManager

when: anEventSymbol perform: aMessageSend

Adds aMessageSend to the event list for anEventSymbol in the receiver

when: anEventSymbol send: aSelector to: anObject

Register an event handler such that when the receiver triggers the event
anEventSymbol, the unary selector, aSelector, is sent to anObject.

when: anEventSymbol send: aSelector to: anObject with: anArgument

Register an event handler such that when the receiver triggers the event
anEventSymbol, the keyword selector, aSelector, is sent to anObject with the
single argument, anArgument.

when: anEventSymbol send: aSelector to: anObject withArguments: anArray

Register an event handler such that when the receiver triggers the event
anEventSymbol, the multi-keyword selector aSelector is sent to anObject with arguments
from anArray.

when: anEventSymbol sendTo: anObject

Register an event handler such that when the receiver triggers the event
anEventSymbol, it is sent as a unary selector to anObject.

yourAddress

Answer the address of the body of the receiver. The primitive does not fail.

The answer (an Integer) can be passed to external procedures as a pointer
or stored into another byte object representing a structure as a member pointer,
and call also be mutated (using #becomeA(n):) into a byte object such as ExternalAddress.

Although the primitive does not fail for non-byte objects, it is potentially unsafe
to access these indirectly, almost certainly an error to pass their address to
external procedures, and very likely to cause unexpected behaviour if used to modify
the contents of the object.

When taking the address of an object, you are entering the unprotected realms
of pointer manipulation, and need to be aware of object lifetime issues. In particular
be careful not to pass the address of a temporary object to a third party which is
intending to keep hold of that address, as the address will become invalid if the
object is garbage collected. In addition, if the third party writes off the front or end
of the object, it may corrupt the Smalltalk image, and cause unexpected behavior.
It is often better to use an external buffer, outside the Smalltalk object space, and
manage its lifetime yourself.

Overridden by: ExternalAddress ExternalStructure SmallInteger UndefinedObject

yourself

Answer the receiver (useful for returning the receiver from a cascaded message).


Index - All Packages - All Categories - All Classes