querying |
allExtendedInterfaces
|
^self allInterfaces select: [:each | each isExtended]
|
allExtendingInterfaces
|
^self allInterfaces select: [:each | each isExtending]
|
allInterfaces
|
^Interface subclasses asSet
|
allNonEmptyInterfaces
|
^self allInterfaces reject: [:each | each isEmptyInterface]
|
childlessInterfaces
|
^self leafInterfaces
|
classesNotFullyImplemented
|
| resultSet classes |
resultSet := Set new.
classes := self environment allNonInterfaceClasses.
self allInterfaces do:
[:eachInterface |
resultSet addAll: (classes select:
[:eachClass | (eachInterface methodsStubbedIn: eachClass) notEmpty])].
^resultSet
|
emptyInterfaces
|
^self allInterfaces select: [:each | each isEmptyInterface]
|
equivalentInterfaces
|
"Return a collection of sets of interfaces having an equivalent repertoire"
"SmallInterfaces: ##modified for Squeak -M.U. 6/23/1999 23:35"
| collectionOfSetsOfEquivalentInterfaces interfaces setOfEquivalentInterfaces |
collectionOfSetsOfEquivalentInterfaces := OrderedCollection new.
interfaces := self allInterfaces copy.
self allInterfaces do:
[:each |
interfaces remove: each ifAbsent: [].
setOfEquivalentInterfaces := interfaces select: [:anInterface | each isEquivalentTo: anInterface].
setOfEquivalentInterfaces notEmpty
ifTrue:
[interfaces removeAll: setOfEquivalentInterfaces.
setOfEquivalentInterfaces add: each. "...since it isn't included in yet"
collectionOfSetsOfEquivalentInterfaces add: setOfEquivalentInterfaces]].
^collectionOfSetsOfEquivalentInterfaces
|
includesInterfaceNamed: aSymbol
|
^self allInterfaces contains: [:each | each name == aSymbol]
|
interfaceNamed: aSymbol
|
^self allInterfaces
detect: [:each | each name == aSymbol]
ifNone: [nil]
|
interfaceWithRepertoire: repertoire
|
^self allInterfaces
detect: [:each | each repertoire consistsOf: repertoire]
ifNone: [nil]
|
interfacesWithRepertoire: repertoire
|
^self allInterfaces select: [:each | each repertoire consistsOf: repertoire]
|
leafInterfaces
|
^Interface consolidate: self allInterfaces
|
rootInterfaces
|
^self rootsOfTheInterfaceWorld
|
rootsOfTheInterfaceWorld
|
^self allInterfaces select: [:each | each isOrphan]
|