Eliot Miranda uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-eem.387.mcz ==================== Summary ==================== Name: System-eem.387 Author: eem Time: 22 October 2010, 10:41:25.632 am UUID: 9fd64e14-1a90-41a6-a93d-e9e04b11b68f Ancestors: System-ul.386 SystemNavigation>unusedBlocks. Some MethodReference reorganization. =============== Diff against System-ul.386 =============== Item was changed: + ----- Method: MethodReference>><= (in category 'comparing') ----- - ----- Method: MethodReference>><= (in category 'comparisons') ----- <= anotherMethodReference classSymbol < anotherMethodReference classSymbol ifTrue: [^true]. classSymbol > anotherMethodReference classSymbol ifTrue: [^false]. classIsMeta = anotherMethodReference classIsMeta ifFalse: [^classIsMeta not]. ^methodSymbol <= anotherMethodReference methodSymbol ! Item was changed: + ----- Method: MethodReference>>= (in category 'comparing') ----- - ----- Method: MethodReference>>= (in category 'comparisons') ----- = anotherMethodReference "Answer whether the receiver and the argument represent the same object." ^ self species == anotherMethodReference species and: [self classSymbol = anotherMethodReference classSymbol and: [self classIsMeta = anotherMethodReference classIsMeta and: [self methodSymbol = anotherMethodReference methodSymbol]]]! Item was changed: + ----- Method: MethodReference>>asStringOrText (in category 'accessing') ----- - ----- Method: MethodReference>>asStringOrText (in category 'comparisons') ----- asStringOrText ^stringVersion ifNil: [ self stringVersionDefault ]! Item was changed: + ----- Method: MethodReference>>category (in category 'accessing') ----- - ----- Method: MethodReference>>category (in category 'queries') ----- category "Answers the class category (cached for reuse via MC and other tools)" ^ category ifNil: [category := self actualClass organization categoryOfElement: methodSymbol]! Item was changed: + ----- Method: MethodReference>>category: (in category 'initialize-release') ----- - ----- Method: MethodReference>>category: (in category 'setting') ----- category: aSymbol category := aSymbol! Item was changed: + ----- Method: MethodReference>>classIsMeta (in category 'testing') ----- - ----- Method: MethodReference>>classIsMeta (in category 'queries') ----- classIsMeta ^classIsMeta! Item was changed: + ----- Method: MethodReference>>classSymbol (in category 'accessing') ----- - ----- Method: MethodReference>>classSymbol (in category 'queries') ----- classSymbol ^classSymbol! Item was changed: + ----- Method: MethodReference>>hash (in category 'comparing') ----- - ----- Method: MethodReference>>hash (in category 'comparisons') ----- hash "Answer a SmallInteger whose value is related to the receiver's identity." ^ (self species hash bitXor: self classSymbol hash) bitXor: self methodSymbol hash! Item was changed: + ----- Method: MethodReference>>isValid (in category 'testing') ----- - ----- Method: MethodReference>>isValid (in category 'queries') ----- isValid "Answer whether the receiver represents a current selector or Comment" | aClass | methodSymbol isDoIt ifTrue: [^ false]. (aClass := self actualClass) ifNil: [^ false]. ^ (aClass includesSelector: methodSymbol) or: [methodSymbol == #Comment]! Item was changed: + ----- Method: MethodReference>>methodSymbol (in category 'accessing') ----- - ----- Method: MethodReference>>methodSymbol (in category 'queries') ----- methodSymbol ^methodSymbol! Item was changed: + ----- Method: MethodReference>>printOn: (in category 'printing') ----- - ----- Method: MethodReference>>printOn: (in category 'queries') ----- printOn: aStream "Print the receiver on a stream" super printOn: aStream. aStream nextPutAll: ' ', self actualClass name, ' >> ', methodSymbol! Item was changed: + ----- Method: MethodReference>>selector (in category 'accessing') ----- - ----- Method: MethodReference>>selector (in category 'queries') ----- selector ^methodSymbol! Item was changed: + ----- Method: MethodReference>>setClass:methodSymbol:stringVersion: (in category 'initialize-release') ----- - ----- Method: MethodReference>>setClass:methodSymbol:stringVersion: (in category 'setting') ----- setClass: aClass methodSymbol: methodSym stringVersion: aString classSymbol := aClass theNonMetaClass name. classIsMeta := aClass isMeta. methodSymbol := methodSym. stringVersion := aString.! Item was changed: + ----- Method: MethodReference>>setClassAndSelectorIn: (in category 'initialize-release') ----- - ----- Method: MethodReference>>setClassAndSelectorIn: (in category 'setting') ----- setClassAndSelectorIn: csBlock ^csBlock value: self actualClass value: methodSymbol! Item was changed: + ----- Method: MethodReference>>setClassSymbol:classIsMeta:methodSymbol:stringVersion: (in category 'initialize-release') ----- - ----- Method: MethodReference>>setClassSymbol:classIsMeta:methodSymbol:stringVersion: (in category 'setting') ----- setClassSymbol: classSym classIsMeta: isMeta methodSymbol: methodSym stringVersion: aString classSymbol := classSym. classIsMeta := isMeta. methodSymbol := methodSym. stringVersion := aString.! Item was changed: + ----- Method: MethodReference>>setStandardClass:methodSymbol: (in category 'initialize-release') ----- - ----- Method: MethodReference>>setStandardClass:methodSymbol: (in category 'setting') ----- setStandardClass: aClass methodSymbol: methodSym classSymbol := aClass theNonMetaClass name. classIsMeta := aClass isMeta. methodSymbol := methodSym. stringVersion := nil.! Item was changed: + ----- Method: MethodReference>>sourceString (in category 'accessing') ----- - ----- Method: MethodReference>>sourceString (in category 'queries') ----- sourceString ^ (self actualClass sourceCodeAt: self methodSymbol) asString! Item was changed: + ----- Method: MethodReference>>stringVersion (in category 'accessing') ----- - ----- Method: MethodReference>>stringVersion (in category 'string version') ----- stringVersion ^stringVersion! Item was changed: + ----- Method: MethodReference>>stringVersion: (in category 'accessing') ----- - ----- Method: MethodReference>>stringVersion: (in category 'string version') ----- stringVersion: aString stringVersion := aString! Item was changed: + ----- Method: MethodReference>>stringVersionDefault (in category 'accessing') ----- - ----- Method: MethodReference>>stringVersionDefault (in category 'comparisons') ----- stringVersionDefault ^classSymbol, (classIsMeta ifTrue: [ ' class ' ] ifFalse: [' ']), methodSymbol ! Item was added: + ----- Method: SystemNavigation>>unusedBlocks (in category 'query') ----- + unusedBlocks + "Answer all methods that contain a block that is not used (not + sent a message, returned, passed as an argument, or assigned)." + "SystemNavigation new unusedBlocks" + "SystemNavigation new + browseMessageList: SystemNavigation new unusedBlocks + name: 'unused blocks'" + ^self allSelect: + [:m| | is | + is := InstructionStream on: m. + is scanFor: [:b| b = 143 and: [(m at: is thirdByte * 256 + is fourthByte + is pc + 4) = 135]]]! |
Free forum by Nabble | Edit this page |