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