@@ -599,6 +599,7 @@ class DescriptorImpl : public Descriptor
599599 COMPAT, // string calculation that mustn't change over time to stay compatible with previous software versions
600600 };
601601
602+ // NOLINTNEXTLINE(misc-no-recursion)
602603 bool IsSolvable () const override
603604 {
604605 for (const auto & arg : m_subdescriptor_args) {
@@ -607,6 +608,7 @@ class DescriptorImpl : public Descriptor
607608 return true ;
608609 }
609610
611+ // NOLINTNEXTLINE(misc-no-recursion)
610612 bool IsRange () const final
611613 {
612614 for (const auto & pubkey : m_pubkey_args) {
@@ -618,6 +620,7 @@ class DescriptorImpl : public Descriptor
618620 return false ;
619621 }
620622
623+ // NOLINTNEXTLINE(misc-no-recursion)
621624 virtual bool ToStringSubScriptHelper (const SigningProvider* arg, std::string& ret, const StringType type, const DescriptorCache* cache = nullptr ) const
622625 {
623626 size_t pos = 0 ;
@@ -630,6 +633,7 @@ class DescriptorImpl : public Descriptor
630633 return true ;
631634 }
632635
636+ // NOLINTNEXTLINE(misc-no-recursion)
633637 virtual bool ToStringHelper (const SigningProvider* arg, std::string& out, const StringType type, const DescriptorCache* cache = nullptr ) const
634638 {
635639 std::string extra = ToStringExtra ();
@@ -682,6 +686,7 @@ class DescriptorImpl : public Descriptor
682686 return ret;
683687 }
684688
689+ // NOLINTNEXTLINE(misc-no-recursion)
685690 bool ExpandHelper (int pos, const SigningProvider& arg, const DescriptorCache* read_cache, std::vector<CScript>& output_scripts, FlatSigningProvider& out, DescriptorCache* write_cache) const
686691 {
687692 std::vector<std::pair<CPubKey, KeyOriginInfo>> entries;
@@ -723,6 +728,7 @@ class DescriptorImpl : public Descriptor
723728 return ExpandHelper (pos, DUMMY_SIGNING_PROVIDER, &read_cache, output_scripts, out, nullptr );
724729 }
725730
731+ // NOLINTNEXTLINE(misc-no-recursion)
726732 void ExpandPrivate (int pos, const SigningProvider& provider, FlatSigningProvider& out) const final
727733 {
728734 for (const auto & p : m_pubkey_args) {
@@ -750,6 +756,7 @@ class DescriptorImpl : public Descriptor
750756
751757 std::optional<int64_t > MaxSatisfactionElems () const override { return {}; }
752758
759+ // NOLINTNEXTLINE(misc-no-recursion)
753760 void GetPubKeys (std::set<CPubKey>& pubkeys, std::set<CExtPubKey>& ext_pubs) const override
754761 {
755762 for (const auto & p : m_pubkey_args) {
@@ -1579,6 +1586,7 @@ struct KeyParser {
15791586};
15801587
15811588/* * Parse a script in a particular context. */
1589+ // NOLINTNEXTLINE(misc-no-recursion)
15821590std::unique_ptr<DescriptorImpl> ParseScript (uint32_t & key_exp_index, Span<const char >& sp, ParseScriptContext ctx, FlatSigningProvider& out, std::string& error)
15831591{
15841592 using namespace spanparsing ;
@@ -1886,6 +1894,7 @@ std::unique_ptr<DescriptorImpl> InferMultiA(const CScript& script, ParseScriptCo
18861894 return std::make_unique<MultiADescriptor>(match->first , std::move (keys));
18871895}
18881896
1897+ // NOLINTNEXTLINE(misc-no-recursion)
18891898std::unique_ptr<DescriptorImpl> InferScript (const CScript& script, ParseScriptContext ctx, const SigningProvider& provider)
18901899{
18911900 if (ctx == ParseScriptContext::P2TR && script.size () == 34 && script[0 ] == 32 && script[33 ] == OP_CHECKSIG) {
0 commit comments