LLDB mainline
|
#include <ObjCLanguage.h>
Classes | |
class | MethodName |
Public Member Functions | |
ObjCLanguage ()=default | |
~ObjCLanguage () override=default | |
lldb::LanguageType | GetLanguageType () const override |
std::vector< Language::MethodNameVariant > | GetMethodNameVariants (ConstString method_name) const override |
bool | SymbolNameFitsToLanguage (Mangled mangled) const override |
Returns true iff the given symbol name is compatible with the mangling scheme of this language. | |
lldb::TypeCategoryImplSP | GetFormatters () override |
std::vector< FormattersMatchCandidate > | GetPossibleFormattersMatches (ValueObject &valobj, lldb::DynamicValueType use_dynamic) override |
std::unique_ptr< TypeScavenger > | GetTypeScavenger () override |
bool | GetFormatterPrefixSuffix (ValueObject &valobj, ConstString type_hint, std::string &prefix, std::string &suffix) override |
bool | IsNilReference (ValueObject &valobj) override |
llvm::StringRef | GetNilReferenceSummaryString () override |
Returns the summary string for ValueObjects for which IsNilReference() is true. | |
bool | IsSourceFile (llvm::StringRef file_path) const override |
const Highlighter * | GetHighlighter () const override |
ConstString | GetInstanceVariableName () override |
llvm::StringRef | GetPluginName () override |
![]() | |
~Language () override | |
virtual lldb::LanguageType | GetLanguageType () const =0 |
virtual bool | IsTopLevelFunction (Function &function) |
virtual bool | IsSourceFile (llvm::StringRef file_path) const =0 |
virtual const Highlighter * | GetHighlighter () const |
virtual lldb::TypeCategoryImplSP | GetFormatters () |
virtual HardcodedFormatters::HardcodedFormatFinder | GetHardcodedFormats () |
virtual HardcodedFormatters::HardcodedSummaryFinder | GetHardcodedSummaries () |
virtual HardcodedFormatters::HardcodedSyntheticFinder | GetHardcodedSynthetics () |
virtual std::vector< FormattersMatchCandidate > | GetPossibleFormattersMatches (ValueObject &valobj, lldb::DynamicValueType use_dynamic) |
virtual std::unique_ptr< TypeScavenger > | GetTypeScavenger () |
virtual const char * | GetLanguageSpecificTypeLookupHelp () |
virtual std::vector< Language::MethodNameVariant > | GetMethodNameVariants (ConstString method_name) const |
virtual bool | SymbolNameFitsToLanguage (Mangled name) const |
Returns true iff the given symbol name is compatible with the mangling scheme of this language. | |
virtual bool | GetFormatterPrefixSuffix (ValueObject &valobj, ConstString type_hint, std::string &prefix, std::string &suffix) |
virtual bool | DemangledNameContainsPath (llvm::StringRef path, ConstString demangled) const |
virtual DumpValueObjectOptions::DeclPrintingHelper | GetDeclPrintingHelper () |
virtual LazyBool | IsLogicalTrue (ValueObject &valobj, Status &error) |
virtual bool | IsNilReference (ValueObject &valobj) |
virtual llvm::StringRef | GetNilReferenceSummaryString () |
Returns the summary string for ValueObjects for which IsNilReference() is true. | |
virtual bool | IsUninitializedReference (ValueObject &valobj) |
virtual bool | GetFunctionDisplayName (const SymbolContext *sc, const ExecutionContext *exe_ctx, FunctionNameRepresentation representation, Stream &s) |
virtual ConstString | GetDemangledFunctionNameWithoutArguments (Mangled mangled) const |
virtual void | GetExceptionResolverDescription (bool catch_on, bool throw_on, Stream &s) |
virtual std::vector< ConstString > | GenerateAlternateFunctionManglings (const ConstString mangled) const |
virtual ConstString | FindBestAlternateFunctionMangledName (const Mangled mangled, const SymbolContext &sym_ctx) const |
virtual ConstString | GetInstanceVariableName () |
![]() | |
PluginInterface ()=default | |
virtual | ~PluginInterface ()=default |
virtual llvm::StringRef | GetPluginName ()=0 |
PluginInterface (const PluginInterface &)=delete | |
PluginInterface & | operator= (const PluginInterface &)=delete |
Static Public Member Functions | |
static void | Initialize () |
static void | Terminate () |
static lldb_private::Language * | CreateInstance (lldb::LanguageType language) |
static llvm::StringRef | GetPluginNameStatic () |
static bool | IsPossibleObjCMethodName (const char *name) |
static bool | IsPossibleObjCSelector (const char *name) |
![]() | |
static Language * | FindPlugin (lldb::LanguageType language) |
static Language * | FindPlugin (llvm::StringRef file_path) |
Returns the Language associated with the given file path or a nullptr if there is no known language. | |
static Language * | FindPlugin (lldb::LanguageType language, llvm::StringRef file_path) |
static void | ForEach (std::function< bool(Language *)> callback) |
static void | GetDefaultExceptionResolverDescription (bool catch_on, bool throw_on, Stream &s) |
static lldb::LanguageType | GetLanguageTypeFromString (const char *string)=delete |
static lldb::LanguageType | GetLanguageTypeFromString (llvm::StringRef string) |
static const char * | GetNameForLanguageType (lldb::LanguageType language) |
static void | PrintAllLanguages (Stream &s, const char *prefix, const char *suffix) |
static void | PrintSupportedLanguagesForExpressions (Stream &s, llvm::StringRef prefix, llvm::StringRef suffix) |
Prints to the specified stream 's' each language type that the current target supports for expression evaluation. | |
static void | ForAllLanguages (std::function< bool(lldb::LanguageType)> callback) |
static bool | LanguageIsCPlusPlus (lldb::LanguageType language) |
static bool | LanguageIsObjC (lldb::LanguageType language) |
static bool | LanguageIsC (lldb::LanguageType language) |
static bool | LanguageIsCFamily (lldb::LanguageType language) |
Equivalent to LanguageIsC||LanguageIsObjC||LanguageIsCPlusPlus . | |
static bool | LanguageIsPascal (lldb::LanguageType language) |
static lldb::LanguageType | GetPrimaryLanguage (lldb::LanguageType language) |
static std::set< lldb::LanguageType > | GetSupportedLanguages () |
static LanguageSet | GetLanguagesSupportingTypeSystems () |
static LanguageSet | GetLanguagesSupportingTypeSystemsForExpressions () |
static LanguageSet | GetLanguagesSupportingREPLs () |
Private Attributes | |
ClangHighlighter | m_highlighter |
Additional Inherited Members | |
![]() | |
enum class | FunctionNameRepresentation { eName , eNameWithArgs , eNameWithNoArgs } |
![]() | |
Language () | |
Definition at line 22 of file ObjCLanguage.h.
|
default |
Referenced by CreateInstance().
|
overridedefault |
|
static |
Definition at line 54 of file ObjCLanguage.cpp.
References lldb::eLanguageTypeObjC, and ObjCLanguage().
Referenced by Terminate().
|
overridevirtual |
Reimplemented from lldb_private::Language.
Definition at line 1069 of file ObjCLanguage.cpp.
References lldb_private::ConstString::IsEmpty().
|
overridevirtual |
Reimplemented from lldb_private::Language.
Definition at line 920 of file ObjCLanguage.cpp.
References lldb_private::DataVisualization::Categories::GetCategory(), GetPluginName(), LoadCoreMediaFormatters(), and LoadObjCFormatters().
|
inlineoverridevirtual |
Reimplemented from lldb_private::Language.
Definition at line 127 of file ObjCLanguage.h.
References m_highlighter.
|
inlineoverridevirtual |
Reimplemented from lldb_private::Language.
Definition at line 158 of file ObjCLanguage.h.
|
inlineoverridevirtual |
Implements lldb_private::Language.
Definition at line 90 of file ObjCLanguage.h.
References lldb::eLanguageTypeObjC.
|
overridevirtual |
Reimplemented from lldb_private::Language.
Definition at line 217 of file ObjCLanguage.cpp.
References lldb_private::StreamString::Clear(), lldb_private::ObjCLanguage::MethodName::eTypeClassMethod, lldb_private::ObjCLanguage::MethodName::eTypeInstanceMethod, lldb_private::ConstString::GetCString(), lldb_private::ObjCLanguage::MethodName::GetFullName(), lldb_private::ObjCLanguage::MethodName::GetFullNameWithoutCategory(), lldb_private::ObjCLanguage::MethodName::GetSelector(), lldb_private::StreamString::GetString(), lldb_private::ObjCLanguage::MethodName::GetType(), lldb_private::ObjCLanguage::MethodName::IsValid(), and lldb_private::Stream::Printf().
|
inlineoverridevirtual |
Returns the summary string for ValueObjects for which IsNilReference() is true.
Reimplemented from lldb_private::Language.
Definition at line 123 of file ObjCLanguage.h.
|
inlineoverridevirtual |
Implements lldb_private::PluginInterface.
Definition at line 161 of file ObjCLanguage.h.
References GetPluginNameStatic().
Referenced by GetFormatters().
|
inlinestatic |
Definition at line 136 of file ObjCLanguage.h.
Referenced by GetPluginName().
|
overridevirtual |
Reimplemented from lldb_private::Language.
Definition at line 936 of file ObjCLanguage.cpp.
References lldb::eNoDynamicValues, lldb_private::ObjCLanguageRuntime::Get(), lldb_private::ObjCLanguageRuntime::GetClassDescriptor(), lldb_private::ValueObject::GetCompilerType(), lldb_private::ValueObject::GetProcessSP(), lldb_private::ValueObject::GetTargetSP(), lldb_private::ClangUtil::IsClangType(), and lldb_private::CompilerType::IsPossibleDynamicType().
|
overridevirtual |
Reimplemented from lldb_private::Language.
Definition at line 973 of file ObjCLanguage.cpp.
References lldb_private::ExecutionContextScope::CalculateProcess(), lldb_private::ExecutionContextScope::CalculateTarget(), lldb::eLanguageTypeC, lldb_private::Stream::EOL(), lldb_private::ObjCLanguageRuntime::Get(), lldb_private::CompilerType::GetMinimumLanguage(), lldb_private::CompilerType::GetTypedefedType(), lldb_private::CompilerType::IsTypedefType(), lldb_private::Language::TypeScavenger::Result::IsValid(), lldb_private::Language::LanguageIsObjC(), and UINT32_MAX.
|
static |
Definition at line 43 of file ObjCLanguage.cpp.
References lldb_private::PluginManager::RegisterPlugin().
|
overridevirtual |
Reimplemented from lldb_private::Language.
Definition at line 1143 of file ObjCLanguage.cpp.
References lldb_private::ValueObject::GetCompilerType(), lldb_private::CompilerType::GetTypeInfo(), and lldb_private::ValueObject::GetValueAsUnsigned().
|
inlinestatic |
Definition at line 138 of file ObjCLanguage.h.
Referenced by lldb_private::DWARFIndex::ProcessFunctionDIE(), and SymbolNameFitsToLanguage().
|
inlinestatic |
Definition at line 146 of file ObjCLanguage.h.
|
overridevirtual |
Implements lldb_private::Language.
Definition at line 1154 of file ObjCLanguage.cpp.
|
overridevirtual |
Returns true iff the given symbol name is compatible with the mangling scheme of this language.
This function should only return true if there is a high confidence that the name actually belongs to this language.
Reimplemented from lldb_private::Language.
Definition at line 266 of file ObjCLanguage.cpp.
References lldb_private::ConstString::GetCString(), and IsPossibleObjCMethodName().
|
static |
Definition at line 48 of file ObjCLanguage.cpp.
References CreateInstance(), and lldb_private::PluginManager::UnregisterPlugin().
|
private |
Definition at line 23 of file ObjCLanguage.h.
Referenced by GetHighlighter().