1
1
"""
2
2
RTE type generator
3
- Requires cfile v0.3.1
3
+ Requires cfile v0.3.2
4
4
"""
5
5
import os
6
6
from typing import Iterator
@@ -104,11 +104,11 @@ def _gen_type_defs(self, data_types: Iterator[rte_element.Element]) -> cfile.cor
104
104
code = C .sequence ()
105
105
for data_type in data_types :
106
106
if isinstance (data_type , rte_element .BaseType ):
107
- code .append (C .statement (C .typedef (data_type .name , data_type .native_declaration )))
107
+ code .append (C .statement (C .declaration ( C . typedef (data_type .name , data_type .native_declaration ) )))
108
108
elif isinstance (data_type , rte_element .ScalarType ):
109
- code .append (C .statement (C .typedef (data_type .name , data_type .base_type .name )))
109
+ code .append (C .statement (C .declaration ( C . typedef (data_type .name , data_type .base_type .name ) )))
110
110
elif isinstance (data_type , rte_element .RefType ):
111
- code .append (C .statement (C .typedef (data_type .name , data_type .impl_type .name )))
111
+ code .append (C .statement (C .declaration ( C . typedef (data_type .name , data_type .impl_type .name ) )))
112
112
elif isinstance (data_type , rte_element .ArrayType ):
113
113
code .append (self ._gen_array_type_def (data_type ))
114
114
elif isinstance (data_type , rte_element .RecordType ):
@@ -129,7 +129,7 @@ def _gen_array_type_def(self, data_type: rte_element.ArrayType) -> cfile.core.St
129
129
target_type = C .type (last_element .data_type .impl_type .name )
130
130
else :
131
131
raise NotImplementedError (str (type (last_element .data_type )))
132
- return C .statement (C .typedef (data_type .name , target_type , array = last_element .array_size ))
132
+ return C .statement (C .declaration ( C . typedef (data_type .name , target_type , array = last_element .array_size ) ))
133
133
134
134
def _gen_record_type_def (self , data_type : rte_element .RecordType ) -> cfile .core .Statement :
135
135
members = []
@@ -147,6 +147,7 @@ def _gen_record_type_def(self, data_type: rte_element.RecordType) -> cfile.core.
147
147
members .append (C .struct_member (element .name , target_type ))
148
148
struct_name = "Rte_struct_" + data_type .name
149
149
code = C .sequence ()
150
- code .append (C .statement (C .struct (struct_name , members )))
151
- code .append (C .statement (C .typedef (data_type .name , C .struct_ref (struct_name ))))
150
+ struct = C .struct (struct_name , members )
151
+ code .append (C .statement (C .declaration (struct )))
152
+ code .append (C .statement (C .declaration (C .typedef (data_type .name , struct ))))
152
153
return code
0 commit comments