retdec
Public Member Functions | Public Attributes | Private Attributes | List of all members
retdec::common::Class Class Reference

#include <class.h>

Collaboration diagram for retdec::common::Class:
Collaboration graph
[legend]

Public Member Functions

 Class (const std::string &className=std::string())
 
bool operator< (const Class &o) const
 
bool operator== (const Class &o) const
 
Class get methods.
std::string getId () const
 
std::string getName () const
 
std::string getDemangledName () const
 
const std::vector< std::string > & getSuperClasses () const
 
bool hasConstructor (const std::string &name) const
 
bool hasDestructor (const std::string &name) const
 
bool hasMethod (const std::string &name) const
 
bool hasVirtualMethod (const std::string &name) const
 
bool hasFunction (const std::string &name) const
 
Class set methods.
void setName (const std::string &name)
 
void setDemangledName (const std::string &demangledName)
 
Class modification methods.
bool addSuperClass (const std::string &superClass)
 

Public Attributes

std::set< std::string > superClasses
 
std::set< std::string > virtualMethods
 
std::set< std::string > constructors
 
std::set< std::string > destructors
 
std::set< std::string > methods
 
std::set< std::string > virtualTables
 

Private Attributes

std::string _name
 
std::string _demangledName
 
std::vector< std::string > _superClasses
 

Detailed Description

Represents C++ class. Class name is its unique ID.

Constructor & Destructor Documentation

◆ Class()

retdec::common::Class::Class ( const std::string &  className = std::string())

Member Function Documentation

◆ addSuperClass()

bool retdec::common::Class::addSuperClass ( const std::string &  superClass)

New super class is added only if there is not existing superclass of that name.

Returns
True if superclass was added, false otherwise.

◆ getDemangledName()

std::string retdec::common::Class::getDemangledName ( ) const

◆ getId()

std::string retdec::common::Class::getId ( ) const
Returns
Class's ID is its name.

◆ getName()

std::string retdec::common::Class::getName ( ) const

◆ getSuperClasses()

const std::vector< std::string > & retdec::common::Class::getSuperClasses ( ) const

◆ hasConstructor()

bool retdec::common::Class::hasConstructor ( const std::string &  name) const

Has the class a constructor of the given name?

◆ hasDestructor()

bool retdec::common::Class::hasDestructor ( const std::string &  name) const

Has the class a destructor of the given name?

◆ hasFunction()

bool retdec::common::Class::hasFunction ( const std::string &  name) const

Does a function with the given name belong to the class?

The function may be a constructor, destructor, method, or virtual method.

◆ hasMethod()

bool retdec::common::Class::hasMethod ( const std::string &  name) const

Has the class a method of the given name?

Only non-virtual methods are considered. If you want to check whether a class has a virtual method, use hasVirtualMethod().

◆ hasVirtualMethod()

bool retdec::common::Class::hasVirtualMethod ( const std::string &  name) const

Has the class a virtual method of the given name?

◆ operator<()

bool retdec::common::Class::operator< ( const Class o) const

Classes are ordered by their names.

◆ operator==()

bool retdec::common::Class::operator== ( const Class o) const

Classes are equal if their names are equal.

◆ setDemangledName()

void retdec::common::Class::setDemangledName ( const std::string &  demangledName)

◆ setName()

void retdec::common::Class::setName ( const std::string &  name)

Member Data Documentation

◆ _demangledName

std::string retdec::common::Class::_demangledName
private

◆ _name

std::string retdec::common::Class::_name
private

◆ _superClasses

std::vector<std::string> retdec::common::Class::_superClasses
private

◆ constructors

std::set<std::string> retdec::common::Class::constructors

◆ destructors

std::set<std::string> retdec::common::Class::destructors

◆ methods

std::set<std::string> retdec::common::Class::methods

◆ superClasses

std::set<std::string> retdec::common::Class::superClasses

◆ virtualMethods

std::set<std::string> retdec::common::Class::virtualMethods

◆ virtualTables

std::set<std::string> retdec::common::Class::virtualTables

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