protobuf/reflect/enums/
generated.rs
1use std::any::TypeId;
4
5use crate::descriptor::FileDescriptorProto;
6use crate::EnumFull;
7use crate::EnumOrUnknown;
8
9#[doc(hidden)]
10pub struct GeneratedEnumDescriptorData {
11 pub(crate) name_in_file: &'static str,
12 type_id: TypeId,
13 enum_or_unknown_type_id: TypeId,
14}
15
16impl GeneratedEnumDescriptorData {
17 #[doc(hidden)]
18 pub fn new<E>(name_in_file: &'static str) -> GeneratedEnumDescriptorData
19 where
20 E: EnumFull,
21 {
22 GeneratedEnumDescriptorData {
23 name_in_file,
24 type_id: TypeId::of::<E>(),
25 enum_or_unknown_type_id: TypeId::of::<EnumOrUnknown<E>>(),
26 }
27 }
28}
29
30#[derive(Debug)]
31pub(crate) struct GeneratedEnumDescriptor {
32 pub(crate) type_id: TypeId,
34 pub(crate) _enum_or_unknown_type_id: TypeId,
36}
37
38impl GeneratedEnumDescriptor {
39 pub(crate) fn new(
40 data: GeneratedEnumDescriptorData,
41 file_descriptor_proto: &'static FileDescriptorProto,
42 ) -> GeneratedEnumDescriptor {
43 let GeneratedEnumDescriptorData {
44 name_in_file,
45 type_id,
46 enum_or_unknown_type_id,
47 } = data;
48
49 let _ = (name_in_file, file_descriptor_proto);
50
51 GeneratedEnumDescriptor {
52 type_id,
53 _enum_or_unknown_type_id: enum_or_unknown_type_id,
54 }
55 }
56}