(self, gen=None, genOpts=None)
Output generator used to write headers / messages
Output generator used to write headers / messages
Output generator used to write headers / messages
def __init__(self, gen=None, genOpts=None):
        if gen is None:
            # If not specified, give a default object so messaging will work
            self.gen = OutputGenerator()
        else:
            self.gen = gen
        "Output generator used to write headers / messages"

        if genOpts is None:
            # If no generator is provided, we may still need the XML API name
            # (for example, in genRef.py).
            self.genOpts = GeneratorOptions(apiname = APIConventions().xml_api_name)
        else:
            self.genOpts = genOpts
        "Options controlling features to write and how to format them"

        self.gen.registry = self
        self.gen.genOpts = self.genOpts
        self.gen.genOpts.registry = self

        self.tree = None
        "ElementTree containing the root `<registry>`"

        self.typedict = {}
        "dictionary of TypeInfo objects keyed by type name"

        self.groupdict = {}
        "dictionary of GroupInfo objects keyed by group name"

        self.enumdict = {}
        "dictionary of EnumInfo objects keyed by enum name"

        self.cmddict = {}
        "dictionary of CmdInfo objects keyed by command name"

        self.apidict = {}
        "dictionary of FeatureInfo objects for `<feature>` elements keyed by API name"

        self.extensions = []
        "list of `<extension>` Elements"

        self.extdict = {}
        "dictionary of FeatureInfo objects for `<extension>` elements keyed by extension name"

        self.spirvextdict = {}
        "dictionary of FeatureInfo objects for `<spirvextension>` elements keyed by spirv extension name"

        self.spirvcapdict = {}
        "dictionary of FeatureInfo objects for `<spirvcapability>` elements keyed by spirv capability name"

        self.formatsdict = {}
        "dictionary of FeatureInfo objects for `<format>` elements keyed by VkFormat name"

        self.emitFeatures = False
        """True to actually emit features for a version / extension,
        or False to just treat them as emitted"""

        self.breakPat = None
        "regexp pattern to break on when generating names"
        # self.breakPat     = re.compile('VkFenceImportFlagBits.*')

        self.requiredextensions = []  # Hack - can remove it after validity generator goes away

        # ** Global types for automatic source generation **
        # Length Member data
        self.commandextensiontuple = namedtuple('commandextensiontuple',
                                                ['command',        # The name of the command being modified
                                                 'value',          # The value to append to the command
                                                 'extension'])     # The name of the extension that added it
        self.validextensionstructs = defaultdict(list)
        self.commandextensionsuccesses = []
        self.commandextensionerrors = []

        self.filename     = None
def __init__ ( self , gen = None , genOpts = None ) : if gen is None : # If not specified, give a default object so messaging will work self . gen = OutputGenerator ( ) else : self . gen = gen if genOpts is None : # If no generator is provided, we may still need the XML API name # (for example, in genRef.py). self . genOpts = GeneratorOptions ( apiname = APIConventions ( ) . xml_api_name ) else : self . genOpts = genOpts "Options controlling features to write and how to format them" self . gen . registry = self self . gen . genOpts = self . genOpts self . gen . genOpts . registry = self self . tree = None "ElementTree containing the root `<registry>`" self . typedict = { } "dictionary of TypeInfo objects keyed by type name" self . groupdict = { } "dictionary of GroupInfo objects keyed by group name" self . enumdict = { } "dictionary of EnumInfo objects keyed by enum name" self . cmddict = { } "dictionary of CmdInfo objects keyed by command name" self . apidict = { } "dictionary of FeatureInfo objects for `<feature>` elements keyed by API name" self . extensions = [ ] "list of `<extension>` Elements" self . extdict = { } "dictionary of FeatureInfo objects for `<extension>` elements keyed by extension name" self . spirvextdict = { } "dictionary of FeatureInfo objects for `<spirvextension>` elements keyed by spirv extension name" self . spirvcapdict = { } "dictionary of FeatureInfo objects for `<spirvcapability>` elements keyed by spirv capability name" self . formatsdict = { } "dictionary of FeatureInfo objects for `<format>` elements keyed by VkFormat name" self . emitFeatures = False """True to actually emit features for a version / extension,
        or False to just treat them as emitted""" self . breakPat = None "regexp pattern to break on when generating names" # self.breakPat     = re.compile('VkFenceImportFlagBits.*') self . requiredextensions = [ ] # Hack - can remove it after validity generator goes away # ** Global types for automatic source generation ** # Length Member data self . commandextensiontuple = namedtuple ( 'commandextensiontuple' , [ 'command' , # The name of the command being modified 'value' , # The value to append to the command 'extension' ] ) # The name of the extension that added it self . validextensionstructs = defaultdict ( list ) self . commandextensionsuccesses = [ ] self . commandextensionerrors = [ ] self . filename = None