mate_common.models.cpg_types.dwarf module

class mate_common.models.cpg_types.dwarf.CountSubrange(*, kind: mate_common.models.cpg_types.dwarf.DWARFSubrangeKind, count: int)

Bases: mate_common.models.cpg_types.dwarf.DWARFSubrange

Parameters
Return type

None

count: int
class mate_common.models.cpg_types.dwarf.DWARFEnumerator(*, name: str, unsigned: bool, value: int)

Bases: pydantic.main.BaseModel

Models an enum value in a DWARF enum type.

Parameters
  • name (str) –

  • unsigned (bool) –

  • value (int) –

Return type

None

name: str
unsigned: bool
value: int
class mate_common.models.cpg_types.dwarf.DWARFScope(*, tag: str, line: int, contiguous: bool, inlined: bool, va_start: int = None, va_end: int = None, range_list: List[List[int]] = None)

Bases: pydantic.main.BaseModel

A representation of the nearest enclosing lexical scope.

The enclosing scope will also contain virtual address range information, unless it has been optimized away.

Parameters
  • tag (str) –

  • line (int) –

  • contiguous (bool) –

  • inlined (bool) –

  • va_start (Optional[int]) –

  • va_end (Optional[int]) –

  • range_list (Optional[List[List[int]]]) –

Return type

None

contiguous: bool
inlined: bool
line: int
range_list: Optional[List[List[int]]]
tag: str
va_end: Optional[int]
va_start: Optional[int]
class mate_common.models.cpg_types.dwarf.DWARFSubrange(*, kind: mate_common.models.cpg_types.dwarf.DWARFSubrangeKind)

Bases: pydantic.main.BaseModel

Parameters

kind (mate_common.models.cpg_types.dwarf.DWARFSubrangeKind) –

Return type

None

is_variadic() bool
Return type

bool

kind: mate_common.models.cpg_types.dwarf.DWARFSubrangeKind
class mate_common.models.cpg_types.dwarf.DWARFSubrangeKind(value)

Bases: enum.Enum

Kinds of DWARF subrange type.

COUNT: Final[str] = 'count'
GLOBAL_VARIABLE: Final[str] = 'global_variable'
LOCAL_VARIABLE: Final[str] = 'local_variable'
class mate_common.models.cpg_types.dwarf.DWARFTypeCommonInfo(*, name: str, tag: str, size: int, align: int, offset: int, forward_decl: bool, virtual: bool, artificial: bool)

Bases: pydantic.main.BaseModel

Models the common information in every DWARF type.

Parameters
  • name (str) –

  • tag (str) –

  • size (int) –

  • align (int) –

  • offset (int) –

  • forward_decl (bool) –

  • virtual (bool) –

  • artificial (bool) –

Return type

None

align: int
artificial: bool
forward_decl: bool
name: str
offset: int
size: int
tag: str
virtual: bool
class mate_common.models.cpg_types.dwarf.DWARFTypeIDSentinel(value)

Bases: enum.Enum

Special sentinels for DWARF type IDs.

NONE: Final[str] = '()'
VARARGS: Final[str] = '(<varargs>)'
VOID: Final[str] = '(<void>)'
class mate_common.models.cpg_types.dwarf.DWARFTypeKind(value)

Bases: enum.Enum

Kinds of DWARF types.

ARRAY: Final[str] = 'array'
BASIC: Final[str] = 'basic'
CLASS: Final[str] = 'class'
COMPOSITE: Final[str] = 'composite'
COMPOSITE_CACHED: Final[str] = 'composite_cached'
DERIVED: Final[str] = 'derived'
ENUM: Final[str] = 'enum'
STRUCTURE: Final[str] = 'structure'
SUBROUTINE: Final[str] = 'subroutine'
UNION: Final[str] = 'union'
class mate_common.models.cpg_types.dwarf.GlobalVariableSubrange(*, kind: mate_common.models.cpg_types.dwarf.DWARFSubrangeKind, name: str, local_to_unit: bool, display_name: str, linkage_name: str)

Bases: mate_common.models.cpg_types.dwarf.DWARFSubrange

Parameters
Return type

None

display_name: str
linkage_name: str
local_to_unit: bool
name: str
class mate_common.models.cpg_types.dwarf.LocalVariableSubrange(*, kind: mate_common.models.cpg_types.dwarf.DWARFSubrangeKind, name: str, parameter: bool, arg: int, artificial: bool, object_pointer: bool)

Bases: mate_common.models.cpg_types.dwarf.DWARFSubrange

Parameters
Return type

None

arg: int
artificial: bool
name: str
object_pointer: bool
parameter: bool