28 bool preorder(IR::P4Table *table)
override {
29 auto size = table->getSizeProperty();
30 if (size ==
nullptr)
return false;
32 bool deleteSize =
false;
33 auto key = table->getKey();
35 if (size->value != 1) {
36 warn(ErrorType::WARN_MISMATCH,
"%1%: size %2% specified for table without keys",
41 auto entries = table->properties->getProperty(IR::TableProperties::entriesPropertyName);
42 if (entries !=
nullptr && entries->isConstant) {
43 warn(ErrorType::WARN_MISMATCH,
44 "%1%: size %2% specified for table with constant entries", table, size);
49 props.removeByName(IR::TableProperties::sizePropertyName);
50 table->properties =
new IR::TableProperties(table->properties->srcInfo, props);
TODO: this is not really specific to BMV2, it should reside somewhere else.
Definition applyOptionsPragmas.cpp:24