CsDebugScript.CodeGen.Symbol.InitializeCache C# (CSharp) Method

InitializeCache() private method

Initializes the cache.
private InitializeCache ( ) : void
return void
        internal void InitializeCache()
        {
            if (Tag != SymTagEnum.SymTagExe)
            {
                var elementType = this.ElementType;
            }
        }

Usage Example

Example #1
0
        /// <summary>
        /// Gets the symbol from the cache or adds new entry in the cache if symbol wasn't previously found.
        /// </summary>
        /// <param name="symbol">The symbol.</param>
        internal Symbol GetSymbol(IDiaSymbol symbol)
        {
            if (symbol == null)
            {
                return(null);
            }

            Symbol s;
            uint   symbolId = symbol.symIndexId;

            if (!symbolById.TryGetValue(symbolId, out s))
            {
                s = new Symbol(this, symbol);
                lock (this)
                {
                    Symbol previousSymbol = null;

                    symbolById.TryAdd(symbolId, s);
                    if (s.Tag != SymTagEnum.SymTagExe)
                    {
                        if (!symbolByName.TryGetValue(s.Name, out previousSymbol))
                        {
                            symbolByName.TryAdd(s.Name, s);
                        }
                        else
                        {
                            previousSymbol.LinkSymbols(s);
                        }
                    }
                }

                s.InitializeCache();
            }

            return(s);
        }
All Usage Examples Of CsDebugScript.CodeGen.Symbol::InitializeCache