| // Copyright 2020 The Go Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| package genid |
| |
| import "google.golang.org/protobuf/reflect/protoreflect" |
| |
| type ProtoFile int |
| |
| const ( |
| Unknown_file ProtoFile = iota |
| Any_file |
| Timestamp_file |
| Duration_file |
| Wrappers_file |
| Struct_file |
| FieldMask_file |
| Api_file |
| Type_file |
| SourceContext_file |
| Empty_file |
| ) |
| |
| var wellKnownTypes = map[protoreflect.FullName]ProtoFile{ |
| Any_message_fullname: Any_file, |
| Timestamp_message_fullname: Timestamp_file, |
| Duration_message_fullname: Duration_file, |
| BoolValue_message_fullname: Wrappers_file, |
| Int32Value_message_fullname: Wrappers_file, |
| Int64Value_message_fullname: Wrappers_file, |
| UInt32Value_message_fullname: Wrappers_file, |
| UInt64Value_message_fullname: Wrappers_file, |
| FloatValue_message_fullname: Wrappers_file, |
| DoubleValue_message_fullname: Wrappers_file, |
| BytesValue_message_fullname: Wrappers_file, |
| StringValue_message_fullname: Wrappers_file, |
| Struct_message_fullname: Struct_file, |
| ListValue_message_fullname: Struct_file, |
| Value_message_fullname: Struct_file, |
| NullValue_enum_fullname: Struct_file, |
| FieldMask_message_fullname: FieldMask_file, |
| Api_message_fullname: Api_file, |
| Method_message_fullname: Api_file, |
| Mixin_message_fullname: Api_file, |
| Syntax_enum_fullname: Type_file, |
| Type_message_fullname: Type_file, |
| Field_message_fullname: Type_file, |
| Field_Kind_enum_fullname: Type_file, |
| Field_Cardinality_enum_fullname: Type_file, |
| Enum_message_fullname: Type_file, |
| EnumValue_message_fullname: Type_file, |
| Option_message_fullname: Type_file, |
| SourceContext_message_fullname: SourceContext_file, |
| Empty_message_fullname: Empty_file, |
| } |
| |
| // WhichFile identifies the proto file that an enum or message belongs to. |
| // It currently only identifies well-known types. |
| func WhichFile(s protoreflect.FullName) ProtoFile { |
| return wellKnownTypes[s] |
| } |