Changes in uspace/app/sbi/src/stree.c [051bc69a:38aaacc2] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/sbi/src/stree.c
r051bc69a r38aaacc2 116 116 } 117 117 118 /** Allocate new constructor.119 *120 * @return New constructor121 */122 stree_ctor_t *stree_ctor_new(void)123 {124 stree_ctor_t *ctor;125 126 ctor = calloc(1, sizeof(stree_ctor_t));127 if (ctor == NULL) {128 printf("Memory allocation failed.\n");129 exit(1);130 }131 132 return ctor;133 }134 135 118 /** Allocate new member delegate. 136 119 * … … 150 133 } 151 134 152 /** Allocate new enum.153 *154 * @return New enum155 */156 stree_enum_t *stree_enum_new(void)157 {158 stree_enum_t *enum_d;159 160 enum_d = calloc(1, sizeof(stree_enum_t));161 if (enum_d == NULL) {162 printf("Memory allocation failed.\n");163 exit(1);164 }165 166 return enum_d;167 }168 169 /** Allocate new enum member.170 *171 * @return New enum member172 */173 stree_embr_t *stree_embr_new(void)174 {175 stree_embr_t *embr;176 177 embr = calloc(1, sizeof(stree_embr_t));178 if (embr == NULL) {179 printf("Memory allocation failed.\n");180 exit(1);181 }182 183 return embr;184 }185 186 135 /** Allocate new member function. 187 136 * … … 445 394 } 446 395 447 /** Allocate new @c break statement.448 *449 * @return New @c break statement450 */451 stree_break_t *stree_break_new(void)452 {453 stree_break_t *break_s;454 455 break_s = calloc(1, sizeof(stree_break_t));456 if (break_s == NULL) {457 printf("Memory allocation failed.\n");458 exit(1);459 }460 461 return break_s;462 }463 464 396 /** Allocate new @c return statement. 465 397 * … … 530 462 } 531 463 532 /** Allocate new @c if/elif clause.533 *534 * @return New @c if/elif clause535 */536 stree_if_clause_t *stree_if_clause_new(void)537 {538 stree_if_clause_t *if_clause;539 540 if_clause = calloc(1, sizeof(stree_if_clause_t));541 if (if_clause == NULL) {542 printf("Memory allocation failed.\n");543 exit(1);544 }545 546 return if_clause;547 }548 549 464 /** Allocate new statement block. 550 465 * … … 954 869 * @param symbol Symbol 955 870 * @param sac Symbol attribute class 956 * @return @c b_true if yes, @c b_false if no 871 * @return @c b_true if yes, @c b_false if no. 957 872 */ 958 873 bool_t stree_symbol_has_attr(stree_symbol_t *symbol, symbol_attr_class_t sac) … … 1023 938 /** Search for CSI type argument of the given name. 1024 939 * 1025 * @param csi CSI to look in 1026 * @param ident Identifier of the type argument 1027 * @return Type argument de claration or @c NULL if not found940 * @param csi CSI to look in. 941 * @param ident Identifier of the type argument. 942 * @return Type argument definition or @c NULL if not found. 1028 943 */ 1029 944 stree_targ_t *stree_csi_find_targ(stree_csi_t *csi, stree_ident_t *ident) … … 1044 959 return NULL; 1045 960 } 1046 1047 /** Search for enum member of the given name.1048 *1049 * @param enum_d Enum to look in1050 * @param ident Identifier of the enum member1051 * @return Enum member declaration or @c NULL if not found1052 */1053 stree_embr_t *stree_enum_find_mbr(stree_enum_t *enum_d, stree_ident_t *ident)1054 {1055 list_node_t *embr_n;1056 stree_embr_t *embr;1057 1058 embr_n = list_first(&enum_d->members);1059 while (embr_n != NULL) {1060 embr = list_node_data(embr_n, stree_embr_t *);1061 if (embr->name->sid == ident->sid)1062 return embr;1063 1064 embr_n = list_next(&enum_d->members, embr_n);1065 }1066 1067 /* No match */1068 return NULL;1069 }1070 1071 /** Get CSI member name.1072 *1073 * @param csimbr CSI member1074 * @return Member name1075 */1076 stree_ident_t *stree_csimbr_get_name(stree_csimbr_t *csimbr)1077 {1078 stree_ident_t *mbr_name;1079 1080 /* Keep compiler happy. */1081 mbr_name = NULL;1082 1083 switch (csimbr->cc) {1084 case csimbr_csi: mbr_name = csimbr->u.csi->name; break;1085 case csimbr_ctor: mbr_name = csimbr->u.ctor->name; break;1086 case csimbr_deleg: mbr_name = csimbr->u.deleg->name; break;1087 case csimbr_enum: mbr_name = csimbr->u.enum_d->name; break;1088 case csimbr_fun: mbr_name = csimbr->u.fun->name; break;1089 case csimbr_var: mbr_name = csimbr->u.var->name; break;1090 case csimbr_prop: mbr_name = csimbr->u.prop->name; break;1091 }1092 1093 return mbr_name;1094 }
Note:
See TracChangeset
for help on using the changeset viewer.