Skip to content

Commit

Permalink
Add parseAPI/Parser.h
Browse files Browse the repository at this point in the history
  • Loading branch information
hainest committed Apr 3, 2024
1 parent f06faf8 commit 2bfc164
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 7 deletions.
38 changes: 36 additions & 2 deletions docs/parseAPI/developer/Parser.h.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,39 @@
.. _`sec:Parser.h`:

Parser.h
========
########

.. cpp:namespace:: Dyninst::ParseAPI

.. cpp:type:: Dyninst::InsnAdapter::IA_IAPI InstructionAdapter_t

.. cpp:class:: Parser

.. cpp:function:: Parser(CodeObject& obj, CFGFactory& fact, ParseCallbackManager& pcb)
.. cpp:function:: void add_hint(Function* f)
.. cpp:function:: Function* findFuncByEntry(CodeRegion* cr, Address entry)
.. cpp:function:: int findFuncsByBlock(CodeRegion* cr, Block* b, set<Function*>& funcs)
.. cpp:function:: int findFuncs(CodeRegion* cr, Address addr, set<Function*>& funcs)
.. cpp:function:: int findFuncs(CodeRegion* cr, Address start, Address end, set<Function*>& funcs)
.. cpp:function:: Block* findBlockByEntry(CodeRegion* cr, Address entry)
.. cpp:function:: int findBlocks(CodeRegion* cr, Address addr, set<Block*>& blocks)
.. cpp:function:: int findCurrentBlocks(CodeRegion* cr, Address addr, std::set<Block*>& blocks)

.. cpp:namespace:: Dyninst::parseAPI
Returns current blocks without parsing.

.. cpp:function:: int findCurrentFuncs(CodeRegion* cr, Address addr, set<Function*>& funcs)
.. cpp:function:: Block* findNextBlock(CodeRegion* cr, Address addr)
.. cpp:function:: void parse()
.. cpp:function:: void parse_at(CodeRegion* cr, Address addr, bool recursive, FuncSource src)
.. cpp:function:: void parse_at(Address addr, bool recursive, FuncSource src)
.. cpp:function:: void parse_edges(vector<ParseWorkElem*>& work_elems)
.. cpp:function:: CFGFactory& factory() const
.. cpp:function:: CodeObject& obj()
.. cpp:function:: void remove_block(Block* )
.. cpp:function:: void remove_func(Function* )
.. cpp:function:: void move_func(Function* , Address new_entry, CodeRegion* new_reg)
.. cpp:function:: Block* record_block(Block *b)
.. cpp:function:: void record_func(Function *f)
.. cpp:function:: void init_frame(ParseFrame &frame)
.. cpp:function:: bool finalize(Function *f)
.. cpp:function:: ParseData *parse_data()
5 changes: 0 additions & 5 deletions parseAPI/src/Parser.h
Original file line number Diff line number Diff line change
Expand Up @@ -119,10 +119,8 @@ namespace Dyninst {

~Parser();

/** Initialization & hints **/
void add_hint(Function *f);

// functions
Function *findFuncByEntry(CodeRegion *cr, Address entry);

int findFuncsByBlock(CodeRegion *cr, Block *b, set<Function*> &funcs);
Expand All @@ -131,12 +129,10 @@ namespace Dyninst {

int findFuncs(CodeRegion *cr, Address start, Address end, set<Function *> &funcs);

// blocks
Block *findBlockByEntry(CodeRegion *cr, Address entry);

int findBlocks(CodeRegion *cr, Address addr, set<Block *> &blocks);

// returns current blocks without parsing.
int findCurrentBlocks(CodeRegion *cr, Address addr, std::set<Block *> &blocks);

int findCurrentFuncs(CodeRegion *cr, Address addr, set<Function *> &funcs);
Expand All @@ -159,7 +155,6 @@ namespace Dyninst {

CodeObject &obj() { return _obj; }

// removal
void remove_block(Block *);

void remove_func(Function *);
Expand Down

0 comments on commit 2bfc164

Please sign in to comment.