-/* Converts a dynamic property into a static one. ADDRESS is the address
- of the object currently being evaluated and might be nedded.
+/* A chain of addresses that might be needed to resolve a dynamic
+ property. */
+
+struct property_addr_info
+{
+ /* The type of the object whose dynamic properties, if any, are
+ being resolved. */
+ struct type *type;
+
+ /* If not NULL, a buffer containing the object's value. */
+ const gdb_byte *valaddr;
+
+ /* The address of that object. */
+ CORE_ADDR addr;
+
+ /* If not NULL, a pointer to the info for the object containing
+ the object described by this node. */
+ struct property_addr_info *next;
+};
+
+/* Converts a dynamic property into a static one. FRAME is the frame in which
+ the property is evaluated; if NULL, the selected frame (if any) is used
+ instead.
+
+ ADDR_STACK is the stack of addresses that might be needed to evaluate the
+ property. When evaluating a property that is not related to a type, it can
+ be NULL.
+