[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