Lines Matching refs:state

65 struct data_info *get_dinfo(struct smatch_state *state)  in get_dinfo()  argument
67 if (!state) in get_dinfo()
69 return (struct data_info *)state->data; in get_dinfo()
72 struct range_list *estate_rl(struct smatch_state *state) in estate_rl() argument
74 if (!state) in estate_rl()
76 return get_dinfo(state)->value_ranges; in estate_rl()
79 struct related_list *estate_related(struct smatch_state *state) in estate_related() argument
81 if (!state) in estate_related()
83 return get_dinfo(state)->related; in estate_related()
86 sval_t estate_get_fuzzy_max(struct smatch_state *state) in estate_get_fuzzy_max() argument
90 if (!state || !get_dinfo(state)) in estate_get_fuzzy_max()
92 return get_dinfo(state)->fuzzy_max; in estate_get_fuzzy_max()
95 int estate_has_fuzzy_max(struct smatch_state *state) in estate_has_fuzzy_max() argument
97 if (estate_get_fuzzy_max(state).type) in estate_has_fuzzy_max()
102 void estate_set_fuzzy_max(struct smatch_state *state, sval_t fuzzy_max) in estate_set_fuzzy_max() argument
104 if (!rl_has_sval(estate_rl(state), fuzzy_max)) in estate_set_fuzzy_max()
106 get_dinfo(state)->fuzzy_max = fuzzy_max; in estate_set_fuzzy_max()
116 void estate_clear_fuzzy_max(struct smatch_state *state) in estate_clear_fuzzy_max() argument
120 get_dinfo(state)->fuzzy_max = empty; in estate_clear_fuzzy_max()
123 int estate_has_hard_max(struct smatch_state *state) in estate_has_hard_max() argument
125 if (!state || !estate_rl(state)) in estate_has_hard_max()
127 return get_dinfo(state)->hard_max; in estate_has_hard_max()
130 void estate_set_hard_max(struct smatch_state *state) in estate_set_hard_max() argument
133 if (is_ptr_type(estate_type(state))) in estate_set_hard_max()
135 get_dinfo(state)->hard_max = 1; in estate_set_hard_max()
138 void estate_clear_hard_max(struct smatch_state *state) in estate_clear_hard_max() argument
140 get_dinfo(state)->hard_max = 0; in estate_clear_hard_max()
143 int estate_get_hard_max(struct smatch_state *state, sval_t *sval) in estate_get_hard_max() argument
145 if (!state || !get_dinfo(state)->hard_max || !estate_rl(state)) in estate_get_hard_max()
147 *sval = rl_max(estate_rl(state)); in estate_get_hard_max()
151 bool estate_capped(struct smatch_state *state) in estate_capped() argument
153 if (!state) in estate_capped()
156 if (!estate_rl(state)) in estate_capped()
158 return get_dinfo(state)->capped; in estate_capped()
161 void estate_set_capped(struct smatch_state *state) in estate_set_capped() argument
163 get_dinfo(state)->capped = true; in estate_set_capped()
166 bool estate_treat_untagged(struct smatch_state *state) in estate_treat_untagged() argument
168 if (!state) in estate_treat_untagged()
172 if (!estate_rl(state)) in estate_treat_untagged()
175 return get_dinfo(state)->treat_untagged; in estate_treat_untagged()
178 void estate_set_treat_untagged(struct smatch_state *state) in estate_set_treat_untagged() argument
180 get_dinfo(state)->treat_untagged = true; in estate_set_treat_untagged()
183 bool estate_new(struct smatch_state *state) in estate_new() argument
185 if (!estate_rl(state)) in estate_new()
187 return get_dinfo(state)->set; in estate_new()
190 void estate_set_new(struct smatch_state *state) in estate_set_new() argument
192 get_dinfo(state)->set = true; in estate_set_new()
195 sval_t estate_min(struct smatch_state *state) in estate_min() argument
197 return rl_min(estate_rl(state)); in estate_min()
200 sval_t estate_max(struct smatch_state *state) in estate_max() argument
202 return rl_max(estate_rl(state)); in estate_max()
205 struct symbol *estate_type(struct smatch_state *state) in estate_type() argument
207 return rl_max(estate_rl(state)).type; in estate_type()
256 int estate_is_whole(struct smatch_state *state) in estate_is_whole() argument
258 return is_whole_rl(estate_rl(state)); in estate_is_whole()
261 int estate_is_empty(struct smatch_state *state) in estate_is_empty() argument
263 return state && !estate_rl(state); in estate_is_empty()
266 int estate_is_unknown(struct smatch_state *state) in estate_is_unknown() argument
268 if (!estate_is_whole(state)) in estate_is_unknown()
270 if (estate_related(state)) in estate_is_unknown()
272 if (estate_has_fuzzy_max(state)) in estate_is_unknown()
277 int estate_get_single_value(struct smatch_state *state, sval_t *sval) in estate_get_single_value() argument
281 if (!estate_rl(state)) in estate_get_single_value()
283 min = rl_min(estate_rl(state)); in estate_get_single_value()
284 max = rl_max(estate_rl(state)); in estate_get_single_value()
330 struct smatch_state *clone_estate(struct smatch_state *state) in clone_estate() argument
334 if (!state) in clone_estate()
338 ret->name = state->name; in clone_estate()
339 ret->data = clone_dinfo(get_dinfo(state)); in clone_estate()
343 struct smatch_state *clone_partial_estate(struct smatch_state *state, struct range_list *rl) in clone_partial_estate() argument
347 if (!state) in clone_partial_estate()
350 rl = cast_rl(estate_type(state), rl); in clone_partial_estate()
353 set_related(ret, clone_related_list(estate_related(state))); in clone_partial_estate()
354 if (estate_has_hard_max(state)) in clone_partial_estate()
356 if (estate_has_fuzzy_max(state)) in clone_partial_estate()
357 estate_set_fuzzy_max(ret, estate_get_fuzzy_max(state)); in clone_partial_estate()
364 struct smatch_state *state; in alloc_estate_empty() local
368 state = __alloc_smatch_state(0); in alloc_estate_empty()
369 state->data = dinfo; in alloc_estate_empty()
370 state->name = ""; in alloc_estate_empty()
371 return state; in alloc_estate_empty()
391 struct smatch_state *state; in alloc_estate_sval() local
393 state = __alloc_smatch_state(0); in alloc_estate_sval()
394 state->data = alloc_dinfo_range(sval, sval); in alloc_estate_sval()
395 state->name = show_rl(get_dinfo(state)->value_ranges); in alloc_estate_sval()
396 estate_set_hard_max(state); in alloc_estate_sval()
397 estate_set_fuzzy_max(state, sval); in alloc_estate_sval()
398 return state; in alloc_estate_sval()
403 struct smatch_state *state; in alloc_estate_range() local
405 state = __alloc_smatch_state(0); in alloc_estate_range()
406 state->data = alloc_dinfo_range(min, max); in alloc_estate_range()
407 state->name = show_rl(get_dinfo(state)->value_ranges); in alloc_estate_range()
408 return state; in alloc_estate_range()
413 struct smatch_state *state; in alloc_estate_rl() local
418 state = __alloc_smatch_state(0); in alloc_estate_rl()
419 state->data = alloc_dinfo_range_list(rl); in alloc_estate_rl()
420 state->name = show_rl(rl); in alloc_estate_rl()
421 return state; in alloc_estate_rl()
424 struct smatch_state *clone_estate_cast(struct symbol *type, struct smatch_state *state) in clone_estate_cast() argument
429 if (!state) in clone_estate_cast()
433 dinfo->value_ranges = clone_rl(cast_rl(type, estate_rl(state))); in clone_estate_cast()
444 struct smatch_state *state; in get_implied_estate() local
447 state = get_state_expr(SMATCH_EXTRA, expr); in get_implied_estate()
448 if (state) in get_implied_estate()
449 return state; in get_implied_estate()
472 struct smatch_state *clone_estate_perm(struct smatch_state *state) in clone_estate_perm() argument
477 ret->name = alloc_string(state->name); in clone_estate_perm()
478 ret->data = clone_dinfo_perm(get_dinfo(state)); in clone_estate_perm()