[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