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

Public Member Functions

 __init__ (self, scope, name, next_id)
 bind (self, assign, variables)
 call (self, stmt)
 start (self)

Public Attributes

 scope = scope
 name = name
str selector = f"ESBMC_bound_sel_{next_id()}"
 next_id = next_id
list methods = []

Protected Member Functions

 _select (self, number)

Detailed Description

The rewrite of one name bound to methods at several sites of one scope.

Constructor & Destructor Documentation

◆ __init__()

preprocessor.bound_method_dispatch._Dispatch.__init__ ( self,
scope,
name,
next_id )

Member Function Documentation

◆ _select()

preprocessor.bound_method_dispatch._Dispatch._select ( self,
number )
protected

◆ bind()

preprocessor.bound_method_dispatch._Dispatch.bind ( self,
assign,
variables )
The statements replacing `assign`: store its receiver, unless it is
bound only by an import, a definition or a builtin, and select it. A
`def` is renamed and selected after it.

◆ call()

preprocessor.bound_method_dispatch._Dispatch.call ( self,
stmt )
The if/elif replacing `stmt`, whose arm `n` calls the method of binding `n`.

◆ start()

preprocessor.bound_method_dispatch._Dispatch.start ( self)
Clear the selector at the start of the scope.

Member Data Documentation

◆ methods

preprocessor.bound_method_dispatch._Dispatch.methods = []

◆ name

preprocessor.bound_method_dispatch._Dispatch.name = name

◆ next_id

preprocessor.bound_method_dispatch._Dispatch.next_id = next_id

◆ scope

preprocessor.bound_method_dispatch._Dispatch.scope = scope

◆ selector

str preprocessor.bound_method_dispatch._Dispatch.selector = f"ESBMC_bound_sel_{next_id()}"

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