diff options
Diffstat (limited to 'scripts/parameter_validation_generator.py')
| -rw-r--r-- | scripts/parameter_validation_generator.py | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/scripts/parameter_validation_generator.py b/scripts/parameter_validation_generator.py index 4246eeae..66662086 100644 --- a/scripts/parameter_validation_generator.py +++ b/scripts/parameter_validation_generator.py @@ -410,14 +410,14 @@ class ParameterValidationOutputGenerator(OutputGenerator): OutputGenerator.endFeature(self) # # Type generation - def genType(self, typeinfo, name): - OutputGenerator.genType(self, typeinfo, name) + def genType(self, typeinfo, name, alias): + OutputGenerator.genType(self, typeinfo, name, alias) typeElem = typeinfo.elem # If the type is a struct type, traverse the imbedded <member> tags generating a structure. Otherwise, emit the tag text. category = typeElem.get('category') if (category == 'struct' or category == 'union'): self.structNames.append(name) - self.genStruct(typeinfo, name) + self.genStruct(typeinfo, name, alias) elif (category == 'handle'): self.handleTypes.add(name) elif (category == 'bitmask'): @@ -432,8 +432,10 @@ class ParameterValidationOutputGenerator(OutputGenerator): # This is a special case of the <type> tag where the contents are interpreted as a set of <member> tags instead of freeform C # type declarations. The <member> tags are just like <param> tags - they are a declaration of a struct or union member. # Only simple member declarations are supported (no nested structs etc.) - def genStruct(self, typeinfo, typeName): - OutputGenerator.genStruct(self, typeinfo, typeName) + def genStruct(self, typeinfo, typeName, alias): + if alias: + print("genStruct {} {}".format(typeName, alias)) + OutputGenerator.genStruct(self, typeinfo, typeName, alias) conditions = self.structMemberValidationConditions[typeName] if typeName in self.structMemberValidationConditions else None members = typeinfo.elem.findall('.//member') # @@ -497,8 +499,10 @@ class ParameterValidationOutputGenerator(OutputGenerator): # # Capture group (e.g. C "enum" type) info to be used for param check code generation. # These are concatenated together with other types. - def genGroup(self, groupinfo, groupName): - OutputGenerator.genGroup(self, groupinfo, groupName) + def genGroup(self, groupinfo, groupName, alias): + if alias: + print("genGroup {} {}".format(groupName, alias)) + OutputGenerator.genGroup(self, groupinfo, groupName, alias) groupElem = groupinfo.elem # Store the sType values if groupName == 'VkStructureType': @@ -533,8 +537,10 @@ class ParameterValidationOutputGenerator(OutputGenerator): self.enumValueLists += enum_entry # # Capture command parameter info to be used for param check code generation. - def genCmd(self, cmdinfo, name): - OutputGenerator.genCmd(self, cmdinfo, name) + def genCmd(self, cmdinfo, name, alias): + if alias: + print("genCmd {} {}".format(name, alias)) + OutputGenerator.genCmd(self, cmdinfo, name, alias) decls = self.makeCDecls(cmdinfo.elem) typedef = decls[1] typedef = typedef.split(')',1)[1] |
