/// <summary>
 /// Initializes a new instance of the <see cref="EngineSymbolProviderModule" /> class.
 /// </summary>
 /// <param name="module">The engine module.</param>
 /// <param name="xmlModule">The XML module description.</param>
 /// <param name="symbolProvider">The engine symbol provider.</param>
 public EngineSymbolProviderModule(CsDebugScript.Module module, XmlModule xmlModule, ISymbolProvider symbolProvider)
 {
     if (string.IsNullOrEmpty(xmlModule.Name))
     {
         xmlModule.Name = module.Name;
     }
     Name                 = xmlModule.Name;
     Namespace            = xmlModule.Namespace;
     EngineModule         = module;
     EngineModuleProvider = symbolProvider.GetSymbolProviderModule(module);
     symbolsById          = new DictionaryCache <uint, Symbol>(CreateSymbol);
     symbolsByName        = new DictionaryCache <string, Symbol>(FindSymbol);
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="EngineSymbolProviderModule"/> class.
 /// </summary>
 /// <param name="module">The engine module.</param>
 /// <param name="xmlModule">The XML module description.</param>
 public EngineSymbolProviderModule(CsDebugScript.Module module, XmlModule xmlModule)
     : this(module, xmlModule, Context.SymbolProvider)
 {
 }
Example #3
0
 /// <summary>
 /// Finds metadata that comes from the specified module or first if not found.
 /// </summary>
 /// <param name="metadatas">The metadatas.</param>
 /// <param name="module">The module.</param>
 public static UserTypeMetadata FromModuleOrFirst(this UserTypeMetadata[] metadatas, CsDebugScript.Module module)
 {
     foreach (var metadata in metadatas)
     {
         if (metadata.ModuleName == module.Name)
         {
             return(metadata);
         }
     }
     return(metadatas.First());
 }