m2isar.metamodel.code_info

Attributes

LineInfoFactory

FunctionInfoFactory

BranchEntryInfoFactory

Classes

LineInfoPlacement

Generic enumeration.

CodeInfoBase

Base class for tracking code info.

LineInfo

Base class for tracking code info.

FunctionInfo

Base class for tracking code info.

BranchInfo

Base class for tracking code info.

BranchEntryInfo

Base class for tracking code info.

InfoFactory

Module Contents

class LineInfoPlacement[source]

Bases: enum.Enum

Generic enumeration.

Derive from this class to define new enumerations.

AFTER[source]
BEFORE[source]
class CodeInfoBase[source]

Base class for tracking code info.

file_path: str[source]
start_chr: int[source]
stop_chr: int[source]
start_line_no: int[source]
stop_line_no: int[source]
id: int = None[source]

Automatically calculated unique ID for tracking purposes in consumer programs.

__id_counter = 0[source]
database[source]

A global database of all created CodeInfo objects.

__post_init__()[source]
line_eq(other)[source]
__hash__() int[source]
line_hash()[source]
class LineInfo[source]

Bases: CodeInfoBase

Base class for tracking code info.

placement: LineInfoPlacement[source]
class FunctionInfo[source]

Bases: CodeInfoBase

Base class for tracking code info.

fn_name: str[source]
class BranchInfo[source]

Bases: LineInfo

Base class for tracking code info.

branch_id: int = None[source]
class BranchEntryInfo[source]

Bases: BranchInfo

Base class for tracking code info.

placement: LineInfoPlacement[source]
__post_init__()[source]
class InfoFactory(cls_to_use)[source]
cls_to_use[source]
tracker: dict[tuple[str, int, int], CodeInfoBase][source]
make(file_path, start_chr, stop_chr, start_line_no, stop_line_no, *args, **kwargs)[source]
LineInfoFactory[source]
FunctionInfoFactory[source]
BranchEntryInfoFactory[source]