The Trunk: Environments-nice.63.mcz

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

The Trunk: Environments-nice.63.mcz

commits-2
Nicolas Cellier uploaded a new version of Environments to project The Trunk:
http://source.squeak.org/trunk/Environments-nice.63.mcz

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

Name: Environments-nice.63
Author: nice
Time: 29 September 2016, 10:29:59.273388 am
UUID: 1c6b29fd-c218-034b-8059-2a4e231109d4
Ancestors: Environments-mt.62

Update the class comment of Environment to match current instance variable list.

Update the postscript to export Smalltalk bindings.

=============== Diff against Environments-mt.62 ===============

Item was changed:
  Object subclass: #Environment
  instanceVariableNames: 'info declarations bindings undeclared policies observers'
  classVariableNames: 'Default Instances'
  poolDictionaries: ''
  category: 'Environments-Core'!
 
+ !Environment commentStamp: 'nice 9/29/2016 10:27' prior: 0!
- !Environment commentStamp: 'cmm 12/20/2013 14:10' prior: 0!
  I am a context for compiling methods. I maintain the namespace of classes and global variables that are visible to the methods compiled within me.
 
  I have the following instance variables:
 
  info <EnvironmentInfo>
  Metadata about me and the code I contain.
 
- imports <Import>
- Rules for importing globals from other environments.
-
- exports <Export>
- Rules for exposing globals to other environments.
-
  declarations <IdentityDictionary>
+ Bindings for class and other globals that have been declared inside me.
- Bindings for globals that have been declared inside me.
 
+ bindings <IdentityDictionary>
+ Bindings for all the class and global variables visible from the compiler.
+ It generally includes the declarations (see importSelf), plus other imports from other environments, including aliases.
- references      <IdentityDictionary>
- Bindings for globals that are used by methods compiled inside me.
 
+ policies      <Collection of: NamePolicy>
+ The list of rules for importing and exporting bindings to other environments.
- public <IdentityDictionary>
- Bindings for classes that have been declared inside me, and which satisfy the export rules contain in 'exports'.
 
+ observers      <Collection of: Environment>
+ These are the environments importing some bindings from self, and which should be notified whenever we add/remove/change some binding.
+ !
- undeclared      <Dictionary>
- Bindings for globals that are used by methods compiled inside me, but which aren't present in 'references' and couldn't be found via the rules in 'imports'.!

Item was changed:
+ (PackageInfo named: 'Environments') postscript: '"It''s impossible to import a binding if not exported.
+ There''s nothing secret in Smalltalk (nor private)."
+ Smalltalk exportSelf.
- (PackageInfo named: 'Environments') postscript: '"Recompile all methods to fix errant bindings"
- Compiler recompileAll.
  '!