@@ -4,7 +4,6 @@ import Callable
44import Element
55import Modifier
66import Variable
7- private import dotnet
87private import Implements
98private import TypeRef
109private import commons.QualifiedName
@@ -536,10 +535,24 @@ class Virtualizable extends Overridable, Member, @virtualizable {
536535 * A parameterizable declaration. Either a callable (`Callable`), a delegate
537536 * type (`DelegateType`), or an indexer (`Indexer`).
538537 */
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 , _) }
541541
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 ( _) }
543556
544557 /**
545558 * Gets the type of the parameter, possibly prefixed
0 commit comments