@@ -1688,6 +1688,8 @@ struct Ope::Visitor {
1688
1688
};
1689
1689
1690
1690
struct TraceOpeName : public Ope ::Visitor {
1691
+ using Ope::Visitor::visit;
1692
+
1691
1693
void visit (Sequence &) override { name_ = " Sequence" ; }
1692
1694
void visit (PrioritizedChoice &) override { name_ = " PrioritizedChoice" ; }
1693
1695
void visit (Repetition &) override { name_ = " Repetition" ; }
@@ -1723,6 +1725,8 @@ struct TraceOpeName : public Ope::Visitor {
1723
1725
};
1724
1726
1725
1727
struct AssignIDToDefinition : public Ope ::Visitor {
1728
+ using Ope::Visitor::visit;
1729
+
1726
1730
void visit (Sequence &ope) override {
1727
1731
for (auto op : ope.opes_ ) {
1728
1732
op->accept (*this );
@@ -1751,6 +1755,8 @@ struct AssignIDToDefinition : public Ope::Visitor {
1751
1755
};
1752
1756
1753
1757
struct IsLiteralToken : public Ope ::Visitor {
1758
+ using Ope::Visitor::visit;
1759
+
1754
1760
void visit (PrioritizedChoice &ope) override {
1755
1761
for (auto op : ope.opes_ ) {
1756
1762
if (!IsLiteralToken::check (*op)) { return ; }
@@ -1772,6 +1778,8 @@ struct IsLiteralToken : public Ope::Visitor {
1772
1778
};
1773
1779
1774
1780
struct TokenChecker : public Ope ::Visitor {
1781
+ using Ope::Visitor::visit;
1782
+
1775
1783
void visit (Sequence &ope) override {
1776
1784
for (auto op : ope.opes_ ) {
1777
1785
op->accept (*this );
@@ -1808,6 +1816,8 @@ struct TokenChecker : public Ope::Visitor {
1808
1816
};
1809
1817
1810
1818
struct FindLiteralToken : public Ope ::Visitor {
1819
+ using Ope::Visitor::visit;
1820
+
1811
1821
void visit (LiteralString &ope) override { token_ = ope.lit_ .data (); }
1812
1822
void visit (TokenBoundary &ope) override { ope.ope_ ->accept (*this ); }
1813
1823
void visit (Ignore &ope) override { ope.ope_ ->accept (*this ); }
@@ -1825,6 +1835,8 @@ struct FindLiteralToken : public Ope::Visitor {
1825
1835
};
1826
1836
1827
1837
struct DetectLeftRecursion : public Ope ::Visitor {
1838
+ using Ope::Visitor::visit;
1839
+
1828
1840
DetectLeftRecursion (const std::string &name) : name_(name) {}
1829
1841
1830
1842
void visit (Sequence &ope) override {
@@ -1887,6 +1899,8 @@ struct DetectLeftRecursion : public Ope::Visitor {
1887
1899
};
1888
1900
1889
1901
struct HasEmptyElement : public Ope ::Visitor {
1902
+ using Ope::Visitor::visit;
1903
+
1890
1904
HasEmptyElement (std::vector<std::pair<const char *, std::string>> &refs,
1891
1905
std::unordered_map<std::string, bool > &has_error_cache)
1892
1906
: refs_(refs), has_error_cache_(has_error_cache) {}
@@ -1935,6 +1949,8 @@ struct HasEmptyElement : public Ope::Visitor {
1935
1949
};
1936
1950
1937
1951
struct DetectInfiniteLoop : public Ope ::Visitor {
1952
+ using Ope::Visitor::visit;
1953
+
1938
1954
DetectInfiniteLoop (const char *s, const std::string &name,
1939
1955
std::vector<std::pair<const char *, std::string>> &refs,
1940
1956
std::unordered_map<std::string, bool > &has_error_cache)
@@ -1994,6 +2010,8 @@ struct DetectInfiniteLoop : public Ope::Visitor {
1994
2010
};
1995
2011
1996
2012
struct ReferenceChecker : public Ope ::Visitor {
2013
+ using Ope::Visitor::visit;
2014
+
1997
2015
ReferenceChecker (const Grammar &grammar,
1998
2016
const std::vector<std::string> ¶ms)
1999
2017
: grammar_(grammar), params_(params) {}
@@ -2032,6 +2050,8 @@ struct ReferenceChecker : public Ope::Visitor {
2032
2050
};
2033
2051
2034
2052
struct LinkReferences : public Ope ::Visitor {
2053
+ using Ope::Visitor::visit;
2054
+
2035
2055
LinkReferences (Grammar &grammar, const std::vector<std::string> ¶ms)
2036
2056
: grammar_(grammar), params_(params) {}
2037
2057
@@ -2065,6 +2085,8 @@ struct LinkReferences : public Ope::Visitor {
2065
2085
};
2066
2086
2067
2087
struct FindReference : public Ope ::Visitor {
2088
+ using Ope::Visitor::visit;
2089
+
2068
2090
FindReference (const std::vector<std::shared_ptr<Ope>> &args,
2069
2091
const std::vector<std::string> ¶ms)
2070
2092
: args_(args), params_(params) {}
0 commit comments