genericParams property

List<GenericParam> genericParams

Returns a list of generic parameters on this object.

Implementation

List<GenericParam> get genericParams => using((Arena arena) {
      final params = <GenericParam>[];

      final phEnum = arena<HCORENUM>();
      final rGenericParams = arena<ULONG>();
      final pcGenericParams = arena<ULONG>();

      var hr = reader.EnumGenericParams(
          phEnum, token, rGenericParams, 1, pcGenericParams);
      while (hr == S_OK) {
        final genericParamToken = rGenericParams.value;

        params.add(GenericParam.fromToken(scope, genericParamToken));
        hr = reader.EnumGenericParams(
            phEnum, token, rGenericParams, 1, pcGenericParams);
      }
      reader.CloseEnum(phEnum.value);
      return params;
    });