Esempio n. 1
0
        /// <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();
            }
        }
Esempio n. 2
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;
     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;
 }