[Pkg] The Trunk: Kernel-mt.1172.mcz

commits at source.squeak.org commits at source.squeak.org
Mon May 28 08:47:58 UTC 2018

Marcel Taeumel uploaded a new version of Kernel to project The Trunk:

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

Name: Kernel-mt.1172
Author: mt
Time: 28 May 2018, 10:47:42.97237 am
UUID: 814981fd-be88-c846-a898-9cef659baa2b
Ancestors: Kernel-mt.1171

Fixes the bug where uniclasses appeared in the default environment and browser and organization.

=============== Diff against Kernel-mt.1171 ===============

Item was added:
+ ----- Method: Class>>newEnvironment (in category 'subclass creation') -----
+ newEnvironment
+ 	self flag: #uniclasses.
+ 	^ (Environment withName: 'EnvironmentForUniClass')
+ 		at: self name asSymbol put: self;
+ 		importSelf;
+ 		yourself!

Item was changed:
  ----- Method: Class>>newSubclass (in category 'subclass creation') -----
+ 	self flag: #uniclasses.	
  	^ self newUniqueClassInstVars: '' classInstVars: ''
  "Point newSubclass new"!

Item was changed:
  ----- Method: Object class>>newUniqueClassInstVars:classInstVars: (in category 'instance creation') -----
  newUniqueClassInstVars: instVarString classInstVars: classInstVarString
  	"Create a unique class for the receiver"
  	| aName aClass |
  	self isSystemDefined ifFalse:
  		[^ superclass newUniqueClassInstVars: instVarString classInstVars: classInstVarString].
  	aName := self chooseUniqueClassName.
  	aClass := self subclass: aName instanceVariableNames: instVarString 
  		classVariableNames: '' poolDictionaries: '' category: self categoryForUniclasses.
  	classInstVarString size > 0 ifTrue:
  		[aClass class instanceVariableNames: classInstVarString].
  	self flag: #todo. self flag: #uniclasses. "Discuss if we really want to hide uniclasses again"
+ 	aClass environment: aClass newEnvironment.
+ 	aClass environment organization
+ 		classify: aClass name
+ 		under: (self environment organization categoryOfElement: aClass name).
+ 	self environment forgetClass: aClass logged: false.
- 	aClass environment forgetClass: aClass logged: false.
  	self removeSubclass: aClass.
  	^ aClass!

More information about the Packages mailing list