P4C
The P4 Compiler
Modifier Class Reference
Inheritance diagram for Modifier:
Visitor CheckHeaderTypes HeaderTypeMaxLengthCalculator P4::CreateBuiltins P4V1::ProgramStructure::FixupExtern TypeCheck::AssignActionArgTypes TypeCheck::InferExpressionsBottomUp TypeCheck::InferExpressionsTopDown

Public Member Functions

const IR::Nodeapply_visitor (const IR::Node *n, const char *name=0) override
 
profile_t init_apply (const IR::Node *root) override
 
virtual void postorder (IR::Node *)
 
virtual bool preorder (IR::Node *)
 
virtual void revisit (const IR::Node *, const IR::Node *)
 
void revisit_visited ()
 
- Public Member Functions inherited from Visitor
virtual void end_apply ()
 
virtual void end_apply (const IR::Node *root)
 
template<class T >
const T * findContext (const Context *&c) const
 
template<class T >
const T * findContext () const
 
template<class T >
const T * findOrigCtxt (const Context *&c) const
 
template<class T >
const T * findOrigCtxt () const
 
virtual Visitorflow_clone ()
 
virtual void flow_dead ()
 
virtual void flow_merge (Visitor &)
 
int getChildrenVisited () const
 
const ContextgetContext () const
 
int getContextDepth () const
 
const IR::NodegetCurrentNode () const
 
template<class T >
const T * getCurrentNode () const
 
const IR::NodegetOriginal () const
 
template<class T >
const T * getOriginal () const
 
template<class T >
const T * getParent () const
 
virtual const char * name () const
 
void print_context () const
 
void setName (const char *name)
 
void visit (const IR::Node *&n, const char *name=0)
 
void visit (const IR::Node *const &n, const char *name=0)
 
void visit (const IR::Node *&n, const char *name, int cidx)
 
void visit (const IR::Node *const &n, const char *name, int cidx)
 
void visit (IR::Node *&, const char *=0, int=0)
 

Additional Inherited Members

- Public Attributes inherited from Visitor
const char * internalName = nullptr
 
- Protected Member Functions inherited from Visitor
virtual void init_join_flows (const IR::Node *)
 
virtual bool join_flows (const IR::Node *)
 
void visit_children (const IR::Node *, std::function< void()> fn)
 
- Protected Attributes inherited from Visitor
bool dontForwardChildrenBeforePreorder = false
 
bool joinFlows = false
 
bool visitDagOnce = true