LLDB mainline
lldb_private::ObjCPlusPlusLanguage Class Reference

#include <ObjCPlusPlusLanguage.h>

Inheritance diagram for lldb_private::ObjCPlusPlusLanguage:
[legend]

Public Member Functions

 ObjCPlusPlusLanguage ()=default
 ~ObjCPlusPlusLanguage () override=default
lldb::LanguageType GetLanguageType () const override
llvm::StringRef GetUserEntryPointName () const 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
llvm::StringRef GetInstanceVariableName () override
virtual std::optional< boolGetBooleanFromString (llvm::StringRef str) const override
llvm::StringRef GetPluginName () override
Public Member Functions inherited from lldb_private::Language
 ~Language () override
virtual bool IsTopLevelFunction (Function &function)
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 std::unique_ptr< Language::MethodNameGetMethodName (ConstString name) const
virtual std::pair< lldb::FunctionNameType, std::optional< ConstString > > GetFunctionNameInfo (ConstString 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 std::pair< llvm::StringRef, llvm::StringRef > GetFormatterPrefixSuffix (llvm::StringRef type_hint)
 An individual data formatter may apply to several types and cross language boundaries.
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 bool IsUninitializedReference (ValueObject &valobj)
virtual bool GetFunctionDisplayName (const SymbolContext &sc, const ExecutionContext *exe_ctx, FunctionNameRepresentation representation, Stream &s)
virtual bool HandleFrameFormatVariable (const SymbolContext &sc, const ExecutionContext *exe_ctx, FormatEntity::Entry::Type type, Stream &s)
virtual ConstString GetDemangledFunctionNameWithoutArguments (Mangled mangled) const
virtual ConstString GetDisplayDemangledName (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 void FilterForLineBreakpoints (llvm::SmallVectorImpl< SymbolContext > &) const
 Given a symbol context list of matches which supposedly represent the same file and line number in a CU, erases those that should be ignored when setting breakpoints by line (number or regex).
virtual std::optional< boolAreEqualForFrameComparison (const SymbolContext &sc1, const SymbolContext &sc2) const
 Returns a boolean indicating whether two symbol contexts are equal for the purposes of frame comparison.
virtual bool SupportsExceptionBreakpointsOnThrow () const
 Returns true if this Language supports exception breakpoints on throw via a corresponding LanguageRuntime plugin.
virtual bool SupportsExceptionBreakpointsOnCatch () const
 Returns true if this Language supports exception breakpoints on catch via a corresponding LanguageRuntime plugin.
virtual llvm::StringRef GetThrowKeyword () const
 Returns the keyword used for throw statements in this language, e.g.
virtual llvm::StringRef GetCatchKeyword () const
 Returns the keyword used for catch statements in this language, e.g.
virtual FormatEntity::Entry GetFunctionNameFormat () const
Public Member Functions inherited from lldb_private::PluginInterface
 PluginInterface ()=default
virtual ~PluginInterface ()=default
 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 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 ()
static LanguagePropertiesGetGlobalLanguageProperties ()

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 18 of file ObjCPlusPlusLanguage.h.

Constructor & Destructor Documentation

◆ ObjCPlusPlusLanguage()

lldb_private::ObjCPlusPlusLanguage::ObjCPlusPlusLanguage ( )
default

Referenced by CreateInstance(), and IsSourceFile().

◆ ~ObjCPlusPlusLanguage()

lldb_private::ObjCPlusPlusLanguage::~ObjCPlusPlusLanguage ( )
overridedefault

Member Function Documentation

◆ CreateInstance()

Language * ObjCPlusPlusLanguage::CreateInstance ( lldb::LanguageType language)
static

◆ GetBooleanFromString()

std::optional< bool > ObjCPlusPlusLanguage::GetBooleanFromString ( llvm::StringRef str) const
overridevirtual

Reimplemented from lldb_private::Language.

Definition at line 48 of file ObjCPlusPlusLanguage.cpp.

◆ GetHighlighter()

const Highlighter * lldb_private::ObjCPlusPlusLanguage::GetHighlighter ( ) const
inlineoverridevirtual

Reimplemented from lldb_private::Language.

Definition at line 36 of file ObjCPlusPlusLanguage.h.

References m_highlighter.

◆ GetInstanceVariableName()

llvm::StringRef lldb_private::ObjCPlusPlusLanguage::GetInstanceVariableName ( )
inlineoverridevirtual

Reimplemented from lldb_private::Language.

Definition at line 45 of file ObjCPlusPlusLanguage.h.

◆ GetLanguageType()

lldb::LanguageType lldb_private::ObjCPlusPlusLanguage::GetLanguageType ( ) const
inlineoverridevirtual

Implements lldb_private::Language.

Definition at line 26 of file ObjCPlusPlusLanguage.h.

References lldb::eLanguageTypeObjC_plus_plus.

◆ GetNilReferenceSummaryString()

llvm::StringRef lldb_private::ObjCPlusPlusLanguage::GetNilReferenceSummaryString ( )
inlineoverridevirtual

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

Reimplemented from lldb_private::Language.

Definition at line 32 of file ObjCPlusPlusLanguage.h.

◆ GetPluginName()

llvm::StringRef lldb_private::ObjCPlusPlusLanguage::GetPluginName ( )
inlineoverridevirtual

Implements lldb_private::PluginInterface.

Definition at line 53 of file ObjCPlusPlusLanguage.h.

References GetPluginNameStatic().

◆ GetPluginNameStatic()

llvm::StringRef lldb_private::ObjCPlusPlusLanguage::GetPluginNameStatic ( )
inlinestatic

Definition at line 50 of file ObjCPlusPlusLanguage.h.

Referenced by GetPluginName(), and Initialize().

◆ GetUserEntryPointName()

llvm::StringRef lldb_private::ObjCPlusPlusLanguage::GetUserEntryPointName ( ) const
inlineoverridevirtual

Reimplemented from lldb_private::Language.

Definition at line 30 of file ObjCPlusPlusLanguage.h.

◆ Initialize()

void ObjCPlusPlusLanguage::Initialize ( )
static

◆ IsSourceFile()

bool ObjCPlusPlusLanguage::IsSourceFile ( llvm::StringRef file_path) const
overridevirtual

Implements lldb_private::Language.

Definition at line 19 of file ObjCPlusPlusLanguage.cpp.

References IsSourceFile(), and ObjCPlusPlusLanguage().

Referenced by IsSourceFile().

◆ Terminate()

void ObjCPlusPlusLanguage::Terminate ( )
static

Member Data Documentation

◆ m_highlighter

ClangHighlighter lldb_private::ObjCPlusPlusLanguage::m_highlighter
private

Definition at line 19 of file ObjCPlusPlusLanguage.h.

Referenced by GetHighlighter().


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