P4C
The P4 Compiler
Loading...
Searching...
No Matches
extern_info.h
1
/*
2
* SPDX-FileCopyrightText: 2024 The P4 Language Consortium
3
*
4
* SPDX-License-Identifier: Apache-2.0
5
*/
6
7
#ifndef BACKENDS_P4TOOLS_MODULES_TESTGEN_CORE_EXTERN_INFO_H_
8
#define BACKENDS_P4TOOLS_MODULES_TESTGEN_CORE_EXTERN_INFO_H_
9
10
#include <sys/types.h>
11
12
#include "ir/id.h"
13
#include "ir/ir.h"
14
#include "ir/vector.h"
15
16
namespace
P4::P4Tools::P4Testgen {
17
20
class
ExternInfo {
21
public
:
23
const
IR::MethodCallExpression &
originalCall
;
25
const
IR::PathExpression &
externObjectRef
;
27
const
IR::ID
&
methodName
;
29
const
IR::Vector<IR::Argument>
&
externArguments
;
30
31
ExternInfo(
const
IR::MethodCallExpression &
originalCall
,
32
const
IR::PathExpression &
externObjectRef
,
const
IR::ID
&
methodName
,
33
const
IR::Vector<IR::Argument>
&
externArguments
)
34
:
originalCall
(
originalCall
),
35
externObjectRef
(
externObjectRef
),
36
methodName
(
methodName
),
37
externArguments
(
externArguments
) {}
38
40
ExternInfo &
operator=
(
const
ExternInfo &) =
delete
;
41
ExternInfo &
operator=
(ExternInfo &&) =
delete
;
42
};
43
44
}
// namespace P4::P4Tools::P4Testgen
45
46
#endif
/* BACKENDS_P4TOOLS_MODULES_TESTGEN_CORE_EXTERN_INFO_H_ */
P4::IR::Vector
Definition
ir/vector.h:59
P4::P4Tools::P4Testgen::ExternInfo::externArguments
const IR::Vector< IR::Argument > & externArguments
Arguments to the extern method.
Definition
extern_info.h:29
P4::P4Tools::P4Testgen::ExternInfo::originalCall
const IR::MethodCallExpression & originalCall
Reference to the original P4 extern call.
Definition
extern_info.h:23
P4::P4Tools::P4Testgen::ExternInfo::methodName
const IR::ID & methodName
Name of the extern method.
Definition
extern_info.h:27
P4::P4Tools::P4Testgen::ExternInfo::operator=
ExternInfo & operator=(const ExternInfo &)=delete
Do not accidentally copy-assign the extern info. It is only passed as reference.
P4::P4Tools::P4Testgen::ExternInfo::externObjectRef
const IR::PathExpression & externObjectRef
Name of the extern object the call was a member of, if any.
Definition
extern_info.h:25
P4::IR::ID
Definition
id.h:28
backends
p4tools
modules
testgen
core
extern_info.h
Generated by
1.13.2