LIEF: Library to Instrument Executable Formats Version 0.17.0
Loading...
Searching...
No Matches
LIEF::dwarf::Scope Class Reference

This class materializes a scope in which Function, Variable, Type, ... can be defined. More...

#include <Scope.hpp>

Public Types

enum class  TYPE : uint32_t {
  UNKNOWN = 0 , UNION , CLASS , STRUCT ,
  NAMESPACE , FUNCTION , COMPILATION_UNIT
}
 

Public Member Functions

 Scope (std::unique_ptr< details::Scope > impl)
 
std::string name () const
 Name of the scope. For instance namespace's name or function's name.
 
std::unique_ptr< Scopeparent () const
 Parent scope (if any)
 
TYPE type () const
 The current scope type.
 
std::string chained (const std::string &sep="::") const
 Represent the whole chain of all (parent) scopes using the provided separator. E.g. ns1::ns2::Class1::Struct2::Type
 
 ~Scope ()
 

Detailed Description

This class materializes a scope in which Function, Variable, Type, ... can be defined.

Member Enumeration Documentation

◆ TYPE

enum class LIEF::dwarf::Scope::TYPE : uint32_t
strong
Enumerator
UNKNOWN 
UNION 
CLASS 
STRUCT 
NAMESPACE 
FUNCTION 
COMPILATION_UNIT 

Constructor & Destructor Documentation

◆ Scope()

LIEF::dwarf::Scope::Scope ( std::unique_ptr< details::Scope > impl)

◆ ~Scope()

LIEF::dwarf::Scope::~Scope ( )

Member Function Documentation

◆ chained()

std::string LIEF::dwarf::Scope::chained ( const std::string & sep = "::") const

Represent the whole chain of all (parent) scopes using the provided separator. E.g. ns1::ns2::Class1::Struct2::Type

◆ name()

std::string LIEF::dwarf::Scope::name ( ) const

Name of the scope. For instance namespace's name or function's name.

◆ parent()

std::unique_ptr< Scope > LIEF::dwarf::Scope::parent ( ) const

Parent scope (if any)

◆ type()

TYPE LIEF::dwarf::Scope::type ( ) const

The current scope type.


The documentation for this class was generated from the following file: