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

#include <ObjCPlusPlusLanguage.h>

Inheritance diagram for lldb_private::ObjCPlusPlusLanguage:
Inheritance graph
[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
 
llvm::StringRef GetPluginName () override
 
- Public Member Functions inherited from lldb_private::Language
 ~Language () override
 
virtual lldb::LanguageType GetLanguageType () const =0
 
virtual llvm::StringRef GetUserEntryPointName () const
 
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 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 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 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 llvm::StringRef GetInstanceVariableName ()
 
virtual bool IgnoreForLineBreakpoints (const SymbolContext &) const
 Returns true if this SymbolContext should be ignored when setting breakpoints by line (number or regex).
 
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.
 
- 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 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().

◆ ~ObjCPlusPlusLanguage()

lldb_private::ObjCPlusPlusLanguage::~ObjCPlusPlusLanguage ( )
overridedefault

Member Function Documentation

◆ CreateInstance()

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

Definition at line 38 of file ObjCPlusPlusLanguage.cpp.

References lldb::eLanguageTypeObjC_plus_plus, and ObjCPlusPlusLanguage().

Referenced by Initialize(), and Terminate().

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

References GetPluginNameStatic().

◆ GetPluginNameStatic()

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

Definition at line 47 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.

◆ 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: