ESBMC
Efficient SMT-based Context-Bounded Model Checker
Loading...
Searching...
No Matches
threading_lowering.py File Reference

Namespaces

namespace  parser
namespace  parser.threading_lowering

Functions

None parser.threading_lowering._emit_error (str source_filename, int|str line, str message)
None parser.threading_lowering.reject_unsupported_threading_usage (ast.AST tree, str source_filename)
tuple[set[str], set[str]] parser.threading_lowering._collect_thread_aliases (ast.AST tree)
bool parser.threading_lowering._is_thread_constructor (ast.Call call_node, set[str] module_aliases, set[str] thread_aliases)
bool parser.threading_lowering._is_thread_construction_with_target_kw (ast.expr|None value, set[str] module_aliases, set[str] thread_aliases)
bool parser.threading_lowering._base_is_thread (ast.expr base, set[str] module_aliases, set[str] thread_aliases)
dict[str, ast.ClassDef] parser.threading_lowering._collect_thread_subclass_defs (ast.AST tree, set[str] module_aliases, set[str] thread_aliases)
bool parser.threading_lowering._is_subclass_constructor (ast.Call call_node, set[str] subclass_names)
tuple[str|None, ast.expr|None] parser.threading_lowering._extract_name_binding (ast.stmt stmt)
str parser.threading_lowering._call_class_name (ast.Call call_node)
bool parser.threading_lowering._is_super_call_expr (ast.AST node)
bool parser.threading_lowering._is_super_init_call_stmt (ast.stmt stmt)
str|None parser.threading_lowering._target_name_chain (ast.AST node)
list[list[ast.stmt]] parser.threading_lowering._scope_bodies (ast.Module tree)
list[ast.stmt] parser.threading_lowering._collect_scope_statements (list[ast.stmt] body)
set[str] parser.threading_lowering._declared_outer_names (list[ast.stmt] body)
Iterator[ast.AST] parser.threading_lowering._iter_scope_nodes (list[ast.stmt] body)
Iterator[list[ast.stmt]] parser.threading_lowering._iter_scope_stmt_lists (list[ast.stmt] body)
dict[int, ast.AST] parser.threading_lowering._parent_map (ast.AST tree)
bool parser.threading_lowering._inside_loop_within_scope (ast.AST node, dict[int, ast.AST] parents)
dict[str, int] parser.threading_lowering._scope_name_assign_counts (list[ast.stmt] body)
None parser.threading_lowering.validate_threading_thread_usage (ast.Module tree, str source_filename)
str|None parser.threading_lowering._thread_method_receiver (ast.AST node, set[str] thread_var_names, str method)
tuple[dict[int, dict[str, tuple[int, ast.Call]]], int] parser.threading_lowering._collect_thread_var_sites (ast.Module tree, set[str] module_aliases, set[str] thread_aliases, int starting_id=0)
tuple[dict[str, tuple[int, ast.Call]], int] parser.threading_lowering._collect_subclass_sites (ast.Module tree, set[str] subclass_names, int starting_id)
tuple[dict[int, dict[str, tuple[int, ast.Call]]], int] parser.threading_lowering._collect_func_subclass_sites (ast.Module tree, set[str] subclass_names, int starting_id)
None parser.threading_lowering._hoist_func_subclass_binding (list[ast.stmt] scope_body, str var_name, str obj_name)
tuple[ast.expr, list[ast.expr]] parser.threading_lowering._thread_call_keywords (ast.Call call_node)
ast.expr parser.threading_lowering._build_target_call (ast.expr target_expr, int site_id, int n_args)
ast.FunctionDef parser.threading_lowering._build_trampoline (int site_id, ast.expr target_expr, int n_args)
ast.FunctionDef parser.threading_lowering._build_subclass_trampoline (int site_id, str var_name)
ast.AnnAssign parser.threading_lowering._build_obj_declaration (str obj_name, str class_name)
ast.Assign parser.threading_lowering._build_tid_declaration (int site_id)
None parser.threading_lowering._strip_thread_inheritance (ast.ClassDef class_node, set[str] module_aliases, set[str] thread_aliases)
ast.stmt parser.threading_lowering._build_arg_declaration (int site_id, int arg_index, ast.expr arg_value)
ast.Assign parser.threading_lowering._build_arg_assignment (int site_id, int arg_index, ast.expr value)
ast.Call parser.threading_lowering._build_bare_thread_call (ast.Call original_call)
list[ast.stmt] parser.threading_lowering._build_start_statements (int site_id)
ast.Expr parser.threading_lowering._build_join_call (int site_id)
list[ast.stmt] parser.threading_lowering._rewrite_construction_stmt (ast.stmt stmt, ast.Call call_node, int site_id)
None parser.threading_lowering.lower_threading_thread_usage (ast.Module tree, str source_filename)
int|None parser.threading_lowering._find_binding_stmt_index (ast.Module tree, ast.Call call_node)
None parser.threading_lowering._rewrite_body_in_place (list[ast.stmt] body, dict[str, tuple[int, ast.Call]] scope_sites, set[str] module_aliases, set[str] thread_aliases)
list[ast.stmt]|None parser.threading_lowering._try_rewrite_statement (ast.stmt stmt, dict[str, tuple[int, ast.Call]] scope_sites, set[str] module_aliases, set[str] thread_aliases)

Variables

 parser.threading_lowering.SUPPORTED_THREADING_SYMBOLS = frozenset({"Lock", "Thread"})
 parser.threading_lowering.UNSUPPORTED_THREAD_KWARGS = frozenset({"daemon", "name", "kwargs", "group"})
 parser.threading_lowering.THREAD_OVERRIDE_REJECTED_METHODS = frozenset({"start", "join"})
tuple parser.threading_lowering._SCOPE_NODES
 parser.threading_lowering.lineno
 parser.threading_lowering.body