[Lldb-commits] [PATCH] D26698: Remove SBStream accessor that lets you manipulate the internal buffer.

Zachary Turner via lldb-commits lldb-commits at lists.llvm.org
Tue Nov 15 13:44:19 PST 2016


zturner created this revision.
zturner added reviewers: beanz, tfiala.
zturner added a subscriber: lldb-commits.
Herald added subscribers: nemanjai, kubabrecka, danalbert, emaste.

Instead of having overloads that return `std::string&` and `const std::string&`, instead have one function that returns `llvm::StringRef`.  People should not be modifying the internal contents of a stream's buffer, as that goes against the concept of a stream, which is supposed to provide forward-only access.  This makes it easier in the future to port `StreamString` over to `llvm::raw_ostream`.

I don't need a detailed review of the code, I mostly just need to make sure it compiles on OSX.  I made sure it compiles on Linux and Windows, but I can't easily test OSX.


https://reviews.llvm.org/D26698

Files:
  include/lldb/Core/Error.h
  include/lldb/Core/Log.h
  include/lldb/Core/StreamGDBRemote.h
  include/lldb/Core/StreamString.h
  include/lldb/DataFormatters/FormatClasses.h
  include/lldb/Host/Host.h
  include/lldb/Interpreter/CommandReturnObject.h
  include/lldb/Target/Process.h
  packages/Python/lldbsuite/test/lldbtest.py
  source/API/SBCommandReturnObject.cpp
  source/API/SBFrame.cpp
  source/API/SBStream.cpp
  source/Commands/CommandObjectBreakpoint.cpp
  source/Commands/CommandObjectCommands.cpp
  source/Commands/CommandObjectHelp.cpp
  source/Commands/CommandObjectMemory.cpp
  source/Commands/CommandObjectMultiword.cpp
  source/Commands/CommandObjectProcess.cpp
  source/Commands/CommandObjectQuit.cpp
  source/Commands/CommandObjectTarget.cpp
  source/Commands/CommandObjectThread.cpp
  source/Commands/CommandObjectType.cpp
  source/Core/Address.cpp
  source/Core/DataExtractor.cpp
  source/Core/Debugger.cpp
  source/Core/Disassembler.cpp
  source/Core/EmulateInstruction.cpp
  source/Core/Error.cpp
  source/Core/Event.cpp
  source/Core/FormatEntity.cpp
  source/Core/IOHandler.cpp
  source/Core/Log.cpp
  source/Core/Module.cpp
  source/Core/RegisterValue.cpp
  source/Core/StreamString.cpp
  source/Core/StringList.cpp
  source/Core/StructuredData.cpp
  source/Core/ValueObject.cpp
  source/DataFormatters/FormatManager.cpp
  source/DataFormatters/TypeCategory.cpp
  source/DataFormatters/TypeFormat.cpp
  source/DataFormatters/TypeSummary.cpp
  source/DataFormatters/ValueObjectPrinter.cpp
  source/DataFormatters/VectorType.cpp
  source/Expression/IRExecutionUnit.cpp
  source/Expression/LLVMUserExpression.cpp
  source/Expression/Materializer.cpp
  source/Host/posix/ConnectionFileDescriptorPosix.cpp
  source/Host/windows/Host.cpp
  source/Interpreter/Args.cpp
  source/Interpreter/CommandAlias.cpp
  source/Interpreter/CommandInterpreter.cpp
  source/Interpreter/CommandObject.cpp
  source/Interpreter/CommandReturnObject.cpp
  source/Interpreter/OptionValueEnumeration.cpp
  source/Interpreter/OptionValueLanguage.cpp
  source/Interpreter/Options.cpp
  source/Interpreter/Property.cpp
  source/Plugins/ABI/MacOSX-arm64/ABIMacOSX_arm64.cpp
  source/Plugins/ABI/SysV-arm64/ABISysV_arm64.cpp
  source/Plugins/ABI/SysV-mips/ABISysV_mips.cpp
  source/Plugins/ABI/SysV-mips64/ABISysV_mips64.cpp
  source/Plugins/ABI/SysV-ppc/ABISysV_ppc.cpp
  source/Plugins/ABI/SysV-ppc64/ABISysV_ppc64.cpp
  source/Plugins/ABI/SysV-s390x/ABISysV_s390x.cpp
  source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.cpp
  source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp
  source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
  source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
  source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
  source/Plugins/Instruction/ARM/EmulationStateARM.cpp
  source/Plugins/Language/CPlusPlus/LibCxx.cpp
  source/Plugins/Language/CPlusPlus/LibCxxInitializerList.cpp
  source/Plugins/Language/CPlusPlus/LibCxxList.cpp
  source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
  source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
  source/Plugins/Language/CPlusPlus/LibCxxVector.cpp
  source/Plugins/Language/CPlusPlus/LibStdcppTuple.cpp
  source/Plugins/Language/Go/GoFormatterFunctions.cpp
  source/Plugins/Language/Java/JavaFormatterFunctions.cpp
  source/Plugins/Language/ObjC/NSArray.cpp
  source/Plugins/Language/ObjC/NSDictionary.cpp
  source/Plugins/Language/ObjC/NSIndexPath.cpp
  source/Plugins/Language/ObjC/NSSet.cpp
  source/Plugins/Language/ObjC/ObjCLanguage.cpp
  source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeEncodingParser.cpp
  source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp
  source/Plugins/MemoryHistory/asan/MemoryHistoryASan.cpp
  source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
  source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp
  source/Plugins/Platform/Android/AdbClient.cpp
  source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp
  source/Plugins/Platform/Kalimba/PlatformKalimba.cpp
  source/Plugins/Platform/Linux/PlatformLinux.cpp
  source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
  source/Plugins/Platform/MacOSX/PlatformMacOSX.cpp
  source/Plugins/Platform/MacOSX/PlatformRemoteAppleTV.cpp
  source/Plugins/Platform/MacOSX/PlatformRemoteAppleWatch.cpp
  source/Plugins/Platform/MacOSX/PlatformRemoteiOS.cpp
  source/Plugins/Platform/NetBSD/PlatformNetBSD.cpp
  source/Plugins/Platform/POSIX/PlatformPOSIX.cpp
  source/Plugins/Platform/Windows/PlatformWindows.cpp
  source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
  source/Plugins/Process/Utility/RegisterContextLLDB.cpp
  source/Plugins/Process/Utility/StopInfoMachException.cpp
  source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
  source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
  source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
  source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp
  source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
  source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
  source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.cpp
  source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
  source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.cpp
  source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
  source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp
  source/Symbol/ObjectFile.cpp
  source/Target/Process.cpp
  source/Target/StackFrame.cpp
  source/Target/StopInfo.cpp
  source/Target/Target.cpp
  source/Target/TargetList.cpp
  source/Target/Thread.cpp
  source/Target/ThreadPlanCallFunction.cpp
  source/Target/ThreadPlanCallUserExpression.cpp
  source/Target/ThreadPlanStepOverRange.cpp
  tools/argdumper/argdumper.cpp
  unittests/ScriptInterpreter/Python/PythonDataObjectsTests.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D26698.78068.patch
Type: text/x-patch
Size: 144119 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20161115/64cf77f8/attachment-0001.bin>


More information about the lldb-commits mailing list