1 #pragma once
2 #include "common/common.hpp"
3 #include "parameter/set.hpp"
4 #include "rules/rule.hpp"
5 #include "rules/rule_match.hpp"
6 
7 namespace horizon {
8 class RuleVia : public Rule {
9 public:
10     RuleVia(const UUID &uu);
11     RuleVia(const UUID &uu, const json &j, const RuleImportMap &import_map);
12     json serialize() const override;
13 
14     std::string get_brief(const class Block *block = nullptr) const override;
15     bool is_match_all() const override;
16     bool can_export() const override;
17 
18     RuleMatch match;
19     UUID padstack;
20     ParameterSet parameter_set;
21 };
22 } // namespace horizon
23