[Pkg] SystemEditor: SystemEditor-mtf.131.mcz
squeak-dev-noreply at lists.squeakfoundation.org
squeak-dev-noreply at lists.squeakfoundation.org
Wed Oct 8 05:55:53 UTC 2008
A new version of SystemEditor was added to project SystemEditor:
http://www.squeaksource.com/SystemEditor/SystemEditor-mtf.131.mcz
==================== Summary ====================
Name: SystemEditor-mtf.131
Author: mtf
Time: 7 October 2008, 10:51:51 pm
UUID: 3f040e90-44aa-4dcd-944c-65b52845e15e
Ancestors: SystemEditor-mtf.130
Unified superclass access to squash some ivar bugs
=============== Diff against SystemEditor-mtf.130 ===============
Item was added:
+ ----- Method: ClassEditor class>>classRootEditor (in category 'instance creation') -----
+ classRootEditor
+ "Answer the class of editors for the root of my heiarchy"
+
+ ^ RootClassEditor!
Item was changed:
----- Method: OldMetaclassEditor>>instSize (in category 'reflecting') -----
instSize
"Override the implemenation in Behavior, so that when inspecting the
ClassEditor, it will look like a regular Class"
self isDebuggingAsEditor ifTrue: [^ super instSize].
+ ^ self instVarNames size + self superclassOrEditor instSize!
- ^ self instVarNames size + (self edSuperclass
- ifNil: [0] ifNotNilDo: [:ed | ed instSize])!
Item was added:
+ ----- Method: SystemEditor>>classOrEditorFor: (in category 'accessing') -----
+ classOrEditorFor: aClass
+ "Answers an editor if the class is being edited, or a class if it is not"
+
+ | editor |
+ aClass edIsEditor ifTrue: [^ aClass].
+ editor := additions at: aClass theNonMetaClass name ifAbsent: [^ aClass].
+ ^ aClass isMeta ifTrue: [editor class] ifFalse: [editor]!
Item was changed:
----- Method: OldMetaclassEditor>>superclass (in category 'reflecting') -----
superclass
+ "Answers the editor on my new superclass, creating it if necessary"
+
+ ^ self environment edEditorFor: self superclassOrEditor!
- | subjectSuperclass |
- superEditor ifNotNil: [^ superEditor].
- subjectSuperclass := self subject
- ifNil: [Object]
- ifNotNil: [self subject superclass].
- ^ self system edEditorFor: subjectSuperclass!
Item was changed:
----- Method: OldMetaclassEditor>>edSuperclass (in category 'building') -----
edSuperclass
+ "Answer my product's superclass, building it if necessary"
+
+ | classOrEditor |
+ classOrEditor := self superclassOrEditor.
+ ^ classOrEditor edIsEditor
+ ifTrue: [classOrEditor product]
+ ifFalse: [classOrEditor]!
- ^ superEditor
- ifNil: [self subject superclass]
- ifNotNil: [superEditor product]!
Item was added:
+ ----- Method: OldMetaclassEditor>>superclassOrEditor (in category 'accessing') -----
+ superclassOrEditor
+ "Answer my superclass as an editor if it is being edited, or as a class if it is not. Does not add anything to my SystemEditor"
+
+ superEditor ifNotNil: [^ superEditor].
+ self subject superclass ifNil: [^ self class classRootEditor on: nil for: self environment].
+ ^ self environment classOrEditorFor: self subject superclass!
Item was added:
+ ----- Method: OldMetaclassEditor class>>classRootEditor (in category 'instance creation') -----
+ classRootEditor
+ "Answer the class of editors for the root of my heiarchy"
+
+ ^ OldRootMetaclassEditor!
Item was changed:
----- Method: MetaclassEditor>>instSize (in category 'reflecting') -----
instSize
"Override the implemenation in Behavior, so that when inspecting the
ClassEditor, it will look like a regular Class"
self isDebuggingAsEditor ifTrue: [^ super instSize].
+ ^ self instVarNames size + self superclassOrEditor instSize!
- ^ self instVarNames size + (self edSuperclass
- ifNil: [0] ifNotNilDo: [:ed | ed instSize])!
Item was changed:
----- Method: ClassEditor>>edRequiresRecompile (in category 'building') -----
edRequiresRecompile
instVarNames ifNotNil: [^ true].
classVarNames ifNotNil: [^ true].
sharedPools ifNotNil: [^ true].
self decoratorsDo: [:ea | ea edRequiresRecompile ifTrue: [^ true]].
+ ^ self edSuperclassRequiresRecompile!
- ^ false!
Item was changed:
----- Method: ClassDescriptionEditor>>superclassOrEditor (in category 'accessing') -----
superclassOrEditor
+ "Answer my superclass as an editor if it is being edited, or as a class if it is not. Does not add anything to my SystemEditor"
- "Answer my superclass as either an editor or class, whichever is easier. Does not add anything to my SystemEditor"
+ superEditor ifNotNil: [^ superEditor].
+ self subject superclass ifNil: [^ self class classRootEditor on: nil for: self environment].
+ ^ self environment classOrEditorFor: self subject superclass!
- ^ superEditor
- ifNil: [ self subject superclass
- ifNil: [RootClassEditor on: nil for: self environment]]!
Item was added:
+ ----- Method: ClassEditor>>edSuperclassRequiresRecompile (in category 'building') -----
+ edSuperclassRequiresRecompile
+ ^ self superclassOrEditor edIsEditor and: [self superclassOrEditor edRequiresRecompile]!
Item was added:
+ ----- Method: MetaclassEditor class>>classRootEditor (in category 'instance creation') -----
+ classRootEditor
+ "Answer the class of editors for the root of my heiarchy"
+
+ ^ RootMetaclassEditor!
Item was removed:
- ----- Method: MetaclassEditor>>superclass (in category 'reflecting') -----
- superclass
- | subjectSuperclass |
- superEditor ifNotNil: [^ superEditor].
- subjectSuperclass := self subject
- ifNil: [Object]
- ifNotNil: [self subject superclass].
- ^ self system edEditorFor: subjectSuperclass!
Item was removed:
- ----- Method: MetaclassEditor>>edSuperclass (in category 'building') -----
- edSuperclass
- ^ superEditor
- ifNil: [self subject superclass]
- ifNotNil: [superEditor product]!
More information about the Packages
mailing list