internal void Add(DmdModuleImpl module) { if (module == null) { throw new ArgumentNullException(nameof(module)); } lock (LockObject) { Debug.Assert(!modules.Contains(module)); modules.Add(module); } }
DmdMetadataReader InitializeMetadataReader() { lock (lockObj) { var reader = __metadataReader_DONT_USE; if (reader != null) { return(reader); } if (module == null) { throw new InvalidOperationException(); } reader = metadataReaderFactory(module, getMetadata()); module = null; getMetadata = null; metadataReaderFactory = null; reader.TypesUpdated += DmdMetadataReader_TypesUpdated; __metadataReader_DONT_USE = reader; return(reader); } }