Add subclass declarations to generated files. (#1193)

This commit is contained in:
Christian Sigg 2023-11-30 06:25:40 +01:00 committed by GitHub
parent 56fc3df03b
commit a759e85f5f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -181,6 +181,7 @@ void initialize_all_sm${min_cc}_${subclass_name}_${operation_name}_operations(Ma
""" """
self.configuration_prototype_template = "void initialize_${configuration_name}(Manifest &manifest);\n" self.configuration_prototype_template = "void initialize_${configuration_name}(Manifest &manifest);\n"
self.configuration_template = " initialize_${configuration_name}(manifest);\n" self.configuration_template = " initialize_${configuration_name}(manifest);\n"
self.subclass_prototype_template = "void initialize_all_sm${min_cc}_${subclass_name}_${operation_name}_operations(Manifest &manifest);\n"
self.subclass_call_template = " initialize_all_sm${min_cc}_${subclass_name}_${operation_name}_operations(manifest);\n" self.subclass_call_template = " initialize_all_sm${min_cc}_${subclass_name}_${operation_name}_operations(manifest);\n"
self.epilogue_template ="""} self.epilogue_template ="""}
@ -251,6 +252,14 @@ void initialize_all_sm${min_cc}_${subclass_name}_${operation_name}_operations(Ma
# #
def __exit__(self, exception_type, exception_value, traceback): def __exit__(self, exception_type, exception_value, traceback):
for subclass_name, subclass_file in sorted(self.subclass_files.items()):
subclass_cfg = {
'min_cc': str(self.min_cc),
'subclass_name': subclass_name,
'operation_name': OperationKindNames[self.kind]
}
self.top_level_file.write(SubstituteTemplate(self.subclass_prototype_template, subclass_cfg))
self.top_level_file.write( self.top_level_file.write(
SubstituteTemplate(self.entry_template, { SubstituteTemplate(self.entry_template, {
'min_cc': str(self.min_cc), 'min_cc': str(self.min_cc),