P4C
The P4 Compiler
Loading...
Searching...
No Matches
noMatch.h
1/*
2 * Copyright 2017 VMware, Inc.
3 * SPDX-FileCopyrightText: 2017 VMware, Inc.
4 *
5 * SPDX-License-Identifier: Apache-2.0
6 */
7
8#ifndef MIDEND_NOMATCH_H_
9#define MIDEND_NOMATCH_H_
10
11#include "frontends/common/resolveReferences/resolveReferences.h"
12#include "ir/ir.h"
13#include "ir/pass_manager.h"
14
15namespace P4 {
16
22class HandleNoMatch : public Transform {
24
25 public:
26 const IR::ParserState *noMatch = nullptr;
27 HandleNoMatch() { setName("HandleNoMatch"); }
28 Visitor::profile_t init_apply(const IR::Node *node) override {
29 auto rv = Transform::init_apply(node);
30 node->apply(nameGen);
31
32 return rv;
33 }
34 const IR::Node *postorder(IR::SelectExpression *expression) override;
35 const IR::Node *postorder(IR::P4Parser *parser) override;
36 const IR::Node *postorder(IR::P4Program *program) override;
37};
38
39} // namespace P4
40
41#endif /* MIDEND_NOMATCH_H_ */
Definition node.h:53
Definition referenceMap.h:36
Definition visitor.h:442
Definition visitor.h:78
TODO: this is not really specific to BMV2, it should reside somewhere else.
Definition applyOptionsPragmas.cpp:13