ยปCore Development>Code coverage>Mac/Modules/cg/cgscan.py

Python code coverage for Mac/Modules/cg/cgscan.py

#countcontent
1n/a# Scan an Apple header file, generating a Python file of generator calls.
2n/a
3n/aimport sys
4n/afrom bgenlocations import TOOLBOXDIR, BGENDIR
5n/asys.path.append(BGENDIR)
6n/afrom scantools import Scanner_OSX
7n/a
8n/aLONG = "CoreGraphics"
9n/aSHORT = "cg"
10n/aOBJECTS = ("CGContextRef",
11n/a )
12n/a# ADD object typenames here
13n/a
14n/adef main():
15n/a input = [
16n/a "CGContext.h",
17n/a ]
18n/a output = SHORT + "gen.py"
19n/a defsoutput = TOOLBOXDIR + LONG + ".py"
20n/a scanner = MyScanner(input, output, defsoutput)
21n/a scanner.scan()
22n/a scanner.gentypetest(SHORT+"typetest.py")
23n/a scanner.close()
24n/a print "=== Testing definitions output code ==="
25n/a execfile(defsoutput, {}, {})
26n/a print "=== Done scanning and generating, now importing the generated code... ==="
27n/a exec "import " + SHORT + "support"
28n/a print "=== Done. It's up to you to compile it now! ==="
29n/a
30n/aclass MyScanner(Scanner_OSX):
31n/a
32n/a def destination(self, type, name, arglist):
33n/a classname = "Function"
34n/a listname = "functions"
35n/a if arglist:
36n/a t, n, m = arglist[0]
37n/a if t in OBJECTS and m == "InMode":
38n/a classname = "Method"
39n/a listname = t + "_methods"
40n/a # Special case for the silly first AllocatorRef argument
41n/a if t == 'CFAllocatorRef' and m == 'InMode' and len(arglist) > 1:
42n/a t, n, m = arglist[1]
43n/a if t in OBJECTS and m == "InMode":
44n/a classname = "MethodSkipArg1"
45n/a listname = t + "_methods"
46n/a return classname, listname
47n/a
48n/a def writeinitialdefs(self):
49n/a self.defsfile.write("def FOUR_CHAR_CODE(x): return x\n")
50n/a
51n/a def makeblacklistnames(self):
52n/a return [
53n/a "CGContextRetain",
54n/a "CGContextRelease",
55n/a ]
56n/a
57n/a def makegreylist(self):
58n/a return []
59n/a
60n/a def makeblacklisttypes(self):
61n/a return [
62n/a "float_ptr",
63n/a "CGRect_ptr",
64n/a "CGPoint_ptr",
65n/a "CGColorSpaceRef",
66n/a "CGColorRenderingIntent",
67n/a "CGFontRef",
68n/a# "char_ptr",
69n/a "CGGlyph_ptr",
70n/a "CGImageRef",
71n/a "CGPDFDocumentRef",
72n/a ]
73n/a
74n/a def makerepairinstructions(self):
75n/a return [
76n/a ([("char_ptr", "cstring", "InMode"), ("size_t", "length", "InMode")],
77n/a [("InBuffer", "*", "*")]),
78n/a# ([("char_ptr", "name", "InMode"),],
79n/a# [("CCCCC", "*", "*")]),
80n/a ]
81n/a
82n/aif __name__ == "__main__":
83n/a main()