1.1 --- a/docs/structures.txt Sun Aug 17 20:46:49 2008 +0200
1.2 +++ b/docs/structures.txt Mon Aug 18 01:40:18 2008 +0200
1.3 @@ -13,8 +13,8 @@
1.4 object context
1.5 reference reference
1.6
1.7 -Acquiring Values
1.8 -----------------
1.9 +Values and Contexts
1.10 +-------------------
1.11
1.12 Values are acquired through name lookups and attribute access, yielding
1.13 the appropriate object reference together with a context reference as
1.14 @@ -61,7 +61,10 @@
1.15 constant's class hierarchy)
1.16
1.17 LoadAddressContext Override loaded context with a
1.18 - predetermined object
1.19 + predetermined object (provided
1.20 + that the object and context are
1.21 + compatible, which can be tested at
1.22 + compile-time)
1.23
1.24 LoadAttr Load attribute from Attributes with null contexts or
1.25 instance contexts compatible with the
1.26 @@ -85,14 +88,20 @@
1.27 * Since only class-originating attributes may cause context overriding, and
1.28 since class attributes may only be defined within class definitions, the
1.29 attributes whose context may be modified should be known at compile-time.
1.30 + (These will be those attributes whose context agrees with their parent
1.31 + class.)
1.32
1.33 * By recording a special context value for attributes whose context can be
1.34 overridden, this value can be tested efficiently at run-time where the
1.35 - appropriate conditions are satisfied.
1.36 + appropriate conditions are satisfied. (This special context value or
1.37 + indicator will be present in the object table record for the attribute.)
1.38
1.39 * It should be possible to move the instance compatibility condition testing
1.40 to compile-time by testing the compatibility of the origin of an attribute
1.41 - with the class on which it is stored.
1.42 + with the class on which it is stored. However, some compatibility testing
1.43 + will still be required if invoking methods via classes, since the instance
1.44 + will be specified in the argument list instead of being presented in an
1.45 + attribute lookup instruction.
1.46
1.47 Storing Values
1.48 --------------