[Vm-dev] VM Maker: ImageFormat-dtl.23.mcz

commits at source.squeak.org commits at source.squeak.org
Thu Apr 13 14:15:50 UTC 2017


David T. Lewis uploaded a new version of ImageFormat to project VM Maker:
http://source.squeak.org/VMMaker/ImageFormat-dtl.23.mcz

==================== Summary ====================

Name: ImageFormat-dtl.23
Author: dtl
Time: 13 April 2017, 10:15:41.267 am
UUID: 0eacae94-ff21-4207-8f57-e92e3952977b
Ancestors: ImageFormat-dtl.22

Refactoring and cleaner magic file output by Subbu.

=============== Diff against ImageFormat-dtl.22 ===============

Item was changed:
  ----- Method: ImageFormat class>>unixMagicFileEntries (in category 'unix magic file entries') -----
  unixMagicFileEntries
  	"Answer a string that can be appended to /etc/magic on a Unix system to support the file(1) utility"
  
  	"ImageFormat unixMagicFileEntries"
  
  	" | fs |
  	fs := FileStream newFileNamed: 'magic'.
  	[ fs nextPutAll: ImageFormat unixMagicFileEntries ]
  		ensure: [ fs close ] "
  
  	^String streamContents: [:s |
  		s nextPutAll: '# Smalltalk image file formats'; lf.
  		KnownVersionNumbers do: [ :num | | fmt |
  			#( 'le' 'be' ) do: [ :endian |
  				fmt := self fromInteger: num.
  				(fmt is64Bit and: [ endian = 'be' ])
  					ifTrue: [ s nextPut: $4 ]
  					ifFalse: [ s nextPut: $0 ].
  				s tab;
  				nextPutAll: endian;
  				nextPutAll: 'long';
  				tab;
  				nextPutAll: num asString;
  				tab;
  				nextPutAll: 'Smalltalk '.
  				fmt printTerseDescriptionOn: s.
  				s lf.
+ 				s nextPutAll: '!!:mime application/';
+ 					nextPutAll: fmt simpleName;
+ 					nextPutAll: '-image';
+ 					lf
- 				s nextPutAll: '!!:mime application/'.
- 				fmt requiresSpurSupport
- 					ifTrue: [ s nextPutAll: 'spur']
- 					ifFalse: [fmt requiresClosureSupport ifTrue: [ s nextPutAll: 'cog']
- 								ifFalse: [s nextPutAll: 'squeak']].
- 				fmt is64Bit ifTrue: [ s nextPutAll: '64'].
- 				s nextPutAll: '-image'.
- 				s lf
  			]
  		].
  		s lf.
  	]!

Item was changed:
  ----- Method: ImageFormat>>printTerseDescriptionOn: (in category 'printing') -----
  printTerseDescriptionOn: stream
  	"Shortened description as may be required for unix magic file entries"
  
+ 	stream
+ 		nextPutAll: self simpleName;
+ 		nextPutAll: ' image '.
- 	stream 
- 		nextPutAll: 'image ';
- 		nextPutAll: (self requiresSpurSupport
- 			ifTrue: [ 'Spur ' ]
- 			ifFalse: [ 'V3 ' ]);
- 		nextPutAll: (wordSize * 8) asString;
- 		nextPutAll: 'b '.
  	self requiresClosureSupport ifTrue: [stream nextPutAll: '+C'].
  	self requiresNativeFloatWordOrder ifTrue: [stream nextPutAll: '+NF'].
  	self requiresNewSpur64TagAssignment ifTrue: [stream nextPutAll: '+Tag' ].
  	stream nextPutAll: ' (%d)'.
  	^ stream
  !

Item was added:
+ ----- Method: ImageFormat>>simpleName (in category 'printing') -----
+ simpleName
+ 
+ 	"Return a simple name for the format, suitable for use as filename or mimetype.
+ 	 (ImageFormat fromInteger: 6500) simpleName."
+ 
+ 	^String streamContents: [:s |
+ 			self requiresSpurSupport
+ 				ifTrue: [ s nextPutAll: 'spur']
+ 				ifFalse: [self requiresClosureSupport
+ 								ifTrue: [ s nextPutAll: 'cog']
+ 								ifFalse: [s nextPutAll: 'squeak']].
+ 			self is64Bit ifTrue: [ s nextPutAll: '64']].
+ !



More information about the Vm-dev mailing list