Marcel Taeumel uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-mt.1172.mcz==================== 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') -----
newSubclass
+ 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!