@@ -95,67 +95,6 @@ impl<'a> EnumBindGenerator<'a> {
9595 }
9696 }
9797
98- fn generate_definition ( & mut self ) {
99- write_str ! (
100- self ,
101- "#[derive(Debug, Default, Clone, PartialEq, Eq, Hash)]"
102- ) ;
103- write_str ! (
104- self ,
105- "#[pyclass(module = \" rlbot_flatbuffers\" , from_py_object, frozen, hash, eq, eq_int)]"
106- ) ;
107- write_fmt ! ( self , "pub enum {} {{" , self . name) ;
108- write_str ! ( self , " #[default]" ) ;
109-
110- for ( var_num, var_info) in self . variants {
111- write_fmt ! ( self , " {} = {var_num}," , normalize_caps( & var_info. name) ) ;
112- }
113-
114- write_str ! ( self , "}" ) ;
115- write_str ! ( self , "" ) ;
116- }
117-
118- fn generate_from_flat_impls ( & mut self ) {
119- write_fmt ! ( self , "impl From<flat::{}> for {} {{" , self . name, self . name) ;
120- write_fmt ! ( self , " fn from(flat_t: flat::{}) -> Self {{" , self . name) ;
121- write_str ! ( self , " match flat_t {" ) ;
122-
123- for var_info in self . variants . values ( ) {
124- let var_name = normalize_caps ( & var_info. name ) ;
125- write_fmt ! (
126- self ,
127- " flat::{}::{var_name} => Self::{var_name}," ,
128- self . name
129- ) ;
130- }
131-
132- write_str ! ( self , " }" ) ;
133- write_str ! ( self , " }" ) ;
134- write_str ! ( self , "}" ) ;
135- write_str ! ( self , "" ) ;
136- }
137-
138- fn generate_to_flat_impls ( & mut self ) {
139- write_fmt ! ( self , "impl From<&{}> for flat::{} {{" , self . name, self . name) ;
140- write_fmt ! ( self , " fn from(py_type: &{}) -> Self {{" , self . name) ;
141- write_str ! ( self , " match py_type {" ) ;
142-
143- for var_info in self . variants . values ( ) {
144- let var_name = normalize_caps ( & var_info. name ) ;
145- write_fmt ! (
146- self ,
147- " {}::{var_name} => Self::{var_name}," ,
148- self . name,
149- ) ;
150- }
151-
152- write_str ! ( self , " }" ) ;
153- write_str ! ( self , " }" ) ;
154- write_str ! ( self , "}" ) ;
155-
156- write_str ! ( self , "" ) ;
157- }
158-
15998 fn generate_new_method ( & mut self ) {
16099 write_str ! ( self , " #[new]" ) ;
161100 assert ! ( u8 :: try_from( self . variants. len( ) ) . is_ok( ) ) ;
@@ -216,10 +155,9 @@ impl<'a> EnumBindGenerator<'a> {
216155 "use pyo3::{PyResult, exceptions::PyValueError, pyclass, pymethods};"
217156 ) ;
218157 write_str ! ( self , "" ) ;
158+ write_fmt ! ( self , "pub use flat::{};" , self . name) ;
159+ write_str ! ( self , "" ) ;
219160
220- self . generate_definition ( ) ;
221- self . generate_from_flat_impls ( ) ;
222- self . generate_to_flat_impls ( ) ;
223161 self . generate_py_methods ( ) ;
224162
225163 self . file_contents
0 commit comments