Squeak Class Documentation category index | class index  
 
SystemDictionary
  category: System-Support
  superclass: IdentityDictionary
  subclasses: Environment

I represent a special dictionary that supports protocol for asking questions about the structure of the system. Other than class names, I contain (print this)...
Smalltalk keys select: [:k | ((Smalltalk at: k) isKindOf: Class) not]
thenCollect: [:k | k -> (Smalltalk at: k) class]

instance methods
  accessing
  organization

  browsing
  browseAllCallsOn:
browseAllCallsOn:and:
browseAllCallsOn:localTo:
browseAllImplementorsOf:
browseAllImplementorsOf:localTo:
browseAllImplementorsOfList:
browseAllImplementorsOfList:title:
browseAllMethodsInCategory:
browseAllObjectReferencesTo:except:ifNone:
browseAllSelect:
browseAllSelect:name:autoSelect:
browseAllUnSentMessages
browseAllUnimplementedCalls
browseChangedMessages
browseClassCommentsWithString:
browseMessageList:name:
browseMessageList:name:autoSelect:
browseMethodsWhoseNamesContain:
browseMethodsWithSourceString:
browseMethodsWithString:
browseMethodsWithString:matchCase:
browseObsoleteReferences
showMenuOf:withFirstItem:ifChosenDo:
showMenuOf:withFirstItem:ifChosenDo:withCaption:

  class names
  classNamed:
classNames
flushClassNameCache
hasClassNamed:
removeClassFromSystem:logged:
removeClassNamed:
renameClass:as:
renameClassNamed:as:

  copying
  assureUniClass
veryDeepCopyWith:
vocabularyDemanded

  dictionary access
  associationAtOrAbove:ifAbsent:
associationOrUndeclaredAt:
at:put:
atOrAbove:ifAbsent:
atOrBelow:ifAbsent:
environmentForCategory:
includesKeyOrAbove:
kernelCategories
scopeFor:from:envtAndPathIfFound:

  housekeeping
  browseObsoleteMethodReferences
cleanOutUndeclared
condenseChanges
condenseSources
findNamesLikeGeorge:
forgetDoIts
macroBenchmark1
macroBenchmark2
macroBenchmark3
macroBenchmarks
makeExternalRelease
makeInternalRelease
makeSqueaklandRelease
obsoleteBehaviors
obsoleteClasses
obsoleteMethodReferences
reclaimDependents
recompileAllFrom:
removeAllLineFeeds
removeEmptyMessageCategories
sortAllCategories
standardTime:
testDecompiler
testFormatter
testFormatter2
verifyChanges

  image, changes name
  changeImageNameTo:
changesName
fullNameForChangesNamed:
fullNameForImageNamed:
imageName
imageName:
imagePath
sourcesName
vmPath

  memory space
  bytesLeft
bytesLeft:
bytesLeftString
createStackOverflow
garbageCollect
garbageCollectMost
installLowSpaceWatcher
lowSpaceThreshold
lowSpaceWatcher
lowSpaceWatcherProcess
memoryHogs
okayToProceedEvenIfSpaceIsLow
primBytesLeft
primLowSpaceSemaphore:
primSignalAtBytesLeft:
primitiveGarbageCollect
signalLowSpace
useUpMemory
useUpMemoryWithArrays
useUpMemoryWithContexts
useUpMemoryWithTinyObjects

  miscellaneous
  beep
compareTallyIn:to:
disablePowerManager
disablePowerManager:
enablePowerManager
exitToDebugger
extraVMMemory
extraVMMemory:
forceDisplayUpdate
fullScreenMode:
getSystemAttribute:
getVMParameters
gifReaderClass
handleUserInterrupt
hasMorphic
imageImports
imageReaderClass
itsyVoltage
jpegReaderClass
listBuiltinModule:
listBuiltinModules
listLoadedModule:
listLoadedModules
logError:inContext:to:
platformName
setMacFileInfoOn:
spaceForInstancesOf:
spaceTally
spaceTallyTo:
swapBytesIn:from:to:
unloadModule:
verifyMorphicAvailability
viewImageImports
vmParameterAt:
vmParameterAt:put:
vmVersion

  objects from disk
  objectForDataStream:
storeDataOn:

  printing
  printElementsOn:

  profiling
  clearProfile
dumpProfile
profile:
startProfiling
stopProfiling

  retrieving
  allBehaviorsDo:
allCallsOn:
allCallsOn:and:
allClasses
allClassesDo:
allClassesImplementing:
allGlobalRefs
allGlobalRefsWithout:
allImplementedMessages
allImplementedMessagesWithout:
allImplementorsOf:
allImplementorsOf:localTo:
allMethodsInCategory:
allMethodsWithSourceString:matchCase:
allMethodsWithString:
allObjectsDo:
allObjectsSelect:
allPrimitiveMessages
allPrimitiveMethodsInCategories:
allSelect:
allSelectNoDoits:
allSentMessages
allSentMessagesWithout:
allUnSentMessages
allUnSentMessagesIn:
allUnSentMessagesWithout:
allUnimplementedCalls
allUnusedClassesWithout:
isThereAnImplementorOf:
numberOfImplementorsOf:
pointersTo:
pointersTo:except:
pointersToItem:of:
poolUsers
selectorsWithAnyImplementorsIn:
unimplemented

  security
 

  shrinking
  abandonSources
abandonTempNames
cleanUpUndoCommands
computeImageSegmentation
discard3D
discardDiscards
discardFFI
discardFlash
discardIRC
discardMIDI
discardMVC
discardMorphic
discardNetworking
discardOddsAndEnds
discardPWS
discardPluggableWebServer
discardSUnit
discardSoundAndSpeech
discardSoundSynthesis
discardSpeech
discardTrueType
discardVMConstruction
discardWonderland
fileOutAndRemove:
fileOutAndRemove:retainingRoots:
fileOutAndRemove:withOtherClasses:andOtherMessages:
lastRemoval
majorShrink
presumedSentMessages
printSpaceAnalysis
printSpaceAnalysis:on:
printSpaceDifferenceFrom:to:
removeAllUnSentMessages
removeNormalCruft
removeSelector:
reportClassAndMethodRemovalsFor:
unusedClasses
unusedClassesAndMethodsWithout:
writeImageSegmentsFrom:withKernel:
zapAllOtherProjects
zapMVCprojects

  snapshot and quit
  add:toList:after:
addToShutDownList:
addToShutDownList:after:
addToStartUpList:
addToStartUpList:after:
getFileNameFromUser
isMorphic
lastQuitLogPosition
processShutDownList:
processStartUpList:
quitPrimitive
readDocumentFile
removeFromShutDownList:
removeFromStartUpList:
saveAs
saveAsEmbeddedImage
saveAsNewVersion
saveChangesInFileNamed:
saveImageInFileNamed:
saveImageSegments
saveSession
send:toClassesNamedIn:with:
setGCParameters
setPlatformPreferences
shutDown
shutDownSound
snapshot:andQuit:
snapshot:andQuit:embedded:
snapshotEmbeddedPrimitive
snapshotPrimitive
unbindExternalPrimitives

  sources, change log
  aboutThisSystem
assureStartupStampLogged
changes
closeSourceFiles
copyright
currentChangeSetString
currentProjectDo:
datedVersion
endianness
externalizeSources
forceChangesToDisk
internalizeChangeLog
internalizeSources
isBigEndian
isLittleEndian
lastUpdateString
logChange:
newChanges:
noChanges
openSourceFiles
recover:
systemInformationString
timeStamp:
version
writeRecentCharacters:toFileNamed:
writeRecentToFile

  special objects
  clearExternalObjects
compactClassesArray
externalObjects
hasSpecialSelector:ifTrueSetByte:
recreateSpecialObjectsArray
registerExternalObject:
specialNargsAt:
specialObjectsArray
specialSelectorAt:
specialSelectorSize
specialSelectors
unregisterExternalObject:

class methods
  initialization
  initialize

instance methods
  accessing top  
 

organization

Return the organizer for the receiver


  browsing top  
 

browseAllCallsOn:

Create and schedule a message browser on each method that refers to
aLiteral. For example, Smalltalk browseAllCallsOn: #open:label:.


 

browseAllCallsOn:and:

Create and schedule a message browser on each method that calls on the
two Symbols, literal1 and literal2. For example, Smalltalk
browseAllCallsOn: #at: and: #at:put:.


 

browseAllCallsOn:localTo:

Create and schedule a message browser on each method in or below the given class that refers to
aLiteral. For example, Smalltalk browseAllCallsOn: #open:label:.


 

browseAllImplementorsOf:

Create and schedule a message browser on each method that implements
the message whose selector is the argument, selector. For example,
Smalltalk browseAllImplementorsOf: #at:put:.


 

browseAllImplementorsOf:localTo:

Create and schedule a message browser on each method in or below the given class
that implements the message whose selector is the argument, selector. For example,
Smalltalk browseAllImplementorsOf: #at:put: localTo: Dictionary.


 

browseAllImplementorsOfList:

Create and schedule a message browser on each method that implements
the message whose selector is in the argument selectorList. For example,
Smalltalk browseAllImplementorsOf: #(at:put: size).
1/16/96 sw: defer to the titled version


 

browseAllImplementorsOfList:title:

Create and schedule a message browser on each method that implements the message whose selector is in the argument selectorList. For example, Smalltalk browseAllImplementorsOf: #(at:put: size).
1/16/96 sw: this variant adds the title argument.
1/24/96 sw: use a SortedCollection
2/1/96 sw: show normal cursor


 

browseAllMethodsInCategory:


 

browseAllObjectReferencesTo:except:ifNone:

Bring up a list inspector on the objects that point to anObject.
If there are none, then evaluate aBlock on anObject.


 

browseAllSelect:

Create and schedule a message browser on each method that, when used
as the block argument to aBlock gives a true result. For example,
Smalltalk browseAllSelect: [:method | method numLiterals > 10].


 

browseAllSelect:name:autoSelect:

Create and schedule a message browser on each method that, when used
as the block argument to aBlock gives a true result. Do not return an #DoIt traces.


 

browseAllUnSentMessages

Create and schedule a message browser on each method whose message is
not sent in any method in the system.


 

browseAllUnimplementedCalls

Create and schedule a message browser on each method that includes a
message that is not implemented in any object in the system.


 

browseChangedMessages

Create and schedule a message browser on each method that has been
changed.


 

browseClassCommentsWithString:

Smalltalk browseClassCommentsWithString: 'my instances'


 

browseMessageList:name:

Create and schedule a MessageSet browser on messageList.


 

browseMessageList:name:autoSelect:

Create and schedule a MessageSet browser on the message list.


 

browseMethodsWhoseNamesContain:

Launch a tool which shows all methods whose names contain the given string; case-insensitive.
¥ 1/16/1996 sw, at the dawn of Squeak: this was the classic implementation that provided the underpinning for the 'method names containing it' (cmd-shift-W) feature that has always been in Squeak -- the feature that later inspired the MethodFinder (aka SelectorBrowser).
¥ sw 7/27/2001: Switched to showing a MessageNames tool rather than a message-list browser, if in Morphic.


 

browseMethodsWithSourceString:

Smalltalk browseMethodsWithSourceString: 'SourceString'


 

browseMethodsWithString:

Launch a browser on all methods that contain string literals with aString as a substring. The search is case-insensitive, unless the shift key is pressed, in which case the search is case-sensitive.


 

browseMethodsWithString:matchCase:

Launch a browser on all methods that contain string literals with aString as a substring. Make the search case-sensitive or insensitive as dictated by the caseSensitive boolean parameter


 

browseObsoleteReferences

Smalltalk browseObsoleteReferences


 

showMenuOf:withFirstItem:ifChosenDo:

Show a sorted menu of the given selectors, preceded by firstItem, and all
abbreviated to 40 characters. Evaluate choiceBlock if a message is chosen.


 

showMenuOf:withFirstItem:ifChosenDo:withCaption:

Show a sorted menu of the given selectors, preceded by firstItem, and all abbreviated to 40 characters. Use aCaption as the menu title, if it is not nil. Evaluate choiceBlock if a message is chosen.


  class names top  
 

classNamed:

className is either a class name or a class name followed by ' class'.
Answer the class or metaclass it names


 

classNames

Answer a SortedCollection of all class names.


 

flushClassNameCache

Smalltalk flushClassNameCache


 

hasClassNamed:

Answer whether there is a class of the given name, but don't intern aString if it's not alrady interned. 4/29/96 sw


 

removeClassFromSystem:logged:

Delete the class, aClass, from the system, but log the removal neither to the current change set nor to the changes log


 

removeClassNamed:

Invoked from fileouts: if there is currently a class in the system named aName, then remove it. If anything untoward happens, report it in the Transcript.


 

renameClass:as:

Rename the class, aClass, to have the title newName.


 

renameClassNamed:as:

Invoked from fileouts: if there is currently a class in the system named oldName, then rename it to newName. If anything untoward happens, report it in the Transcript.


  copying top  
 

assureUniClass

Assure that the receiver has a uniclass. Or rather, in this case, stop short of fulfilling such a request


 

veryDeepCopyWith:

Return self. I can't be copied. Do not record me.


 

vocabularyDemanded

Answer the vocabulary that the receiver really would like to use in a Viewer


  dictionary access top  
 

associationAtOrAbove:ifAbsent:

Compatibility with environment protocol.


 

associationOrUndeclaredAt:

return an association or install in undeclared. Used for mating up ImageSegments.


 

at:put:

Override from Dictionary to check Undeclared and fix up
references to undeclared variables.


 

atOrAbove:ifAbsent:

Compatibility with environment protocol.


 

atOrBelow:ifAbsent:

Compatibility with environment protocol.


 

environmentForCategory:

Default response for non-partitioned systems


 

includesKeyOrAbove:

Compatibility with environment protocol.


 

kernelCategories


 

scopeFor:from:envtAndPathIfFound:

Null compatibility with partitioning into environments.


  housekeeping top  
 

browseObsoleteMethodReferences

Open a browser on all referenced behaviors that are obsolete


 

cleanOutUndeclared


 

condenseChanges

Smalltalk condenseChanges


 

condenseSources

Smalltalk condenseSources


 

findNamesLikeGeorge:

Smalltalk findNamesLikeGeorge: 'george'


 

forgetDoIts

Smalltalk forgetDoIts


 

macroBenchmark1

Smalltalk macroBenchmark1


 

macroBenchmark2

Smalltalk macroBenchmark2


 

macroBenchmark3

Smalltalk macroBenchmark3


 

macroBenchmarks

Reports an array of times taken to run a number of macro operations indicative of typical Squeak activity, each run after a full garbageCollection, and with exactly 10Mb of free space available. In addition it puts up a window with recent VM statistics local to each test.


 

makeExternalRelease

Smalltalk makeExternalRelease


 

makeInternalRelease

Smalltalk makeInternalRelease


 

makeSqueaklandRelease

Smalltalk makeSqueaklandRelease


 

obsoleteBehaviors

Smalltalk obsoleteBehaviors inspect


 

obsoleteClasses

Smalltalk obsoleteClasses inspect


 

obsoleteMethodReferences

Smalltalk obsoleteMethodReferences


 

reclaimDependents

No-opped due to weak dictionary in use


 

recompileAllFrom:

Recompile all classes, starting with given name.


 

removeAllLineFeeds

Smalltalk removeAllLineFeeds


 

removeEmptyMessageCategories

Smalltalk removeEmptyMessageCategories


 

sortAllCategories


 

standardTime:

Times the execution of aBlock in milliseconds, under the following standard conditions: exactly 10Mb of free space is available and compacted, and the recent VM statistics are reset immediately before execution.


 

testDecompiler

Smalltalk testDecompiler


 

testFormatter

Smalltalk testFormatter


 

testFormatter2

Smalltalk testFormatter2


 

verifyChanges

Smalltalk verifyChanges


  image, changes name top  
 

changeImageNameTo:


 

changesName

Answer the local name for the changes file corresponding to the image file name.


 

fullNameForChangesNamed:


 

fullNameForImageNamed:


 

imageName

Answer the full path name for the current image.


 

imageName:

Set the the full path name for the current image. All further snapshots will use this.


 

imagePath

Answer the path for the directory containing the image file.


 

sourcesName

Answer the full path to the version-stable source code


 

vmPath

Answer the path for the directory containing the Smalltalk virtual machine. Return the empty string if this primitive is not implemented.


  memory space top  
 

bytesLeft

Answer the number of bytes of space available. Does a full garbage collection.


 

bytesLeft:

Return the amount of available space. If aBool is true, include possibly available swap space. If aBool is false, include possibly available physical memory. For a report on the largest free block currently availabe within Squeak memory but not counting extra memory use #primBytesLeft.


 

bytesLeftString

Return a string describing the amount of memory available


 

createStackOverflow

For testing the low space handler...


 

garbageCollect

Primitive. Reclaims all garbage and answers the number of bytes of available space.


 

garbageCollectMost

Primitive. Reclaims recently created garbage (which is usually most of it) fairly quickly and answers the number of bytes of available space.


 

installLowSpaceWatcher

Start a process to watch for low-space conditions.


 

lowSpaceThreshold

Return the low space threshold. When the amount of free memory (after garbage collection) falls below this limit, the system is in serious danger of completely exhausting memory and crashing. This limit should be made high enough to allow the user open a debugger to diagnose a problem or to save the image.


 

lowSpaceWatcher

Wait until the low space semaphore is signalled, then take appropriate actions.


 

lowSpaceWatcherProcess


 

memoryHogs

Answer the list of objects to notify with #freeSomeSpace if memory gets full.


 

okayToProceedEvenIfSpaceIsLow

Return true if either there is enough memory to do so safely or if the user gives permission after being given fair warning.


 

primBytesLeft

Primitive. Answer the number of bytes available for new object data.
Not accurate unless preceded by
Smalltalk garbageCollectMost (for reasonable accuracy), or
Smalltalk garbageCollect (for real accuracy).
See Object documentation whatIsAPrimitive.


 

primLowSpaceSemaphore:

Primitive. Register the given Semaphore to be signalled when the
number of free bytes drops below some threshold. Disable low-space
interrupts if the argument is nil.


 

primSignalAtBytesLeft:

Tell the interpreter the low-space threshold in bytes. When the free
space falls below this threshold, the interpreter will signal the low-space
semaphore, if one has been registered. Disable low-space interrupts if the
argument is zero. Fail if numBytes is not an Integer.


 

primitiveGarbageCollect

Primitive. Reclaims all garbage and answers the number of bytes of available space.


 

signalLowSpace

Signal the low-space semaphore to alert the user that space is running low.


 

useUpMemory

For testing the low space handler...


 

useUpMemoryWithArrays

For testing the low space handler...


 

useUpMemoryWithContexts

For testing the low space handler...


 

useUpMemoryWithTinyObjects

For testing the low space handler...


  miscellaneous top  
 

beep

Emit a short alert sound.


 

compareTallyIn:to:


 

disablePowerManager


 

disablePowerManager:

Disable/Enable the architectures power manager by passing in nonzero or zero


 

enablePowerManager


 

exitToDebugger

Primitive. Enter the machine language debugger, if one exists. Essential.
See Object documentation whatIsAPrimitive.


 

extraVMMemory

Answer the current setting of the 'extraVMMemory' VM parameter. See the comment in extraVMMemory: for details.


 

extraVMMemory:

Request that the given amount of extra memory be reserved for use by the virtual machine to leave extra C heap space available for things like plugins, network and file buffers, and so on. This request is stored when the image is saved and honored when the image is next started up. Answer the previous value of this parameter.


 

forceDisplayUpdate

Obsolete. Send this message to Display instead of Smalltalk.


 

fullScreenMode:

On platforms that support it, set full-screen mode to the value of the argument. (Note: you'll need to restore the Display after calling this primitive.


 

getSystemAttribute:

Optional. Answer the string for the system attribute with the given
integer ID. Answer nil if the given attribute is not defined on this
platform. On platforms that support invoking programs from command
lines (e.g., Unix), this mechanism can be used to pass command line
arguments to programs written in Squeak.

By convention, the first command line argument that is not a VM
configuration option is considered a 'document' to be filed in. Such a
document can add methods and classes, can contain a serialized object,
can include code to be executed, or any combination of these.

Currently defined attributes include:
-1000...-1 - command line arguments that specify VM options
0 - the full path name for currently executing VM
(or, on some platforms, just the path name of the VM's directory)
1 - full path name of this image
2 - a Squeak document to open, if any
3...1000 - command line arguments for Squeak programs
1001 - this platform's operating system
1002 - operating system version
1003 - this platform's processor type
1004 - vm version


 

getVMParameters

Smalltalk getVMParameters


 

gifReaderClass

Answer, if present, a class to handle the importing of GIF files from disk. If none, return nil. 9/18/96 sw


 

handleUserInterrupt


 

hasMorphic

Answer whether the Morphic classes are available in the system (they may have been stripped, such as by a call to Smalltalk removeMorphic


 

imageImports

Answer the global dictionary of image imports, creating it if necessary. 7/24/96 sw


 

imageReaderClass

Answer, if present, a class to handle the importing of various graphic image files
from disk. If none, return nil. tao 10/26/97


 

itsyVoltage

On the Itsy, answer the approximate Vcc voltage. The Itsy will shut itself down when this value reaches 2.0 volts. This method allows one to build a readout of the current battery condition.


 

jpegReaderClass

Answer, if present, a class to handle the importing of JPEG files from disk. If none, return nil. 9/18/96 sw


 

listBuiltinModule:

Return the name of the n-th builtin module.
This list is not sorted!


 

listBuiltinModules

Smalltalk listBuiltinModules


 

listLoadedModule:

Return the name of the n-th loaded module.
This list is not sorted!


 

listLoadedModules

Smalltalk listLoadedModules


 

logError:inContext:to:

Log the error message and a stack trace to the given file.


 

platformName

Return the name of the platform we're running on


 

setMacFileInfoOn:

On Mac, set the file type and creator (noop on other platforms)


 

spaceForInstancesOf:

Answer the number of bytes consumed by all instances of the given class, including thier object headers.


 

spaceTally

Answer a collection of tuples representing the memory space (in bytes) consumed by the code and instances of each class in the system. The tuples have the form:
<class> <code size> <instance count> <space for instances>
Code sizes do not currently report memory consumed by class variables. The arrays used to record these results consume a relatively insignificant amount of space.


 

spaceTallyTo:


 

swapBytesIn:from:to:

Perform a bigEndian/littleEndian byte reversal of my words.
We only intend this for non-pointer arrays. Do nothing if I contain pointers.


 

unloadModule:

Primitive. Unload the given module.
This primitive is intended for development only since some
platform do not implement unloading of DLL's accordingly.
Also, the mechanism for unloading may not be supported
on all platforms.


 

verifyMorphicAvailability

If Morphic is available, return true; if not, put up an informer and return false


 

viewImageImports

Open up a special Form inspector on the dictionary of graphical imports.


 

vmParameterAt:

parameterIndex is a positive integer corresponding to one of the VM's internal
parameter/metric registers. Answer with the current value of that register.
Fail if parameterIndex has no corresponding register.
VM parameters are numbered as follows:
1 end of old-space (0-based, read-only)
2 end of young-space (read-only)
3 end of memory (read-only)
4 allocationCount (read-only)
5 allocations between GCs (read-write)
6 survivor count tenuring threshold (read-write)
7 full GCs since startup (read-only)
8 total milliseconds in full GCs since startup (read-only)
9 incremental GCs since startup (read-only)
10 total milliseconds in incremental GCs since startup (read-only)
11 tenures of surving objects since startup (read-only)
12-20 specific to the translating VM
21 root table size (read-only)
22 root table overflows since startup (read-only)
23 bytes of extra memory to reserve for VM buffers, plugins, etc.

24 memory headroom when growing object memory (rw)
25 memory threshold above which shrinking object memory (rw)


 

vmParameterAt:put:

parameterIndex is a positive integer corresponding to one of the VM's internal
parameter/metric registers. Store newValue (a positive integer) into that
register and answer with the previous value that was stored there.
Fail if newValue is out of range, if parameterIndex has no corresponding
register, or if the corresponding register is read-only.


 

vmVersion

Smalltalk vmVersion


  objects from disk top  
 

objectForDataStream:

I am about to be written on an object file. Write a reference to Smalltalk instead.


 

storeDataOn:

I don't get stored. Use a DiskProxy


  printing top  
 

printElementsOn:


  profiling top  
 

clearProfile

Clear the profile database.


 

dumpProfile

Dump the profile database to a file.


 

profile:

Make a virtual machine profile of the given block.


 

startProfiling

Start profiling the virtual machine.


 

stopProfiling

Stop profiling the virtual machine.


  retrieving top  
 

allBehaviorsDo:

Evaluate the argument, aBlock, for each kind of Behavior in the system
(that is, Object and its subclasses).
ar 7/15/1999: The code below will not enumerate any obsolete or anonymous
behaviors for which the following should be executed:

Smalltalk allObjectsDo:[:obj| obj isBehavior ifTrue:[aBlock value: obj]].

but what follows is way faster than enumerating all objects.


 

allCallsOn:

Smalltalk browseAllCallsOn: #open:label:.


 

allCallsOn:and:

Answer a SortedCollection of all the methods that call on both aLiteral
and secondLiteral.


 

allClasses

Smalltalk allClasses


 

allClassesDo:

Evaluate the argument, aBlock, for each class in the system.


 

allClassesImplementing:

Answer an Array of all classes that implement the message aSelector.


 

allGlobalRefs

Answer a set of symbols that may be refs to Global names. In some sense we should only need the associations, but this will also catch, eg, HTML tag types.


 

allGlobalRefsWithout:

Answer a set of symbols that may be refs to Global names. In some sense we should only need the associations, but this will also catch, eg, HTML tag types. This method computes its result in the absence of specified classes and messages.


 

allImplementedMessages

Answer a Set of all the messages that are implemented in the system.


 

allImplementedMessagesWithout:

Answer a Set of all the messages that are implemented in the system, computed in the absence of the supplied classes and messages. Note this reports messages that are in the absent selectors set.


 

allImplementorsOf:

Answer a SortedCollection of all the methods that implement the message
aSelector.


 

allImplementorsOf:localTo:

Answer a SortedCollection of all the methods that implement the message
aSelector in, above, or below the given class.


 

allMethodsInCategory:


 

allMethodsWithSourceString:matchCase:

Answer a SortedCollection of all the methods that contain, in source code, aString as a substring. Search the class comments also


 

allMethodsWithString:

Answer a SortedCollection of all the methods that contain, in a string literal, aString as a substring. 2/1/96 sw. The search is case-sensitive, and does not dive into complex literals, confining itself to string constants.
5/2/96 sw: fixed so that duplicate occurrences of aString in the same method don't result in duplicated entries in the browser


 

allObjectsDo:

Evaluate the argument, aBlock, for each object in the system
excluding SmallIntegers.


 

allObjectsSelect:

Evaluate the argument, aBlock, for each object in the system excluding SmallIntegers.
Return a collection af all objects for whom the value is true.


 

allPrimitiveMessages

Answer an OrderedCollection of all the methods that are implemented by
primitives.


 

allPrimitiveMethodsInCategories:

Answer an OrderedCollection of all the methods that are implemented by primitives in the given categories. 1/26/96 sw


 

allSelect:

Answer a SortedCollection of each method that, when used as the block
argument to aBlock, gives a true result.


 

allSelectNoDoits:

Like allSelect:, but strip out Doits


 

allSentMessages

Answer the set of selectors which are sent somewhere in the system.


 

allSentMessagesWithout:

Answer the set of selectors which are sent somewhere in the system, computed in the absence of the supplied classes and messages.


 

allUnSentMessages

Smalltalk allUnSentMessages


 

allUnSentMessagesIn:

Answer the subset of selectorSet which are not sent anywhere in the system.


 

allUnSentMessagesWithout:

Answer the set of selectors that are implemented but not sent, computed in the absence of the supplied classes and messages.


 

allUnimplementedCalls

Answer an Array of each message that is sent by an expression in a
method but is not implemented by any object in the system.


 

allUnusedClassesWithout:

Enumerates all classes in the system and returns a list of those that are apparently unused. A class is considered in use if it (a) has subclasses or (b) is referred to by some method or (c) has its name in use as a literal.


 

isThereAnImplementorOf:

Answer true if there is at least one implementor of the selector found in the system, false if there are no implementors


 

numberOfImplementorsOf:

Answer a count of the implementors of the given selector found in the system


 

pointersTo:

Find all occurrences in the system of pointers to the argument anObject.


 

pointersTo:except:

Find all occurrences in the system of pointers to the argument anObject. Remove objects in the exclusion list from the results.


 

pointersToItem:of:

Find all occurrences in the system of pointers to the given element of the given array. This is useful for tracing up a pointer chain from an inspector on the results of a previous call of pointersTo:. To find out who points to the second element of the results, one would evaluate:

Smalltalk pointersToItem: 2 of: self

in the inspector.


 

poolUsers

Answer a dictionary of pool name -> classes that refer to it.


 

selectorsWithAnyImplementorsIn:

Answer the subset of the given list which represent method selectors which have at least one implementor in the system.


 

unimplemented

Answer an Array of each message that is sent by an expression in a method but is not implemented by any object in the system.


  security top  

  shrinking top  
 

abandonSources

Smalltalk abandonSources


 

abandonTempNames

Replaces every method by a copy with no source pointer or encoded temp names.


 

cleanUpUndoCommands

Smalltalk cleanUpUndoCommands


 

computeImageSegmentation

Smalltalk computeImageSegmentation


 

discard3D

Smalltalk discard3D


 

discardDiscards

Discard all discard* methods - including this one.


 

discardFFI

Discard the complete foreign function interface.
NOTE: Recreates specialObjectsArray to prevent obsolete references. Has to specially remove external structure hierarchy before ExternalType


 

discardFlash

Discard Flash support.


 

discardIRC

Smalltalk discardIRC


 

discardMIDI

this seems to have gone away


 

discardMVC

After suitable checks, strip out much of MVC from the system


 

discardMorphic

Discard Morphic.
Updated for 2.8 TPR


 

discardNetworking

Discard the support for TCP/IP networking.


 

discardOddsAndEnds

This method throws out lots of classes that are not frequently used.


 

discardPWS

Smalltalk discardPWS


 

discardPluggableWebServer

Discard the Pluggable Web Server.


 

discardSUnit

Smalltalk discardSUnit


 

discardSoundAndSpeech

NOTE: This leaves 26 references to obsolete classes, one in SystemDictionary
class>>initialize, one in ImageSegment>>restoreEndianness, one in DataStream
class>>initialize and 23 in Morphic and Flash classes.


 

discardSoundSynthesis

Discard the sound synthesis facilities, and the methods and classes that use it. This also discards MIDI.


 

discardSpeech

Discard support for speech synthesis


 

discardTrueType

Discard TrueType support.


 

discardVMConstruction

Discard the virtual machine construction classes and the Smalltalk-to-C translator. These are only needed by those wishing to build or study the Squeak virtual machine, or by those wishing to construct new primitives via Smalltalk-to-C translation.
Updated to suit 2.8 TPR


 

discardWonderland

Smalltalk discardWonderland


 

fileOutAndRemove:

classesAndMethodsPair is {set of class names. set of selectors}.


 

fileOutAndRemove:retainingRoots:

classesAndMethodsPair is {set of class names. set of selectors}.


 

fileOutAndRemove:withOtherClasses:andOtherMessages:

classesAndMethodsPair is {set of class names. set of selectors}.


 

lastRemoval

Smalltalk lastRemoval


 

majorShrink

Undertake a major shrinkage of the image.
This method throws out lots of the system that is not needed for, eg, operation in a hand-held PC. majorShrink produces a 999k image in Squeak 2.8
Smalltalk majorShrink; abandonSources; lastRemoval


 

presumedSentMessages

Smalltalk presumedSentMessages


 

printSpaceAnalysis

Smalltalk printSpaceAnalysis


 

printSpaceAnalysis:on:

Smalltalk printSpaceAnalysis: 1000 on: 'STspace.text0'


 

printSpaceDifferenceFrom:to:

For differential results, run printSpaceAnalysis twice with different fileNames,
then run this method...
Smalltalk printSpaceAnalysis: 0 on: 'STspace.text1'.
--- do something that uses space here ---
Smalltalk printSpaceAnalysis: 0 on: 'STspace.text2'.
Smalltalk printSpaceDifferenceFrom: 'STspace.text1' to: 'STspace.text2'


 

removeAllUnSentMessages

Smalltalk removeAllUnSentMessages


 

removeNormalCruft

Remove various graphics, uniclasses, references. Caution: see comment at bottom of method


 

removeSelector:

Safely remove a selector from a class (or metaclass). If the class
or the method doesn't exist anymore, never mind and answer nil.
This method should be used instead of 'Class removeSelector: #method'
to omit global class references.


 

reportClassAndMethodRemovalsFor:

Smalltalk reportClassAndMethodRemovalsFor: #(Celeste Scamper MailMessage)


 

unusedClasses

Enumerates all classes in the system and returns a list of those that are apparently unused. A class is considered in use if it (a) has subclasses or (b) is referred to by some method or (c) has its name in use as a literal.


 

unusedClassesAndMethodsWithout:

Accepts and returns a pair: {set of class names. set of selectors}.
It is expected these results will be diff'd with the normally unused results.


 

writeImageSegmentsFrom:withKernel:

segmentDictionary is associates segmentName -> {classNames. methodNames},
and kernel is another set of classNames determined to be essential.
Add a partition, 'Secondary' with everything not in partitions and not in the kernel.
Then write segments based on this partitioning of classes.


 

zapAllOtherProjects

Smalltalk zapAllOtherProjects


 

zapMVCprojects

Smalltalk zapMVCprojects


  snapshot and quit top  
 

add:toList:after:

Add the name of aClass to the startUp or shutDown list.
Add it after the name of predecessor, or at the end if predecessor is nil.


 

addToShutDownList:

This will add a ref to this class at the BEGINNING of the shutDown list.


 

addToShutDownList:after:


 

addToStartUpList:

This will add a ref to this class at the END of the startUp list.


 

addToStartUpList:after:


 

getFileNameFromUser


 

isMorphic

Answer true if the user interface is running in Morphic rathern than
MVC. By convention the gloabl variable World is set to nil when MVC is
running. ScheduledControllers could be set to nil when Morphic is
running, but this symmetry is not yet in effect.


 

lastQuitLogPosition


 

processShutDownList:

Send #shutDown to each class that needs to wrap up before a snapshot.


 

processStartUpList:

Send #startUp to each class that needs to run initialization after a snapshot.


 

quitPrimitive

Primitive. Exit to another operating system on the host machine, if one
exists. All state changes in the object space since the last snapshot are lost.
Essential. See Object documentation whatIsAPrimitive.


 

readDocumentFile

No longer used. Everything is now done in ProjectLauncher.


 

removeFromShutDownList:


 

removeFromStartUpList:


 

saveAs


 

saveAsEmbeddedImage

Save the current state of the system as an embedded image


 

saveAsNewVersion

Save the image/changes using the next available version number.


 

saveChangesInFileNamed:


 

saveImageInFileNamed:


 

saveImageSegments


 

saveSession


 

send:toClassesNamedIn:with:

Send the message #startUp: or #shutDown: to each class named in the list.
The argument indicates if the system is about to quit (for #shutDown:) or if
the image is resuming (for #startUp:).
If any name cannot be found, then remove it from the list.


 

setGCParameters

Adjust the VM's default GC parameters to avoid premature tenuring.


 

setPlatformPreferences

Set some platform specific preferences on system startup


 

shutDown


 

shutDownSound

No longer used in the release, but retained for backward compatibility


 

snapshot:andQuit:


 

snapshot:andQuit:embedded:

Mark the changes file and close all files. If save is true, save the current state of this Smalltalk in the image file. If quit is true, then exit to the outer shell. The latter part of this method runs when resuming a previously saved image. The resume logic checks for a document file to process when starting up.


 

snapshotEmbeddedPrimitive


 

snapshotPrimitive

Primitive. Write the current state of the object memory on a file in the
same format as the Smalltalk-80 release. The file can later be resumed,
returning you to this exact state. Return normally after writing the file.
Essential. See Object documentation whatIsAPrimitive.


 

unbindExternalPrimitives

Primitive. Force all external primitives to be looked up again afterwards. Since external primitives that have not found are bound for fast failure this method will force the lookup of all primitives again so that after adding some plugin the primitives may be found.


  sources, change log top  
 

aboutThisSystem

Identify software version


 

assureStartupStampLogged

If there is a startup stamp not yet actually logged to disk, do it now.


 

changes

Answer the current system ChangeSet.


 

closeSourceFiles

Shut down the source files if appropriate. 1/29/96 sw: changed so that the closing and nilification only take place if the entry was a FileStream, thus allowing stringified sources to remain in the saved image file


 

copyright

The Smalltalk copyright.


 

currentChangeSetString

Smalltalk currentChangeSetString


 

currentProjectDo:

So that code can work after removal of Projects


 

datedVersion

Answer the version of this release.


 

endianness

What endian-ness is the current hardware? The String '1234' will be stored into a machine word. On BigEndian machines (the Mac), $1 will be the high byte if the word. On LittleEndian machines (the PC), $4 will be the high byte.


 

externalizeSources

Write the sources and changes streams onto external files.


 

forceChangesToDisk

Ensure that the changes file has been fully written to disk by closing and re-opening it. This makes the system more robust in the face of a power failure or hard-reboot.


 

internalizeChangeLog

Smalltalk internalizeChangeLog


 

internalizeSources

Smalltalk internalizeSources


 

isBigEndian


 

isLittleEndian


 

lastUpdateString

Smalltalk lastUpdateString


 

logChange:

Write the argument, aString, onto the changes file.


 

newChanges:

Set the system ChangeSet to be the argument, aChangeSet. Tell the current project that aChangeSet is now its change set. When called from Project enter:, the setChangeSet: call is redundant but harmless; when called from code that changes the current-change-set from within a project, it's vital


 

noChanges

Initialize the system ChangeSet.


 

openSourceFiles


 

recover:

Schedule an editable text view on the last n characters of changes.


 

systemInformationString

Identify software version


 

timeStamp:

Writes system version and current time on stream aStream.


 

version

Answer the version of this release.


 

writeRecentCharacters:toFileNamed:

Schedule an editable text view on the last n characters of changes.


 

writeRecentToFile

Smalltalk writeRecentToFile


  special objects top  
 

clearExternalObjects

Clear the array of objects that have been registered for use in non-Smalltalk code.


 

compactClassesArray

Smalltalk compactClassesArray


 

externalObjects

Return an array of objects that have been registered for use in non-Smalltalk code. Smalltalk objects should be referrenced by external code only via indirection through this array, thus allowing the objects to move during compaction. This array can be cleared when the VM re-starts, since variables in external code do not survive snapshots. Note that external code should not attempt to access a Smalltalk object, even via this mechanism, while garbage collection is in progress.


 

hasSpecialSelector:ifTrueSetByte:


 

recreateSpecialObjectsArray

Smalltalk recreateSpecialObjectsArray


 

registerExternalObject:

Register the given object in the external objects array and return its index. If it is already there, just return its index.


 

specialNargsAt:

Answer the number of arguments for the special selector at: anInteger.


 

specialObjectsArray

Smalltalk specialObjectsArray at: 1


 

specialSelectorAt:

Answer the special message selector from the interleaved specialSelectors array.


 

specialSelectorSize

Answer the number of special selectors in the system.


 

specialSelectors

Used by SystemTracer only.


 

unregisterExternalObject:

Unregister the given object in the external objects array. Do nothing if it isn't registered.


class methods
  initialization top  
 

initialize

SystemDictionary initialize