P4C
The P4 Compiler
Loading...
Searching...
No Matches
copy_block_pragmas.h
1
19#ifndef BF_P4C_MIDEND_COPY_BLOCK_PRAGMAS_H_
20#define BF_P4C_MIDEND_COPY_BLOCK_PRAGMAS_H_
21
22#include "frontends/p4/typeChecking/typeChecker.h"
23#include "ir/ir.h"
24
29class CopyBlockPragmas : public PassManager {
30 P4::ReferenceMap *refMap;
31 P4::TypeMap *typeMap;
32 std::set<cstring> pragmas;
33 std::map<const IR::P4Table *, ordered_map<cstring, const IR::Annotation *>> toAdd;
35 class CopyToTables;
36
37 public:
38 CopyBlockPragmas(P4::ReferenceMap *refMap, P4::TypeMap *typeMap, P4::TypeChecking *typeChecking,
39 std::set<cstring> pragmas);
40 CopyBlockPragmas(P4::ReferenceMap *refMap, P4::TypeMap *typeMap, std::set<cstring> pragmas)
41 : CopyBlockPragmas(refMap, typeMap, new P4::TypeChecking(refMap, typeMap), pragmas) {}
42};
43
44#endif /* BF_P4C_MIDEND_COPY_BLOCK_PRAGMAS_H_ */
Definition copy_block_pragmas.cpp:45
Definition copy_block_pragmas.cpp:23
Class used to encode maps from paths to declarations.
Definition referenceMap.h:66
Definition typeChecker.h:55
Definition typeMap.h:41
Pass that copies block annotations to the block's tables.
Definition copy_block_pragmas.h:29