'From Pharo3.0 of 18 March 2013 [Latest update: #30269] on 12 July 2013 at 3:41:27 pm'! !TClass methodsFor: 'initialize-release' stamp: 'SebastianTleye 7/12/2013 15:04'! obsolete "Change the receiver and all of its subclasses to an obsolete class." self == Object ifTrue: [^self error: 'Object is NOT obsolete']. self setName: 'AnObsolete' , self name. Object class instSize + 1 to: self classSide instSize do: [:i | self instVarAt: i put: nil]. "Store nil over class instVars." self classPool: nil. self sharedPools: nil. self hasClassSide ifTrue: [ self theMetaClass obsolete]. super obsolete.! ! !TClass methodsFor: 'initialize-release' stamp: 'SebastianTleye 7/12/2013 15:04'! obsolete "Change the receiver and all of its subclasses to an obsolete class." self == Object ifTrue: [^self error: 'Object is NOT obsolete']. self setName: 'AnObsolete' , self name. Object class instSize + 1 to: self classSide instSize do: [:i | self instVarAt: i put: nil]. "Store nil over class instVars." self classPool: nil. self sharedPools: nil. self hasClassSide ifTrue: [ self theMetaClass obsolete]. super obsolete.! ! !TClass methodsFor: 'fileIn/Out' stamp: 'SebastianTleye 7/12/2013 15:20'! fileOutOn: aFileStream moveSource: moveSource toFile: fileIndex initializing: aBool ^self explicitRequirement.! ! !TBehavior methodsFor: 'accessing class hierarchy' stamp: 'SebastianTleye 7/12/2013 14:37'! subclasses "slow implementation since Behavior does not keep trace of subclasses" ^ self classSide allInstances select: [:each | each superclass = self ]! ! !TBehavior methodsFor: 'accessing class hierarchy' stamp: 'SebastianTleye 7/12/2013 14:37'! subclasses "slow implementation since Behavior does not keep trace of subclasses" ^ self classSide allInstances select: [:each | each superclass = self ]! ! !ClassDescription methodsFor: 'accessing parallel hierarchy' stamp: 'SebastianTleye 7/12/2013 14:45'! theNonMetaClass ^self baseClass! ! !ClassDescription methodsFor: 'accessing parallel hierarchy' stamp: 'SebastianTleye 7/12/2013 14:44'! theMetaClass ^self classClass! ! !ClassDescription methodsFor: 'accessing parallel hierarchy' stamp: 'SebastianTleye 7/12/2013 14:45'! theNonMetaClass ^self baseClass! ! !ClassDescription methodsFor: 'accessing parallel hierarchy' stamp: 'SebastianTleye 7/12/2013 14:44'! theMetaClass ^self classClass! ! !Class methodsFor: 'accessing parallel hierarchy' stamp: 'SebastianTleye 7/12/2013 14:42'! classClass ^self class.! ! !Class methodsFor: 'accessing parallel hierarchy' stamp: 'SebastianTleye 7/12/2013 14:42'! baseClass ^ self! ! !Class methodsFor: 'fileIn/Out' stamp: 'SebastianTleye 7/12/2013 15:20'! fileOutOn: aFileStream moveSource: moveSource toFile: fileIndex initializing: aBool "File a description of the receiver on aFileStream. If the boolean argument, moveSource, is true, then set the trailing bytes to the position of aFileStream and to fileIndex in order to indicate where to find the source code." self crTrace: self name. super fileOutOn: aFileStream moveSource: moveSource toFile: fileIndex. self class nonTrivial ifTrue: [aFileStream cr; nextPutAll: '"-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "!!'; cr; cr. self class fileOutOn: aFileStream moveSource: moveSource toFile: fileIndex initializing: aBool]! ! !Class methodsFor: 'accessing parallel hierarchy' stamp: 'SebastianTleye 7/12/2013 14:42'! classClass ^self class.! ! !Class methodsFor: 'accessing parallel hierarchy' stamp: 'SebastianTleye 7/12/2013 14:42'! baseClass ^ self! ! !Class methodsFor: 'fileIn/Out' stamp: 'SebastianTleye 7/12/2013 15:20'! fileOutOn: aFileStream moveSource: moveSource toFile: fileIndex initializing: aBool "File a description of the receiver on aFileStream. If the boolean argument, moveSource, is true, then set the trailing bytes to the position of aFileStream and to fileIndex in order to indicate where to find the source code." self crTrace: self name. super fileOutOn: aFileStream moveSource: moveSource toFile: fileIndex. self class nonTrivial ifTrue: [aFileStream cr; nextPutAll: '"-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "!!'; cr; cr. self class fileOutOn: aFileStream moveSource: moveSource toFile: fileIndex initializing: aBool]! ! !Metaclass methodsFor: 'accessing parallel hierarchy' stamp: 'SebastianTleye 7/12/2013 14:42'! classClass ^self! ! !Metaclass methodsFor: 'accessing parallel hierarchy' stamp: 'SebastianTleye 7/12/2013 14:42'! baseClass ^thisClass.! ! !Metaclass methodsFor: 'accessing parallel hierarchy' stamp: 'SebastianTleye 7/12/2013 14:42'! classClass ^self! ! !Metaclass methodsFor: 'accessing parallel hierarchy' stamp: 'SebastianTleye 7/12/2013 14:42'! baseClass ^thisClass.! ! !Trait methodsFor: 'accessing' stamp: 'SebastianTleye 7/12/2013 14:34'! classPool: aDictionary "Compatibility purposes"! ! !Trait methodsFor: 'accessing' stamp: 'SebastianTleye 7/12/2013 14:33'! classPool ^ Dictionary new! ! !Trait methodsFor: 'pool variables' stamp: 'SebastianTleye 7/12/2013 15:40'! sharedPools "Answer an ordered collection of the shared pools that the receiver shares" ^ OrderedCollection new! ! !Trait methodsFor: 'pool variables' stamp: 'SebastianTleye 7/12/2013 15:00'! sharedPools: aCollection "Compatibilty purposes"! ! !Trait methodsFor: 'accessing class hierarchy' stamp: 'SebastianTleye 7/12/2013 14:35'! subclasses "for compatibility with classes" ^ #()! ! !Trait methodsFor: 'accessing class hierarchy' stamp: 'SebastianTleye 7/12/2013 14:38'! subclasses: aCollection "Compatibility purposes"! ! !Trait methodsFor: 'accessing' stamp: 'SebastianTleye 7/12/2013 14:34'! classPool: aDictionary "Compatibility purposes"! ! !Trait methodsFor: 'accessing' stamp: 'SebastianTleye 7/12/2013 14:33'! classPool ^ Dictionary new! ! !Trait methodsFor: 'pool variables' stamp: 'SebastianTleye 7/12/2013 15:40'! sharedPools "Answer an ordered collection of the shared pools that the receiver shares" ^ OrderedCollection new! ! !Trait methodsFor: 'pool variables' stamp: 'SebastianTleye 7/12/2013 15:00'! sharedPools: aCollection "Compatibilty purposes"! ! !Trait methodsFor: 'accessing class hierarchy' stamp: 'SebastianTleye 7/12/2013 14:35'! subclasses "for compatibility with classes" ^ #()! ! !Trait methodsFor: 'accessing class hierarchy' stamp: 'SebastianTleye 7/12/2013 14:38'! subclasses: aCollection "Compatibility purposes"! ! Trait removeSelector: #allSubclassesWithLevelDo:startingLevel:! Trait removeSelector: #obsolete! TraitDescription removeSelector: #obsolete! TraitBehavior removeSelector: #subclasses! Metaclass removeSelector: #theMetaClass! Metaclass removeSelector: #theNonMetaClass! Class removeSelector: #theMetaClass! Class removeSelector: #theNonMetaClass! TClassDescription removeSelector: #subclasses! !TClass methodsFor: 'pool variables' stamp: 'SebastianTleye 7/12/2013 15:41'! sharedPools ^self explicitRequirement.! ! !TClass methodsFor: 'accessing' stamp: 'SebastianTleye 7/12/2013 14:33'! classPool ^self explicitRequirement.! ! !TClass methodsFor: 'accessing' stamp: 'SebastianTleye 7/12/2013 14:34'! classPool: aDictionary ^self explicitRequirement.! ! !TClass methodsFor: 'accessing class hierarchy' stamp: 'SebastianTleye 7/12/2013 14:36'! subclasses ^self explicitRequirement.! ! !TClass methodsFor: 'accessing class hierarchy' stamp: 'SebastianTleye 7/12/2013 14:38'! subclasses: aCollection ^self explicitRequirement.! ! !TClass methodsFor: 'fileIn/Out' stamp: 'SebastianTleye 7/12/2013 15:20'! fileOutOn: aFileStream moveSource: moveSource toFile: fileIndex initializing: aBool ^self explicitRequirement.! ! !TClass methodsFor: 'pool variables' stamp: 'SebastianTleye 7/12/2013 15:41'! sharedPools ^self explicitRequirement.! ! !TClass methodsFor: 'accessing' stamp: 'SebastianTleye 7/12/2013 14:33'! classPool ^self explicitRequirement.! ! !TClass methodsFor: 'accessing' stamp: 'SebastianTleye 7/12/2013 14:34'! classPool: aDictionary ^self explicitRequirement.! ! !TClass methodsFor: 'accessing class hierarchy' stamp: 'SebastianTleye 7/12/2013 14:36'! subclasses ^self explicitRequirement.! ! !TClass methodsFor: 'accessing class hierarchy' stamp: 'SebastianTleye 7/12/2013 14:38'! subclasses: aCollection ^self explicitRequirement.! !