[Lldb-commits] [PATCH] D142926: [lldb][RFC] Replace SB swig interfaces with API headers
Alex Langford via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Tue Feb 7 17:38:46 PST 2023
bulbazord updated this revision to Diff 495695.
bulbazord added a comment.
Herald added a reviewer: jdoerfert.
Herald added subscribers: Michael137, sstefan1.
First pass at a complete implementation. Actions taken:
- Added swig flags to ignore swig warnings indicating that swig is ignoring certain operator overloads (e.g. operator=)
- Broke SB${Class}.i files into SB${Class}Docstrings.i (containing the docstrings) and SB${Class}Extensions.i (containing additional python functionality)
- Deleted all SB${Class}.i files.
- Moved necessary typemaps into python-typemaps.swig.
- Audited all SB class headers and add preprocessor macros to ignore any functions and methods that were not implemented in the SB${Class}.i files.
- This is just to make this change more "atomic" (i.e. not adding any new functionality)
I can imagine that folks will have some opinions about this patch. It is pretty large, contains a few
"warts" (some of the swig header guards aren't very pretty), and there are probably better ways to do some things.
I'd therefore like to start getting feedback on this patch now that it works on my machine.
I've run the test suite on my macOS machine which I'm sure won't run every single test in every single configuration that
get run on the bots so I expect there to be some amount of churn even if this is approved and lands.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D142926/new/
https://reviews.llvm.org/D142926
Files:
lldb/bindings/CMakeLists.txt
lldb/bindings/interface/SBAddress.i
lldb/bindings/interface/SBAddressDocstrings.i
lldb/bindings/interface/SBAddressExtensions.i
lldb/bindings/interface/SBAttachInfo.i
lldb/bindings/interface/SBAttachInfoDocstrings.i
lldb/bindings/interface/SBBlock.i
lldb/bindings/interface/SBBlockDocstrings.i
lldb/bindings/interface/SBBlockExtensions.i
lldb/bindings/interface/SBBreakpoint.i
lldb/bindings/interface/SBBreakpointDocstrings.i
lldb/bindings/interface/SBBreakpointExtensions.i
lldb/bindings/interface/SBBreakpointLocation.i
lldb/bindings/interface/SBBreakpointLocationDocstrings.i
lldb/bindings/interface/SBBreakpointLocationExtensions.i
lldb/bindings/interface/SBBreakpointName.i
lldb/bindings/interface/SBBreakpointNameDocstrings.i
lldb/bindings/interface/SBBreakpointNameExtensions.i
lldb/bindings/interface/SBBroadcaster.i
lldb/bindings/interface/SBBroadcasterDocstrings.i
lldb/bindings/interface/SBCommandInterpreter.i
lldb/bindings/interface/SBCommandInterpreterDocstrings.i
lldb/bindings/interface/SBCommandInterpreterRunOptions.i
lldb/bindings/interface/SBCommandInterpreterRunOptionsDocstrings.i
lldb/bindings/interface/SBCommandReturnObject.i
lldb/bindings/interface/SBCommandReturnObjectDocstrings.i
lldb/bindings/interface/SBCommandReturnObjectExtensions.i
lldb/bindings/interface/SBCommunication.i
lldb/bindings/interface/SBCommunicationDocstrings.i
lldb/bindings/interface/SBCompileUnit.i
lldb/bindings/interface/SBCompileUnitDocstrings.i
lldb/bindings/interface/SBCompileUnitExtensions.i
lldb/bindings/interface/SBData.i
lldb/bindings/interface/SBDataDocstrings.i
lldb/bindings/interface/SBDataExtensions.i
lldb/bindings/interface/SBDebugger.i
lldb/bindings/interface/SBDebuggerDocstrings.i
lldb/bindings/interface/SBDebuggerExtensions.i
lldb/bindings/interface/SBDeclaration.i
lldb/bindings/interface/SBDeclarationDocstrings.i
lldb/bindings/interface/SBDeclarationExtensions.i
lldb/bindings/interface/SBEnvironment.i
lldb/bindings/interface/SBEnvironmentDocstrings.i
lldb/bindings/interface/SBError.i
lldb/bindings/interface/SBErrorDocstrings.i
lldb/bindings/interface/SBErrorExtensions.i
lldb/bindings/interface/SBEvent.i
lldb/bindings/interface/SBEventDocstrings.i
lldb/bindings/interface/SBExecutionContext.i
lldb/bindings/interface/SBExecutionContextDocstrings.i
lldb/bindings/interface/SBExecutionContextExtensions.i
lldb/bindings/interface/SBExpressionOptions.i
lldb/bindings/interface/SBExpressionOptionsDocstrings.i
lldb/bindings/interface/SBFile.i
lldb/bindings/interface/SBFileDocstrings.i
lldb/bindings/interface/SBFileExtensions.i
lldb/bindings/interface/SBFileSpec.i
lldb/bindings/interface/SBFileSpecDocstrings.i
lldb/bindings/interface/SBFileSpecExtensions.i
lldb/bindings/interface/SBFileSpecList.i
lldb/bindings/interface/SBFileSpecListDocstrings.i
lldb/bindings/interface/SBFrame.i
lldb/bindings/interface/SBFrameDocstrings.i
lldb/bindings/interface/SBFrameExtensions.i
lldb/bindings/interface/SBFunction.i
lldb/bindings/interface/SBFunctionDocstrings.i
lldb/bindings/interface/SBFunctionExtensions.i
lldb/bindings/interface/SBHostOS.i
lldb/bindings/interface/SBHostOSDocstrings.i
lldb/bindings/interface/SBInstruction.i
lldb/bindings/interface/SBInstructionDocstrings.i
lldb/bindings/interface/SBInstructionExtensions.i
lldb/bindings/interface/SBInstructionList.i
lldb/bindings/interface/SBInstructionListDocstrings.i
lldb/bindings/interface/SBInstructionListExtensions.i
lldb/bindings/interface/SBLanguageRuntime.i
lldb/bindings/interface/SBLanguageRuntimeDocstrings.i
lldb/bindings/interface/SBLaunchInfo.i
lldb/bindings/interface/SBLaunchInfoDocstrings.i
lldb/bindings/interface/SBLineEntry.i
lldb/bindings/interface/SBLineEntryDocstrings.i
lldb/bindings/interface/SBLineEntryExtensions.i
lldb/bindings/interface/SBListener.i
lldb/bindings/interface/SBListenerDocstrings.i
lldb/bindings/interface/SBMemoryRegionInfo.i
lldb/bindings/interface/SBMemoryRegionInfoDocstrings.i
lldb/bindings/interface/SBMemoryRegionInfoExtensions.i
lldb/bindings/interface/SBMemoryRegionInfoList.i
lldb/bindings/interface/SBMemoryRegionInfoListDocstrings.i
lldb/bindings/interface/SBModule.i
lldb/bindings/interface/SBModuleDocstrings.i
lldb/bindings/interface/SBModuleExtensions.i
lldb/bindings/interface/SBModuleSpec.i
lldb/bindings/interface/SBModuleSpecDocstrings.i
lldb/bindings/interface/SBModuleSpecExtensions.i
lldb/bindings/interface/SBPlatform.i
lldb/bindings/interface/SBPlatformDocstrings.i
lldb/bindings/interface/SBProcess.i
lldb/bindings/interface/SBProcessDocstrings.i
lldb/bindings/interface/SBProcessExtensions.i
lldb/bindings/interface/SBProcessInfo.i
lldb/bindings/interface/SBProcessInfoDocstrings.i
lldb/bindings/interface/SBQueue.i
lldb/bindings/interface/SBQueueDocstrings.i
lldb/bindings/interface/SBQueueItem.i
lldb/bindings/interface/SBQueueItemDocstrings.i
lldb/bindings/interface/SBReproducer.i
lldb/bindings/interface/SBReproducerDocstrings.i
lldb/bindings/interface/SBSection.i
lldb/bindings/interface/SBSectionDocstrings.i
lldb/bindings/interface/SBSectionExtensions.i
lldb/bindings/interface/SBSourceManager.i
lldb/bindings/interface/SBSourceManagerDocstrings.i
lldb/bindings/interface/SBStream.i
lldb/bindings/interface/SBStreamDocstrings.i
lldb/bindings/interface/SBStreamExtensions.i
lldb/bindings/interface/SBStringList.i
lldb/bindings/interface/SBStringListDocstrings.i
lldb/bindings/interface/SBStringListExtensions.i
lldb/bindings/interface/SBStructuredData.i
lldb/bindings/interface/SBStructuredDataDocstrings.i
lldb/bindings/interface/SBSymbol.i
lldb/bindings/interface/SBSymbolContext.i
lldb/bindings/interface/SBSymbolContextDocstrings.i
lldb/bindings/interface/SBSymbolContextExtensions.i
lldb/bindings/interface/SBSymbolContextList.i
lldb/bindings/interface/SBSymbolContextListDocstrings.i
lldb/bindings/interface/SBSymbolContextListExtensions.i
lldb/bindings/interface/SBSymbolDocstrings.i
lldb/bindings/interface/SBSymbolExtensions.i
lldb/bindings/interface/SBTarget.i
lldb/bindings/interface/SBTargetDocstrings.i
lldb/bindings/interface/SBTargetExtensions.i
lldb/bindings/interface/SBThread.i
lldb/bindings/interface/SBThreadCollection.i
lldb/bindings/interface/SBThreadCollectionDocstrings.i
lldb/bindings/interface/SBThreadDocstrings.i
lldb/bindings/interface/SBThreadExtensions.i
lldb/bindings/interface/SBThreadPlan.i
lldb/bindings/interface/SBThreadPlanDocstrings.i
lldb/bindings/interface/SBTrace.i
lldb/bindings/interface/SBTraceCursor.i
lldb/bindings/interface/SBTraceCursorDocstrings.i
lldb/bindings/interface/SBTraceDocstrings.i
lldb/bindings/interface/SBType.i
lldb/bindings/interface/SBTypeCategory.i
lldb/bindings/interface/SBTypeCategoryDocstrings.i
lldb/bindings/interface/SBTypeCategoryExtensions.i
lldb/bindings/interface/SBTypeDocstrings.i
lldb/bindings/interface/SBTypeEnumMember.i
lldb/bindings/interface/SBTypeEnumMemberDocstrings.i
lldb/bindings/interface/SBTypeEnumMemberExtensions.i
lldb/bindings/interface/SBTypeExtensions.i
lldb/bindings/interface/SBTypeFilter.i
lldb/bindings/interface/SBTypeFilterDocstrings.i
lldb/bindings/interface/SBTypeFilterExtensions.i
lldb/bindings/interface/SBTypeFormat.i
lldb/bindings/interface/SBTypeFormatDocstrings.i
lldb/bindings/interface/SBTypeFormatExtensions.i
lldb/bindings/interface/SBTypeNameSpecifier.i
lldb/bindings/interface/SBTypeNameSpecifierDocstrings.i
lldb/bindings/interface/SBTypeNameSpecifierExtensions.i
lldb/bindings/interface/SBTypeSummary.i
lldb/bindings/interface/SBTypeSummaryDocstrings.i
lldb/bindings/interface/SBTypeSummaryExtensions.i
lldb/bindings/interface/SBTypeSynthetic.i
lldb/bindings/interface/SBTypeSyntheticDocstrings.i
lldb/bindings/interface/SBTypeSyntheticExtensions.i
lldb/bindings/interface/SBUnixSignals.i
lldb/bindings/interface/SBUnixSignalsDocstrings.i
lldb/bindings/interface/SBUnixSignalsExtensions.i
lldb/bindings/interface/SBValue.i
lldb/bindings/interface/SBValueDocstrings.i
lldb/bindings/interface/SBValueExtensions.i
lldb/bindings/interface/SBValueList.i
lldb/bindings/interface/SBValueListDocstrings.i
lldb/bindings/interface/SBValueListExtensions.i
lldb/bindings/interface/SBVariablesOptions.i
lldb/bindings/interface/SBVariablesOptionsDocstrings.i
lldb/bindings/interface/SBWatchpoint.i
lldb/bindings/interface/SBWatchpointDocstrings.i
lldb/bindings/interface/SBWatchpointExtensions.i
lldb/bindings/interfaces.swig
lldb/bindings/macros.swig
lldb/bindings/python/python-typemaps.swig
lldb/cmake/modules/LLDBFramework.cmake
lldb/include/lldb/API/SBAddress.h
lldb/include/lldb/API/SBAttachInfo.h
lldb/include/lldb/API/SBBreakpoint.h
lldb/include/lldb/API/SBBreakpointLocation.h
lldb/include/lldb/API/SBBreakpointName.h
lldb/include/lldb/API/SBBroadcaster.h
lldb/include/lldb/API/SBCommandInterpreter.h
lldb/include/lldb/API/SBCommandInterpreterRunOptions.h
lldb/include/lldb/API/SBCommandReturnObject.h
lldb/include/lldb/API/SBDebugger.h
lldb/include/lldb/API/SBError.h
lldb/include/lldb/API/SBEvent.h
lldb/include/lldb/API/SBExecutionContext.h
lldb/include/lldb/API/SBExpressionOptions.h
lldb/include/lldb/API/SBFile.h
lldb/include/lldb/API/SBFrame.h
lldb/include/lldb/API/SBInstruction.h
lldb/include/lldb/API/SBInstructionList.h
lldb/include/lldb/API/SBLaunchInfo.h
lldb/include/lldb/API/SBListener.h
lldb/include/lldb/API/SBModule.h
lldb/include/lldb/API/SBPlatform.h
lldb/include/lldb/API/SBProcess.h
lldb/include/lldb/API/SBQueue.h
lldb/include/lldb/API/SBReproducer.h
lldb/include/lldb/API/SBSourceManager.h
lldb/include/lldb/API/SBStream.h
lldb/include/lldb/API/SBStringList.h
lldb/include/lldb/API/SBStructuredData.h
lldb/include/lldb/API/SBSymbolContext.h
lldb/include/lldb/API/SBTarget.h
lldb/include/lldb/API/SBThread.h
lldb/include/lldb/API/SBThreadPlan.h
lldb/include/lldb/API/SBTrace.h
lldb/include/lldb/API/SBType.h
lldb/include/lldb/API/SBTypeCategory.h
lldb/include/lldb/API/SBTypeSummary.h
lldb/include/lldb/API/SBTypeSynthetic.h
lldb/include/lldb/API/SBValue.h
lldb/include/lldb/API/SBWatchpoint.h
More information about the lldb-commits
mailing list