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

squeak-dev-noreply at lists.squeakfoundation.org squeak-dev-noreply at lists.squeakfoundation.org
Wed Nov 5 21:37:35 UTC 2008


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

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

Name: SystemEditor-mtf.152
Author: mtf
Time: 5 November 2008, 2:34:40 pm
UUID: 79d6be5c-e2f0-43c5-8ebf-749dd7acd870
Ancestors: SystemEditor-mtf.151

in ClassDecorator, seperated building and installing into two methods

=============== Diff against SystemEditor-mtf.151 ===============

Item was changed:
  ----- Method: MetaclassEditor>>edBuild (in category 'building') -----
  edBuild
  	| result class |
  	class := self subject ifNil: [Metaclass] ifNotNil: [self 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.
  	result setInstVarNames: self instVarNames.
+ 	self decoratorsDo: [:ea | ea edBuildInto: product].
- 	self decoratorsDo: [:ea | ea edBuild].
  	^ result!

Item was added:
+ ----- Method: ClassDecorator>>edBuildInto: (in category 'building') -----
+ edBuildInto: aProduct
+ "Build what needs to be built, and install it into aProduct"!

Item was changed:
  ----- Method: ClassDecorator>>edBuild (in category 'building') -----
  edBuild
+ "Build what needs to be built, but don't install it"!
- "Build what needs to be built into my client's product"!

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.
  	"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 edBuildInto: product].
- 	self decoratorsDo: [:ea | ea edBuild].
  
  	"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).
  	^product!



More information about the Packages mailing list