ESBMC
Efficient SMT-based Context-Bounded Model Checker
Loading...
Searching...
No Matches
preprocessor.module_rewrite_mixin Namespace Reference

Classes

class  ModuleRewriteMixin

Functions

 _reads_now (stmt, name)
 _binds (stmt, name)
 _rename_shadowed_classes (module)
 _referenced_names (module)

Function Documentation

◆ _binds()

preprocessor.module_rewrite_mixin._binds ( stmt,
name )
protected
Whether the module-level statement `stmt` always rebinds `name`.

◆ _reads_now()

preprocessor.module_rewrite_mixin._reads_now ( stmt,
name )
protected
Whether running `stmt` reads `name`: function and lambda bodies run
later, so only their decorators and defaults count.

◆ _referenced_names()

preprocessor.module_rewrite_mixin._referenced_names ( module)
protected
The names `module` reads, deletes or updates in place.

◆ _rename_shadowed_classes()

preprocessor.module_rewrite_mixin._rename_shadowed_classes ( module)
protected
Rename a module-level class that a later module-level statement rebinds
before anything reads it, as in `class C: ...` then `C = f`. Every read of
`C` then means the new binding, which the converter would otherwise take
for the class (#8343).