Changes in uspace/app/sbi/src/tdata.c [051bc69a:38aaacc2] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/sbi/src/tdata.c
r051bc69a r38aaacc2 48 48 static void tdata_item_subst_tdeleg(tdata_deleg_t *torig, 49 49 tdata_tvv_t *tvv, tdata_item_t **res); 50 static void tdata_item_subst_tebase(tdata_ebase_t *tebase,51 tdata_tvv_t *tvv, tdata_item_t **res);52 static void tdata_item_subst_tenum(tdata_enum_t *tenum,53 tdata_tvv_t *tvv, tdata_item_t **res);54 50 static void tdata_item_subst_tfun(tdata_fun_t *torig, 55 51 tdata_tvv_t *tvv, tdata_item_t **res); … … 64 60 static void tdata_tarray_print(tdata_array_t *tarray); 65 61 static void tdata_tdeleg_print(tdata_deleg_t *tdeleg); 66 static void tdata_tebase_print(tdata_ebase_t *tebase);67 static void tdata_tenum_print(tdata_enum_t *tenum);68 62 static void tdata_tfun_print(tdata_fun_t *tfun); 69 63 static void tdata_tvref_print(tdata_vref_t *tvref); … … 163 157 return tdata_item_equal(a->u.tarray->base_ti, 164 158 b->u.tarray->base_ti); 165 case tic_tenum:166 /* Check if both use the same enum definition. */167 return (a->u.tenum->enum_d == b->u.tenum->enum_d);168 159 case tic_tvref: 169 160 /* Check if both refer to the same type argument. */ … … 205 196 tdata_item_subst_tdeleg(ti->u.tdeleg, tvv, res); 206 197 break; 207 case tic_tebase:208 tdata_item_subst_tebase(ti->u.tebase, tvv, res);209 break;210 case tic_tenum:211 tdata_item_subst_tenum(ti->u.tenum, tvv, res);212 break;213 198 case tic_tfun: 214 199 tdata_item_subst_tfun(ti->u.tfun, tvv, res); … … 328 313 } 329 314 330 /** Substitute type variables in a enum-base type item.331 *332 * @param torig Type item to substitute into.333 * @param tvv Type variable valuation (values of type variables).334 * @param res Place to store pointer to new type item.335 */336 static void tdata_item_subst_tebase(tdata_ebase_t *tebase,337 tdata_tvv_t *tvv, tdata_item_t **res)338 {339 tdata_ebase_t *tnew;340 341 (void) tvv;342 343 /* Plain copy */344 tnew = tdata_ebase_new();345 *res = tdata_item_new(tic_tebase);346 (*res)->u.tebase = tebase;347 }348 349 /** Substitute type variables in a enum type item.350 *351 * @param torig Type item to substitute into.352 * @param tvv Type variable valuation (values of type variables).353 * @param res Place to store pointer to new type item.354 */355 static void tdata_item_subst_tenum(tdata_enum_t *tenum,356 tdata_tvv_t *tvv, tdata_item_t **res)357 {358 tdata_enum_t *tnew;359 360 (void) tvv;361 362 /* Plain copy */363 tnew = tdata_enum_new();364 *res = tdata_item_new(tic_tenum);365 (*res)->u.tenum = tenum;366 }367 368 315 /** Substitute type variables in a functional type item. 369 316 * … … 470 417 case tic_tdeleg: 471 418 tdata_tdeleg_print(titem->u.tdeleg); 472 break;473 case tic_tebase:474 tdata_tebase_print(titem->u.tebase);475 break;476 case tic_tenum:477 tdata_tenum_print(titem->u.tenum);478 419 break; 479 420 case tic_tfun: … … 556 497 } 557 498 558 /** Print enum-base type item.559 *560 * @param tebase Enum-base type item561 */562 static void tdata_tebase_print(tdata_ebase_t *tebase)563 {564 stree_symbol_t *enum_sym;565 566 enum_sym = enum_to_symbol(tebase->enum_d);567 568 printf("typeref(");569 symbol_print_fqn(enum_sym);570 printf(")");571 }572 573 /** Print enum type item.574 *575 * @param tenum Enum type item576 */577 static void tdata_tenum_print(tdata_enum_t *tenum)578 {579 stree_symbol_t *enum_sym;580 581 enum_sym = enum_to_symbol(tenum->enum_d);582 symbol_print_fqn(enum_sym);583 }584 585 499 /** Print function type item. 586 500 * … … 710 624 } 711 625 712 /** Allocate new enum-base type item.713 *714 * @return New enum type item715 */716 tdata_ebase_t *tdata_ebase_new(void)717 {718 tdata_ebase_t *tebase;719 720 tebase = calloc(1, sizeof(tdata_ebase_t));721 if (tebase == NULL) {722 printf("Memory allocation failed.\n");723 exit(1);724 }725 726 return tebase;727 }728 729 /** Allocate new enum type item.730 *731 * @return New enum type item732 */733 tdata_enum_t *tdata_enum_new(void)734 {735 tdata_enum_t *tenum;736 737 tenum = calloc(1, sizeof(tdata_enum_t));738 if (tenum == NULL) {739 printf("Memory allocation failed.\n");740 exit(1);741 }742 743 return tenum;744 }745 746 626 /** Allocate new functional type item. 747 627 * … … 827 707 } 828 708 829 /** Set ty pe variable value.709 /** Set tyoe variable value. 830 710 * 831 711 * Sets the value of variable with name SID @a name in type variable
Note:
See TracChangeset
for help on using the changeset viewer.