P4C
The P4 Compiler
Inspector Class Reference
Inheritance diagram for Inspector:
Visitor BMV2::ExpressionConverter EBPF::CodeGenInspector exprUses hasSideEffects P4::AnalyzeParser P4::ClearTypeMap P4::CompileTimeOperations P4::ComputeParserCG P4::ComputeWriteSet P4::DiscoverActionsInlining P4::DiscoverInlining P4::Evaluator P4::ExpressionEvaluator P4::FindActionParameters P4::FindGlobalActionUses P4::FindParameters P4::FindRepeatedActionUses P4::FindSpecializations P4::FindSymbols P4::KeyNameGenerator P4::MidEndLast P4::ResolveReferences P4::SideEffects P4::ToP4 P4::TypeOccursVisitor P4::ValidateParsedProgram P4::ValidateTableProperties SetupJoinPoints TypeCheck::InferActionArgsBottomUp TypeCheck::InferActionArgsTopDown

Public Member Functions

const IR::Nodeapply_visitor (const IR::Node *, const char *name=0) override
 
profile_t init_apply (const IR::Node *root) override
 
virtual void postorder (const IR::Node *)
 
virtual bool preorder (const IR::Node *)
 
virtual void revisit (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