]> git.proxmox.com Git - mirror_edk2.git/blob - AppPkg/Applications/Python/Python-2.7.2/Tools/bgen/bgen/bgenGeneratorGroup.py
EmbeddedPkg: Extend NvVarStoreFormattedLib LIBRARY_CLASS
[mirror_edk2.git] / AppPkg / Applications / Python / Python-2.7.2 / Tools / bgen / bgen / bgenGeneratorGroup.py
1 from bgenOutput import *
2
3 class GeneratorGroup:
4
5 def __init__(self, prefix):
6 self.prefix = prefix
7 self.generators = []
8
9 def add(self, g, dupcheck=0):
10 if dupcheck:
11 if g in self.generators:
12 print 'DUP', g.name
13 return
14 g.setprefix(self.prefix)
15 self.generators.append(g)
16
17 def generate(self):
18 for g in self.generators:
19 g.generate()
20 Output()
21 Output("static PyMethodDef %s_methods[] = {", self.prefix)
22 IndentLevel()
23 for g in self.generators:
24 g.reference()
25 Output("{NULL, NULL, 0}")
26 DedentLevel()
27 Output("};")
28
29
30 def _test():
31 void = None
32 from bgenGenerator import FunctionGenerator
33 group = GeneratorGroup("spam")
34 eggs = FunctionGenerator(void, "eggs")
35 group.add(eggs)
36 print "/* START */"
37 group.generate()
38
39 if __name__ == "__main__":
40 _test()