@@ -141,15 +141,27 @@ class FunctionCall extends Call, @funbindexpr {
141141 /** Gets an explicit template argument for this call. */
142142 Type getAnExplicitTemplateArgument ( ) { result = getExplicitTemplateArgument ( _) }
143143
144+ /** Gets an explicit template argument value for this call. */
145+ Expr getAnExplicitTemplateArgumentValue ( ) { result = getExplicitTemplateArgumentValue ( _) }
146+
144147 /** Gets a template argument for this call. */
145148 Type getATemplateArgument ( ) { result = getTarget ( ) .getATemplateArgument ( ) }
146149
150+ /** Gets a template argument value for this call. */
151+ Expr getATemplateArgumentValue ( ) { result = getTarget ( ) .getATemplateArgumentValue ( ) }
152+
147153 /** Gets the nth explicit template argument for this call. */
148154 Type getExplicitTemplateArgument ( int n ) {
149155 n < getNumberOfExplicitTemplateArguments ( ) and
150156 result = getTemplateArgument ( n )
151157 }
152158
159+ /** Gets the nth explicit template argument value for this call. */
160+ Expr getExplicitTemplateArgumentValue ( int n ) {
161+ n < getNumberOfExplicitTemplateArguments ( ) and
162+ result = getTemplateArgumentValue ( n )
163+ }
164+
153165 /** Gets the number of explicit template arguments for this call. */
154166 int getNumberOfExplicitTemplateArguments ( ) {
155167 if numtemplatearguments ( underlyingElement ( this ) , _)
@@ -160,9 +172,15 @@ class FunctionCall extends Call, @funbindexpr {
160172 /** Gets the number of template arguments for this call. */
161173 int getNumberOfTemplateArguments ( ) { result = count ( int i | exists ( getTemplateArgument ( i ) ) ) }
162174
175+ /** Gets the number of template argument which are values for this call. */
176+ int getNumberOfTemplateArgumentValues ( ) { result = count ( int i | exists ( getTemplateArgumentValue ( i ) ) ) }
177+
163178 /** Gets the nth template argument for this call (indexed from 0). */
164179 Type getTemplateArgument ( int n ) { result = getTarget ( ) .getTemplateArgument ( n ) }
165180
181+ /** Gets the nth template argument value for this call (indexed from 0). */
182+ Expr getTemplateArgumentValue ( int n ) { result = getTarget ( ) .getTemplateArgumentValue ( n ) }
183+
166184 /** Holds if any template arguments for this call are implicit / deduced. */
167185 predicate hasImplicitTemplateArguments ( ) {
168186 exists ( int i |
0 commit comments