[Pkg] Monticello Public: Monticello.impl-mtf.531.mcz

squeaksource-noreply at iam.unibe.ch squeaksource-noreply at iam.unibe.ch
Thu Jun 12 20:07:46 UTC 2008


A new version of Monticello.impl was added to project Monticello Public:
http://www.squeaksource.com/mc/Monticello.impl-mtf.531.mcz

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

Name: Monticello.impl-mtf.531
Author: mtf
Time: 12 June 2008, 1:06:46 pm
UUID: 5be17b0a-705e-4ae2-b4a2-2b2ba122ad88
Ancestors: Monticello.impl-mtf.530

simplified MCClassDefinition>>#edLoad
fixed MC to pass the category name of a class to SystemEditor
Fixed MCMethodDefinition to tell SystemEditor whether the method is instance-side or class-side

=============== Diff against Monticello.impl-mtf.530 ===============

Item was changed:
  SystemOrganization addCategory: #'Monticello-Base'!
  SystemOrganization addCategory: #'Monticello-Chunk Format'!
  SystemOrganization addCategory: #'Monticello-Loading'!
  SystemOrganization addCategory: #'Monticello-Merging'!
  SystemOrganization addCategory: #'Monticello-Modeling'!
- SystemOrganization addCategory: #'Monticello-Patching'!
- SystemOrganization addCategory: #'Monticello-Repositories'!
- SystemOrganization addCategory: #'Monticello-Storing'!
- SystemOrganization addCategory: #'Monticello-UI'!
- SystemOrganization addCategory: #'Monticello-Versioning'!
  SystemOrganization addCategory: #'Monticello-Orphanage'!
+ SystemOrganization addCategory: #'Monticello-Patching'!
+ SystemOrganization addCategory: #'Monticello-Repositories'!
+ SystemOrganization addCategory: #'Monticello-Storing'!
+ SystemOrganization addCategory: #'Monticello-UI'!
+ SystemOrganization addCategory: #'Monticello-Versioning'!

Item was changed:
  ----- Method: MCMethodDefinition>>edLoad: (in category 'system editor') -----
  edLoad: editor
  
  	"priorMethodOrNil := self actualClass compiledMethodAt: selector ifAbsent: [nil]."
  
+ 	| classEditor |
+ 	classEditor := editor at: className.
+ 	classIsMeta ifTrue: [classEditor := classEditor class].
+ 	methodAndNode := classEditor
- 	methodAndNode := (editor at: className) 
  							compile: self source 
  							classified: self category
  							withStamp: timeStamp
  							notifying: requestor.
  							 
  	^ false "dont ask for edPostLoad, switch our notifications off not sure if needed with SystemEditor-#commit"
   !

Item was changed:
  ----- Method: MCClassDefinition>>edLoad: (in category 'system editor') -----
  edLoad: editor
  
+ 	| theClass |
+ 	theClass := (editor at: superclassName) subclass: name
+ 		instanceVariableNames: (self stringForVariablesOfType: #isInstanceVariable)
+ 		classVariableNames: (self stringForVariablesOfType: #isClassVariable)
+ 		poolDictionaries: (self stringForVariablesOfType: #isPoolImport)
+ 		category: category.
- 	| new old theClass theSuperclass |
-  
- 	theClass := editor at: name.
- 	theSuperclass := editor at: superclassName.
- 		
- 	theClass superclass = theSuperclass ifFalse: [ theClass superclass: theSuperclass ]. 	
- 		
- 	theClass subject typeOfClass = type ifFalse: [ theClass typeOfClass: type ]. 
  		
+ 	theClass typeOfClass: type.
+ 	theClass class instanceVariableNames: (self stringForVariablesOfType: #isClassInstanceVariable). 
+ 	theClass classComment: comment stamp: commentStamp.
- 	old := theClass instVarNames.
- 	new := self selectVariables: #isInstanceVariable.	 
- 	(old difference: new) do: [ :iv | theClass removeInstVarName: iv ].
- 	(new difference: old) do: [ :iv | theClass addInstVarName: iv ].
- 	
- 	old := theClass classVarNames.
- 	new := self selectVariables: #isClassVariable.	 
- 	(old difference: new) do: [ :iv | theClass removeClassVarName: iv ].
- 	(new difference: old) do: [ :iv | theClass addClassVarName: iv ].
- 	
- 	old := theClass sharedPools.
- 	new := self selectVariables: #isPoolImport.	 
- 	(old difference: new) do: [ :iv | theClass removeSharedPool: iv ].
- 	(new difference: old) do: [ :iv | theClass addSharedPool: iv ].
- 	
- 	old := theClass class instVarNames.
- 	new := self selectVariables: #isClassInstanceVariable.	 
- 	(old difference: new) do: [ :iv | theClass class removeInstVarName: iv ].
- 	(new difference: old) do: [ :iv | theClass class addInstVarName: iv ].
- 
- 	self hasComment ifTrue: [ theClass classComment: comment stamp: commentStamp ].
- 		 
  	^ false "we dont need an edPostload"!



More information about the Packages mailing list