| 197 | } |
| 198 | |
| 199 | static void py_scope_bind_callable(PyLSPContext *ctx, const char *name, const CBMType *type, |
| 200 | const char *callable_qn) { |
| 201 | ctx->type_cache_gen++; |
| 202 | cbm_scope_bind_callable(ctx->current_scope, name, type, callable_qn); |
| 203 | const char *bound = name ? cbm_scope_lookup_callable(ctx->current_scope, name) : NULL; |
| 204 | if (name && (!cbm_scope_contains(ctx->current_scope, name) || |
| 205 | (callable_qn && (!bound || strcmp(bound, callable_qn) != 0)))) { |
| 206 | py_disable_callable_value_proof(ctx); |
| 207 | } |
| 208 | } |
| 209 | |
| 210 | static CBMScope *py_scope_push_checked(PyLSPContext *ctx) { |
| 211 | if (!ctx) |
no test coverage detected