@@ -4,7 +4,6 @@ import Callable
4
4
import Element
5
5
import Modifier
6
6
import Variable
7
- private import dotnet
8
7
private import Implements
9
8
private import TypeRef
10
9
private import commons.QualifiedName
@@ -536,10 +535,24 @@ class Virtualizable extends Overridable, Member, @virtualizable {
536
535
* A parameterizable declaration. Either a callable (`Callable`), a delegate
537
536
* type (`DelegateType`), or an indexer (`Indexer`).
538
537
*/
539
- class Parameterizable extends DotNet:: Parameterizable , Declaration , @parameterizable {
540
- override Parameter getRawParameter ( int i ) { params ( result , _, _, i , _, this , _) }
538
+ class Parameterizable extends Declaration , @parameterizable {
539
+ /** Gets raw parameter `i`, including the `this` parameter at index 0. */
540
+ Parameter getRawParameter ( int i ) { params ( result , _, _, i , _, this , _) }
541
541
542
- override Parameter getParameter ( int i ) { params ( result , _, _, i , _, this , _) }
542
+ /** Gets the `i`th parameter, excluding the `this` parameter. */
543
+ Parameter getParameter ( int i ) { params ( result , _, _, i , _, this , _) }
544
+
545
+ /** Gets the number of parameters of this callable. */
546
+ int getNumberOfParameters ( ) { result = count ( this .getAParameter ( ) ) }
547
+
548
+ /** Holds if this declaration has no parameters. */
549
+ predicate hasNoParameters ( ) { not exists ( this .getAParameter ( ) ) }
550
+
551
+ /** Gets a parameter, if any. */
552
+ Parameter getAParameter ( ) { result = this .getParameter ( _) }
553
+
554
+ /** Gets a raw parameter (including the qualifier), if any. */
555
+ final Parameter getARawParameter ( ) { result = this .getRawParameter ( _) }
543
556
544
557
/**
545
558
* Gets the type of the parameter, possibly prefixed
0 commit comments