LLDB mainline
|
#include "CPlusPlusLanguage.h"
#include <cctype>
#include <cstring>
#include <functional>
#include <memory>
#include <mutex>
#include <set>
#include "llvm/ADT/StringRef.h"
#include "llvm/Demangle/ItaniumDemangle.h"
#include "lldb/Core/Mangled.h"
#include "lldb/Core/Module.h"
#include "lldb/Core/PluginManager.h"
#include "lldb/Core/UniqueCStringMap.h"
#include "lldb/DataFormatters/CXXFunctionPointer.h"
#include "lldb/DataFormatters/DataVisualization.h"
#include "lldb/DataFormatters/FormattersHelpers.h"
#include "lldb/DataFormatters/VectorType.h"
#include "lldb/Symbol/SymbolFile.h"
#include "lldb/Symbol/VariableList.h"
#include "lldb/Utility/ConstString.h"
#include "lldb/Utility/LLDBLog.h"
#include "lldb/Utility/Log.h"
#include "lldb/Utility/RegularExpression.h"
#include "lldb/ValueObject/ValueObjectVariable.h"
#include "BlockPointer.h"
#include "CPlusPlusNameParser.h"
#include "Coroutines.h"
#include "CxxStringTypes.h"
#include "Generic.h"
#include "LibCxx.h"
#include "LibCxxAtomic.h"
#include "LibCxxVariant.h"
#include "LibStdcpp.h"
#include "MSVCUndecoratedNameParser.h"
#include "lldb/lldb-enumerations.h"
Go to the source code of this file.
Functions | |
static bool | ReverseFindMatchingChars (const llvm::StringRef &s, const llvm::StringRef &left_right_chars, size_t &left_pos, size_t &right_pos, size_t pos=llvm::StringRef::npos) |
static bool | IsTrivialBasename (const llvm::StringRef &basename) |
static bool | PrettyPrintFunctionNameWithArgs (Stream &out_stream, char const *full_name, ExecutionContextScope *exe_scope, VariableList const &args) |
Writes out the function name in 'full_name' to 'out_stream' but replaces each argument type with the variable name and the corresponding pretty-printed value. | |
static void | LoadLibCxxFormatters (lldb::TypeCategoryImplSP cpp_category_sp) |
static void | LoadLibStdcppFormatters (lldb::TypeCategoryImplSP cpp_category_sp) |
static void | LoadSystemFormatters (lldb::TypeCategoryImplSP cpp_category_sp) |
|
static |
Definition at line 149 of file CPlusPlusLanguage.cpp.
Referenced by lldb_private::CPlusPlusLanguage::MethodName::TrySimplifiedParse().
|
static |
Definition at line 635 of file CPlusPlusLanguage.cpp.
References lldb_private::formatters::AddCXXSummary(), lldb_private::formatters::AddCXXSynthetic(), lldb::eFormatterMatchRegex, lldb_private::formatters::GenericOptionalSummaryProvider(), lldb_private::formatters::LibCxxAtomicSummaryProvider(), lldb_private::formatters::LibcxxAtomicSyntheticFrontEndCreator(), lldb_private::formatters::LibcxxBitsetSyntheticFrontEndCreator(), lldb_private::formatters::LibcxxChronoLocalDaysSummaryProvider(), lldb_private::formatters::LibcxxChronoLocalSecondsSummaryProvider(), lldb_private::formatters::LibcxxChronoMonthSummaryProvider(), lldb_private::formatters::LibcxxChronoSysDaysSummaryProvider(), lldb_private::formatters::LibcxxChronoSysSecondsSummaryProvider(), lldb_private::formatters::LibcxxChronoWeekdaySummaryProvider(), lldb_private::formatters::LibcxxChronoYearMonthDaySummaryProvider(), lldb_private::formatters::LibcxxContainerSummaryProvider(), lldb_private::formatters::LibcxxFunctionSummaryProvider(), lldb_private::formatters::LibcxxInitializerListSyntheticFrontEndCreator(), lldb_private::formatters::LibCxxMapIteratorSyntheticFrontEndCreator(), lldb_private::formatters::LibcxxOptionalSyntheticFrontEndCreator(), lldb_private::formatters::LibcxxQueueFrontEndCreator(), lldb_private::formatters::LibcxxSharedPtrSyntheticFrontEndCreator(), lldb_private::formatters::LibcxxSmartPointerSummaryProvider(), lldb_private::formatters::LibcxxStdForwardListSyntheticFrontEndCreator(), lldb_private::formatters::LibcxxStdListSyntheticFrontEndCreator(), lldb_private::formatters::LibcxxStdMapSyntheticFrontEndCreator(), lldb_private::formatters::LibcxxStdProxyArraySyntheticFrontEndCreator(), lldb_private::formatters::LibcxxStdRangesRefViewSyntheticFrontEndCreator(), lldb_private::formatters::LibcxxStdSliceArraySummaryProvider(), lldb_private::formatters::LibcxxStdSliceArraySyntheticFrontEndCreator(), lldb_private::formatters::LibcxxStdSpanSyntheticFrontEndCreator(), lldb_private::formatters::LibcxxStdUnorderedMapSyntheticFrontEndCreator(), lldb_private::formatters::LibcxxStdValarraySyntheticFrontEndCreator(), lldb_private::formatters::LibcxxStdVectorSyntheticFrontEndCreator(), lldb_private::formatters::LibcxxStringSummaryProviderASCII(), lldb_private::formatters::LibcxxStringSummaryProviderUTF16(), lldb_private::formatters::LibcxxStringSummaryProviderUTF32(), lldb_private::formatters::LibcxxStringViewSummaryProviderASCII(), lldb_private::formatters::LibcxxStringViewSummaryProviderUTF16(), lldb_private::formatters::LibcxxStringViewSummaryProviderUTF32(), lldb_private::formatters::LibcxxTupleFrontEndCreator(), lldb_private::formatters::LibcxxUniquePointerSummaryProvider(), lldb_private::formatters::LibcxxUniquePtrSyntheticFrontEndCreator(), lldb_private::formatters::LibCxxUnorderedMapIteratorSyntheticFrontEndCreator(), lldb_private::formatters::LibcxxVariantFrontEndCreator(), lldb_private::formatters::LibcxxVariantSummaryProvider(), lldb_private::formatters::LibCxxVectorIteratorSyntheticFrontEndCreator(), lldb_private::formatters::LibcxxWStringSummaryProvider(), lldb_private::formatters::LibcxxWStringViewSummaryProvider(), lldb_private::TypeSummaryImpl::Flags::SetCascades(), lldb_private::SyntheticChildren::Flags::SetCascades(), lldb_private::TypeSummaryImpl::Flags::SetDontShowChildren(), lldb_private::TypeSummaryImpl::Flags::SetDontShowValue(), lldb_private::SyntheticChildren::Flags::SetFrontEndWantsDereference(), lldb_private::TypeSummaryImpl::Flags::SetHideItemNames(), lldb_private::TypeSummaryImpl::Flags::SetShowMembersOneLiner(), lldb_private::TypeSummaryImpl::Flags::SetSkipPointers(), lldb_private::SyntheticChildren::Flags::SetSkipPointers(), lldb_private::TypeSummaryImpl::Flags::SetSkipReferences(), lldb_private::SyntheticChildren::Flags::SetSkipReferences(), lldb_private::formatters::StdlibCoroutineHandleSummaryProvider(), and lldb_private::formatters::StdlibCoroutineHandleSyntheticFrontEndCreator().
Referenced by lldb_private::CPlusPlusLanguage::GetFormatters().
|
static |
Definition at line 1198 of file CPlusPlusLanguage.cpp.
References lldb_private::formatters::AddCXXSummary(), lldb_private::formatters::AddCXXSynthetic(), lldb::eFormatterMatchExact, lldb::eFormatterMatchRegex, lldb_private::formatters::GenericOptionalSummaryProvider(), lldb_private::formatters::LibStdcppBitsetSyntheticFrontEndCreator(), lldb_private::formatters::LibstdcppMapIteratorSyntheticFrontEndCreator(), lldb_private::formatters::LibStdcppOptionalSyntheticFrontEndCreator(), lldb_private::formatters::LibStdcppSharedPtrSyntheticFrontEndCreator(), lldb_private::formatters::LibStdcppSmartPointerSummaryProvider(), lldb_private::formatters::LibStdcppStringSummaryProvider(), lldb_private::formatters::LibStdcppTupleSyntheticFrontEndCreator(), lldb_private::formatters::LibStdcppUniquePointerSummaryProvider(), lldb_private::formatters::LibStdcppUniquePtrSyntheticFrontEndCreator(), lldb_private::formatters::LibStdcppVectorIteratorSyntheticFrontEndCreator(), lldb_private::formatters::LibStdcppWStringSummaryProvider(), lldb_private::TypeSummaryImpl::Flags::SetCascades(), lldb_private::SyntheticChildren::Flags::SetCascades(), lldb_private::TypeSummaryImpl::Flags::SetDontShowChildren(), lldb_private::TypeSummaryImpl::Flags::SetDontShowValue(), lldb_private::SyntheticChildren::Flags::SetFrontEndWantsDereference(), lldb_private::TypeSummaryImpl::Flags::SetHideItemNames(), lldb_private::TypeSummaryImpl::Flags::SetShowMembersOneLiner(), lldb_private::TypeSummaryImpl::Flags::SetSkipPointers(), lldb_private::SyntheticChildren::Flags::SetSkipPointers(), lldb_private::TypeSummaryImpl::Flags::SetSkipReferences(), lldb_private::SyntheticChildren::Flags::SetSkipReferences(), lldb_private::formatters::StdlibCoroutineHandleSummaryProvider(), and lldb_private::formatters::StdlibCoroutineHandleSyntheticFrontEndCreator().
Referenced by lldb_private::CPlusPlusLanguage::GetFormatters().
|
static |
Definition at line 1449 of file CPlusPlusLanguage.cpp.
References lldb_private::formatters::AddCXXSummary(), lldb_private::formatters::Char16StringSummaryProvider(), lldb_private::formatters::Char16SummaryProvider(), lldb_private::formatters::Char32StringSummaryProvider(), lldb_private::formatters::Char32SummaryProvider(), lldb_private::formatters::Char8StringSummaryProvider(), lldb_private::formatters::Char8SummaryProvider(), lldb_private::TypeSummaryImpl::Flags::SetCascades(), lldb_private::TypeSummaryImpl::Flags::SetDontShowChildren(), lldb_private::TypeSummaryImpl::Flags::SetDontShowValue(), lldb_private::TypeSummaryImpl::Flags::SetHideItemNames(), lldb_private::TypeSummaryImpl::Flags::SetShowMembersOneLiner(), lldb_private::TypeSummaryImpl::Flags::SetSkipPointers(), lldb_private::TypeSummaryImpl::Flags::SetSkipReferences(), lldb_private::formatters::WCharStringSummaryProvider(), and lldb_private::formatters::WCharSummaryProvider().
Referenced by lldb_private::CPlusPlusLanguage::GetFormatters().
|
static |
Writes out the function name in 'full_name' to 'out_stream' but replaces each argument type with the variable name and the corresponding pretty-printed value.
Definition at line 180 of file CPlusPlusLanguage.cpp.
References lldb_private::FormatEntity::PrettyPrintFunctionArguments(), lldb_private::Stream::PutChar(), and lldb_private::Stream::PutCString().
|
static |
Definition at line 120 of file CPlusPlusLanguage.cpp.
Referenced by lldb_private::CPlusPlusLanguage::MethodName::GetBasenameNoTemplateParameters(), and lldb_private::CPlusPlusLanguage::MethodName::TrySimplifiedParse().