Ghidra Decompiler Analysis Engine
|
An implementation of ConstantPool using a Ghidra client as the backing storage. More...
#include <cpool_ghidra.hh>
Public Member Functions | |
ConstantPoolGhidra (ArchitectureGhidra *g) | |
Constructor. | |
virtual const CPoolRecord * | getRecord (const vector< uintb > &refs) const |
Retrieve a constant pool record (CPoolRecord) given a reference to it. More... | |
virtual bool | empty (void) const |
Is the container empty of records. | |
virtual void | clear (void) |
Release any (local) resources. | |
virtual void | saveXml (ostream &s) const |
Save all records in this container to an XML stream. More... | |
virtual void | restoreXml (const Element *el, TypeFactory &typegrp) |
Restore constant pool records from an XML stream. More... | |
Public Member Functions inherited from ConstantPool | |
void | putRecord (const vector< uintb > &refs, uint4 tag, const string &tok, Datatype *ct) |
A a new constant pool record to this database. More... | |
const CPoolRecord * | restoreXmlRecord (const vector< uintb > &refs, const Element *el, TypeFactory &typegrp) |
Restore a CPoolRecord given a reference and an XML stream. More... | |
An implementation of ConstantPool using a Ghidra client as the backing storage.
The actual CPoolRecord objects are cached locally, but new queries are placed with the Ghidra client hosting the program currently being decompiled. The queries and response records are sent via XML. The saveXml() and restoreXml() methods are disabled. The clear() method only releases the local cache, no records on the Ghidra client are affected.
|
virtual |
Retrieve a constant pool record (CPoolRecord) given a reference to it.
refs | is the reference (made up of 1 or more identifying integers) |
Implements ConstantPool.
|
virtual |
Restore constant pool records from an XML stream.
(If supported) The container is populated with CPooLRecords initialized from a <constantpool> XML tag.
el | is the XML element |
typegrp | is the TypeFactory used to resolve data-type references in the XML |
Implements ConstantPool.
|
virtual |
Save all records in this container to an XML stream.
(If supported) An <constantpool> element is written containing <cpoolrec> child elements for each CPoolRecord in the container.
s | is the output stream |
Implements ConstantPool.