angr.go.utils.names

angr.go.utils.names.is_go_morestack_name(name)
Return type:

bool

Parameters:

name (str | None)

angr.go.utils.names.is_go_morestack_call(project, call)

Whether call targets a goroutine stack-growth stub, identified by name or (in binaries without names) by the shape-based identification CFGFast records.

Return type:

bool

Parameters:

call (Call)

angr.go.utils.names.call_target_name(project, call)

The name of the function a call targets, or None if the target is not a known function.

Return type:

str | None

Parameters:

call (Call)

angr.go.utils.names.is_go_closure_name(name)

pkg.f.func1, pkg.f.gowrap2, pkg.T.M-fm: bodies that receive a closure context.

Return type:

bool

Parameters:

name (str | None)

angr.go.utils.names.split_go_func_name(name)

pkg/path.(*T[A]).M -> ("pkg/path", ["(*T[A])", "M"]): the package path, then the dot-separated parts after it. Dots, commas and slashes inside type arguments (F[go.shape.struct { a.B }]) do not split.

Return type:

tuple[str, list[str]] | None

Parameters:

name (str)

angr.go.utils.names.split_go_method_name(name)

pkg.(*T).M -> (pkg, "T", True, "M"), pkg.T[A].M -> (pkg, "T[A]", False, "M"); None for plain functions and closures (pkg.f.func1, pkg.T.M-fm).

Return type:

tuple[str, str, bool, str] | None

Parameters:

name (str)