Jack Jansen | 0c06992 | 2002-08-04 21:34:24 +0000 | [diff] [blame] | 1 | # IBCarbonscan.py |
| 2 | |
| 3 | import sys |
Jack Jansen | 0c06992 | 2002-08-04 21:34:24 +0000 | [diff] [blame] | 4 | |
Jack Jansen | aaebdd6 | 2002-08-05 15:39:30 +0000 | [diff] [blame] | 5 | from bgenlocations import TOOLBOXDIR, BGENDIR |
Jack Jansen | 0c06992 | 2002-08-04 21:34:24 +0000 | [diff] [blame] | 6 | sys.path.append(BGENDIR) |
Jack Jansen | 0c06992 | 2002-08-04 21:34:24 +0000 | [diff] [blame] | 7 | |
| 8 | from scantools import Scanner_OSX |
| 9 | |
| 10 | def main(): |
Tim Peters | 182b5ac | 2004-07-18 06:16:08 +0000 | [diff] [blame] | 11 | print "---Scanning IBCarbonRuntime.h---" |
| 12 | input = ["IBCarbonRuntime.h"] |
| 13 | output = "IBCarbongen.py" |
| 14 | defsoutput = TOOLBOXDIR + "IBCarbonRuntime.py" |
| 15 | scanner = IBCarbon_Scanner(input, output, defsoutput) |
| 16 | scanner.scan() |
| 17 | scanner.close() |
| 18 | print "=== Testing definitions output code ===" |
| 19 | execfile(defsoutput, {}, {}) |
| 20 | print "--done scanning, importing--" |
| 21 | import IBCarbonsupport |
| 22 | print "done" |
Jack Jansen | 0c06992 | 2002-08-04 21:34:24 +0000 | [diff] [blame] | 23 | |
| 24 | class IBCarbon_Scanner(Scanner_OSX): |
Jack Jansen | acbaefd | 2002-08-04 21:59:37 +0000 | [diff] [blame] | 25 | |
Tim Peters | 182b5ac | 2004-07-18 06:16:08 +0000 | [diff] [blame] | 26 | def destination(self, type, name, arglist): |
| 27 | classname = "IBCarbonFunction" |
| 28 | listname = "functions" |
| 29 | if arglist: |
| 30 | t, n, m = arglist[0] |
| 31 | if t == "IBNibRef" and m == "InMode": |
| 32 | classname = "IBCarbonMethod" |
| 33 | listname = "methods" |
| 34 | return classname, listname |
Jack Jansen | 0c06992 | 2002-08-04 21:34:24 +0000 | [diff] [blame] | 35 | |
Tim Peters | 182b5ac | 2004-07-18 06:16:08 +0000 | [diff] [blame] | 36 | def makeblacklistnames(self): |
| 37 | return [ |
| 38 | "DisposeNibReference", # taken care of by destructor |
| 39 | "CreateNibReferenceWithCFBundle", ## need to wrap CFBundle.h properly first |
| 40 | ] |
| 41 | |
| 42 | def makerepairinstructions(self): |
| 43 | return [] |
Jack Jansen | acbaefd | 2002-08-04 21:59:37 +0000 | [diff] [blame] | 44 | |
Jack Jansen | 0c06992 | 2002-08-04 21:34:24 +0000 | [diff] [blame] | 45 | |
| 46 | if __name__ == "__main__": |
Tim Peters | 182b5ac | 2004-07-18 06:16:08 +0000 | [diff] [blame] | 47 | main() |