summaryrefslogtreecommitdiffstats
path: root/lldb/scripts
diff options
context:
space:
mode:
authorLawrence D'Anna <lawrence_danna@apple.com>2019-10-09 21:50:49 +0000
committerLawrence D'Anna <lawrence_danna@apple.com>2019-10-09 21:50:49 +0000
commit9eb13719236458cd0c035ebbe882cfbf0add7bfc (patch)
treeda1a138aa2b03e0d2ebc5464541b0fec953f98fd /lldb/scripts
parentb24022cd723f47c8dd5e78ed7b210c1b6287ff42 (diff)
downloadbcm5719-llvm-9eb13719236458cd0c035ebbe882cfbf0add7bfc.tar.gz
bcm5719-llvm-9eb13719236458cd0c035ebbe882cfbf0add7bfc.zip
SBFile support in SBCommandReturnObject
Summary: This patch add SBFile interfaces to SBCommandReturnObject, and removes the internal callers of its FILE* interfaces. Reviewers: JDevlieghere, jasonmolenda, labath Reviewed By: JDevlieghere Subscribers: lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D68434 llvm-svn: 374238
Diffstat (limited to 'lldb/scripts')
-rw-r--r--lldb/scripts/interface/SBCommandReturnObject.i27
1 files changed, 19 insertions, 8 deletions
diff --git a/lldb/scripts/interface/SBCommandReturnObject.i b/lldb/scripts/interface/SBCommandReturnObject.i
index 1e04a8fa1bf..73d4001aaba 100644
--- a/lldb/scripts/interface/SBCommandReturnObject.i
+++ b/lldb/scripts/interface/SBCommandReturnObject.i
@@ -49,10 +49,16 @@ public:
GetError (bool if_no_immediate);
size_t
- PutOutput (FILE *fh);
+ PutOutput (lldb::SBFile file);
size_t
- PutError (FILE *fh);
+ PutError (lldb::SBFile file);
+
+ size_t
+ PutOutput (lldb::FileSP BORROWED);
+
+ size_t
+ PutError (lldb::FileSP BORROWED);
void
Clear();
@@ -85,15 +91,20 @@ public:
bool
GetDescription (lldb::SBStream &description);
+ void SetImmediateOutputFile(lldb::SBFile file);
+ void SetImmediateErrorFile(lldb::SBFile file);
+ void SetImmediateOutputFile(lldb::FileSP BORROWED);
+ void SetImmediateErrorFile(lldb::FileSP BORROWED);
- // wrapping here so that lldb takes ownership of the
- // new FILE* created inside of the swig interface
%extend {
- void SetImmediateOutputFile(FILE *fh) {
- self->SetImmediateOutputFile(fh, true);
+ // transfer_ownership does nothing, and is here for compatibility with
+ // old scripts. Ownership is tracked by reference count in the ordinary way.
+
+ void SetImmediateOutputFile(lldb::FileSP BORROWED, bool transfer_ownership) {
+ self->SetImmediateOutputFile(BORROWED);
}
- void SetImmediateErrorFile(FILE *fh) {
- self->SetImmediateErrorFile(fh, true);
+ void SetImmediateErrorFile(lldb::FileSP BORROWED, bool transfer_ownership) {
+ self->SetImmediateErrorFile(BORROWED);
}
}
OpenPOWER on IntegriCloud