@@ -96,18 +96,19 @@ public void AddRankTemplate(SmtFunctionRank rank)
9696 /// <summary>
9797 /// Attempts to resolve a concrete rank for the given function signature
9898 /// </summary>
99+ /// <param name="ctx">The SMT context</param>
99100 /// <param name="rank">The resolved rank</param>
100101 /// <param name="returnSort">Return sort of function call, if known</param>
101102 /// <param name="argumentSorts">Function call argument sorts</param>
102103 /// <returns>True if successfully resolved a concrete rank</returns>
103- public bool TryResolveRank ( [ NotNullWhen ( true ) ] out SmtFunctionRank ? rank , SmtSort ? returnSort , params SmtSort [ ] argumentSorts )
104+ public bool TryResolveRank ( SmtContext ctx , [ NotNullWhen ( true ) ] out SmtFunctionRank ? rank , SmtSort ? returnSort , params SmtSort [ ] argumentSorts )
104105 {
105106 var sameArity = _rankTemplates
106107 . Where ( r => r . Arity == argumentSorts . Length ) ;
107108
108109 foreach ( var template in sameArity )
109110 {
110- if ( TryResolveRank ( out rank , template , returnSort , argumentSorts ) )
111+ if ( TryResolveRank ( ctx , out rank , template , returnSort , argumentSorts ) )
111112 {
112113 return true ; // We just pick the first one...maybe we need to check all templates and report ambiguities. TODO.
113114 }
@@ -119,12 +120,13 @@ public bool TryResolveRank([NotNullWhen(true)] out SmtFunctionRank? rank, SmtSor
119120 /// <summary>
120121 /// Attempts to resolve a concrete rank for the given function signature, from a single rank template
121122 /// </summary>
123+ /// <param name="ctx">The SMT context</param>
122124 /// <param name="rank">The resolved rank</param>
123125 /// <param name="template">The rank template to try</param>
124126 /// <param name="returnSort">Return sort of function call, if known</param>
125127 /// <param name="argumentSorts">Function call argument sorts</param>
126128 /// <returns>True if successfully resolved a concrete rank</returns>
127- private bool TryResolveRank ( [ NotNullWhen ( true ) ] out SmtFunctionRank ? rank , SmtFunctionRank template , SmtSort ? returnSort , params SmtSort [ ] argumentSorts )
129+ private bool TryResolveRank ( SmtContext ctx , [ NotNullWhen ( true ) ] out SmtFunctionRank ? rank , SmtFunctionRank template , SmtSort ? returnSort , params SmtSort [ ] argumentSorts )
128130 {
129131 Dictionary < SmtSort , SmtSort > resolvedParameters = new ( ) ;
130132
0 commit comments