Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/sbi/src/tdata.c

    r051bc69a r38aaacc2  
    4848static void tdata_item_subst_tdeleg(tdata_deleg_t *torig,
    4949    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);
    5450static void tdata_item_subst_tfun(tdata_fun_t *torig,
    5551    tdata_tvv_t *tvv, tdata_item_t **res);
     
    6460static void tdata_tarray_print(tdata_array_t *tarray);
    6561static 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);
    6862static void tdata_tfun_print(tdata_fun_t *tfun);
    6963static void tdata_tvref_print(tdata_vref_t *tvref);
     
    163157                return tdata_item_equal(a->u.tarray->base_ti,
    164158                    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);
    168159        case tic_tvref:
    169160                /* Check if both refer to the same type argument. */
     
    205196                tdata_item_subst_tdeleg(ti->u.tdeleg, tvv, res);
    206197                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;
    213198        case tic_tfun:
    214199                tdata_item_subst_tfun(ti->u.tfun, tvv, res);
     
    328313}
    329314
    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 
    368315/** Substitute type variables in a functional type item.
    369316 *
     
    470417        case tic_tdeleg:
    471418                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);
    478419                break;
    479420        case tic_tfun:
     
    556497}
    557498
    558 /** Print enum-base type item.
    559  *
    560  * @param tebase                Enum-base type item
    561  */
    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 item
    576  */
    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 
    585499/** Print function type item.
    586500 *
     
    710624}
    711625
    712 /** Allocate new enum-base type item.
    713  *
    714  * @return      New enum type item
    715  */
    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 item
    732  */
    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 
    746626/** Allocate new functional type item.
    747627 *
     
    827707}
    828708
    829 /** Set type variable value.
     709/** Set tyoe variable value.
    830710 *
    831711 * Sets the value of variable with name SID @a name in type variable
Note: See TracChangeset for help on using the changeset viewer.