Author: jonathan
Date: Sat Oct 28 09:59:25 2006
New Revision: 15037

Modified:
   trunk/docs/pdds/clip/pdd17_basic_types.pod

Log:
Add two new reference PMCs to the Basic Types PDD.

Modified: trunk/docs/pdds/clip/pdd17_basic_types.pod
==============================================================================
--- trunk/docs/pdds/clip/pdd17_basic_types.pod  (original)
+++ trunk/docs/pdds/clip/pdd17_basic_types.pod  Sat Oct 28 09:59:25 2006
@@ -115,6 +115,30 @@
 The PMC that represents a reference to another PMC. Delegates all functions to
 the referred-to PMC.
 
+=item AggregateElementRef
+
+This PMC represents a reference to an element contained in an aggregate PMC
+type, such as an array or hash. It is initialized with the key being 
+referenced and the aggregate PMC containing that key. 
+
+Note that assigning to the reference PMC will be equivalent to a keyed set on
+the referenced aggregate PMC - that is, it modifies the element rather than
+doing a v-table call on the element itself. It is important to be aware of
+this when assigning a PMC through this reference; it is not the same behaviour
+as the Ref PMC.
+
+=item WeakRegisterRef
+
+This PMC represents a weak reference to a register. Should the reference live
+beyond the context containing the register that it references, any attempt to
+use the reference will throw an exception.
+
+A weak register reference can only be created by the C<register_ref> opcode.
+Any assignment to the register will behave like a set instruction. That is,
+when assigning a PMC using a WeakRegisterRef PMC, the register will be updated
+to reference that PMC rather than calling the assign v-table call on the PMC
+in that register. This is not the same behaviour as the Ref PMC.
+
 =item Random
 
 A singleton PMC that generates a random number. {{ NOTE: Why do we have

Reply via email to