getParameterByIndex method

ParameterReflection? getParameterByIndex(
  1. int index
)

Returns a ParameterReflection by index.

Indexes follow allParameters: normalParameters, then optionalParameters, then namedParameters.

Implementation

ParameterReflection? getParameterByIndex(int index) {
  if (index < normalParameters.length) {
    return normalParameters[index];
  }

  var offsetOptional = normalParameters.length;

  if (index < offsetOptional + optionalParameters.length) {
    return optionalParameters[index - offsetOptional];
  }

  // Named parameters start after the positional ones, so the offset here
  // has to include `optionalParameters` too.
  var offsetNamed = positionalParametersLength;

  if (index < offsetNamed + namedParameters.length) {
    return namedParameters.values.elementAt(index - offsetNamed);
  }

  return null;
}