|
ESBMC
Efficient SMT-based Context-Bounded Model Checker
|
Public Member Functions | |
| __init__ (self, module, names_bound_by, module_name) | |
| rewrite (self, variables, next_id) | |
| dispatched_statements (self, name, nodes, replacements) | |
Public Attributes | |
| module = module | |
| names_bound_by = names_bound_by | |
| module_name = module_name | |
Protected Member Functions | |
| _in_order (self, scope, name, nodes) | |
| _binds (self, node) | |
| _other_reads (self, scope, name, calls) | |
| _other_use (self, node, name, expected, scope) | |
| _other_read (self, node, name, expected, scope) | |
| _check_call (self, call, name, last_binding, return_types) | |
| _bound_around (self, read, scope, name) | |
| _refuse (self, node, message) | |
The names of `module` bound to methods at several sites of a scope.
| preprocessor.bound_method_dispatch._Rebound.__init__ | ( | self, | |
| module, | |||
| names_bound_by, | |||
| module_name ) |
|
protected |
The names `node` binds; `global` and `nonlocal` only say where.
|
protected |
Whether `read` is directly in a scope other than `scope` that binds `name`.
|
protected |
Refuse a call above a binding, whose receiver has no type there yet, or one whose result is kept while the methods may differ in type.
|
protected |
Whether each binding of `name` is a simple statement of the body of `scope`, and only `scope` reads it, so a call is reached only by the last binding above it in the source.
|
protected |
|
protected |
The reads of `name` other than by `calls`, after refusing a binding of it from another scope.
|
protected |
Whether `node` reads `name` and is not among the `expected` reads, or makes another scope bind it.
|
protected |
| preprocessor.bound_method_dispatch._Rebound.dispatched_statements | ( | self, | |
| name, | |||
| nodes, | |||
| replacements ) |
The bindings and calls of `name` among `nodes`, after refusing what the rewrite cannot make exact, and making a class or another `def` of it fail an assertion where it would run.
| preprocessor.bound_method_dispatch._Rebound.rewrite | ( | self, | |
| variables, | |||
| next_id ) |
Rewrite the bindings and calls of each such name.
| preprocessor.bound_method_dispatch._Rebound.module = module |
| preprocessor.bound_method_dispatch._Rebound.module_name = module_name |
| preprocessor.bound_method_dispatch._Rebound.names_bound_by = names_bound_by |