InterfaceHome


SmallInterfaces

Comment:



Hierarchy:

ProtoObject
Object
InterfaceHome

Summary:

class instance variables:

singleton

methods:

instance class
actions querying class initialization instance creation

Detail:

class instance variables:

singleton
InitialValue:
an InterfaceHome
inferredType:
InterfaceHome

instance methods:

actions
removeEmptyInterfaces


	self emptyInterfaces do: [:each | self environment removeClassNamed: each name]

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]

class methods:

class initialization
obsolete


	self nuke

instance creation
current


	^singleton ifNil: [singleton := super new]
new


	^self current
nuke


	singleton := nil

^top


- made by Dandelion -