brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · 23d097e Raw
38 lines · plain
1%extend lldb::SBFile {2    static lldb::SBFile MakeBorrowed(lldb::FileSP BORROWED) {3        return lldb::SBFile(BORROWED);4    }5    static lldb::SBFile MakeForcingIOMethods(lldb::FileSP FORCE_IO_METHODS) {6        return lldb::SBFile(FORCE_IO_METHODS);7    }8    static lldb::SBFile MakeBorrowedForcingIOMethods(lldb::FileSP BORROWED_FORCE_IO_METHODS) {9        return lldb::SBFile(BORROWED_FORCE_IO_METHODS);10    }11 12#ifdef SWIGPYTHON13    %pythoncode {14        @classmethod15        def Create(cls, file, borrow=False, force_io_methods=False):16            """17            Create a SBFile from a python file object, with options.18 19            If borrow is set then the underlying file will20            not be closed when the SBFile is closed or destroyed.21 22            If force_scripting_io is set then the python read/write23            methods will be called even if a file descriptor is available.24            """25            if borrow:26                if force_io_methods:27                    return cls.MakeBorrowedForcingIOMethods(file)28                else:29                    return cls.MakeBorrowed(file)30            else:31                if force_io_methods:32                    return cls.MakeForcingIOMethods(file)33                else:34                    return cls(file)35    }36#endif37}38