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); } }
public static void WriteSymbolKind(this IBulkWriter writer, NativeSymbolKind kind) => writer.WriteInt32((int)kind);