P4C
The P4 Compiler
Loading...
Searching...
No Matches
common/lib/taint.h
1#ifndef BACKENDS_P4TOOLS_COMMON_LIB_TAINT_H_
2#define BACKENDS_P4TOOLS_COMMON_LIB_TAINT_H_
3
4#include "backends/p4tools/common/lib/model.h"
5#include "ir/ir.h"
6
7namespace P4::P4Tools {
8
9class Taint {
10 public:
11 static const IR::StringLiteral TAINTED_STRING_LITERAL;
12
17 static const IR::Expression *propagateTaint(const IR::Expression *expr);
18
21 static bool hasTaint(const IR::Expression *expr);
22
25 static const IR::Literal *buildTaintMask(const Model *evaluatedModel,
26 const IR::Expression *programPacket);
27};
28
29} // namespace P4::P4Tools
30
31#endif /* BACKENDS_P4TOOLS_COMMON_LIB_TAINT_H_ */
Definition backends/p4tools/common/lib/model.h:18
Definition common/lib/taint.h:9
static bool hasTaint(const IR::Expression *expr)
Definition common/lib/taint.cpp:90
static const IR::Expression * propagateTaint(const IR::Expression *expr)
Definition common/lib/taint.cpp:267
static const IR::Literal * buildTaintMask(const Model *evaluatedModel, const IR::Expression *programPacket)
Definition common/lib/taint.cpp:257
Definition common/compiler/compiler_result.cpp:3