LIEF: Library to Instrument Executable Formats
Version 1.0.0
Toggle main menu visibility
Loading...
Searching...
No Matches
lief-install
x86_64
static
include
LIEF
DebugDeclOpt.hpp
Go to the documentation of this file.
1
/* Copyright 2022 - 2026 R. Thomas
2
*
3
* Licensed under the Apache License, Version 2.0 (the "License");
4
* you may not use this file except in compliance with the License.
5
* You may obtain a copy of the License at
6
*
7
* http://www.apache.org/licenses/LICENSE-2.0
8
*
9
* Unless required by applicable law or agreed to in writing, software
10
* distributed under the License is distributed on an "AS IS" BASIS,
11
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
* See the License for the specific language governing permissions and
13
* limitations under the License.
14
*/
15
#ifndef LIEF_DEBUG_DECL_OPT_H
16
#define LIEF_DEBUG_DECL_OPT_H
17
#include <cstdint>
18
#include <memory>
19
#include <string>
20
#include <unordered_map>
21
22
#include "
LIEF/compiler_attributes.hpp
"
23
#include "
LIEF/visibility.h
"
24
25
namespace
LIEF
{
26
namespace
details
{
27
class
DeclOpt;
28
}
29
36
class
LIEF_API
DeclOpt
{
37
public
:
41
using
type_aliases_t
= std::unordered_map<std::string, std::string>;
42
43
DeclOpt
();
44
45
DeclOpt
(
const
DeclOpt
& other);
46
DeclOpt
&
operator=
(
const
DeclOpt
& other);
47
48
DeclOpt
(
DeclOpt
&& other)
noexcept
;
49
DeclOpt
&
operator=
(
DeclOpt
&& other)
noexcept
;
50
51
~DeclOpt
();
52
54
uint32_t
indentation
()
const
;
55
DeclOpt
&
indentation
(uint32_t value)
LIEF_LIFETIMEBOUND
;
56
60
bool
is_cpp
()
const
;
61
DeclOpt
&
is_cpp
(
bool
value)
LIEF_LIFETIMEBOUND
;
62
68
bool
show_extended_annotations
()
const
;
69
DeclOpt
&
show_extended_annotations
(
bool
value)
LIEF_LIFETIMEBOUND
;
70
75
bool
include_types
()
const
;
76
DeclOpt
&
include_types
(
bool
value)
LIEF_LIFETIMEBOUND
;
77
79
bool
include_locals
()
const
;
80
DeclOpt
&
include_locals
(
bool
value)
LIEF_LIFETIMEBOUND
;
81
86
bool
desugar
()
const
;
87
DeclOpt
&
desugar
(
bool
value)
LIEF_LIFETIMEBOUND
;
88
99
bool
show_field_offsets
()
const
;
100
DeclOpt
&
show_field_offsets
(
bool
value)
LIEF_LIFETIMEBOUND
;
101
103
const
type_aliases_t
&
type_aliases
()
const
;
104
DeclOpt
&
type_aliases
(
type_aliases_t
aliases)
LIEF_LIFETIMEBOUND
;
105
107
DeclOpt
&
add_type_alias
(std::string name, std::string alias)
LIEF_LIFETIMEBOUND
;
108
109
private
:
110
std::unique_ptr<details::DeclOpt> impl_;
111
};
112
113
}
114
#endif
LIEF::DeclOpt::desugar
DeclOpt & desugar(bool value)
LIEF::DeclOpt::include_locals
DeclOpt & include_locals(bool value)
LIEF::DeclOpt::operator=
DeclOpt & operator=(const DeclOpt &other)
LIEF::DeclOpt::operator=
DeclOpt & operator=(DeclOpt &&other) noexcept
LIEF::DeclOpt::show_extended_annotations
bool show_extended_annotations() const
Enable extended comments and annotations.
LIEF::DeclOpt::include_types
bool include_types() const
Include full type definitions.
LIEF::DeclOpt::show_field_offsets
DeclOpt & show_field_offsets(bool value)
LIEF::DeclOpt::DeclOpt
DeclOpt(const DeclOpt &other)
LIEF::DeclOpt::indentation
uint32_t indentation() const
The number of spaces for indentation.
LIEF::DeclOpt::is_cpp
bool is_cpp() const
Prefer C++ syntax over C syntax.
LIEF::DeclOpt::type_aliases
DeclOpt & type_aliases(type_aliases_t aliases)
LIEF::DeclOpt::include_locals
bool include_locals() const
Emit a function body listing its local / stack variables.
LIEF::DeclOpt::DeclOpt
DeclOpt(DeclOpt &&other) noexcept
LIEF::DeclOpt::type_aliases_t
std::unordered_map< std::string, std::string > type_aliases_t
Mapping between a type name and a user-friendly aliases. (e.g. std::basic_string<char,...
Definition
DebugDeclOpt.hpp:41
LIEF::DeclOpt::add_type_alias
DeclOpt & add_type_alias(std::string name, std::string alias)
Register a single type alias.
LIEF::DeclOpt::indentation
DeclOpt & indentation(uint32_t value)
LIEF::DeclOpt::show_extended_annotations
DeclOpt & show_extended_annotations(bool value)
LIEF::DeclOpt::include_types
DeclOpt & include_types(bool value)
LIEF::DeclOpt::desugar
bool desugar() const
Resolve type aliases (sugar).
LIEF::DeclOpt::~DeclOpt
~DeclOpt()
LIEF::DeclOpt::show_field_offsets
bool show_field_offsets() const
Show the relative offset of each field/attribute in structures.
LIEF::DeclOpt::DeclOpt
DeclOpt()
LIEF::DeclOpt::is_cpp
DeclOpt & is_cpp(bool value)
LIEF::DeclOpt::type_aliases
const type_aliases_t & type_aliases() const
Mapping of type names to user-friendly aliases.
compiler_attributes.hpp
LIEF_LIFETIMEBOUND
#define LIEF_LIFETIMEBOUND
Definition
compiler_attributes.hpp:72
LIEF::details
Definition
Abstract/DebugInfo.hpp:27
LIEF
LIEF namespace.
Definition
Abstract/Binary.hpp:41
visibility.h
LIEF_API
#define LIEF_API
Definition
visibility.h:45
Generated by
1.17.0