retdec
Public Member Functions | Private Attributes | List of all members
retdec::llvmir2hll::OutputManager Class Referenceabstract

#include <output_manager.h>

Inheritance diagram for retdec::llvmir2hll::OutputManager:
Inheritance graph
[legend]
Collaboration diagram for retdec::llvmir2hll::OutputManager:
Collaboration graph
[legend]

Public Member Functions

virtual ~OutputManager ()
 
virtual void finalize ()
 
void setCommentPrefix (const std::string &prefix)
 
const std::string & getCommentPrefix () const
 
void setOutputLanguage (const std::string &lang)
 
const std::string & getOutputLanguage () const
 
virtual void newLine ()=0
 
virtual void space (const std::string &space=" ")=0
 
virtual void punctuation (char p)=0
 
virtual void operatorX (const std::string &op)=0
 
virtual void globalVariableId (const std::string &id)=0
 
virtual void localVariableId (const std::string &id)=0
 
virtual void memberId (const std::string &id)=0
 
virtual void labelId (const std::string &id)=0
 
virtual void functionId (const std::string &id)=0
 
virtual void parameterId (const std::string &id)=0
 
virtual void keyword (const std::string &k)=0
 
virtual void dataType (const std::string &t)=0
 
virtual void preprocessor (const std::string &p)=0
 
virtual void include (const std::string &i)=0
 
virtual void constantBool (const std::string &c)=0
 
virtual void constantInt (const std::string &c)=0
 
virtual void constantFloat (const std::string &c)=0
 
virtual void constantString (const std::string &c)=0
 
virtual void constantSymbol (const std::string &c)=0
 
virtual void constantPointer (const std::string &c)=0
 
virtual void comment (const std::string &comment)=0
 
virtual void commentModifier ()=0
 
virtual void addressPush (Address a)=0
 
virtual void addressPop ()=0
 
virtual void operatorX (const std::string &op, bool spaceBefore, bool spaceAfter)
 
virtual void comment (const std::string &comment, const std::string &indent)
 
virtual void commentLine (const std::string &comment, const std::string &indent="")
 
virtual void includeLine (const std::string &header, const std::string &indent="", const std::string &comment="")
 
virtual void typedefLine (const std::string &indent, const std::string &t1, const std::string &t2)
 

Private Attributes

std::string _commentPrefix
 
std::string _outLanguage
 

Constructor & Destructor Documentation

◆ ~OutputManager()

retdec::llvmir2hll::OutputManager::~OutputManager ( )
virtual

Member Function Documentation

◆ addressPop()

virtual void retdec::llvmir2hll::OutputManager::addressPop ( )
pure virtual

Associates all subsequently added tokens with address that was used before the last addressPush(addr).

Implemented in retdec::llvmir2hll::PlainOutputManager, and retdec::llvmir2hll::JsonOutputManager< Writer >.

◆ addressPush()

virtual void retdec::llvmir2hll::OutputManager::addressPush ( Address  a)
pure virtual

Associates all subsequently added tokens with the passed address. Intended to be used in pair with addressPop(). Every addressPush() must have a corresponding addressPop() that always gets executed (e.g. cannot be skipped because of early function return or similar). Together, these methods are designed to recursively encapsulate token blocks with the same address.

Implemented in retdec::llvmir2hll::PlainOutputManager, and retdec::llvmir2hll::JsonOutputManager< Writer >.

◆ comment() [1/2]

virtual void retdec::llvmir2hll::OutputManager::comment ( const std::string &  comment)
pure virtual

◆ comment() [2/2]

void retdec::llvmir2hll::OutputManager::comment ( const std::string &  comment,
const std::string &  indent 
)
virtual

◆ commentLine()

void retdec::llvmir2hll::OutputManager::commentLine ( const std::string &  comment,
const std::string &  indent = "" 
)
virtual

◆ commentModifier()

virtual void retdec::llvmir2hll::OutputManager::commentModifier ( )
pure virtual

◆ constantBool()

virtual void retdec::llvmir2hll::OutputManager::constantBool ( const std::string &  c)
pure virtual

◆ constantFloat()

virtual void retdec::llvmir2hll::OutputManager::constantFloat ( const std::string &  c)
pure virtual

◆ constantInt()

virtual void retdec::llvmir2hll::OutputManager::constantInt ( const std::string &  c)
pure virtual

◆ constantPointer()

virtual void retdec::llvmir2hll::OutputManager::constantPointer ( const std::string &  c)
pure virtual

◆ constantString()

virtual void retdec::llvmir2hll::OutputManager::constantString ( const std::string &  c)
pure virtual

◆ constantSymbol()

virtual void retdec::llvmir2hll::OutputManager::constantSymbol ( const std::string &  c)
pure virtual

◆ dataType()

virtual void retdec::llvmir2hll::OutputManager::dataType ( const std::string &  t)
pure virtual

◆ finalize()

void retdec::llvmir2hll::OutputManager::finalize ( )
virtual

◆ functionId()

virtual void retdec::llvmir2hll::OutputManager::functionId ( const std::string &  id)
pure virtual

◆ getCommentPrefix()

const std::string & retdec::llvmir2hll::OutputManager::getCommentPrefix ( ) const

◆ getOutputLanguage()

const std::string & retdec::llvmir2hll::OutputManager::getOutputLanguage ( ) const

◆ globalVariableId()

virtual void retdec::llvmir2hll::OutputManager::globalVariableId ( const std::string &  id)
pure virtual

◆ include()

virtual void retdec::llvmir2hll::OutputManager::include ( const std::string &  i)
pure virtual

◆ includeLine()

void retdec::llvmir2hll::OutputManager::includeLine ( const std::string &  header,
const std::string &  indent = "",
const std::string &  comment = "" 
)
virtual

◆ keyword()

virtual void retdec::llvmir2hll::OutputManager::keyword ( const std::string &  k)
pure virtual

◆ labelId()

virtual void retdec::llvmir2hll::OutputManager::labelId ( const std::string &  id)
pure virtual

◆ localVariableId()

virtual void retdec::llvmir2hll::OutputManager::localVariableId ( const std::string &  id)
pure virtual

◆ memberId()

virtual void retdec::llvmir2hll::OutputManager::memberId ( const std::string &  id)
pure virtual

◆ newLine()

virtual void retdec::llvmir2hll::OutputManager::newLine ( )
pure virtual

◆ operatorX() [1/2]

virtual void retdec::llvmir2hll::OutputManager::operatorX ( const std::string &  op)
pure virtual

◆ operatorX() [2/2]

void retdec::llvmir2hll::OutputManager::operatorX ( const std::string &  op,
bool  spaceBefore,
bool  spaceAfter 
)
virtual

◆ parameterId()

virtual void retdec::llvmir2hll::OutputManager::parameterId ( const std::string &  id)
pure virtual

◆ preprocessor()

virtual void retdec::llvmir2hll::OutputManager::preprocessor ( const std::string &  p)
pure virtual

◆ punctuation()

virtual void retdec::llvmir2hll::OutputManager::punctuation ( char  p)
pure virtual

◆ setCommentPrefix()

void retdec::llvmir2hll::OutputManager::setCommentPrefix ( const std::string &  prefix)

◆ setOutputLanguage()

void retdec::llvmir2hll::OutputManager::setOutputLanguage ( const std::string &  lang)

◆ space()

virtual void retdec::llvmir2hll::OutputManager::space ( const std::string &  space = " ")
pure virtual

◆ typedefLine()

void retdec::llvmir2hll::OutputManager::typedefLine ( const std::string &  indent,
const std::string &  t1,
const std::string &  t2 
)
virtual

Member Data Documentation

◆ _commentPrefix

std::string retdec::llvmir2hll::OutputManager::_commentPrefix
private

◆ _outLanguage

std::string retdec::llvmir2hll::OutputManager::_outLanguage
private

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