P4C
The P4 Compiler
 
Loading...
Searching...
No Matches
EBPF::PsaStateTranslationVisitor Class Reference
Inheritance diagram for EBPF::PsaStateTranslationVisitor:

Public Member Functions

 PsaStateTranslationVisitor (P4::ReferenceMap *refMap, P4::TypeMap *typeMap, EBPFPsaParser *prsr)
 
void processMethod (const P4::ExternMethod *ext) override
 
- Public Member Functions inherited from EBPF::StateTranslationVisitor
 StateTranslationVisitor (P4::ReferenceMap *refMap, P4::TypeMap *typeMap)
 
bool preorder (const IR::AssignmentStatement *stat) override
 
bool preorder (const IR::Member *expression) override
 
bool preorder (const IR::MethodCallExpression *expression) override
 
bool preorder (const IR::MethodCallStatement *stat) override
 
bool preorder (const IR::ParserState *state) override
 
bool preorder (const IR::SelectCase *selectCase) override
 
bool preorder (const IR::SelectExpression *expression) override
 
void setState (const EBPFParserState *state)
 
- Public Member Functions inherited from EBPF::CodeGenInspector
 CodeGenInspector (P4::ReferenceMap *refMap, P4::TypeMap *typeMap)
 precedence of current IR::Operation
 
bool comparison (const IR::Operation_Relation *comp)
 
void copyPointerVariables (CodeGenInspector *other)
 
void copySubstitutions (CodeGenInspector *other)
 
void emitAssignStatement (const IR::Type *ltype, const IR::Expression *lexpr, cstring lpath, const IR::Expression *rexpr)
 
bool isPointerVariable (cstring name)
 
bool notSupported (const IR::Expression *expression)
 
bool preorder (const IR::ArrayIndex *a) override
 
bool preorder (const IR::AssignmentStatement *s) override
 
bool preorder (const IR::BlockStatement *s) override
 
bool preorder (const IR::BoolLiteral *b) override
 
bool preorder (const IR::Cast *c) override
 
bool preorder (const IR::Constant *expression) override
 
bool preorder (const IR::Declaration_Variable *decl) override
 
bool preorder (const IR::EmptyStatement *s) override
 
bool preorder (const IR::Equ *e) override
 
bool preorder (const IR::ExitStatement *s) override
 
bool preorder (const IR::Expression *expression) override
 
bool preorder (const IR::IfStatement *s) override
 
bool preorder (const IR::ListExpression *expression) override
 
bool preorder (const IR::Mask *expression) override
 
bool preorder (const IR::Member *e) override
 
bool preorder (const IR::MethodCallExpression *expression) override
 
bool preorder (const IR::MethodCallStatement *s) override
 
bool preorder (const IR::Mux *a) override
 
bool preorder (const IR::Neq *e) override
 
bool preorder (const IR::Operation_Binary *b) override
 
bool preorder (const IR::Operation_Unary *u) override
 
bool preorder (const IR::Path *path) override
 
bool preorder (const IR::PathExpression *expression) override
 
bool preorder (const IR::Range *expression) override
 
bool preorder (const IR::ReturnStatement *s) override
 
bool preorder (const IR::Slice *expression) override
 
bool preorder (const IR::StringLiteral *expression) override
 
bool preorder (const IR::StructExpression *expr) override
 
bool preorder (const IR::Type_Enum *type) override
 
bool preorder (const IR::Type_Typedef *type) override
 
void setBuilder (CodeBuilder *builder)
 
void substitute (const IR::Parameter *p, const IR::Parameter *with)
 
void useAsPointerVariable (cstring name)
 
void widthCheck (const IR::Node *node) const
 

Public Attributes

EBPFPsaParserparser
 
- Public Attributes inherited from EBPF::CodeGenInspector
int expressionPrecedence
 

Additional Inherited Members

- Protected Member Functions inherited from EBPF::StateTranslationVisitor
void compileAdvance (const P4::ExternMethod *ext)
 
virtual void compileExtract (const IR::Expression *destination)
 
virtual void compileExtractField (const IR::Expression *expr, const IR::StructField *field, unsigned hdrOffsetBits, EBPFType *type)
 
virtual void compileLookahead (const IR::Expression *destination)
 
void compileVerify (const IR::MethodCallExpression *expression)
 
virtual void processFunction (const P4::ExternFunction *function)
 
- Protected Attributes inherited from EBPF::StateTranslationVisitor
P4::P4CoreLibraryp4lib
 
cstring selectValue
 
const EBPFParserStatestate
 
- Protected Attributes inherited from EBPF::CodeGenInspector
std::set< cstringasPointerVariables
 
CodeBuilderbuilder
 
int commentDescriptionDepth = 0
 
P4::ReferenceMaprefMap
 
std::map< const IR::Parameter *, const IR::Parameter * > substitution
 
P4::TypeMaptypeMap
 

Member Function Documentation

◆ processMethod()

void EBPF::PsaStateTranslationVisitor::processMethod ( const P4::ExternMethod * ext)
overridevirtual

Reimplemented from EBPF::StateTranslationVisitor.