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

Inheritance diagram of m2isar.metamodel.code_info.LineInfoPlacement

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

Inheritance diagram of m2isar.metamodel.code_info.LineInfo

Base class for tracking code info.

placement: LineInfoPlacement[source]
class FunctionInfo[source]

Bases: CodeInfoBase

Inheritance diagram of m2isar.metamodel.code_info.FunctionInfo

Base class for tracking code info.

fn_name: str[source]
class BranchInfo[source]

Bases: LineInfo

Inheritance diagram of m2isar.metamodel.code_info.BranchInfo

Base class for tracking code info.

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

Bases: BranchInfo

Inheritance diagram of m2isar.metamodel.code_info.BranchEntryInfo

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]