aboutsummaryrefslogtreecommitdiff
path: root/generator.py
diff options
context:
space:
mode:
authorDustin Graves <dustin@lunarg.com>2016-05-30 16:14:27 -0600
committerDustin Graves <dustin@lunarg.com>2016-06-01 13:47:32 -0600
commit4f3e4b7581b79c44a109df973a8c28dcb75dfae3 (patch)
treed262ba0b8e429fe20bcd778d72aa5ac6e19b927e /generator.py
parent87324738d20915ffa03c27928dd7b4fa3d31ab87 (diff)
downloadusermoji-4f3e4b7581b79c44a109df973a8c28dcb75dfae3.tar.xz
layers: More noautovalidity processing for structs
Apply 'noautovalidity' code generation logic to struct members. Previously, struct pointers tagged as noautovalidity were ignored by the code generator, but the members of non-NULL struct pointers were still processed. Now both the struct pointer and the struct members are ignored when the struct pointer has the 'noautovalidity' attribute. Change-Id: I14bc231210f2440fb8bb3df8c73ef165100f0daa
Diffstat (limited to 'generator.py')
-rw-r--r--generator.py20
1 files changed, 10 insertions, 10 deletions
diff --git a/generator.py b/generator.py
index e9aa8d4e..0b97305e 100644
--- a/generator.py
+++ b/generator.py
@@ -3566,10 +3566,10 @@ class ParamCheckerOutputGenerator(OutputGenerator):
usedLines += self.makeStructNextCheck(valuePrefix, value, funcName, valueDisplayName)
else:
usedLines += self.makePointerCheck(valuePrefix, value, lenParam, req, cvReq, cpReq, funcName, lenDisplayName, valueDisplayName)
- #
- # If this is a pointer to a struct (input), see if it contains members that need to be checked
- if value.type in self.validatedStructs and value.isconst:
- usedLines.append(self.expandStructPointerCode(valuePrefix, value, lenParam, funcName, valueDisplayName))
+ #
+ # If this is a pointer to a struct (input), see if it contains members that need to be checked
+ if value.type in self.validatedStructs and value.isconst:
+ usedLines.append(self.expandStructPointerCode(valuePrefix, value, lenParam, funcName, valueDisplayName))
# Non-pointer types
else:
#
@@ -3600,12 +3600,12 @@ class ParamCheckerOutputGenerator(OutputGenerator):
elif value.israngedenum:
enumRange = self.enumRanges[value.type]
usedLines.append('skipCall |= validate_ranged_enum(report_data, "{}", "{}", "{}", {}, {}, {}{});\n'.format(funcName, valueDisplayName, value.type, enumRange[0], enumRange[1], valuePrefix, value.name))
- #
- # If this is a pointer to a struct (input), see if it contains members that need to be checked
- if value.type in self.validatedStructs:
- memberNamePrefix = '{}{}.'.format(valuePrefix, value.name)
- memberDisplayNamePrefix = '{}.'.format(valueDisplayName)
- usedLines.append(self.expandStructCode(self.validatedStructs[value.type], funcName, memberNamePrefix, memberDisplayNamePrefix, '', []))
+ #
+ # If this is a struct, see if it contains members that need to be checked
+ if value.type in self.validatedStructs:
+ memberNamePrefix = '{}{}.'.format(valuePrefix, value.name)
+ memberDisplayNamePrefix = '{}.'.format(valueDisplayName)
+ usedLines.append(self.expandStructCode(self.validatedStructs[value.type], funcName, memberNamePrefix, memberDisplayNamePrefix, '', []))
#
# Append the parameter check to the function body for the current command
if usedLines: