ESBMC
Efficient SMT-based Context-Bounded Model Checker
Loading...
Searching...
No Matches
preprocessor.bound_method_dispatch._Rebound Class Reference

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)

Detailed Description

The names of `module` bound to methods at several sites of a scope.

Constructor & Destructor Documentation

◆ __init__()

preprocessor.bound_method_dispatch._Rebound.__init__ ( self,
module,
names_bound_by,
module_name )

Member Function Documentation

◆ _binds()

preprocessor.bound_method_dispatch._Rebound._binds ( self,
node )
protected
The names `node` binds; `global` and `nonlocal` only say where.

◆ _bound_around()

preprocessor.bound_method_dispatch._Rebound._bound_around ( self,
read,
scope,
name )
protected
Whether `read` is directly in a scope other than `scope` that binds `name`.

◆ _check_call()

preprocessor.bound_method_dispatch._Rebound._check_call ( self,
call,
name,
last_binding,
return_types )
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.

◆ _in_order()

preprocessor.bound_method_dispatch._Rebound._in_order ( self,
scope,
name,
nodes )
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.

◆ _other_read()

preprocessor.bound_method_dispatch._Rebound._other_read ( self,
node,
name,
expected,
scope )
protected

◆ _other_reads()

preprocessor.bound_method_dispatch._Rebound._other_reads ( self,
scope,
name,
calls )
protected
The reads of `name` other than by `calls`, after refusing a binding
of it from another scope.

◆ _other_use()

preprocessor.bound_method_dispatch._Rebound._other_use ( self,
node,
name,
expected,
scope )
protected
Whether `node` reads `name` and is not among the `expected` reads, or
makes another scope bind it.

◆ _refuse()

preprocessor.bound_method_dispatch._Rebound._refuse ( self,
node,
message )
protected

◆ dispatched_statements()

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.

◆ rewrite()

preprocessor.bound_method_dispatch._Rebound.rewrite ( self,
variables,
next_id )
Rewrite the bindings and calls of each such name.

Member Data Documentation

◆ module

preprocessor.bound_method_dispatch._Rebound.module = module

◆ module_name

preprocessor.bound_method_dispatch._Rebound.module_name = module_name

◆ names_bound_by

preprocessor.bound_method_dispatch._Rebound.names_bound_by = names_bound_by

The documentation for this class was generated from the following file: