methods property

List<Method> get methods

Enumerate all methods contained within this type.

Implementation

List<Method> get methods {
  if (_methods.isEmpty) {
    using((Arena arena) {
      final phEnum = arena<HCORENUM>();
      final rgMethods = arena<mdMethodDef>();
      final pcTokens = arena<ULONG>();

      var hr = reader.EnumMethods(phEnum, token, rgMethods, 1, pcTokens);
      while (hr == S_OK) {
        final methodToken = rgMethods.value;

        _methods.add(Method.fromToken(scope, methodToken));
        hr = reader.EnumMethods(phEnum, token, rgMethods, 1, pcTokens);
      }
      reader.CloseEnum(phEnum.value);
    });
  }

  return _methods;
}