@@ -95,6 +95,35 @@ def beginFile(self, gen_opts):
95
95
96
96
def endFile (self ):
97
97
"""Method override."""
98
+ for struct in self .get_all_filtered_struct_names ():
99
+ if (
100
+ (struct in self .structs_with_handles )
101
+ or (struct in self .GENERIC_HANDLE_STRUCTS )
102
+ ) and (struct not in self .STRUCT_MAPPERS_BLACKLIST ):
103
+ handle_members = dict ()
104
+ generic_handle_members = dict ()
105
+
106
+ if struct in self .structs_with_handles :
107
+ handle_members = self .structs_with_handles [struct ]
108
+ if struct in self .GENERIC_HANDLE_STRUCTS :
109
+ generic_handle_members = self .GENERIC_HANDLE_STRUCTS [struct
110
+ ]
111
+
112
+ body = '\n '
113
+ body += 'void UnwrapStructHandles({}* value, HandleUnwrapMemory* unwrap_memory)\n ' .format (
114
+ struct
115
+ )
116
+ body += '{\n '
117
+ body += ' if (value != nullptr)\n '
118
+ body += ' {\n '
119
+ body += self .make_struct_handle_unwrappings (
120
+ struct , handle_members , generic_handle_members
121
+ )
122
+ body += ' }\n '
123
+ body += '}'
124
+
125
+ write (body , file = self .outFile )
126
+
98
127
# Generate the pNext shallow copy code, for pNext structs that don't have handles, but need to be preserved in the overall copy for handle wrapping.
99
128
self .newline ()
100
129
write (
@@ -233,37 +262,6 @@ def need_feature_generation(self):
233
262
return True
234
263
return False
235
264
236
- def generate_feature (self ):
237
- """Performs C++ code generation for the feature."""
238
- for struct in self .get_filtered_struct_names ():
239
- if (
240
- (struct in self .structs_with_handles )
241
- or (struct in self .GENERIC_HANDLE_STRUCTS )
242
- ) and (struct not in self .STRUCT_MAPPERS_BLACKLIST ):
243
- handle_members = dict ()
244
- generic_handle_members = dict ()
245
-
246
- if struct in self .structs_with_handles :
247
- handle_members = self .structs_with_handles [struct ]
248
- if struct in self .GENERIC_HANDLE_STRUCTS :
249
- generic_handle_members = self .GENERIC_HANDLE_STRUCTS [struct
250
- ]
251
-
252
- body = '\n '
253
- body += 'void UnwrapStructHandles({}* value, HandleUnwrapMemory* unwrap_memory)\n ' .format (
254
- struct
255
- )
256
- body += '{\n '
257
- body += ' if (value != nullptr)\n '
258
- body += ' {\n '
259
- body += self .make_struct_handle_unwrappings (
260
- struct , handle_members , generic_handle_members
261
- )
262
- body += ' }\n '
263
- body += '}'
264
-
265
- write (body , file = self .outFile )
266
-
267
265
def make_struct_handle_unwrappings (
268
266
self , name , handle_members , generic_handle_members
269
267
):
0 commit comments