Changeset 39e8406 in mainline for uspace/app/sbi/src/rdata_t.h
- Timestamp:
- 2010-03-20T21:57:13Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- b535aeb
- Parents:
- 6ba20a6b
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/sbi/src/rdata_t.h
r6ba20a6b r39e8406 171 171 /** Property address. 172 172 * 173 * When accessing part of a property that is non-scalar and mutable, 174 * a read-modify-write (or get-modify-set) operation is necessary. 175 * To accomodate this, the address item must hold a temporary copy of the 176 * property value. 173 * When an access or index operation is performed on a property, the getter 174 * is run and the prefetched value is stored in @c tvalue. If the property 175 * is a non-scalar value type (a struct), then we might want to point to 176 * the proper @c var node inside it. @c tpos is used for this purpose. 177 * 178 * The assignment operator will modify @c tvalue and at the end the setter 179 * is called to store @c tvalue back into the property. 177 180 */ 178 181 typedef struct { … … 236 239 } rdata_item_t; 237 240 238 /** Primitive type. */239 typedef struct {240 } rdata_tprimitive_t;241 242 /** Class, struct or interface type. */243 typedef struct {244 struct stree_csi *csi;245 } rdata_tcsi_t;246 247 /** Array type. */248 typedef struct {249 /** Base type item */250 struct rdata_titem *base_ti;251 252 /** Rank */253 int rank;254 255 /** Extents */256 list_t extents; /* of stree_expr_t */257 } rdata_tarray_t;258 259 /** Generic type. */260 typedef struct {261 } rdata_tgeneric_t;262 263 typedef enum {264 tic_tprimitive,265 tic_tcsi,266 tic_tarray,267 tic_tgeneric268 } titem_class_t;269 270 /** Type item, the result of evaluating a type expression. */271 typedef struct rdata_titem {272 titem_class_t tic;273 274 union {275 rdata_tprimitive_t *tprimitive;276 rdata_tcsi_t *tcsi;277 rdata_tarray_t *tarray;278 rdata_tgeneric_t *tgeneric;279 } u;280 } rdata_titem_t;281 282 241 #endif
Note:
See TracChangeset
for help on using the changeset viewer.