| 38 | namespace LIEF::dwarf::py { |
| 39 | template<> |
| 40 | void create<dw::Type>(nb::module_& m) { |
| 41 | nb::module_ types = m.def_submodule("types", "DWARF Types"_doc); |
| 42 | |
| 43 | nb::class_<dw::Type> type(m, "Type", |
| 44 | R"doc( |
| 45 | This class represents a DWARF Type which includes: |
| 46 | |
| 47 | - ``DW_TAG_array_type`` |
| 48 | - ``DW_TAG_const_type`` |
| 49 | - ``DW_TAG_pointer_type`` |
| 50 | - ``DW_TAG_structure_type`` |
| 51 | - ``DW_TAG_base_type`` |
| 52 | - ``DW_TAG_class_type`` |
| 53 | - ``DW_TAG_enumeration_type`` |
| 54 | - ``DW_TAG_string_type`` |
| 55 | - ``DW_TAG_union_type`` |
| 56 | - ``DW_TAG_volatile_type`` |
| 57 | - ``DW_TAG_unspecified_type`` |
| 58 | - ``DW_TAG_typedef`` |
| 59 | - ``DW_TAG_reference_type`` |
| 60 | - ``DW_TAG_subroutine_type`` |
| 61 | - ``DW_TAG_ptr_to_member_type`` |
| 62 | - ``DW_TAG_set_type`` |
| 63 | - ``DW_TAG_packed_type`` |
| 64 | - ``DW_TAG_file_type`` |
| 65 | - ``DW_TAG_thrown_type`` |
| 66 | - ``DW_TAG_restrict_type`` |
| 67 | - ``DW_TAG_interface_type`` |
| 68 | - ``DW_TAG_shared_type`` |
| 69 | - ``DW_TAG_rvalue_reference_type`` |
| 70 | - ``DW_TAG_template_alias`` |
| 71 | - ``DW_TAG_coarray_type`` |
| 72 | - ``DW_TAG_dynamic_type`` |
| 73 | - ``DW_TAG_atomic_type`` |
| 74 | - ``DW_TAG_immutable_type`` |
| 75 | |
| 76 | )doc"_doc |
| 77 | ); |
| 78 | |
| 79 | nb::enum_<Type::KIND>(type, "KIND") |
| 80 | .value("UNKNOWN", Type::KIND::UNKNOWN) |
| 81 | .value("UNSPECIFIED", Type::KIND::UNSPECIFIED) |
| 82 | .value("BASE", Type::KIND::BASE) |
| 83 | .value("CONST_KIND", Type::KIND::CONST_KIND) |
| 84 | .value("CLASS", Type::KIND::CLASS) |
| 85 | .value("ARRAY", Type::KIND::ARRAY) |
| 86 | .value("POINTER", Type::KIND::POINTER) |
| 87 | .value("STRUCT", Type::KIND::STRUCT) |
| 88 | .value("UNION", Type::KIND::UNION) |
| 89 | .value("TYPEDEF", Type::KIND::TYPEDEF) |
| 90 | .value("REF", Type::KIND::REF) |
| 91 | .value("SET_TYPE", Type::KIND::SET_TYPE) |
| 92 | .value("STRING", Type::KIND::STRING) |
| 93 | .value("SUBROUTINE", Type::KIND::SUBROUTINE) |
| 94 | .value("POINTER_MEMBER", Type::KIND::POINTER_MEMBER) |
| 95 | .value("PACKED", Type::KIND::PACKED) |
| 96 | .value("FILE", Type::KIND::FILE) |
| 97 | .value("THROWN", Type::KIND::THROWN) |
nothing calls this directly
no test coverage detected