scripts: Update codegen to work with new aliasing
Change-Id: I3739f7b7b6eb17a5e3e1bc9cc18e74569cb50f95
diff --git a/scripts/parameter_validation_generator.py b/scripts/parameter_validation_generator.py
index 4246eea..6666208 100644
--- a/scripts/parameter_validation_generator.py
+++ b/scripts/parameter_validation_generator.py
@@ -410,14 +410,14 @@
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 @@
# 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 @@
#
# 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 @@
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]