7#ifndef BACKENDS_P4TOOLS_MODULES_TESTGEN_TARGETS_BMV2_MAP_DIRECT_EXTERNS_H_
8#define BACKENDS_P4TOOLS_MODULES_TESTGEN_TARGETS_BMV2_MAP_DIRECT_EXTERNS_H_
15#include "ir/visitor.h"
16#include "lib/cstring.h"
33 static constexpr std::array kTableExternProperties = {
"meters",
"counters"};
36 std::map<cstring, const IR::Declaration_Instance *> declaredExterns;
43 std::optional<const IR::Declaration_Instance *> getExternFromTableImplementation(
44 const IR::Property *tableImplementation);
46 bool preorder(
const IR::Declaration_Instance *declInstance)
override;
47 bool preorder(
const IR::P4Table *table)
override;