![]() |
Spicy
|
Public Member Functions | |
void | collect (Node &node) override |
bool | prune_decls (Node &node) override |
result_t | operator() (const Module &m, position_t p) |
result_t | operator() (const declaration::Field &x, position_t p) |
result_t | operator() (const declaration::Type &x, position_t p) |
result_t | operator() (const Type &type, position_t p) |
result_t | operator() (const expression::ResolvedID &x, position_t p) |
result_t | operator() (const declaration::Function &x, position_t p) |
result_t | operator() (const expression::Type_ &x, position_t p) |
![]() | |
template<typename Position > | |
void | replaceNode (Position &p, Node replacement) |
template<typename Position > | |
void | removeNode (Position &p) |
virtual bool | prune_uses (Node &) |
![]() | |
virtual void | preDispatch (const Erased &, int) |
auto | dispatch (position_t &i) |
auto | dispatch (const_position_t &i) |
auto | dispatch (Erased *n) |
auto | dispatch (const Erased &n) |
auto | walk (const Erased &root) |
auto | walk (Erased *root) |
Public Attributes | |
std::map< ID, bool > | _used |
![]() | |
Stage | _stage = Stage::COLLECT |
Module * | _current_module = nullptr |
Additional Inherited Members | |
![]() | |
enum | Stage { COLLECT, PRUNE_USES, PRUNE_DECLS } |
![]() | |
using | result_t = Result |
using | erased_t = Erased |
using | base_t = Visitor< Result, Dispatcher, Erased, order > |
using | visitor_t = Dispatcher |
using | iterator_t = Iterator< Erased, order, false > |
using | const_iterator_t = Iterator< Erased, order, true > |
using | position_t = typename iterator_t::Position |
using | const_position_t = typename const_iterator_t::Position |
![]() | |
static const Order | order_ = order |