MCPcopy Create free account
hub / github.com/lief-project/LIEF / Scope>

Method Scope>

api/python/src/DWARF/pyScope.cpp:10–54  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

8namespace LIEF::dwarf::py {
9template<>
10void create<dw::Scope>(nb::module_& m) {
11 nb::class_<dw::Scope> scope(m, "Scope",
12 R"doc(
13 This class materializes a scope in which :class:`~.dwarf.Function`,
14 :class:`~.dwarf.Variable`, :class:`~.dwarf.Type`, ... can be defined.
15 )doc"_doc
16 );
17
18 nb::enum_<dw::Scope::TYPE>(scope, "TYPE")
19 .value("UNKNOWN", dw::Scope::TYPE::UNKNOWN)
20 .value("UNION", dw::Scope::TYPE::UNION)
21 .value("CLASS", dw::Scope::TYPE::CLASS)
22 .value("STRUCT", dw::Scope::TYPE::STRUCT)
23 .value("NAMESPACE", dw::Scope::TYPE::NAMESPACE)
24 .value("FUNCTION", dw::Scope::TYPE::FUNCTION)
25 .value("COMPILATION_UNIT", dw::Scope::TYPE::COMPILATION_UNIT)
26 ;
27
28 scope
29 .def_prop_ro("name", &dw::Scope::name,
30 R"doc(
31 Name of the scope. For instance namespace's name or function's name.
32 )doc"_doc
33 )
34
35 .def_prop_ro("parent", &dw::Scope::parent,
36 R"doc(
37 Parent scope (if any).
38 )doc"_doc
39 )
40
41 .def_prop_ro("type", &dw::Scope::type,
42 R"doc(
43 The current scope type.
44 )doc"_doc
45 )
46
47 .def("chained", &dw::Scope::chained,
48 R"doc(
49 Represent the whole chain of all (parent) scopes using the provided
50 separator. E.g. ``ns1::ns2::Class1::Struct2::Type``.
51 )doc"_doc, "sep"_a = "::"
52 )
53 ;
54}
55}

Callers

nothing calls this directly

Calls 1

valueMethod · 0.45

Tested by

no test coverage detected