9#ifndef LLDB_SOURCE_PLUGINS_LANGUAGE_OBJC_OBJCLANGUAGE_H
10#define LLDB_SOURCE_PLUGINS_LANGUAGE_OBJC_OBJCLANGUAGE_H
63 bool SetName(
const char *name,
bool strict);
64 bool SetName(llvm::StringRef name,
bool strict);
104 std::vector<Language::MethodNameVariant>
111 std::vector<FormattersMatchCandidate>
119 std::string &suffix)
override;
125 bool IsSourceFile(llvm::StringRef file_path)
const override;
141 bool starts_right = (name[0] ==
'+' || name[0] ==
'-') && name[1] ==
'[';
142 bool ends_right = (name[strlen(name) - 1] ==
']');
143 return (starts_right && ends_right);
150 if (strchr(name,
':') ==
nullptr)
152 else if (name[strlen(name) - 1] ==
':')
A uniqued constant string class.
bool IsEmpty() const
Test for empty string.
Annotates source code with color attributes.
MethodName(llvm::StringRef name, bool strict)
ConstString GetFullNameWithoutCategory(bool empty_if_no_category)
ConstString GetClassName()
bool IsValid(bool strict) const
bool SetName(const char *name, bool strict)
MethodName(const char *name, bool strict)
ConstString m_class_category
ConstString GetSelector()
ConstString GetClassNameWithCategory()
ConstString GetCategory()
ConstString GetFullName() const
llvm::StringRef GetPluginName() override
bool GetFormatterPrefixSuffix(ValueObject &valobj, ConstString type_hint, std::string &prefix, std::string &suffix) override
static bool IsPossibleObjCSelector(const char *name)
static lldb_private::Language * CreateInstance(lldb::LanguageType language)
std::unique_ptr< TypeScavenger > GetTypeScavenger() override
lldb::TypeCategoryImplSP GetFormatters() override
bool SymbolNameFitsToLanguage(Mangled mangled) const override
Returns true iff the given symbol name is compatible with the mangling scheme of this language.
bool IsSourceFile(llvm::StringRef file_path) const override
llvm::StringRef GetNilReferenceSummaryString() override
Returns the summary string for ValueObjects for which IsNilReference() is true.
ClangHighlighter m_highlighter
~ObjCLanguage() override=default
lldb::LanguageType GetLanguageType() const override
static llvm::StringRef GetPluginNameStatic()
std::vector< FormattersMatchCandidate > GetPossibleFormattersMatches(ValueObject &valobj, lldb::DynamicValueType use_dynamic) override
const Highlighter * GetHighlighter() const override
std::vector< Language::MethodNameVariant > GetMethodNameVariants(ConstString method_name) const override
bool IsNilReference(ValueObject &valobj) override
static bool IsPossibleObjCMethodName(const char *name)
A class that represents a running process on the host machine.
LanguageType
Programming language type.
@ eLanguageTypeObjC
Objective-C.