The Trunk: System-ul.784.mcz

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

The Trunk: System-ul.784.mcz

commits-2
Levente Uzonyi uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-ul.784.mcz

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

Name: System-ul.784
Author: ul
Time: 9 January 2016, 11:57:40.562643 am
UUID: 69182e71-9ad2-4bed-ac33-f0c56794b197
Ancestors: System-eem.783

Let PseudoClass behave more like a class, especially when #realClass exists in the image.

=============== Diff against System-eem.783 ===============

Item was changed:
  ----- Method: PseudoClass>>allInstVarNames (in category 'accessing') -----
  allInstVarNames
+
+ self realClass ifNotNil: [ :realClass | ^realClass allInstVarNames ].
  ^#()!

Item was changed:
  ----- Method: PseudoClass>>compilerClass (in category 'accessing') -----
  compilerClass
+
+ ^self realClass
+ ifNil: [ Compiler ]
+ ifNotNil: [ :realClass | realClass compilerClass ]!
- ^ (Smalltalk at: name ifAbsent: [^ Compiler]) compilerClass!

Item was changed:
  ----- Method: PseudoClass>>instVarNames (in category 'accessing') -----
  instVarNames
+
+ self realClass ifNotNil: [ :realClass | ^realClass instVarNames ].
+ ^#()!
- ^ #()!

Item was changed:
  ----- Method: PseudoClass>>parserClass (in category 'private') -----
  parserClass
 
+ ^self compilerClass parserClass!
- ^ Compiler parserClass!

Item was changed:
  ----- Method: PseudoClass>>realClass (in category 'accessing') -----
  realClass
+
+ ^Smalltalk globals classNamed: self name!
- ^Smalltalk at: self name asSymbol ifAbsent: []!

Item was added:
+ ----- Method: PseudoClass>>withAllSubAndSuperclassesDo: (in category 'enumerating') -----
+ withAllSubAndSuperclassesDo: aBlock
+
+ self realClass ifNotNil: [ :realClass | ^realClass withAllSubAndSuperclassesDo: aBlock ].
+ ^aBlock value: self!

Item was added:
+ ----- Method: PseudoClass>>withAllSuperclassesDo: (in category 'enumerating') -----
+ withAllSuperclassesDo: aBlock
+
+ self realClass ifNotNil: [ :realClass | ^realClass withAllSuperclassesDo: aBlock ].
+ ^aBlock value: self!