003 File Manager
Current Path:
/usr/src/contrib/llvm-project/lldb/source/Plugins/Language/ObjC
usr
/
src
/
contrib
/
llvm-project
/
lldb
/
source
/
Plugins
/
Language
/
ObjC
/
📁
..
📄
CF.cpp
(8.75 KB)
📄
CF.h
(1.25 KB)
📄
CFBasicHash.cpp
(2.8 KB)
📄
CFBasicHash.h
(2.19 KB)
📄
Cocoa.cpp
(34.64 KB)
📄
Cocoa.h
(4.61 KB)
📄
CoreMedia.cpp
(3.03 KB)
📄
CoreMedia.h
(884 B)
📄
NSArray.cpp
(25.25 KB)
📄
NSDictionary.cpp
(37.47 KB)
📄
NSDictionary.h
(2.78 KB)
📄
NSError.cpp
(6.72 KB)
📄
NSException.cpp
(6.69 KB)
📄
NSIndexPath.cpp
(8.73 KB)
📄
NSSet.cpp
(24 KB)
📄
NSSet.h
(1.35 KB)
📄
NSString.cpp
(14.48 KB)
📄
NSString.h
(1.51 KB)
📄
ObjCLanguage.cpp
(45.73 KB)
📄
ObjCLanguage.h
(5.08 KB)
Editing: NSDictionary.h
//===-- NSDictionary.h ------------------------------------------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #ifndef LLDB_SOURCE_PLUGINS_LANGUAGE_OBJC_NSDICTIONARY_H #define LLDB_SOURCE_PLUGINS_LANGUAGE_OBJC_NSDICTIONARY_H #include "lldb/Core/ValueObject.h" #include "lldb/DataFormatters/TypeSummary.h" #include "lldb/DataFormatters/TypeSynthetic.h" #include "lldb/Utility/ConstString.h" #include "lldb/Utility/Stream.h" #include <map> #include <memory> namespace lldb_private { namespace formatters { template <bool name_entries> bool NSDictionarySummaryProvider(ValueObject &valobj, Stream &stream, const TypeSummaryOptions &options); extern template bool NSDictionarySummaryProvider<true>(ValueObject &, Stream &, const TypeSummaryOptions &); extern template bool NSDictionarySummaryProvider<false>(ValueObject &, Stream &, const TypeSummaryOptions &); SyntheticChildrenFrontEnd * NSDictionarySyntheticFrontEndCreator(CXXSyntheticChildren *, lldb::ValueObjectSP); class NSDictionary_Additionals { public: class AdditionalFormatterMatching { public: class Matcher { public: virtual ~Matcher() = default; virtual bool Match(ConstString class_name) = 0; typedef std::unique_ptr<Matcher> UP; }; class Prefix : public Matcher { public: Prefix(ConstString p); ~Prefix() override = default; bool Match(ConstString class_name) override; private: ConstString m_prefix; }; class Full : public Matcher { public: Full(ConstString n); ~Full() override = default; bool Match(ConstString class_name) override; private: ConstString m_name; }; typedef Matcher::UP MatcherUP; MatcherUP GetFullMatch(ConstString n) { return std::make_unique<Full>(n); } MatcherUP GetPrefixMatch(ConstString p) { return std::make_unique<Prefix>(p); } }; template <typename FormatterType> using AdditionalFormatter = std::pair<AdditionalFormatterMatching::MatcherUP, FormatterType>; template <typename FormatterType> using AdditionalFormatters = std::vector<AdditionalFormatter<FormatterType>>; static AdditionalFormatters<CXXFunctionSummaryFormat::Callback> & GetAdditionalSummaries(); static AdditionalFormatters<CXXSyntheticChildren::CreateFrontEndCallback> & GetAdditionalSynthetics(); }; } // namespace formatters } // namespace lldb_private #endif // LLDB_SOURCE_PLUGINS_LANGUAGE_OBJC_NSDICTIONARY_H
Upload File
Create Folder