INV(extract-clean): extraction returns non-NULL and does not set has_error on * valid input (a parser crash/abort would not return at all → subprocess-isolate * crash-prone inputs with rh_extract_crashes instead). */
| 28 | * valid input (a parser crash/abort would not return at all → subprocess-isolate |
| 29 | * crash-prone inputs with rh_extract_crashes instead). */ |
| 30 | static inline int inv_extract_clean(const char *src, CBMLanguage lang, const char *file) { |
| 31 | CBMFileResult *r = inv_rx(src, lang, file); |
| 32 | if (!r) |
| 33 | return 0; |
| 34 | int ok = !r->has_error; |
| 35 | cbm_free_result(r); |
| 36 | return ok; |
| 37 | } |
| 38 | |
| 39 | /* Count definitions whose label is/ isn't in the valid label set. */ |
| 40 | static inline int inv_label_valid(const char *label) { |
no test coverage detected