P4C
The P4 Compiler
 
Loading...
Searching...
No Matches
P4Tools::P4ProgramDCGCreator Class Reference

The main class for building control flow DCG. More...

Inheritance diagram for P4Tools::P4ProgramDCGCreator:

Public Member Functions

 P4ProgramDCGCreator (NodesCallGraph *dcg)
 
bool preorder (const IR::Annotation *annotation) override
 
bool preorder (const IR::ConstructorCallExpression *callExpr) override
 
bool preorder (const IR::IfStatement *ifStatement) override
 
bool preorder (const IR::MethodCallExpression *method) override
 
bool preorder (const IR::MethodCallStatement *method) override
 
bool preorder (const IR::P4Action *action) override
 
bool preorder (const IR::P4Control *control) override
 
bool preorder (const IR::P4Parser *parser) override
 
bool preorder (const IR::P4Program *program) override
 
bool preorder (const IR::P4Table *table) override
 
bool preorder (const IR::P4ValueSet *valueSet) override
 
bool preorder (const IR::ParserState *parserState) override
 
bool preorder (const IR::SelectExpression *selectExpression) override
 
bool preorder (const IR::StatOrDecl *statOrDecl) override
 
bool preorder (const IR::SwitchStatement *switchStatement) override
 

Protected Member Functions

void addEdge (const DCGVertexType *vertex, IR::ID vertexName=IR::ID())
 

Detailed Description

The main class for building control flow DCG.

Member Function Documentation

◆ addEdge()

void P4Tools::P4ProgramDCGCreator::addEdge ( const DCGVertexType * vertex,
IR::ID vertexName = IR::ID() )
protected

Function add edge to current @vertex in DCG. The edge is a pair (@prev, @vertex).