vagd.gdb.xmethod

Classes

_XMethod

Base class for protocol classes.

XMethod

_XMethodWorker

Base class for protocol classes.

XMethodWorker

_XMethodMatcher

Base class for protocol classes.

XMethodMatcher

Functions

register_xmethod_matcher(→ None)

Module Contents

vagd.gdb.xmethod.register_xmethod_matcher(locus: gdb.Objfile | gdb.Progspace | None, matcher: _XMethodMatcher, replace: bool = ...) None
class vagd.gdb.xmethod._XMethod

Bases: Protocol

Base class for protocol classes.

Protocol classes are defined as:

class Proto(Protocol):
    def meth(self) -> int:
        ...

Such classes are primarily used with static type checkers that recognize structural subtyping (static duck-typing).

For example:

class C:
    def meth(self) -> int:
        return 0

def func(x: Proto) -> int:
    return x.meth()

func(C())  # Passes static type check

See PEP 544 for details. Protocol classes decorated with @typing.runtime_checkable act as simple-minded runtime protocols that check only the presence of given attributes, ignoring their type signatures. Protocol classes can be generic, they are defined as:

class GenProto[T](Protocol):
    def meth(self) -> T:
        ...
name: str
enabled: bool
class vagd.gdb.xmethod.XMethod(name: str)
name: str
enabled: bool
class vagd.gdb.xmethod._XMethodWorker

Bases: Protocol

Base class for protocol classes.

Protocol classes are defined as:

class Proto(Protocol):
    def meth(self) -> int:
        ...

Such classes are primarily used with static type checkers that recognize structural subtyping (static duck-typing).

For example:

class C:
    def meth(self) -> int:
        return 0

def func(x: Proto) -> int:
    return x.meth()

func(C())  # Passes static type check

See PEP 544 for details. Protocol classes decorated with @typing.runtime_checkable act as simple-minded runtime protocols that check only the presence of given attributes, ignoring their type signatures. Protocol classes can be generic, they are defined as:

class GenProto[T](Protocol):
    def meth(self) -> T:
        ...
get_arg_types() collections.abc.Sequence[gdb.Type]
get_result_type(*args: gdb.Value) gdb.Type
__call__(*args: gdb.Value) object
class vagd.gdb.xmethod.XMethodWorker
class vagd.gdb.xmethod._XMethodMatcher(name: str)

Bases: Protocol

Base class for protocol classes.

Protocol classes are defined as:

class Proto(Protocol):
    def meth(self) -> int:
        ...

Such classes are primarily used with static type checkers that recognize structural subtyping (static duck-typing).

For example:

class C:
    def meth(self) -> int:
        return 0

def func(x: Proto) -> int:
    return x.meth()

func(C())  # Passes static type check

See PEP 544 for details. Protocol classes decorated with @typing.runtime_checkable act as simple-minded runtime protocols that check only the presence of given attributes, ignoring their type signatures. Protocol classes can be generic, they are defined as:

class GenProto[T](Protocol):
    def meth(self) -> T:
        ...
enabled: bool
methods: list[_XMethod]
match(class_type: gdb.Type, method_name: str) _XMethodWorker
class vagd.gdb.xmethod.XMethodMatcher