m2isar.metamodel.code_info

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.

LineInfoFactory

Factory class to create non-overlapping LineInfo objects.

FunctionInfoFactory

Factory class to create non-overlapping FunctionInfo objects.

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.

id: int[source]

Automatically calculated unique ID for tracking purposes in consumer programs.

file_path: str[source]
start_chr: int[source]
stop_chr: int[source]
start_line_no: int[source]
stop_line_no: int[source]
__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 LineInfoFactory[source]

Factory class to create non-overlapping LineInfo objects.

tracker[source]
classmethod make(file_path, start_chr, stop_chr, start_line_no, stop_line_no, placement=LineInfoPlacement.AFTER)[source]
class FunctionInfoFactory[source]

Factory class to create non-overlapping FunctionInfo objects.

tracker[source]
classmethod make(file_path, start_chr, stop_chr, start_line_no, stop_line_no, fn_name)[source]