Ejemplo n.º 1
0
        public static bool TryGetNativeNameKind(NativeSymbolKind symbolKind, out NativeNameKind nameKind)
        {
            switch (symbolKind)
            {
            case NativeSymbolKind.StructType:
                nameKind = NativeNameKind.Struct;
                return(true);

            case NativeSymbolKind.EnumType:
                nameKind = NativeNameKind.Enum;
                return(true);

            case NativeSymbolKind.UnionType:
                nameKind = NativeNameKind.Union;
                return(true);

            case NativeSymbolKind.TypeDefType:
                nameKind = NativeNameKind.TypeDef;
                return(true);

            case NativeSymbolKind.Procedure:
                nameKind = NativeNameKind.Procedure;
                return(true);

            case NativeSymbolKind.FunctionPointer:
                nameKind = NativeNameKind.FunctionPointer;
                return(true);

            case NativeSymbolKind.EnumNameValue:
                nameKind = NativeNameKind.EnumValue;
                return(true);

            case NativeSymbolKind.Constant:
                nameKind = NativeNameKind.Constant;
                return(true);

            case NativeSymbolKind.ArrayType:
            case NativeSymbolKind.PointerType:
            case NativeSymbolKind.BuiltinType:
            case NativeSymbolKind.BitVectorType:
            case NativeSymbolKind.NamedType:
            case NativeSymbolKind.ProcedureSignature:
            case NativeSymbolKind.Parameter:
            case NativeSymbolKind.Member:
            case NativeSymbolKind.SalEntry:
            case NativeSymbolKind.SalAttribute:
            case NativeSymbolKind.ValueExpression:
            case NativeSymbolKind.Value:
            case NativeSymbolKind.OpaqueType:
                nameKind = (NativeNameKind)0;
                return(false);

            default:
                Contract.ThrowInvalidEnumValue(symbolKind);
                nameKind = (NativeNameKind)0;
                return(false);
            }
        }
Ejemplo n.º 2
0
 public static void WriteSymbolKind(this IBulkWriter writer, NativeSymbolKind kind) => writer.WriteInt32((int)kind);