|
ESBMC
Efficient SMT-based Context-Bounded Model Checker
|
Classes | |
| class | _Lowering |
Functions | |
| _refuse (message, node, module_name) | |
| _namedtuple_aliases (module) | |
| _callee_name (func) | |
| _field_names (spec) | |
| _valid_fields (fields) | |
| _defaults (call, fields) | |
| _definition (stmt, aliases, module_name) | |
| _names_bound_by (node) | |
| _bound_identifiers (module) | |
| _assigned_value (target, parents) | |
| _returns (node) | |
| _returned_class (func, classes) | |
| _constructed_class (site, parents, classes, functions) | |
| _has_star_import (module) | |
| _instance_names (module, classes, bound) | |
| _class_attributes (module) | |
| _plain_arguments (node) | |
| _arguments (node, fields, defaults) | |
| lower_namedtuples (module, module_name) | |
Lower `collections.namedtuple` classes to plain tuples (#8487).
`N = namedtuple("N", fields)` at module level is dropped, a call `N(...)`
becomes the tuple of its arguments in field order, and `v.field` becomes
`v[i]` for a name `v` whose every binding in the module is `v = N(...)`.
Any other use of `N`, such as `isinstance(v, N)` or an annotation, is refused.
|
protected |
The arguments of the call @p node in field order, or None if invalid.
|
protected |
The value assigned to @p target when it is the sole target of an assignment.
|
protected |
Per identifier, the nodes that bind it anywhere in @p module.
|
protected |
|
protected |
The attribute names some class of @p module may define.
|
protected |
The class N when @p site is the target of `name = N(...)`, or of a call to a function that always returns one, else None.
|
protected |
The constant defaults of the rightmost fields, or None if not supported.
|
protected |
(name, fields, defaults) when @p stmt defines a namedtuple class.
|
protected |
The field names a namedtuple field spec lists, or None if not literal.
|
protected |
|
protected |
Per name whose every binding is `name = N(...)`, the class N.
|
protected |
The names that call `collections.namedtuple` at module level.
|
protected |
The identifiers @p node binds or declares.
|
protected |
|
protected |
|
protected |
The class N when every return of @p func, which cannot fall off its end, is `return N(...)` (#8969), else None.
|
protected |
The return statements of the function @p node, outside nested scopes.
|
protected |
| preprocessor.namedtuple_lowering.lower_namedtuples | ( | module, | |
| module_name ) |
Rewrite in place the namedtuple classes @p module defines at module level.