ProtoObjectObjectRepertoireHome
classRepertoiresDictionary |
singleton |
instance | class |
---|---|
cache management
|
class initialization instance creation |
classRepertoiresDictionary |
---|
|
|
singleton |
---|
|
|
cache management |
---|
clearEntryFor: aBehavior |
aBehavior isInterface ifTrue: [^self]. classRepertoiresDictionary removeKey: aBehavior name ifAbsent: []. |
clearRepertoires |
classRepertoiresDictionary := IdentityDictionary new |
computeRepertoires |
self clearRepertoires. self computeRepertoiresWithGuiFeedback. |
computeRepertoiresWithGuiFeedback |
"SmallInterfaces: ##modified for Squeak -M.U. 6/23/1999 23:35" | classes counter | classes := self environment allNonInterfaceClasses. counter := 0. 'Caching repertoires for all classes...' displayProgressAt: Sensor cursorPoint from: 0 to: classes size during: [:bar | classes do: [:each | self createEntryFor: each. counter := counter + 1. bar value: counter]] |
createEntryFor: aBehavior |
classRepertoiresDictionary at: aBehavior name put: aBehavior allSelectors |
initialize-release |
---|
connectToChanges |
ChangeSet addDependent: self |
disconnectFromChanges |
ChangeSet removeDependent: self |
initialize |
"self computeRepertoires; connectToChanges" |
release |
super release. self disconnectFromChanges. |
update: aChangedClass |
"SmallInterfaces: ##added for Squeak -M.U. 6/23/1999 23:35" aChangedClass withAllSubclasses do: [:each | self clearEntryFor: each] |
querying |
---|
repertoireFor: aBehavior |
^classRepertoiresDictionary at: aBehavior name ifAbsentPut: [aBehavior allSelectors] |
class initialization |
---|
initialize |
"<self initialize>" self nuke. self current. |
obsolete |
self nuke |
instance creation |
---|
current |
^singleton ifNil: [singleton := super new initialize] |
new |
^self current |
nuke |
singleton notNil ifTrue: [singleton release]. singleton := nil. |