Chris Lattner | 24943d2 | 2010-06-08 16:52:24 +0000 | [diff] [blame] | 1 | /* |
| 2 | lldb.swig |
| 3 | |
Chris Lattner | 24943d2 | 2010-06-08 16:52:24 +0000 | [diff] [blame] | 4 | This is the input file for SWIG, to create the appropriate C++ wrappers and |
| 5 | functions for various scripting languages, to enable them to call the |
| 6 | liblldb Script Bridge functions. |
Chris Lattner | 24943d2 | 2010-06-08 16:52:24 +0000 | [diff] [blame] | 7 | */ |
| 8 | |
Johnny Chen | b6613ea | 2011-06-30 21:29:50 +0000 | [diff] [blame] | 9 | /* Define our module docstring. */ |
| 10 | %define DOCSTRING |
| 11 | "The lldb module contains the public APIs for Python binding. |
Chris Lattner | 24943d2 | 2010-06-08 16:52:24 +0000 | [diff] [blame] | 12 | |
Johnny Chen | b6613ea | 2011-06-30 21:29:50 +0000 | [diff] [blame] | 13 | Some of the important classes are describe here: |
| 14 | |
| 15 | o SBTarget: Represents the target program running under the debugger. |
| 16 | o SBProcess: Represents the process associated with the target program. |
| 17 | o SBThread: Represents a thread of execution. SBProcess contains SBThread(s). |
| 18 | o SBFrame: Represents one of the stack frames associated with a thread. SBThread |
| 19 | contains SBFrame(s). |
| 20 | o SBSymbolContext: A container that stores various debugger related info. |
| 21 | o SBValue: Represents the value of a variable, a register, or an expression. |
| 22 | o SBModule: Represents an executable image and its associated object and symbol |
Johnny Chen | 59efa13 | 2011-07-14 21:32:11 +0000 | [diff] [blame] | 23 | files. SBTarget conatins SBModule(s). |
| 24 | o SBBreakpoint: Represents a logical breakpoint and its associated settings. |
| 25 | SBTarget conatins SBBreakpoint(s). |
Johnny Chen | 6185899 | 2011-07-14 21:23:24 +0000 | [diff] [blame] | 26 | o SBSymbol: Represents the symbol possibly associated with a stack frame. |
Johnny Chen | b6613ea | 2011-06-30 21:29:50 +0000 | [diff] [blame] | 27 | o SBCompileUnit: Represents a compilation unit, or compiled source file. |
| 28 | o SBFunction: Represents a generic function, which can be inlined or not. |
| 29 | o SBBlock: Represents a lexical block. SBFunction contains SBBlock(s). |
| 30 | o SBLineEntry: Specifies an association with a contiguous range of instructions |
Johnny Chen | a0d0a7c | 2011-07-01 18:39:47 +0000 | [diff] [blame] | 31 | and a source file location. SBCompileUnit contains SBLineEntry(s)." |
Johnny Chen | b6613ea | 2011-06-30 21:29:50 +0000 | [diff] [blame] | 32 | %enddef |
| 33 | |
Johnny Chen | 8717687 | 2011-07-16 21:27:36 +0000 | [diff] [blame] | 34 | // The name of the module to be created. |
Johnny Chen | b6613ea | 2011-06-30 21:29:50 +0000 | [diff] [blame] | 35 | %module(docstring=DOCSTRING) lldb |
| 36 | |
Johnny Chen | 8717687 | 2011-07-16 21:27:36 +0000 | [diff] [blame] | 37 | // Parameter types will be used in the autodoc string. |
| 38 | %feature("autodoc", "1"); |
Chris Lattner | 24943d2 | 2010-06-08 16:52:24 +0000 | [diff] [blame] | 39 | |
Greg Clayton | b302dff | 2012-02-01 08:09:32 +0000 | [diff] [blame] | 40 | %pythoncode%{ |
| 41 | import uuid |
| 42 | import re |
| 43 | import os |
| 44 | %} |
Johnny Chen | f307cf7 | 2011-07-26 19:09:03 +0000 | [diff] [blame] | 45 | %include "./Python/python-typemaps.swig" |
Greg Clayton | 0d62dfd | 2011-01-14 04:54:56 +0000 | [diff] [blame] | 46 | |
Sean Callanan | 4761ca3 | 2012-08-09 00:53:54 +0000 | [diff] [blame] | 47 | /* C++ headers to be included. */ |
| 48 | %{ |
| 49 | #include <string> |
| 50 | %} |
| 51 | |
Greg Clayton | 461a437 | 2010-06-12 15:34:20 +0000 | [diff] [blame] | 52 | /* The liblldb header files to be included. */ |
Chris Lattner | 24943d2 | 2010-06-08 16:52:24 +0000 | [diff] [blame] | 53 | %{ |
Greg Clayton | b344843 | 2011-03-24 21:19:54 +0000 | [diff] [blame] | 54 | #include "lldb/lldb-public.h" |
Chris Lattner | 24943d2 | 2010-06-08 16:52:24 +0000 | [diff] [blame] | 55 | #include "lldb/API/SBAddress.h" |
| 56 | #include "lldb/API/SBBlock.h" |
| 57 | #include "lldb/API/SBBreakpoint.h" |
| 58 | #include "lldb/API/SBBreakpointLocation.h" |
| 59 | #include "lldb/API/SBBroadcaster.h" |
Chris Lattner | 24943d2 | 2010-06-08 16:52:24 +0000 | [diff] [blame] | 60 | #include "lldb/API/SBCommandInterpreter.h" |
| 61 | #include "lldb/API/SBCommandReturnObject.h" |
Greg Clayton | d8c6253 | 2010-10-07 04:19:01 +0000 | [diff] [blame] | 62 | #include "lldb/API/SBCommunication.h" |
Chris Lattner | 24943d2 | 2010-06-08 16:52:24 +0000 | [diff] [blame] | 63 | #include "lldb/API/SBCompileUnit.h" |
Enrico Granata | 9154480 | 2011-09-06 19:20:51 +0000 | [diff] [blame] | 64 | #include "lldb/API/SBData.h" |
Chris Lattner | 24943d2 | 2010-06-08 16:52:24 +0000 | [diff] [blame] | 65 | #include "lldb/API/SBDebugger.h" |
Enrico Granata | 4930614 | 2012-10-10 22:54:17 +0000 | [diff] [blame] | 66 | #include "lldb/API/SBDeclaration.h" |
Chris Lattner | 24943d2 | 2010-06-08 16:52:24 +0000 | [diff] [blame] | 67 | #include "lldb/API/SBError.h" |
| 68 | #include "lldb/API/SBEvent.h" |
Jim Ingham | 47beabb | 2012-10-16 21:41:58 +0000 | [diff] [blame] | 69 | #include "lldb/API/SBExpressionOptions.h" |
Johnny Chen | 4ead2e9 | 2010-08-27 22:35:26 +0000 | [diff] [blame] | 70 | #include "lldb/API/SBFileSpec.h" |
Jim Ingham | 03c8ee5 | 2011-09-21 01:17:13 +0000 | [diff] [blame] | 71 | #include "lldb/API/SBFileSpecList.h" |
Chris Lattner | 24943d2 | 2010-06-08 16:52:24 +0000 | [diff] [blame] | 72 | #include "lldb/API/SBFrame.h" |
| 73 | #include "lldb/API/SBFunction.h" |
Greg Clayton | d8c6253 | 2010-10-07 04:19:01 +0000 | [diff] [blame] | 74 | #include "lldb/API/SBHostOS.h" |
| 75 | #include "lldb/API/SBInputReader.h" |
Greg Clayton | 5c4c746 | 2010-10-06 03:09:58 +0000 | [diff] [blame] | 76 | #include "lldb/API/SBInstruction.h" |
| 77 | #include "lldb/API/SBInstructionList.h" |
Chris Lattner | 24943d2 | 2010-06-08 16:52:24 +0000 | [diff] [blame] | 78 | #include "lldb/API/SBLineEntry.h" |
| 79 | #include "lldb/API/SBListener.h" |
| 80 | #include "lldb/API/SBModule.h" |
| 81 | #include "lldb/API/SBProcess.h" |
Greg Clayton | 3e8c25f | 2011-09-24 00:52:29 +0000 | [diff] [blame] | 82 | #include "lldb/API/SBSection.h" |
Chris Lattner | 24943d2 | 2010-06-08 16:52:24 +0000 | [diff] [blame] | 83 | #include "lldb/API/SBSourceManager.h" |
Caroline Tice | 98f930f | 2010-09-20 05:20:02 +0000 | [diff] [blame] | 84 | #include "lldb/API/SBStream.h" |
Chris Lattner | 24943d2 | 2010-06-08 16:52:24 +0000 | [diff] [blame] | 85 | #include "lldb/API/SBStringList.h" |
| 86 | #include "lldb/API/SBSymbol.h" |
| 87 | #include "lldb/API/SBSymbolContext.h" |
Greg Clayton | d8c6253 | 2010-10-07 04:19:01 +0000 | [diff] [blame] | 88 | #include "lldb/API/SBSymbolContextList.h" |
Chris Lattner | 24943d2 | 2010-06-08 16:52:24 +0000 | [diff] [blame] | 89 | #include "lldb/API/SBTarget.h" |
| 90 | #include "lldb/API/SBThread.h" |
| 91 | #include "lldb/API/SBType.h" |
Enrico Granata | 16376ed | 2012-02-15 02:34:21 +0000 | [diff] [blame] | 92 | #include "lldb/API/SBTypeCategory.h" |
| 93 | #include "lldb/API/SBTypeFilter.h" |
| 94 | #include "lldb/API/SBTypeFormat.h" |
| 95 | #include "lldb/API/SBTypeNameSpecifier.h" |
| 96 | #include "lldb/API/SBTypeSummary.h" |
| 97 | #include "lldb/API/SBTypeSynthetic.h" |
Chris Lattner | 24943d2 | 2010-06-08 16:52:24 +0000 | [diff] [blame] | 98 | #include "lldb/API/SBValue.h" |
Caroline Tice | 1ca48b0 | 2010-09-22 16:41:52 +0000 | [diff] [blame] | 99 | #include "lldb/API/SBValueList.h" |
Greg Clayton | 1fa6b3d | 2011-10-13 18:08:26 +0000 | [diff] [blame] | 100 | #include "lldb/API/SBWatchpoint.h" |
Chris Lattner | 24943d2 | 2010-06-08 16:52:24 +0000 | [diff] [blame] | 101 | %} |
| 102 | |
| 103 | /* Various liblldb typedefs that SWIG needs to know about. */ |
Johnny Chen | c1955f2 | 2010-12-16 00:01:06 +0000 | [diff] [blame] | 104 | #define __extension__ /* Undefine GCC keyword to make Swig happy when processing glibc's stdint.h. */ |
Filipe Cabecinhas | 56de6d1 | 2012-09-19 15:22:05 +0000 | [diff] [blame] | 105 | %include "stdint.i" |
Greg Clayton | d8c6253 | 2010-10-07 04:19:01 +0000 | [diff] [blame] | 106 | %include "lldb/lldb-defines.h" |
| 107 | %include "lldb/lldb-enumerations.h" |
| 108 | %include "lldb/lldb-forward.h" |
Greg Clayton | d8c6253 | 2010-10-07 04:19:01 +0000 | [diff] [blame] | 109 | %include "lldb/lldb-types.h" |
Johnny Chen | 6d91e0a | 2011-07-19 01:07:06 +0000 | [diff] [blame] | 110 | |
Johnny Chen | 5cb6cab | 2011-07-19 22:41:47 +0000 | [diff] [blame] | 111 | /* Forward declaration of SB classes. */ |
Johnny Chen | 335b3ee | 2011-07-19 21:49:34 +0000 | [diff] [blame] | 112 | %include "lldb/API/SBDefines.h" |
Johnny Chen | 335b3ee | 2011-07-19 21:49:34 +0000 | [diff] [blame] | 113 | |
| 114 | /* Python interface files with docstrings. */ |
| 115 | %include "./Python/interface/SBAddress.i" |
| 116 | %include "./Python/interface/SBBlock.i" |
| 117 | %include "./Python/interface/SBBreakpoint.i" |
| 118 | %include "./Python/interface/SBBreakpointLocation.i" |
Johnny Chen | 5cb6cab | 2011-07-19 22:41:47 +0000 | [diff] [blame] | 119 | %include "./Python/interface/SBBroadcaster.i" |
| 120 | %include "./Python/interface/SBCommandInterpreter.i" |
| 121 | %include "./Python/interface/SBCommandReturnObject.i" |
| 122 | %include "./Python/interface/SBCommunication.i" |
Johnny Chen | 335b3ee | 2011-07-19 21:49:34 +0000 | [diff] [blame] | 123 | %include "./Python/interface/SBCompileUnit.i" |
Enrico Granata | 9154480 | 2011-09-06 19:20:51 +0000 | [diff] [blame] | 124 | %include "./Python/interface/SBData.i" |
Johnny Chen | 335b3ee | 2011-07-19 21:49:34 +0000 | [diff] [blame] | 125 | %include "./Python/interface/SBDebugger.i" |
Enrico Granata | 4930614 | 2012-10-10 22:54:17 +0000 | [diff] [blame] | 126 | %include "./Python/interface/SBDeclaration.i" |
Johnny Chen | 5cb6cab | 2011-07-19 22:41:47 +0000 | [diff] [blame] | 127 | %include "./Python/interface/SBError.i" |
Johnny Chen | 335b3ee | 2011-07-19 21:49:34 +0000 | [diff] [blame] | 128 | %include "./Python/interface/SBEvent.i" |
Jim Ingham | 47beabb | 2012-10-16 21:41:58 +0000 | [diff] [blame] | 129 | %include "./Python/interface/SBExpressionOptions.i" |
Johnny Chen | 5cb6cab | 2011-07-19 22:41:47 +0000 | [diff] [blame] | 130 | %include "./Python/interface/SBFileSpec.i" |
Jim Ingham | 03c8ee5 | 2011-09-21 01:17:13 +0000 | [diff] [blame] | 131 | %include "./Python/interface/SBFileSpecList.i" |
Johnny Chen | 335b3ee | 2011-07-19 21:49:34 +0000 | [diff] [blame] | 132 | %include "./Python/interface/SBFrame.i" |
| 133 | %include "./Python/interface/SBFunction.i" |
Johnny Chen | 5cb6cab | 2011-07-19 22:41:47 +0000 | [diff] [blame] | 134 | %include "./Python/interface/SBHostOS.i" |
| 135 | %include "./Python/interface/SBInputReader.i" |
| 136 | %include "./Python/interface/SBInstruction.i" |
| 137 | %include "./Python/interface/SBInstructionList.i" |
Johnny Chen | fb35e2a | 2011-07-18 23:11:07 +0000 | [diff] [blame] | 138 | %include "./Python/interface/SBLineEntry.i" |
| 139 | %include "./Python/interface/SBListener.i" |
| 140 | %include "./Python/interface/SBModule.i" |
Johnny Chen | c3fba81 | 2011-07-18 20:13:38 +0000 | [diff] [blame] | 141 | %include "./Python/interface/SBProcess.i" |
Greg Clayton | 3e8c25f | 2011-09-24 00:52:29 +0000 | [diff] [blame] | 142 | %include "./Python/interface/SBSection.i" |
Johnny Chen | 5cb6cab | 2011-07-19 22:41:47 +0000 | [diff] [blame] | 143 | %include "./Python/interface/SBSourceManager.i" |
| 144 | %include "./Python/interface/SBStream.i" |
| 145 | %include "./Python/interface/SBStringList.i" |
Johnny Chen | 6d91e0a | 2011-07-19 01:07:06 +0000 | [diff] [blame] | 146 | %include "./Python/interface/SBSymbol.i" |
| 147 | %include "./Python/interface/SBSymbolContext.i" |
| 148 | %include "./Python/interface/SBSymbolContextList.i" |
Johnny Chen | ebd63b2 | 2011-07-16 21:15:39 +0000 | [diff] [blame] | 149 | %include "./Python/interface/SBTarget.i" |
Johnny Chen | c3fba81 | 2011-07-18 20:13:38 +0000 | [diff] [blame] | 150 | %include "./Python/interface/SBThread.i" |
Johnny Chen | 5cb6cab | 2011-07-19 22:41:47 +0000 | [diff] [blame] | 151 | %include "./Python/interface/SBType.i" |
Enrico Granata | 16376ed | 2012-02-15 02:34:21 +0000 | [diff] [blame] | 152 | %include "./Python/interface/SBTypeCategory.i" |
| 153 | %include "./Python/interface/SBTypeFilter.i" |
| 154 | %include "./Python/interface/SBTypeFormat.i" |
| 155 | %include "./Python/interface/SBTypeNameSpecifier.i" |
| 156 | %include "./Python/interface/SBTypeSummary.i" |
| 157 | %include "./Python/interface/SBTypeSynthetic.i" |
Johnny Chen | 854a1ba | 2011-07-18 19:08:30 +0000 | [diff] [blame] | 158 | %include "./Python/interface/SBValue.i" |
| 159 | %include "./Python/interface/SBValueList.i" |
Greg Clayton | 1fa6b3d | 2011-10-13 18:08:26 +0000 | [diff] [blame] | 160 | %include "./Python/interface/SBWatchpoint.i" |
Chris Lattner | 24943d2 | 2010-06-08 16:52:24 +0000 | [diff] [blame] | 161 | |
Caroline Tice | e49ec18 | 2010-09-22 23:01:29 +0000 | [diff] [blame] | 162 | %include "./Python/python-extensions.swig" |
Caroline Tice | 59c5d5d | 2010-09-27 18:00:20 +0000 | [diff] [blame] | 163 | |
Johnny Chen | f307cf7 | 2011-07-26 19:09:03 +0000 | [diff] [blame] | 164 | %include "./Python/python-wrapper.swig" |