blob: f71f864e03a6b1e01179e730c110c5a2c2ec95e7 [file] [log] [blame]
Jack Jansen0c069922002-08-04 21:34:24 +00001# IBCarbonscan.py
2
3import sys
Jack Jansen0c069922002-08-04 21:34:24 +00004
Jack Jansenaaebdd62002-08-05 15:39:30 +00005from bgenlocations import TOOLBOXDIR, BGENDIR
Jack Jansen0c069922002-08-04 21:34:24 +00006sys.path.append(BGENDIR)
Jack Jansen0c069922002-08-04 21:34:24 +00007
8from scantools import Scanner_OSX
9
10def main():
Tim Peters182b5ac2004-07-18 06:16:08 +000011 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 Jansen0c069922002-08-04 21:34:24 +000023
24class IBCarbon_Scanner(Scanner_OSX):
Jack Jansenacbaefd2002-08-04 21:59:37 +000025
Tim Peters182b5ac2004-07-18 06:16:08 +000026 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 Jansen0c069922002-08-04 21:34:24 +000035
Tim Peters182b5ac2004-07-18 06:16:08 +000036 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 Jansenacbaefd2002-08-04 21:59:37 +000044
Jack Jansen0c069922002-08-04 21:34:24 +000045
46if __name__ == "__main__":
Tim Peters182b5ac2004-07-18 06:16:08 +000047 main()