P4C
The P4 Compiler
Loading...
Searching...
No Matches
common/lib/taint.h
1/*
2 * SPDX-FileCopyrightText: 2022 The P4 Language Consortium
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7#ifndef BACKENDS_P4TOOLS_COMMON_LIB_TAINT_H_
8#define BACKENDS_P4TOOLS_COMMON_LIB_TAINT_H_
9
10#include "backends/p4tools/common/lib/model.h"
11#include "ir/ir.h"
12
13namespace P4::P4Tools {
14
15class Taint {
16 public:
17 static const IR::StringLiteral TAINTED_STRING_LITERAL;
18
23 static const IR::Expression *propagateTaint(const IR::Expression *expr);
24
27 static bool hasTaint(const IR::Expression *expr);
28
31 static const IR::Literal *buildTaintMask(const Model *evaluatedModel,
32 const IR::Expression *programPacket);
33};
34
35} // namespace P4::P4Tools
36
37#endif /* BACKENDS_P4TOOLS_COMMON_LIB_TAINT_H_ */
Definition backends/p4tools/common/lib/model.h:24
Definition common/lib/taint.h:15
static bool hasTaint(const IR::Expression *expr)
Definition common/lib/taint.cpp:94
static const IR::Expression * propagateTaint(const IR::Expression *expr)
Definition common/lib/taint.cpp:271
static const IR::Literal * buildTaintMask(const Model *evaluatedModel, const IR::Expression *programPacket)
Definition common/lib/taint.cpp:261
Definition common/compiler/compiler_result.cpp:7