[squeak-dev] The Trunk: System-fbs.616.mcz

Eliot Miranda eliot.miranda at gmail.com
Thu Nov 21 07:08:30 UTC 2013


+1.  It's for better. SharedPool is a language implementation thingie like Begavior and CompiledMethod and hence Kernel is its home.  IMO it has nothing to do with there bring insances of SharedPool in Kernel and everything to do with SharedPool being part of the language implementation.

Eliot (phone)

On Nov 20, 2013, at 10:56 PM, commits at source.squeak.org wrote:

> Frank Shearar uploaded a new version of System to project The Trunk:
> http://source.squeak.org/trunk/System-fbs.616.mcz
> 
> ==================== Summary ====================
> 
> Name: System-fbs.616
> Author: fbs
> Time: 20 November 2013, 11:02:22.375 pm
> UUID: f49eb05c-e6f9-194d-b75b-1d5271afc47d
> Ancestors: System-fbs.615
> 
> Kernel has a number of SharedPools, so SharedPool belongs (for better or worse) in Kernel, not System.
> 
> =============== Diff against System-fbs.615 ===============
> 
> Item was changed:
>  SystemOrganization addCategory: #'System-Applications'!
>  SystemOrganization addCategory: #'System-Change Notification'!
>  SystemOrganization addCategory: #'System-Changes'!
>  SystemOrganization addCategory: #'System-Digital Signatures'!
>  SystemOrganization addCategory: #'System-Download'!
>  SystemOrganization addCategory: #'System-Exceptions'!
>  SystemOrganization addCategory: #'System-FilePackage'!
>  SystemOrganization addCategory: #'System-FileRegistry'!
>  SystemOrganization addCategory: #'System-Finalization'!
>  SystemOrganization addCategory: #'System-Localization'!
>  SystemOrganization addCategory: #'System-Object Events'!
>  SystemOrganization addCategory: #'System-Object Storage'!
> - SystemOrganization addCategory: #'System-Pools'!
>  SystemOrganization addCategory: #'System-Preferences'!
>  SystemOrganization addCategory: #'System-Serial Port'!
>  SystemOrganization addCategory: #'System-Support'!
>  SystemOrganization addCategory: #'System-Tools'!
> 
> Item was removed:
> - Object subclass: #SharedPool
> -    instanceVariableNames: ''
> -    classVariableNames: ''
> -    poolDictionaries: ''
> -    category: 'System-Pools'!
> - 
> - !SharedPool commentStamp: '<historical>' prior: 0!
> - A shared pool represents a set of bindings which are accessible to all classes which import the pool in its 'pool dictionaries'. SharedPool is NOT a dictionary but rather a name space. Bindings are represented by 'class variables' - as long as we have no better way to represent them at least.!
> 
> Item was removed:
> - ----- Method: SharedPool class>>bindingOf: (in category 'name lookup') -----
> - bindingOf: varName
> -    "Answer the binding of some variable resolved in the scope of the receiver"
> -    | aSymbol binding |
> -    aSymbol := varName asSymbol.
> - 
> -    "First look in classVar dictionary."
> -    binding := self classPool bindingOf: aSymbol.
> -    binding ifNotNil:[^binding].
> - 
> -    "Next look in shared pools."
> -    self sharedPools do:[:pool | 
> -        | poolBinding |
> -        poolBinding := pool bindingOf: aSymbol.
> -        poolBinding ifNotNil:[^poolBinding].
> -    ].
> - 
> -    "subclassing and environment are not preserved"
> -    ^nil!
> 
> Item was removed:
> - ----- Method: SharedPool class>>bindingsDo: (in category 'name lookup') -----
> - bindingsDo: aBlock
> -    ^self classPool bindingsDo: aBlock!
> 
> Item was removed:
> - ----- Method: SharedPool class>>classBindingOf: (in category 'name lookup') -----
> - classBindingOf: varName
> -    "For initialization messages grant the regular scope"
> -    ^super bindingOf: varName!
> 
> Item was removed:
> - ----- Method: SharedPool class>>includesKey: (in category 'name lookup') -----
> - includesKey: aName
> -    "does this pool include aName"
> -    ^(self bindingOf: aName) notNil!
> 
> Item was removed:
> - ----- Method: SharedPool class>>keysDo: (in category 'enumerating') -----
> - keysDo: aBlock
> - "A hopefully temporary fix for an issue arising from miss-spelled variable names in code being compiled. The correction code (see Class>possibleVariablesFor:continuedFrom: assumes that sharedPools are Dictionaries. The proper fix would involve making sure all pools are actually subclasses of SharedPool, which they are not currently."
> -    self bindingsDo:[:b|
> -        aBlock value: b key]!
> 
> 


More information about the Squeak-dev mailing list