[Pkg] SystemEditor: SystemEditor-mtf.130.mcz

squeak-dev-noreply at lists.squeakfoundation.org squeak-dev-noreply at lists.squeakfoundation.org
Wed Oct 8 00:02:29 UTC 2008


A new version of SystemEditor was added to project SystemEditor:
http://www.squeaksource.com/SystemEditor/SystemEditor-mtf.130.mcz

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

Name: SystemEditor-mtf.130
Author: mtf
Time: 7 October 2008, 3:26:54 pm
UUID: 7b0ec72d-cd02-493d-9705-c6d603a91962
Ancestors: SystemEditor-mtf.129

Due to recent refactorings, some things were broken:
- Fixed forgetting to install MethodDictionaries on new classes
- Fixed ClassOrganization build errors on new class
- Finished renaming OrganizationEditor>>build to edBuild

=============== Diff against SystemEditor-mtf.129 ===============

Item was changed:
  ----- Method: OrganizationEditorTest>>test07BuildWritesCommentToChangesFile (in category 'tests') -----
  test07BuildWritesCommentToChangesFile
  	| remote repository result |
  	repository := SourceRepository newInternal.
  	editor := OrganizationEditor for: (ClassEditor on: self class)
  				repository: repository.
  	editor classComment: 'comment string' stamp: 'cwp 12/11/2005 21:58'.
+ 	result := editor edBuild.
- 	result := editor build.
  	remote := result commentRemoteStr.
  	self assertRemoteString: remote inRepository: repository matches: 'comment string'!

Item was changed:
  ----- Method: MetaclassEditor>>edBuild (in category 'building') -----
  edBuild
  	| result class |
  	class := self subject ifNil: [Metaclass] ifNotNilDo: [:subject | subject class].
  	result := class basicNew.
  	"Create a temporary MethodDictionary to catch code written by SyntaxError dialogs. MethodDictionaryEditor will overwrite this. See MethodEditor>>compileFor:"
  	result
  		superclass: self edSuperclass
  		methodDictionary: MethodDictionary new
  		format: self format;		
+ 		organization: self organization edBuild.
- 		organization: self organization build.
  	result setInstVarNames: self instVarNames.
  	^ result!

Item was changed:
  ----- Method: CategorizerEditor>>edBuild (in category 'building') -----
  edBuild
  	| result processed newCat |
  	result := self productClass defaultList: Array new.
  	result categories: categories.
  	self changedElementsAndCategoriesDo: [:ea :cat |
  		result classify: ea under: cat].
+ 	self subject ifNil: [^ result].
  	processed := IdentitySet new 
  		addAll: result elementArray;
  		addAll: self removedElements;
  		yourself.
  	self subject categories do: [:oldCat |
  		newCat := self newCategoryFor: oldCat.
  		(subject listAtCategoryNamed: oldCat) do: [:ea |
  			(processed includes: ea) ifFalse: [
  				result classify: ea under: newCat]]].
  	^ result!

Item was changed:
  ----- Method: OrganizationEditorTest>>test08NilCommentDoesntWriteToChangesFile (in category 'tests') -----
  test08NilCommentDoesntWriteToChangesFile
  	| repository result |
  	repository := SourceRepository newInternal.
  	editor := OrganizationEditor for: (ClassEditor on: self class)
  				repository: repository.
  	editor classComment: nil stamp: nil.
+ 	result := editor edBuild.
- 	result := editor build.
  	self assert: result commentRemoteStr isNil.
  	self assert: repository changesStream size = 3!

Item was added:
+ ----- Method: OrganizationEditor>>productClass (in category 'building') -----
+ productClass
+ 	^ ClassOrganizer!

Item was changed:
  ----- Method: OrganizationEditorTest>>test06BuildCopiesCategories (in category 'tests') -----
  test06BuildCopiesCategories
  	| actual expected |
  	editor := OrganizationEditor for: (ClassEditor on: self class).
+ 	actual := editor edBuild.
- 	actual := editor build.
  	expected := self class organization.
  	self deny: actual == expected.
  	self assert: actual printString = expected printString!

Item was added:
+ ----- Method: CategorizerEditor>>productClass (in category 'building') -----
+ productClass
+ 	^ Categorizer!

Item was changed:
  ----- Method: OldMetaclassEditor>>edBuild (in category 'building') -----
  edBuild
  	| result class |
  	class := self subject ifNil: [Metaclass] ifNotNilDo: [:subject | subject class].
  	result := class basicNew.
  	"Create a temporary MethodDictionary to catch code written by SyntaxError dialogs. MethodDictionaryEditor will overwrite this. See MethodEditor>>compileFor:"
  	result
  		superclass: self edSuperclass
  		methodDictionary: MethodDictionary new
  		format: self format;		
+ 		organization: self organization edBuild.
- 		organization: self organization build.
  	result setInstVarNames: self instVarNames.
  	^ result!

Item was changed:
  ----- Method: ClassEditor>>edBuild (in category 'building') -----
  edBuild
  	| meta |
  	meta := self class edBuild.
  	product := subject ifNil: [meta new]
  				ifNotNil: [meta adoptInstance: subject from: subject class].
  	product
  		superclass: self edSuperclass;
  		setFormat: self format;
  		setName: self name;
  		setInstVarNames: self instVarNames;
  		classPoolFrom: self;
  		instVarNamed: #sharedPools put: self sharedPools;
+ 		organization: self organization edBuild.
- 		organization: self organization build.
  	"Create a temporary MethodDictionary to catch code written by SyntaxError dialogs. MethodDictionaryEditor will overwrite this. See MethodEditor>>compileFor:"
  	product methodDictionary: MethodDictionary new.
  	self decoratorsDo: [:ea | ea buildFor: self].
  
  	"Class methods should be compiled before instance methods,
+ 	since #compilerClass may be among the class methods.
+ 	Class methods should be compiled after installing class and pool variables"
+ 	product class methodDictionary: (self class methods buildFor: self class).
+ 	product methodDictionary: (self methods buildFor: self).
- 	since #compilerClass may be among the class methods"
- 	self class methods buildFor: self class.
- 	self methods buildFor: self.
  	^product!

Item was changed:
  ----- Method: OrganizationEditorTest>>test09EmptyCommentWrittenToChangesFile (in category 'tests') -----
  test09EmptyCommentWrittenToChangesFile
  	| remote repository result |
  	repository := SourceRepository newInternal.
  	editor := OrganizationEditor for: (ClassEditor on: self class)
  				repository: repository.
  	editor classComment: '' stamp: 'cwp 12/11/2005 21:58'.
+ 	result := editor edBuild.
- 	result := editor build.
  	remote := result commentRemoteStr.
  	self assertRemoteString: remote inRepository: repository matches: ''!



More information about the Packages mailing list