/// <summary> /// Converts <see cref="CodeTypeTag"/> to <see cref="SymTagEnum"/>. /// </summary> /// <param name="tag">The tag.</param> private static SymTagEnum ConvertToSymTag(CodeTypeTag tag) { switch (tag) { case CodeTypeTag.Array: return(SymTagEnum.ArrayType); case CodeTypeTag.BaseClass: return(SymTagEnum.BaseClass); case CodeTypeTag.BuiltinType: return(SymTagEnum.BaseType); case CodeTypeTag.Class: case CodeTypeTag.Structure: case CodeTypeTag.Union: return(SymTagEnum.UDT); case CodeTypeTag.Enum: return(SymTagEnum.Enum); case CodeTypeTag.Function: return(SymTagEnum.FunctionType); case CodeTypeTag.ModuleGlobals: return(SymTagEnum.Exe); case CodeTypeTag.Pointer: return(SymTagEnum.PointerType); default: case CodeTypeTag.Unsupported: throw new NotImplementedException(); } }
/// <summary> /// Initializes a new instance of the <see cref="EngineSymbolProviderSymbol"/> class. /// </summary> /// <param name="module">The module.</param> /// <param name="typeId">The type identifier.</param> /// <param name="offset">The offset.</param> /// <param name="tag">The code type tag.</param> public EngineSymbolProviderSymbol(Module module, uint typeId, int offset, CodeTypeTag tag) : this(module, typeId) { Offset = offset; Tag = tag; IsVirtualInheritance = offset < 0; }
/// <summary> /// Initializes a new instance of the <see cref="EngineSymbolProviderSymbol"/> class. /// </summary> /// <param name="module">The module.</param> /// <param name="typeId">The type identifier.</param> /// <param name="offset">The offset.</param> /// <param name="tag">The code type tag.</param> public EngineSymbolProviderSymbol(Module module, uint typeId, int offset, CodeTypeTag tag) : this(module, typeId) { Offset = offset; Tag = tag; }