Scope constructor

Scope(
  1. IMetaDataImport2 reader,
  2. IMetaDataAssemblyImport assemblyImport
)

Implementation

Scope(this.reader, this.assemblyImport) {
  using((Arena arena) {
    final szName = arena<WCHAR>(MAX_STRING_SIZE).cast<Utf16>();
    final pchName = arena<ULONG>();
    final pmvid = arena<GUID>();

    final hr = reader.GetScopeProps(szName, MAX_STRING_SIZE, pchName, pmvid);
    if (SUCCEEDED(hr)) {
      name = szName.toDartString();
      guid = pmvid.ref.toString();
    } else {
      throw COMException(hr);
    }
  });

  _populateTypeDefs();
}