31    std::set<const IR::Parameter *> toDereference;
 
   32    std::vector<cstring> saveAction;
 
   36    explicit ControlBodyTranslator(
const EBPFControl *control);
 
   48    bool preorder(
const IR::PathExpression *expression) 
override;
 
   49    bool preorder(
const IR::MethodCallExpression *expression) 
override;
 
   50    bool preorder(
const IR::ExitStatement *) 
override;
 
   51    bool preorder(
const IR::ReturnStatement *) 
override;
 
   52    bool preorder(
const IR::IfStatement *statement) 
override;
 
   53    bool preorder(
const IR::SwitchStatement *statement) 
override;
 
   54    bool preorder(
const IR::StructExpression *expr) 
override;
 
 
   60    const IR::ControlBlock *controlBlock;
 
   61    const IR::Parameter *headers;
 
   62    const IR::Parameter *accept;         
 
   63    const IR::Parameter *xdpInputMeta;   
 
   64    const IR::Parameter *xdpOutputMeta;  
 
   65    const IR::Parameter *parserHeaders;
 
   69    const bool emitExterns;
 
   71    std::set<const IR::Parameter *> toDereference;
 
   72    std::map<cstring, EBPFTable *> tables;
 
   73    std::map<cstring, EBPFCounterTable *> counters;
 
   75    EBPFControl(
const EBPFProgram *program, 
const IR::ControlBlock *block,
 
   76                const IR::Parameter *parserHeaders);
 
   78    virtual void emitDeclaration(
CodeBuilder *builder, 
const IR::Declaration *decl);
 
   80    virtual void emitTableInitializers(
CodeBuilder *builder);
 
   81    virtual void emitTableInstances(
CodeBuilder *builder);
 
   84        auto result = ::P4::get(tables, name);
 
   85        BUG_CHECK(result != 
nullptr, 
"No table named %1%", name);
 
   89        auto result = ::P4::get(counters, name);
 
   90        BUG_CHECK(result != 
nullptr, 
"No counter named %1%", name);
 
   97    DECLARE_TYPEINFO(EBPFControl, EBPFObject);
 
 
Definition ebpfControl.h:28
virtual void compileEmitField(const IR::Expression *expr, cstring field, unsigned alignment, EBPFType *type)
Handle the packet_out.emit method.
Definition ebpfControl.cpp:156