LLDB mainline
Classes | Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
lldb_private::ObjCLanguage Class Reference

#include <ObjCLanguage.h>

Inheritance diagram for lldb_private::ObjCLanguage:
Inheritance graph
Collaboration diagram for lldb_private::ObjCLanguage:
Collaboration graph


class  MethodName

Public Member Functions

 ObjCLanguage ()=default
 ~ObjCLanguage () override=default
lldb::LanguageType GetLanguageType () const override
std::vector< Language::MethodNameVariantGetMethodNameVariants (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< FormattersMatchCandidateGetPossibleFormattersMatches (ValueObject &valobj, lldb::DynamicValueType use_dynamic) override
std::unique_ptr< TypeScavengerGetTypeScavenger () 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 HighlighterGetHighlighter () const override
ConstString GetInstanceVariableName () override
llvm::StringRef GetPluginName () override
- Public Member Functions inherited from lldb_private::Language
 ~Language () override
virtual lldb::LanguageType GetLanguageType () const =0
virtual bool IsTopLevelFunction (Function &function)
virtual bool IsSourceFile (llvm::StringRef file_path) const =0
virtual const HighlighterGetHighlighter () const
virtual lldb::TypeCategoryImplSP GetFormatters ()
virtual HardcodedFormatters::HardcodedFormatFinder GetHardcodedFormats ()
virtual HardcodedFormatters::HardcodedSummaryFinder GetHardcodedSummaries ()
virtual HardcodedFormatters::HardcodedSyntheticFinder GetHardcodedSynthetics ()
virtual std::vector< FormattersMatchCandidateGetPossibleFormattersMatches (ValueObject &valobj, lldb::DynamicValueType use_dynamic)
virtual std::unique_ptr< TypeScavengerGetTypeScavenger ()
virtual const char * GetLanguageSpecificTypeLookupHelp ()
virtual std::vector< Language::MethodNameVariantGetMethodNameVariants (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< ConstStringGenerateAlternateFunctionManglings (const ConstString mangled) const
virtual ConstString FindBestAlternateFunctionMangledName (const Mangled mangled, const SymbolContext &sym_ctx) const
virtual ConstString GetInstanceVariableName ()
- Public Member Functions inherited from lldb_private::PluginInterface
 PluginInterface ()=default
virtual ~PluginInterface ()=default
virtual llvm::StringRef GetPluginName ()=0
 PluginInterface (const PluginInterface &)=delete
PluginInterfaceoperator= (const PluginInterface &)=delete

Static Public Member Functions

static void Initialize ()
static void Terminate ()
static lldb_private::LanguageCreateInstance (lldb::LanguageType language)
static llvm::StringRef GetPluginNameStatic ()
static bool IsPossibleObjCMethodName (const char *name)
static bool IsPossibleObjCSelector (const char *name)
- Static Public Member Functions inherited from lldb_private::Language
static LanguageFindPlugin (lldb::LanguageType language)
static LanguageFindPlugin (llvm::StringRef file_path)
 Returns the Language associated with the given file path or a nullptr if there is no known language.
static LanguageFindPlugin (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::LanguageTypeGetSupportedLanguages ()
static LanguageSet GetLanguagesSupportingTypeSystems ()
static LanguageSet GetLanguagesSupportingTypeSystemsForExpressions ()
static LanguageSet GetLanguagesSupportingREPLs ()

Private Attributes

ClangHighlighter m_highlighter

Additional Inherited Members

- Public Types inherited from lldb_private::Language
enum class  FunctionNameRepresentation { eName , eNameWithArgs , eNameWithNoArgs }
- Protected Member Functions inherited from lldb_private::Language
 Language ()

Detailed Description

Definition at line 22 of file ObjCLanguage.h.

Constructor & Destructor Documentation

◆ ObjCLanguage()

lldb_private::ObjCLanguage::ObjCLanguage ( )

Referenced by CreateInstance().

◆ ~ObjCLanguage()

lldb_private::ObjCLanguage::~ObjCLanguage ( )

Member Function Documentation

◆ CreateInstance()

Language * ObjCLanguage::CreateInstance ( lldb::LanguageType  language)

Definition at line 54 of file ObjCLanguage.cpp.

References lldb::eLanguageTypeObjC, and ObjCLanguage().

Referenced by Terminate().

◆ GetFormatterPrefixSuffix()

bool ObjCLanguage::GetFormatterPrefixSuffix ( ValueObject valobj,
ConstString  type_hint,
std::string &  prefix,
std::string &  suffix 

Reimplemented from lldb_private::Language.

Definition at line 1069 of file ObjCLanguage.cpp.

References lldb_private::ConstString::IsEmpty().

◆ GetFormatters()

lldb::TypeCategoryImplSP ObjCLanguage::GetFormatters ( )

◆ GetHighlighter()

const Highlighter * lldb_private::ObjCLanguage::GetHighlighter ( ) const

Reimplemented from lldb_private::Language.

Definition at line 127 of file ObjCLanguage.h.

References m_highlighter.

◆ GetInstanceVariableName()

ConstString lldb_private::ObjCLanguage::GetInstanceVariableName ( )

Reimplemented from lldb_private::Language.

Definition at line 158 of file ObjCLanguage.h.

◆ GetLanguageType()

lldb::LanguageType lldb_private::ObjCLanguage::GetLanguageType ( ) const

Implements lldb_private::Language.

Definition at line 90 of file ObjCLanguage.h.

References lldb::eLanguageTypeObjC.

◆ GetMethodNameVariants()

std::vector< Language::MethodNameVariant > ObjCLanguage::GetMethodNameVariants ( ConstString  method_name) const

◆ GetNilReferenceSummaryString()

llvm::StringRef lldb_private::ObjCLanguage::GetNilReferenceSummaryString ( )

Returns the summary string for ValueObjects for which IsNilReference() is true.

Reimplemented from lldb_private::Language.

Definition at line 123 of file ObjCLanguage.h.

◆ GetPluginName()

llvm::StringRef lldb_private::ObjCLanguage::GetPluginName ( )

Implements lldb_private::PluginInterface.

Definition at line 161 of file ObjCLanguage.h.

References GetPluginNameStatic().

Referenced by GetFormatters().

◆ GetPluginNameStatic()

static llvm::StringRef lldb_private::ObjCLanguage::GetPluginNameStatic ( )

Definition at line 136 of file ObjCLanguage.h.

Referenced by GetPluginName().

◆ GetPossibleFormattersMatches()

std::vector< FormattersMatchCandidate > ObjCLanguage::GetPossibleFormattersMatches ( ValueObject valobj,
lldb::DynamicValueType  use_dynamic 

◆ GetTypeScavenger()

std::unique_ptr< Language::TypeScavenger > ObjCLanguage::GetTypeScavenger ( )

◆ Initialize()

void ObjCLanguage::Initialize ( )

Definition at line 43 of file ObjCLanguage.cpp.

References lldb_private::PluginManager::RegisterPlugin().

◆ IsNilReference()

bool ObjCLanguage::IsNilReference ( ValueObject valobj)

◆ IsPossibleObjCMethodName()

static bool lldb_private::ObjCLanguage::IsPossibleObjCMethodName ( const char *  name)

◆ IsPossibleObjCSelector()

static bool lldb_private::ObjCLanguage::IsPossibleObjCSelector ( const char *  name)

Definition at line 146 of file ObjCLanguage.h.

◆ IsSourceFile()

bool ObjCLanguage::IsSourceFile ( llvm::StringRef  file_path) const

Implements lldb_private::Language.

Definition at line 1154 of file ObjCLanguage.cpp.

◆ SymbolNameFitsToLanguage()

bool ObjCLanguage::SymbolNameFitsToLanguage ( Mangled  name) const

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().

◆ Terminate()

void ObjCLanguage::Terminate ( )

Member Data Documentation

◆ m_highlighter

ClangHighlighter lldb_private::ObjCLanguage::m_highlighter

Definition at line 23 of file ObjCLanguage.h.

Referenced by GetHighlighter().

The documentation for this class was generated from the following files: