Ejemplo n.º 1
0
    def endFile(self):
        # Print out all the dictionaries as Python strings.
        # Could just print(dict) but that's not human-readable
        dicts = ([self.basetypes,
                  'basetypes'], [self.consts, 'consts'], [self.enums, 'enums'],
                 [self.flags, 'flags'], [self.funcpointers, 'funcpointers'],
                 [self.protos,
                  'protos'], [self.structs,
                              'structs'], [self.handles, 'handles'],
                 [self.defines,
                  'defines'], [self.typeCategory,
                               'typeCategory'], [self.alias, 'alias'])
        for (entry_dict, name) in dicts:
            write(name + ' = {}', file=self.outFile)
            for key in sorted(entry_dict.keys()):
                write(name + '[' + enquote(key) + '] = ',
                      entry_dict[key],
                      file=self.outFile)

        # Dictionary containing the relationships of a type
        # (e.g. a dictionary with each related type as keys).
        write('mapDict = {}', file=self.outFile)

        # Could just print(self.mapDict), but prefer something
        # human-readable and stable-ordered
        for baseType in sorted(self.mapDict.keys()):
            write('mapDict[' + enquote(baseType) + '] = ',
                  file=self.outFile,
                  end='')
            pprint(self.mapDict[baseType], self.outFile)

        OutputGenerator.endFile(self)
Ejemplo n.º 2
0
    def endFile(self):
        # Print out all the dictionaries as Python strings.
        # Could just print(dict) but that's not human-readable
        dicts = [ [ self.basetypes,     'basetypes' ],
                  [ self.consts,        'consts' ],
                  [ self.enums,         'enums' ],
                  [ self.flags,         'flags' ],
                  [ self.funcpointers,  'funcpointers' ],
                  [ self.protos,        'protos' ],
                  [ self.structs,       'structs' ],
                  [ self.handles,       'handles' ],
                  [ self.defines,       'defines' ],
                  [ self.typeCategory,  'typeCategory' ],
                  [ self.alias,         'alias' ],
                ]
        for (entry_dict, name) in dicts:
            write(name + ' = {}', file=self.outFile)
            for key in sorted(entry_dict.keys()):
                write(name + '[' + enquote(key) + '] = ', entry_dict[key],
                      file=self.outFile)

        # Dictionary containing the relationships of a type
        # (e.g. a dictionary with each related type as keys).
        write('mapDict = {}', file=self.outFile)

        # Could just print(self.mapDict), but prefer something
        # human-readable and stable-ordered
        for baseType in sorted(self.mapDict.keys()):
            write('mapDict[' + enquote(baseType) + '] = ', file=self.outFile, end='')
            pprint(self.mapDict[baseType], self.outFile)

        OutputGenerator.endFile(self)
Ejemplo n.º 3
0
    def endFile(self):
        # Print out all the dictionaries as Python strings.
        # Could just print(dict) but that's not human-readable
        dicts = ([self.basetypes,
                  'basetypes'], [self.consts, 'consts'], [self.enums, 'enums'],
                 [self.flags, 'flags'], [self.funcpointers, 'funcpointers'],
                 [self.protos,
                  'protos'], [self.structs,
                              'structs'], [self.handles, 'handles'],
                 [self.defines,
                  'defines'], [self.typeCategory,
                               'typeCategory'], [self.alias, 'alias'])
        for (entry_dict, name) in dicts:
            write(name + ' = {}', file=self.outFile)
            for key in sorted(entry_dict.keys()):
                write(name + '[' + enquote(key) + '] = ',
                      entry_dict[key],
                      file=self.outFile)

        # Dictionary containing the relationships of a type
        # (e.g. a dictionary with each related type as keys).
        write('mapDict = {}', file=self.outFile)

        # Could just print(self.mapDict), but prefer something
        # human-readable and stable-ordered
        for baseType in sorted(self.mapDict.keys()):
            write('mapDict[' + enquote(baseType) + '] = ',
                  file=self.outFile,
                  end='')
            pprint.pprint(self.mapDict[baseType], self.outFile)

        # Generate feature <-> interface mappings
        for feature in self.features:
            self.mapInterfaces(feature)

        # Write out the reverse map from APIs to requiring features
        write('requiredBy = {}', file=self.outFile)

        for api in sorted(self.apimap):
            # Construct list of requirements as Python list arguments
            ##reqs = ', '.join('({}, {})'.format(enquote(dep[0]), enquote(dep[1])) for dep in self.apimap[api])
            ##write('requiredBy[{}] = ( {} )'.format(enquote(api), reqs), file=self.outFile)

            # Ideally these would be sorted by dep[0] as well
            reqs = ', '.join(
                '({}, {})'.format(enquote(dep[0]), enquote(dep[1]))
                for dep in self.apimap[api])
            write('requiredBy[{}] = {}'.format(
                enquote(api), pprint.saferepr(self.apimap[api])),
                  file=self.outFile)

        OutputGenerator.endFile(self)
Ejemplo n.º 4
0
 def addName(self, entry_dict, name, value):
     """Add a string entry to the dictionary, quoting it so it gets printed
     out correctly in self.endFile()."""
     entry_dict[name] = enquote(value)
Ejemplo n.º 5
0
 def addName(self, entry_dict, name, value):
     entry_dict[name] = enquote(value)
Ejemplo n.º 6
0
 def addName(self, entry_dict, name, value):
     entry_dict[name] = enquote(value)