retdec
|
#include <json_manager.h>
Public Member Functions | |
JsonOutputManager (llvm::raw_ostream &out) | |
virtual void | finalize () override |
virtual void | newLine () override |
virtual void | space (const std::string &space=" ") override |
virtual void | punctuation (char p) override |
virtual void | operatorX (const std::string &op) override |
virtual void | globalVariableId (const std::string &id) override |
virtual void | localVariableId (const std::string &id) override |
virtual void | memberId (const std::string &id) override |
virtual void | labelId (const std::string &id) override |
virtual void | functionId (const std::string &id) override |
virtual void | parameterId (const std::string &id) override |
virtual void | keyword (const std::string &k) override |
virtual void | dataType (const std::string &t) override |
virtual void | preprocessor (const std::string &p) override |
virtual void | include (const std::string &i) override |
virtual void | constantBool (const std::string &c) override |
virtual void | constantInt (const std::string &c) override |
virtual void | constantFloat (const std::string &c) override |
virtual void | constantString (const std::string &c) override |
virtual void | constantSymbol (const std::string &c) override |
virtual void | constantPointer (const std::string &c) override |
virtual void | comment (const std::string &comment) override |
virtual void | commentModifier () override |
virtual void | addressPush (Address a) override |
virtual void | addressPop () override |
![]() | |
virtual | ~OutputManager () |
void | setCommentPrefix (const std::string &prefix) |
const std::string & | getCommentPrefix () const |
void | setOutputLanguage (const std::string &lang) |
const std::string & | getOutputLanguage () const |
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 Member Functions | |
void | jsonToken (const std::string &k, const std::string &v) |
void | generateAddressEntry (Address a) |
Private Attributes | |
llvm::raw_ostream & | _out |
rapidjson::StringBuffer | sb |
Writer | writer |
std::stack< std::pair< Address, bool > > | _addrs |
std::pair< Address, bool > | _addrToGenerate |
bool | _commentModifierOn = false |
std::string | _runningComment |
retdec::llvmir2hll::JsonOutputManager< Writer >::JsonOutputManager | ( | llvm::raw_ostream & | out | ) |
|
overridevirtual |
Associates all subsequently added tokens with address that was used before the last addressPush(addr).
Implements retdec::llvmir2hll::OutputManager.
|
overridevirtual |
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.
Implements retdec::llvmir2hll::OutputManager.
|
overridevirtual |
Implements retdec::llvmir2hll::OutputManager.
|
overridevirtual |
Implements retdec::llvmir2hll::OutputManager.
|
overridevirtual |
Implements retdec::llvmir2hll::OutputManager.
|
overridevirtual |
Implements retdec::llvmir2hll::OutputManager.
|
overridevirtual |
Implements retdec::llvmir2hll::OutputManager.
|
overridevirtual |
Implements retdec::llvmir2hll::OutputManager.
|
overridevirtual |
Implements retdec::llvmir2hll::OutputManager.
|
overridevirtual |
Implements retdec::llvmir2hll::OutputManager.
|
overridevirtual |
Implements retdec::llvmir2hll::OutputManager.
|
overridevirtual |
Reimplemented from retdec::llvmir2hll::OutputManager.
|
overridevirtual |
Implements retdec::llvmir2hll::OutputManager.
|
private |
|
overridevirtual |
Implements retdec::llvmir2hll::OutputManager.
|
overridevirtual |
Implements retdec::llvmir2hll::OutputManager.
|
private |
|
overridevirtual |
Implements retdec::llvmir2hll::OutputManager.
|
overridevirtual |
Implements retdec::llvmir2hll::OutputManager.
|
overridevirtual |
Implements retdec::llvmir2hll::OutputManager.
|
overridevirtual |
Implements retdec::llvmir2hll::OutputManager.
|
overridevirtual |
Implements retdec::llvmir2hll::OutputManager.
|
overridevirtual |
Implements retdec::llvmir2hll::OutputManager.
|
overridevirtual |
Implements retdec::llvmir2hll::OutputManager.
|
overridevirtual |
Implements retdec::llvmir2hll::OutputManager.
|
overridevirtual |
Implements retdec::llvmir2hll::OutputManager.
|
overridevirtual |
Implements retdec::llvmir2hll::OutputManager.
|
private |
|
private |
|
private |
Used to implement commentModifier():
|
private |
|
private |
|
private |
|
private |