diff options
| author | Dustin Graves <dustin@lunarg.com> | 2016-05-30 16:14:27 -0600 |
|---|---|---|
| committer | Dustin Graves <dustin@lunarg.com> | 2016-06-01 13:47:32 -0600 |
| commit | 4f3e4b7581b79c44a109df973a8c28dcb75dfae3 (patch) | |
| tree | d262ba0b8e429fe20bcd778d72aa5ac6e19b927e /generator.py | |
| parent | 87324738d20915ffa03c27928dd7b4fa3d31ab87 (diff) | |
| download | usermoji-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.py | 20 |
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: |
