The Trunk: Kernel-mt.1172.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: Kernel-mt.1172.mcz

commits-2
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!