assemblyRefs property

List<AssemblyRef> assemblyRefs

Implementation

List<AssemblyRef> get assemblyRefs {
  if (_assemblies.isEmpty) {
    using((Arena arena) {
      final phEnum = arena<HCORENUM>();
      final rAssemblyRefs = arena<mdModuleRef>();
      final pcTokens = arena<ULONG>();

      var hr =
          assemblyImport.EnumAssemblyRefs(phEnum, rAssemblyRefs, 1, pcTokens);
      while (hr == S_OK) {
        final assemblyToken = rAssemblyRefs.value;
        _assemblies.add(AssemblyRef.fromToken(this, assemblyToken));
        hr = assemblyImport.EnumAssemblyRefs(
            phEnum, rAssemblyRefs, 1, pcTokens);
      }
      assemblyImport.CloseEnum(phEnum.value);
    });
  }

  return _assemblies;
}