Lines Matching refs:required
19 """Return whether a required api name matches a pattern specified for an
202 self.required = False
213 """Reset required/declared to initial values. Used
215 self.required = False
218 def compareKeys(self, info, key, required = False):
221 If 'required' is not True, also returns True if neither element
224 if required and key not in self.elem.keys():
237 if (self.compareKeys(info, 'value', required = True) or
238 self.compareKeys(info, 'bitpos', required = True)):
262 beyond BaseInfo is required."""
518 # self.gen.logMsg('diag', 'Adding ElementInfo.required =',
519 # info.required, 'name =', elem.get('name'))
607 # tag all contained <enum>s are required. This is a stopgap until
611 required = (enums.get('type') is not None)
614 enumInfo.required = required
876 def markTypeRequired(self, typename, required):
880 - required - boolean (to tag features as required or not)
882 self.gen.logMsg('diag', 'tagging type:', typename, '-> required =', required)
887 if required:
888 # Tag type dependencies in 'alias' and 'required' attributes as
889 # required. This does not un-tag dependencies in a <remove>
898 self.markTypeRequired(depname, required)
908 self.markTypeRequired(subtype.text, required)
915 self.markEnumRequired(subenum.text, required)
917 # required. This ensures that the bit values for a flag
923 self.markTypeRequired(depType, required)
928 typeinfo.required = required
932 def markEnumRequired(self, enumname, required):
933 """Mark an enum as required or not.
936 - required - boolean (to tag features as required or not)"""
938 self.gen.logMsg('diag', 'markEnumRequired: tagging enum:', enumname, '-> required =', required)
945 if not required:
985 enum.required = required
986 # Tag enum dependencies in 'alias' attribute as required
990 depname, 'for alias', enumname, 'required =', enum.required)
991 self.markEnumRequired(depname, required)
995 def markCmdRequired(self, cmdname, required):
996 """Mark a command as required or not.
999 - required - boolean (to tag features as required or not)"""
1000 self.gen.logMsg('diag', 'tagging command:', cmdname, '-> required =', required)
1003 cmd.required = required
1005 # Tag command dependencies in 'alias' attribute as required
1019 self.markCmdRequired(depname, required)
1021 # Tag all parameter types of this command as required.
1026 if required:
1031 self.markTypeRequired(type_elem.text, required)
1035 def markRequired(self, featurename, feature, required):
1040 - required - boolean (to tag features as required or not)"""
1041 self.gen.logMsg('diag', 'markRequired (feature = <too long to print>, required =', required, ')')
1047 self.markTypeRequired(typeElem.get('name'), required)
1049 self.markEnumRequired(enumElem.get('name'), required)
1052 self.markCmdRequired(cmdElem.get('name'), required)
1132 # <require> marks things that are required by this version/profile
1136 # Determine the required extension or version needed for a require block
1205 # <require> marks things that are required by this version/profile
1251 - explicit - True if this is explicitly required by the top-level
1268 # If feature is not required, or has already been declared, return
1269 if not f.required:
1270 self.gen.logMsg('diag', 'Skipping', ftype, fname, '(not required)')
1300 self.gen.logMsg('diag', 'Generating required dependent type',
1309 self.gen.logMsg('diag', 'Generating required dependent <type>',
1316 self.gen.logMsg('diag', 'Generating required dependent <enum>',
1345 # @ they are required or not. It may also contain
1350 # @ required or not. Mark aliases of enums as required,
1357 # Check for required enums, including aliases
1363 required = False
1372 required = True
1374 required = True
1376 required = re.match(self.genOpts.emitversions, version) is not None
1378 required = True
1380 self.gen.logMsg('diag', '* required =', required, 'for', name)
1381 if required:
1382 # Mark this element as required (in the element, not the EnumInfo)
1383 elem.set('required', 'true')
1391 elem.set('required', 'true')
1405 self.gen.logMsg('diag', 'Generating required parameter type',
1425 self.gen.logMsg('diag', 'Generating required bitvalues <enum>',
1430 """Generate all interfaces required by an API version or extension.
1476 if api in supportedDictionary and supportedDictionary[api].required:
1500 if supportedDictionary[api].required:
1539 Only do this for structures tagged as required."""
1543 if typeinfo.required and type_elem.get('category') == 'struct':
1564 # Could reset required/declared flags for all features here.
1699 # types/commands/features as required (in an <require> block) or no
1700 # longer required (in an <remove> block). <remove>s are processed
1707 self.gen.logMsg('diag', 'PASS 1: Tagging required and features for', f.name)
1717 # Now, strip references to APIs that are not required.
1737 # declarations for required things which have not already been