'From Squeak3.10.2 of ''5 June 2008'' [latest update: #7179] on 17 October 2012 at 3:24:53 am'! !BB1IDE methodsFor: 'private' stamp: 'sumim 10/17/2012 03:11'! fileOutApp: category on: aFileStream initializing: aBool | first poolSet tempClass classes traits | traits := self orderedTraitsIn: category. classes := (self superclassOrder: category) sortBy: [:a :b | a name < b name]. poolSet := Set new. classes do: [:class | class sharedPools do: [:eachPool | poolSet add: eachPool]]. poolSet size > 0 ifTrue: [ tempClass := Class new. tempClass shouldFileOutPools ifTrue: [ poolSet := poolSet select: [:aPool | tempClass shouldFileOutPool: (Smalltalk keyAtIdentityValue: aPool)]. poolSet do: [:aPool | tempClass fileOutPool: aPool onFileStream: aFileStream]]]. first := true. traits , classes , traits do: [:each | first ifTrue: [first := false] ifFalse: [aFileStream cr; nextPut: Character newPage; cr]. each fileOutOn: aFileStream moveSource: false toFile: 0 initializing: false]. aBool ifTrue: [classes do: [:cls | cls fileOutInitializerOn: aFileStream]].! ]style[(11 1 9 3 1 12 13 1 6 887)f2b,f2,f2i,f2b,f2,f2i,f2b,f2,f2i,f2! ! !BB1RuntimeRole class methodsFor: 'as yet unclassified' stamp: 'sumim 10/17/2012 03:23'! fileOutOn: aFileStream moveSource: moveSource toFile: fileIndex initializing: aBool Transcript cr; show: self name. aFileStream command: 'H3'. aFileStream nextChunkPut: self definition. aFileStream command: '/H3'. self organization putCommentOnFile: aFileStream numbered: fileIndex moveSource: moveSource forClass: self. aFileStream cr; cr; nextPutAll: self name, ' SoleInstance: ('. self SoleInstance storeOn: aFileStream. aFileStream nextPutAll: ')!!'. self organization categories do: [:heading | self fileOutCategory: heading on: aFileStream moveSource: moveSource toFile: fileIndex]. self class nonTrivial ifTrue: [aFileStream cr; nextPutAll: '"-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "!!'; cr; cr. self class fileOutOn: aFileStream moveSource: moveSource toFile: fileIndex initializing: aBool]! ! !FileStream class methodsFor: 'file reader services' stamp: 'sumim 10/17/2012 03:24'! writeSourceCodeFrom: aStream baseName: baseName isSt: stOrCsFlag useHtml: useHtml | extension converter f fileName | aStream contents isAsciiString ifTrue: [ stOrCsFlag ifTrue: [ extension := (FileDirectory dot, FileStream st). ] ifFalse: [ extension := (FileDirectory dot, FileStream cs). ]. converter := MacRomanTextConverter new. ] ifFalse: [ stOrCsFlag ifTrue: [ extension := (FileDirectory dot, FileStream st "multiSt"). ] ifFalse: [ extension := (FileDirectory dot, FileStream cs "multiCs"). ]. converter := UTF8TextConverter new. ]. fileName := useHtml ifTrue: [baseName, '.html'] ifFalse: [baseName, extension]. f := FileStream newFileNamed: fileName. f ifNil: [^ self error: 'Cannot open file']. (converter isMemberOf: UTF8TextConverter) ifTrue: [f binary. UTF8TextConverter writeBOMOn: f]. f text. f converter: converter. f nextPutAll: aStream contents. f close. ! !