[squeak-dev] The Trunk: System-eem.387.mcz

commits at source.squeak.org commits at source.squeak.org
Fri Oct 22 17:42:53 UTC 2010


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]]]!




More information about the Squeak-dev mailing list