1.1 --- a/docs/wiki/Deduction Sun Sep 03 18:21:58 2023 +0200
1.2 +++ b/docs/wiki/Deduction Sun Sep 03 18:56:21 2023 +0200
1.3 @@ -736,19 +736,34 @@
1.4 .. position
1.5 }}}
1.6
1.7 -==== Direct Store ====
1.8 +==== Attribute Reference ====
1.9
1.10 -These instructions employ the attribute position for the supplied attribute
1.11 -name, storing an attribute value.
1.12 +Attribute references are obtained to be targets for store operations as well
1.13 +as being exposed as result targets.
1.14
1.15 {{{#!table
1.16 '''Instruction''' || '''Arguments''' || '''Operations'''
1.17 ==
1.18 -`__store_via_class` || object, attribute name, value
1.19 -|| Obtain class from object; store attribute in class at position
1.20 +`__get_class_attr_ref` || object, attribute name
1.21 +|| Obtain class from object; obtain reference for attribute in class
1.22 ==
1.23 -`__store_via_object` || object, attribute name, value
1.24 -|| Store attribute in object at position
1.25 +`__get_object_attr_ref` || object, attribute name
1.26 +|| Obtain reference for attribute in object
1.27 +}}}
1.28 +
1.29 +==== Attribute Reference Load and Store ====
1.30 +
1.31 +These instructions employ an attribute reference, previously obtained for a
1.32 +given attribute in an object.
1.33 +
1.34 +{{{#!table
1.35 +'''Instruction''' || '''Arguments''' || '''Operations'''
1.36 +==
1.37 +`__load_via_attr_ref` || attribute reference
1.38 +|| Load value from attribute reference
1.39 +==
1.40 +`__store_via_attr_ref` || attribute reference, value
1.41 +|| Store value in attribute at reference
1.42 }}}
1.43
1.44 ==== Checked Load ====
1.45 @@ -770,7 +785,7 @@
1.46 .. raise type error
1.47 }}}
1.48
1.49 -==== Checked Store ====
1.50 +==== Checked Attribute Reference ====
1.51
1.52 These instructions employ the attribute position and code for the supplied
1.53 attribute name, storing an attribute value.
1.54 @@ -778,14 +793,8 @@
1.55 {{{#!table
1.56 '''Instruction''' || '''Arguments''' || '''Operations'''
1.57 ==
1.58 -`__check_and_store_via_class` || object, attribute name, value
1.59 -|| Raise type error
1.60 -==
1.61 -`__check_and_store_via_object` || object, attribute name, value
1.62 -|| Test for attribute and store value or raise type error
1.63 -==
1.64 -`__check_and_store_via_any` || object, attribute name, value
1.65 -|| Test for attribute and store value or raise type error
1.66 +`__check_and_get_object_attr_ref` || object, attribute name
1.67 +|| Test for attribute and obtain reference or raise type error
1.68 }}}
1.69
1.70 ==== Testing ====
1.71 @@ -844,20 +853,29 @@
1.72 {{{#!table
1.73 '''Instruction''' || '''Arguments''' || '''Operations'''
1.74 ==
1.75 -`__get_context` || (temporary)
1.76 -|| Load the context stored in the temporary storage
1.77 +`__get_accessor` || (temporary)
1.78 +|| Load the indicated accessor from temporary storage
1.79 +==
1.80 +`__get_attr_ref` || (temporary)
1.81 +|| Load the indicated attribute reference from temporary storage
1.82 ==
1.83 -`__set_accessor` || accessor
1.84 -|| Store the accessor temporarily
1.85 +`__get_context` || (temporary)
1.86 +|| Load the indicated context from temporary storage
1.87 +==
1.88 +`__set_accessor` || (temporary), accessor
1.89 +|| Store the accessor in temporary storage
1.90 +==
1.91 +`__set_attr_ref` || (temporary), reference
1.92 +|| Store the given attribute reference in temporary storage
1.93 ==
1.94 `__set_context` || (temporary), context
1.95 -|| Store the context in the temporary storage
1.96 +|| Store the given context in temporary storage
1.97 ==
1.98 `__set_private_context` || context
1.99 -|| Store the context temporarily
1.100 +|| Store the context in temporary storage
1.101 ==
1.102 `__set_target_accessor` || accessor
1.103 -|| Store the assignment accessor temporarily
1.104 +|| Store the assignment accessor in temporary storage
1.105 }}}
1.106
1.107 ==== Context Test ====