LLDB  mainline
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
lldb_private::ClangASTContext Class Reference

#include <ClangASTContext.h>

Inheritance diagram for lldb_private::ClangASTContext:
Inheritance graph
[legend]
Collaboration diagram for lldb_private::ClangASTContext:
Collaboration graph
[legend]

Classes

class  TemplateParameterInfos
 

Public Types

typedef void(* CompleteTagDeclCallback) (void *baton, clang::TagDecl *)
 
typedef void(* CompleteObjCInterfaceDeclCallback) (void *baton, clang::ObjCInterfaceDecl *)
 
- Public Types inherited from lldb_private::TypeSystem
enum  LLVMCastKind { eKindClang, eKindSwift, eKindOCaml, kNumKinds }
 

Public Member Functions

 ClangASTContext (const char *triple=nullptr)
 
 ~ClangASTContext () override
 
void Finalize () override
 
ConstString GetPluginName () override
 
uint32_t GetPluginVersion () override
 
clang::ASTContext * getASTContext ()
 
void setASTContext (clang::ASTContext *ast_ctx)
 
clang::Builtin::Context * getBuiltinContext ()
 
clang::IdentifierTable * getIdentifierTable ()
 
clang::LangOptions * getLanguageOptions ()
 
clang::SelectorTable * getSelectorTable ()
 
clang::FileManager * getFileManager ()
 
clang::SourceManager * getSourceManager ()
 
clang::DiagnosticsEngine * getDiagnosticsEngine ()
 
clang::DiagnosticConsumer * getDiagnosticConsumer ()
 
clang::MangleContext * getMangleContext ()
 
std::shared_ptr< clang::TargetOptions > & getTargetOptions ()
 
clang::TargetInfo * getTargetInfo ()
 
void setSema (clang::Sema *s)
 
clang::Sema * getSema ()
 
void Clear ()
 
const char * GetTargetTriple ()
 
void SetTargetTriple (const char *target_triple)
 
void SetArchitecture (const ArchSpec &arch)
 
bool HasExternalSource ()
 
void SetExternalSource (llvm::IntrusiveRefCntPtr< clang::ExternalASTSource > &ast_source_up)
 
void RemoveExternalSource ()
 
bool GetCompleteDecl (clang::Decl *decl)
 
void SetMetadataAsUserID (const void *object, lldb::user_id_t user_id)
 
void SetMetadata (const void *object, ClangASTMetadata &meta_data)
 
ClangASTMetadataGetMetadata (const void *object)
 
CompilerType GetBuiltinTypeForEncodingAndBitSize (lldb::Encoding encoding, size_t bit_size) override
 
CompilerType GetBasicType (lldb::BasicType type)
 
CompilerType GetBuiltinTypeForDWARFEncodingAndBitSize (const char *type_name, uint32_t dw_ate, uint32_t bit_size)
 
CompilerType GetCStringType (bool is_const)
 
CompilerType GetUnknownAnyType ()
 
uint32_t GetPointerByteSize () override
 
clang::DeclContext * GetTranslationUnitDecl ()
 
template<typename RecordDeclType >
CompilerType GetTypeForIdentifier (ConstString type_name, clang::DeclContext *decl_context=nullptr)
 
CompilerType CreateStructForIdentifier (ConstString type_name, const std::initializer_list< std::pair< const char *, CompilerType >> &type_fields, bool packed=false)
 
CompilerType GetOrCreateStructForIdentifier (ConstString type_name, const std::initializer_list< std::pair< const char *, CompilerType >> &type_fields, bool packed=false)
 
CompilerType CreateRecordType (clang::DeclContext *decl_ctx, lldb::AccessType access_type, const char *name, int kind, lldb::LanguageType language, ClangASTMetadata *metadata=nullptr)
 
clang::FunctionTemplateDecl * CreateFunctionTemplateDecl (clang::DeclContext *decl_ctx, clang::FunctionDecl *func_decl, const char *name, const TemplateParameterInfos &infos)
 
void CreateFunctionTemplateSpecializationInfo (clang::FunctionDecl *func_decl, clang::FunctionTemplateDecl *Template, const TemplateParameterInfos &infos)
 
clang::ClassTemplateDecl * CreateClassTemplateDecl (clang::DeclContext *decl_ctx, lldb::AccessType access_type, const char *class_name, int kind, const TemplateParameterInfos &infos)
 
clang::TemplateTemplateParmDecl * CreateTemplateTemplateParmDecl (const char *template_name)
 
clang::ClassTemplateSpecializationDecl * CreateClassTemplateSpecializationDecl (clang::DeclContext *decl_ctx, clang::ClassTemplateDecl *class_template_decl, int kind, const TemplateParameterInfos &infos)
 
CompilerType CreateClassTemplateSpecializationType (clang::ClassTemplateSpecializationDecl *class_template_specialization_decl)
 
bool FieldIsBitfield (clang::FieldDecl *field, uint32_t &bitfield_bit_size)
 
CompilerType CreateObjCClass (const char *name, clang::DeclContext *decl_ctx, bool isForwardDecl, bool isInternal, ClangASTMetadata *metadata=nullptr)
 
bool SetTagTypeKind (clang::QualType type, int kind) const
 
bool SetDefaultAccessForRecordFields (clang::RecordDecl *record_decl, int default_accessibility, int *assigned_accessibilities, size_t num_assigned_accessibilities)
 
clang::NamespaceDecl * GetUniqueNamespaceDeclaration (const char *name, clang::DeclContext *decl_ctx, bool is_inline=false)
 
clang::FunctionDecl * CreateFunctionDeclaration (clang::DeclContext *decl_ctx, const char *name, const CompilerType &function_Type, int storage, bool is_inline)
 
CompilerType CreateFunctionType (const CompilerType &result_type, const CompilerType *args, unsigned num_args, bool is_variadic, unsigned type_quals)
 
CompilerType CreateFunctionType (const CompilerType &result_type, const CompilerType *args, unsigned num_args, bool is_variadic, unsigned type_quals, clang::CallingConv cc)
 
clang::ParmVarDecl * CreateParameterDeclaration (clang::DeclContext *decl_ctx, const char *name, const CompilerType &param_type, int storage)
 
void SetFunctionParameters (clang::FunctionDecl *function_decl, clang::ParmVarDecl **params, unsigned num_params)
 
CompilerType CreateBlockPointerType (const CompilerType &function_type)
 
CompilerType CreateArrayType (const CompilerType &element_type, size_t element_count, bool is_vector)
 
CompilerType CreateEnumerationType (const char *name, clang::DeclContext *decl_ctx, const Declaration &decl, const CompilerType &integer_qual_type, bool is_scoped)
 
CompilerType GetPointerSizedIntType (bool is_signed)
 
DWARFASTParserGetDWARFParser () override
 
PDBASTParserGetPDBParser () override
 
ConstString DeclGetName (void *opaque_decl) override
 
ConstString DeclGetMangledName (void *opaque_decl) override
 
CompilerDeclContext DeclGetDeclContext (void *opaque_decl) override
 
CompilerType DeclGetFunctionReturnType (void *opaque_decl) override
 
size_t DeclGetFunctionNumArguments (void *opaque_decl) override
 
CompilerType DeclGetFunctionArgumentType (void *opaque_decl, size_t arg_idx) override
 
std::vector< CompilerDeclDeclContextFindDeclByName (void *opaque_decl_ctx, ConstString name, const bool ignore_using_decls) override
 
bool DeclContextIsStructUnionOrClass (void *opaque_decl_ctx) override
 
ConstString DeclContextGetName (void *opaque_decl_ctx) override
 
ConstString DeclContextGetScopeQualifiedName (void *opaque_decl_ctx) override
 
bool DeclContextIsClassMethod (void *opaque_decl_ctx, lldb::LanguageType *language_ptr, bool *is_instance_method_ptr, ConstString *language_object_name_ptr) override
 
bool DeclContextIsContainedInLookup (void *opaque_decl_ctx, void *other_opaque_decl_ctx) override
 
bool IsArrayType (lldb::opaque_compiler_type_t type, CompilerType *element_type, uint64_t *size, bool *is_incomplete) override
 
bool IsVectorType (lldb::opaque_compiler_type_t type, CompilerType *element_type, uint64_t *size) override
 
bool IsAggregateType (lldb::opaque_compiler_type_t type) override
 
bool IsAnonymousType (lldb::opaque_compiler_type_t type) override
 
bool IsBeingDefined (lldb::opaque_compiler_type_t type) override
 
bool IsCharType (lldb::opaque_compiler_type_t type) override
 
bool IsCompleteType (lldb::opaque_compiler_type_t type) override
 
bool IsConst (lldb::opaque_compiler_type_t type) override
 
bool IsCStringType (lldb::opaque_compiler_type_t type, uint32_t &length) override
 
bool IsDefined (lldb::opaque_compiler_type_t type) override
 
bool IsFloatingPointType (lldb::opaque_compiler_type_t type, uint32_t &count, bool &is_complex) override
 
bool IsFunctionType (lldb::opaque_compiler_type_t type, bool *is_variadic_ptr) override
 
uint32_t IsHomogeneousAggregate (lldb::opaque_compiler_type_t type, CompilerType *base_type_ptr) override
 
size_t GetNumberOfFunctionArguments (lldb::opaque_compiler_type_t type) override
 
CompilerType GetFunctionArgumentAtIndex (lldb::opaque_compiler_type_t type, const size_t index) override
 
bool IsFunctionPointerType (lldb::opaque_compiler_type_t type) override
 
bool IsBlockPointerType (lldb::opaque_compiler_type_t type, CompilerType *function_pointer_type_ptr) override
 
bool IsIntegerType (lldb::opaque_compiler_type_t type, bool &is_signed) override
 
bool IsEnumerationType (lldb::opaque_compiler_type_t type, bool &is_signed) override
 
bool IsPolymorphicClass (lldb::opaque_compiler_type_t type) override
 
bool IsPossibleDynamicType (lldb::opaque_compiler_type_t type, CompilerType *target_type, bool check_cplusplus, bool check_objc) override
 
bool IsRuntimeGeneratedType (lldb::opaque_compiler_type_t type) override
 
bool IsPointerType (lldb::opaque_compiler_type_t type, CompilerType *pointee_type) override
 
bool IsPointerOrReferenceType (lldb::opaque_compiler_type_t type, CompilerType *pointee_type) override
 
bool IsReferenceType (lldb::opaque_compiler_type_t type, CompilerType *pointee_type, bool *is_rvalue) override
 
bool IsScalarType (lldb::opaque_compiler_type_t type) override
 
bool IsTypedefType (lldb::opaque_compiler_type_t type) override
 
bool IsVoidType (lldb::opaque_compiler_type_t type) override
 
bool SupportsLanguage (lldb::LanguageType language) override
 
bool GetCompleteType (lldb::opaque_compiler_type_t type) override
 
ConstString GetTypeName (lldb::opaque_compiler_type_t type) override
 
uint32_t GetTypeInfo (lldb::opaque_compiler_type_t type, CompilerType *pointee_or_element_compiler_type) override
 
lldb::LanguageType GetMinimumLanguage (lldb::opaque_compiler_type_t type) override
 
lldb::TypeClass GetTypeClass (lldb::opaque_compiler_type_t type) override
 
unsigned GetTypeQualifiers (lldb::opaque_compiler_type_t type) override
 
CompilerType GetArrayElementType (lldb::opaque_compiler_type_t type, uint64_t *stride) override
 
CompilerType GetArrayType (lldb::opaque_compiler_type_t type, uint64_t size) override
 
CompilerType GetCanonicalType (lldb::opaque_compiler_type_t type) override
 
CompilerType GetFullyUnqualifiedType (lldb::opaque_compiler_type_t type) override
 
int GetFunctionArgumentCount (lldb::opaque_compiler_type_t type) override
 
CompilerType GetFunctionArgumentTypeAtIndex (lldb::opaque_compiler_type_t type, size_t idx) override
 
CompilerType GetFunctionReturnType (lldb::opaque_compiler_type_t type) override
 
size_t GetNumMemberFunctions (lldb::opaque_compiler_type_t type) override
 
TypeMemberFunctionImpl GetMemberFunctionAtIndex (lldb::opaque_compiler_type_t type, size_t idx) override
 
CompilerType GetNonReferenceType (lldb::opaque_compiler_type_t type) override
 
CompilerType GetPointeeType (lldb::opaque_compiler_type_t type) override
 
CompilerType GetPointerType (lldb::opaque_compiler_type_t type) override
 
CompilerType GetLValueReferenceType (lldb::opaque_compiler_type_t type) override
 
CompilerType GetRValueReferenceType (lldb::opaque_compiler_type_t type) override
 
CompilerType AddConstModifier (lldb::opaque_compiler_type_t type) override
 
CompilerType AddVolatileModifier (lldb::opaque_compiler_type_t type) override
 
CompilerType AddRestrictModifier (lldb::opaque_compiler_type_t type) override
 
CompilerType CreateTypedef (lldb::opaque_compiler_type_t type, const char *name, const CompilerDeclContext &decl_ctx) override
 
CompilerType GetTypedefedType (lldb::opaque_compiler_type_t type) override
 
CompilerType GetBasicTypeFromAST (lldb::BasicType basic_type) override
 
llvm::Optional< uint64_t > GetByteSize (lldb::opaque_compiler_type_t type, ExecutionContextScope *exe_scope)
 
llvm::Optional< uint64_t > GetBitSize (lldb::opaque_compiler_type_t type, ExecutionContextScope *exe_scope) override
 
lldb::Encoding GetEncoding (lldb::opaque_compiler_type_t type, uint64_t &count) override
 
lldb::Format GetFormat (lldb::opaque_compiler_type_t type) override
 
size_t GetTypeBitAlign (lldb::opaque_compiler_type_t type) override
 
uint32_t GetNumChildren (lldb::opaque_compiler_type_t type, bool omit_empty_base_classes, const ExecutionContext *exe_ctx) override
 
CompilerType GetBuiltinTypeByName (ConstString name) override
 
lldb::BasicType GetBasicTypeEnumeration (lldb::opaque_compiler_type_t type) override
 
void ForEachEnumerator (lldb::opaque_compiler_type_t type, std::function< bool(const CompilerType &integer_type, ConstString name, const llvm::APSInt &value)> const &callback) override
 
uint32_t GetNumFields (lldb::opaque_compiler_type_t type) override
 
CompilerType GetFieldAtIndex (lldb::opaque_compiler_type_t type, size_t idx, std::string &name, uint64_t *bit_offset_ptr, uint32_t *bitfield_bit_size_ptr, bool *is_bitfield_ptr) override
 
uint32_t GetNumDirectBaseClasses (lldb::opaque_compiler_type_t type) override
 
uint32_t GetNumVirtualBaseClasses (lldb::opaque_compiler_type_t type) override
 
CompilerType GetDirectBaseClassAtIndex (lldb::opaque_compiler_type_t type, size_t idx, uint32_t *bit_offset_ptr) override
 
CompilerType GetVirtualBaseClassAtIndex (lldb::opaque_compiler_type_t type, size_t idx, uint32_t *bit_offset_ptr) override
 
CompilerType GetChildCompilerTypeAtIndex (lldb::opaque_compiler_type_t type, ExecutionContext *exe_ctx, size_t idx, bool transparent_pointers, bool omit_empty_base_classes, bool ignore_array_bounds, std::string &child_name, uint32_t &child_byte_size, int32_t &child_byte_offset, uint32_t &child_bitfield_bit_size, uint32_t &child_bitfield_bit_offset, bool &child_is_base_class, bool &child_is_deref_of_parent, ValueObject *valobj, uint64_t &language_flags) override
 
uint32_t GetIndexOfChildWithName (lldb::opaque_compiler_type_t type, const char *name, bool omit_empty_base_classes) override
 
size_t GetIndexOfChildMemberWithName (lldb::opaque_compiler_type_t type, const char *name, bool omit_empty_base_classes, std::vector< uint32_t > &child_indexes) override
 
size_t GetNumTemplateArguments (lldb::opaque_compiler_type_t type) override
 
lldb::TemplateArgumentKind GetTemplateArgumentKind (lldb::opaque_compiler_type_t type, size_t idx) override
 
CompilerType GetTypeTemplateArgument (lldb::opaque_compiler_type_t type, size_t idx) override
 
llvm::Optional< CompilerType::IntegralTemplateArgumentGetIntegralTemplateArgument (lldb::opaque_compiler_type_t type, size_t idx) override
 
CompilerType GetTypeForFormatters (void *type) override
 
uint32_t CountDeclLevels (clang::DeclContext *frame_decl_ctx, clang::DeclContext *child_decl_ctx, ConstString *child_name=nullptr, CompilerType *child_type=nullptr)
 
clang::CXXMethodDecl * AddMethodToCXXRecordType (lldb::opaque_compiler_type_t type, const char *name, const char *mangled_name, const CompilerType &method_type, lldb::AccessType access, bool is_virtual, bool is_static, bool is_inline, bool is_explicit, bool is_attr_used, bool is_artificial)
 
void AddMethodOverridesForCXXRecordType (lldb::opaque_compiler_type_t type)
 
std::unique_ptr< clang::CXXBaseSpecifier > CreateBaseClassSpecifier (lldb::opaque_compiler_type_t type, lldb::AccessType access, bool is_virtual, bool base_of_class)
 
bool TransferBaseClasses (lldb::opaque_compiler_type_t type, std::vector< std::unique_ptr< clang::CXXBaseSpecifier >> bases)
 
clang::EnumConstantDecl * AddEnumerationValueToEnumerationType (const CompilerType &enum_type, const Declaration &decl, const char *name, int64_t enum_value, uint32_t enum_value_bit_size)
 
clang::EnumConstantDecl * AddEnumerationValueToEnumerationType (const CompilerType &enum_type, const Declaration &decl, const char *name, const llvm::APSInt &value)
 
CompilerType GetEnumerationIntegerType (lldb::opaque_compiler_type_t type)
 
size_t ConvertStringToFloatValue (lldb::opaque_compiler_type_t type, const char *s, uint8_t *dst, size_t dst_size) override
 
LLVM_DUMP_METHOD void dump (lldb::opaque_compiler_type_t type) const override
 Convenience LLVM-style dump method for use in the debugger only. More...
 
void Dump (Stream &s)
 
void DumpValue (lldb::opaque_compiler_type_t type, ExecutionContext *exe_ctx, Stream *s, lldb::Format format, const DataExtractor &data, lldb::offset_t data_offset, size_t data_byte_size, uint32_t bitfield_bit_size, uint32_t bitfield_bit_offset, bool show_types, bool show_summary, bool verbose, uint32_t depth) override
 
bool DumpTypeValue (lldb::opaque_compiler_type_t type, Stream *s, lldb::Format format, const DataExtractor &data, lldb::offset_t data_offset, size_t data_byte_size, uint32_t bitfield_bit_size, uint32_t bitfield_bit_offset, ExecutionContextScope *exe_scope) override
 
void DumpSummary (lldb::opaque_compiler_type_t type, ExecutionContext *exe_ctx, Stream *s, const DataExtractor &data, lldb::offset_t data_offset, size_t data_byte_size) override
 
void DumpTypeDescription (lldb::opaque_compiler_type_t type) override
 
void DumpTypeDescription (lldb::opaque_compiler_type_t type, Stream *s) override
 
clang::CXXRecordDecl * GetAsCXXRecordDecl (lldb::opaque_compiler_type_t type)
 
clang::ClassTemplateDecl * ParseClassTemplateDecl (clang::DeclContext *decl_ctx, lldb::AccessType access_type, const char *parent_name, int tag_decl_kind, const ClangASTContext::TemplateParameterInfos &template_param_infos)
 
clang::BlockDecl * CreateBlockDeclaration (clang::DeclContext *ctx)
 
clang::UsingDirectiveDecl * CreateUsingDirectiveDeclaration (clang::DeclContext *decl_ctx, clang::NamespaceDecl *ns_decl)
 
clang::UsingDecl * CreateUsingDeclaration (clang::DeclContext *current_decl_ctx, clang::NamedDecl *target)
 
clang::VarDecl * CreateVariableDeclaration (clang::DeclContext *decl_context, const char *name, clang::QualType type)
 
clang::DeclarationName GetDeclarationName (const char *name, const CompilerType &function_clang_type)
 
virtual const clang::ExternalASTMerger::OriginMap & GetOriginMap ()
 
- Public Member Functions inherited from lldb_private::TypeSystem
 TypeSystem (LLVMCastKind kind)
 
 ~TypeSystem () override
 
LLVMCastKind getKind () const
 
virtual SymbolFileGetSymbolFile () const
 
virtual void SetSymbolFile (SymbolFile *sym_file)
 
virtual bool ShouldTreatScalarValueAsAddress (lldb::opaque_compiler_type_t type)
 
virtual UserExpressionGetUserExpression (llvm::StringRef expr, llvm::StringRef prefix, lldb::LanguageType language, Expression::ResultType desired_type, const EvaluateExpressionOptions &options, ValueObject *ctx_obj)
 
virtual FunctionCallerGetFunctionCaller (const CompilerType &return_type, const Address &function_address, const ValueList &arg_value_list, const char *name)
 
virtual UtilityFunctionGetUtilityFunction (const char *text, const char *name)
 
virtual PersistentExpressionStateGetPersistentExpressionState ()
 
virtual LazyBool ShouldPrintAsOneLiner (void *type, ValueObject *valobj)
 
virtual bool IsMeaninglessWithoutDynamicResolution (void *type)
 
- Public Member Functions inherited from lldb_private::PluginInterface
virtual ~PluginInterface ()
 

Static Public Member Functions

static bool classof (const TypeSystem *ts)
 
static ConstString GetPluginNameStatic ()
 
static lldb::TypeSystemSP CreateInstance (lldb::LanguageType language, Module *module, Target *target)
 
static void EnumerateSupportedLanguages (std::set< lldb::LanguageType > &languages_for_types, std::set< lldb::LanguageType > &languages_for_expressions)
 
static void Initialize ()
 
static void Terminate ()
 
static ClangASTContextGetASTContext (clang::ASTContext *ast_ctx)
 
static void DumpDeclHiearchy (clang::Decl *decl)
 
static void DumpDeclContextHiearchy (clang::DeclContext *decl_ctx)
 
static bool DeclsAreEquivalent (clang::Decl *lhs_decl, clang::Decl *rhs_decl)
 
static bool GetCompleteDecl (clang::ASTContext *ast, clang::Decl *decl)
 
static void SetMetadata (clang::ASTContext *ast, const void *object, ClangASTMetadata &meta_data)
 
static ClangASTMetadataGetMetadata (clang::ASTContext *ast, const void *object)
 
static CompilerType GetBuiltinTypeForEncodingAndBitSize (clang::ASTContext *ast, lldb::Encoding encoding, uint32_t bit_size)
 
static CompilerType GetBasicType (clang::ASTContext *ast, lldb::BasicType type)
 
static CompilerType GetBasicType (clang::ASTContext *ast, ConstString name)
 
static lldb::BasicType GetBasicTypeEnumeration (ConstString name)
 
static CompilerType GetUnknownAnyType (clang::ASTContext *ast)
 
static clang::DeclContext * GetDeclContextForType (clang::QualType type)
 
static clang::DeclContext * GetDeclContextForType (const CompilerType &type)
 
static clang::DeclContext * GetTranslationUnitDecl (clang::ASTContext *ast)
 
static clang::Decl * CopyDecl (clang::ASTContext *dest_context, clang::ASTContext *source_context, clang::Decl *source_decl)
 
static bool AreTypesSame (CompilerType type1, CompilerType type2, bool ignore_qualifiers=false)
 
static CompilerType GetTypeForDecl (clang::NamedDecl *decl)
 
static CompilerType GetTypeForDecl (clang::TagDecl *decl)
 
static CompilerType GetTypeForDecl (clang::ObjCInterfaceDecl *objc_decl)
 
static bool IsOperator (const char *name, clang::OverloadedOperatorKind &op_kind)
 
static clang::AccessSpecifier ConvertAccessTypeToAccessSpecifier (lldb::AccessType access)
 
static clang::AccessSpecifier UnifyAccessSpecifiers (clang::AccessSpecifier lhs, clang::AccessSpecifier rhs)
 
static uint32_t GetNumBaseClasses (const clang::CXXRecordDecl *cxx_record_decl, bool omit_empty_base_classes)
 
static clang::DeclContext * GetAsDeclContext (clang::CXXMethodDecl *cxx_method_decl)
 
static clang::DeclContext * GetAsDeclContext (clang::ObjCMethodDecl *objc_method_decl)
 
static bool CheckOverloadedOperatorKindParameterCount (bool is_method, clang::OverloadedOperatorKind op_kind, uint32_t num_params)
 
static bool FieldIsBitfield (clang::ASTContext *ast, clang::FieldDecl *field, uint32_t &bitfield_bit_size)
 
static bool RecordHasFields (const clang::RecordDecl *record_decl)
 
static clang::NamespaceDecl * GetUniqueNamespaceDeclaration (clang::ASTContext *ast, const char *name, clang::DeclContext *decl_ctx, bool is_inline=false)
 
static CompilerType CreateFunctionType (clang::ASTContext *ast, const CompilerType &result_type, const CompilerType *args, unsigned num_args, bool is_variadic, unsigned type_quals, clang::CallingConv cc)
 
static CompilerType CreateFunctionType (clang::ASTContext *ast, const CompilerType &result_type, const CompilerType *args, unsigned num_args, bool is_variadic, unsigned type_quals)
 
static CompilerType GetIntTypeFromBitSize (clang::ASTContext *ast, size_t bit_size, bool is_signed)
 
static CompilerType GetPointerSizedIntType (clang::ASTContext *ast, bool is_signed)
 
static CompilerType GetFloatTypeFromBitSize (clang::ASTContext *ast, size_t bit_size)
 
static void CompleteTagDecl (void *baton, clang::TagDecl *)
 
static void CompleteObjCInterfaceDecl (void *baton, clang::ObjCInterfaceDecl *)
 
static bool LayoutRecordType (void *baton, const clang::RecordDecl *record_decl, uint64_t &size, uint64_t &alignment, llvm::DenseMap< const clang::FieldDecl *, uint64_t > &field_offsets, llvm::DenseMap< const clang::CXXRecordDecl *, clang::CharUnits > &base_offsets, llvm::DenseMap< const clang::CXXRecordDecl *, clang::CharUnits > &vbase_offsets)
 
static clang::DeclContext * DeclContextGetAsDeclContext (const CompilerDeclContext &dc)
 
static clang::ObjCMethodDecl * DeclContextGetAsObjCMethodDecl (const CompilerDeclContext &dc)
 
static clang::CXXMethodDecl * DeclContextGetAsCXXMethodDecl (const CompilerDeclContext &dc)
 
static clang::FunctionDecl * DeclContextGetAsFunctionDecl (const CompilerDeclContext &dc)
 
static clang::NamespaceDecl * DeclContextGetAsNamespaceDecl (const CompilerDeclContext &dc)
 
static ClangASTMetadataDeclContextGetMetaData (const CompilerDeclContext &dc, const void *object)
 
static clang::ASTContext * DeclContextGetClangASTContext (const CompilerDeclContext &dc)
 
static bool IsCXXClassType (const CompilerType &type)
 
static bool IsObjCClassType (const CompilerType &type)
 
static bool IsObjCClassTypeAndHasIVars (const CompilerType &type, bool check_superclass)
 
static bool IsObjCObjectOrInterfaceType (const CompilerType &type)
 
static bool IsObjCObjectPointerType (const CompilerType &type, CompilerType *target_type=nullptr)
 
static bool IsClassType (lldb::opaque_compiler_type_t type)
 
static bool IsEnumType (lldb::opaque_compiler_type_t type)
 
static bool GetCXXClassName (const CompilerType &type, std::string &class_name)
 
static bool GetObjCClassName (const CompilerType &type, std::string &class_name)
 
static CompilerType CreateTypedefType (const CompilerType &type, const char *typedef_name, const CompilerDeclContext &compiler_decl_ctx)
 
static lldb::BasicType GetBasicTypeEnumeration (lldb::opaque_compiler_type_t type, ConstString name)
 
static uint32_t GetNumPointeeChildren (clang::QualType type)
 
static clang::FieldDecl * AddFieldToRecordType (const CompilerType &type, llvm::StringRef name, const CompilerType &field_type, lldb::AccessType access, uint32_t bitfield_bit_size)
 
static void BuildIndirectFields (const CompilerType &type)
 
static void SetIsPacked (const CompilerType &type)
 
static clang::VarDecl * AddVariableToRecordType (const CompilerType &type, llvm::StringRef name, const CompilerType &var_type, lldb::AccessType access)
 
static bool SetObjCSuperClass (const CompilerType &type, const CompilerType &superclass_compiler_type)
 
static bool AddObjCClassProperty (const CompilerType &type, const char *property_name, const CompilerType &property_compiler_type, clang::ObjCIvarDecl *ivar_decl, const char *property_setter_name, const char *property_getter_name, uint32_t property_attributes, ClangASTMetadata *metadata)
 
static clang::ObjCMethodDecl * AddMethodToObjCObjectType (const CompilerType &type, const char *name, const CompilerType &method_compiler_type, lldb::AccessType access, bool is_artificial, bool is_variadic)
 
static bool SetHasExternalStorage (lldb::opaque_compiler_type_t type, bool has_extern)
 
static bool GetHasExternalStorage (const CompilerType &type)
 
static bool StartTagDeclarationDefinition (const CompilerType &type)
 
static bool CompleteTagDeclarationDefinition (const CompilerType &type)
 
static CompilerType CreateMemberPointerType (const CompilerType &type, const CompilerType &pointee_type)
 
static void DumpTypeName (const CompilerType &type)
 
static clang::EnumDecl * GetAsEnumDecl (const CompilerType &type)
 
static clang::RecordDecl * GetAsRecordDecl (const CompilerType &type)
 
static clang::TagDecl * GetAsTagDecl (const CompilerType &type)
 
static clang::TypedefNameDecl * GetAsTypedefDecl (const CompilerType &type)
 
static clang::ObjCInterfaceDecl * GetAsObjCInterfaceDecl (const CompilerType &type)
 
static lldb::opaque_compiler_type_t GetOpaqueCompilerType (clang::ASTContext *ast, lldb::BasicType basic_type)
 
static clang::QualType GetQualType (lldb::opaque_compiler_type_t type)
 
static clang::QualType GetCanonicalQualType (lldb::opaque_compiler_type_t type)
 
- Static Public Member Functions inherited from lldb_private::TypeSystem
static lldb::TypeSystemSP CreateInstance (lldb::LanguageType language, Module *module)
 
static lldb::TypeSystemSP CreateInstance (lldb::LanguageType language, Target *target)
 

Protected Member Functions

const clang::ClassTemplateSpecializationDecl * GetAsTemplateSpecialization (lldb::opaque_compiler_type_t type)
 

Protected Attributes

std::string m_target_triple
 
std::unique_ptr< clang::ASTContext > m_ast_up
 
std::unique_ptr< clang::LangOptions > m_language_options_up
 
std::unique_ptr< clang::FileManager > m_file_manager_up
 
std::unique_ptr< clang::FileSystemOptions > m_file_system_options_up
 
std::unique_ptr< clang::SourceManager > m_source_manager_up
 
std::unique_ptr< clang::DiagnosticsEngine > m_diagnostics_engine_up
 
std::unique_ptr< clang::DiagnosticConsumer > m_diagnostic_consumer_up
 
std::shared_ptr< clang::TargetOptions > m_target_options_rp
 
std::unique_ptr< clang::TargetInfo > m_target_info_up
 
std::unique_ptr< clang::IdentifierTable > m_identifier_table_up
 
std::unique_ptr< clang::SelectorTable > m_selector_table_up
 
std::unique_ptr< clang::Builtin::Context > m_builtins_up
 
std::unique_ptr< DWARFASTParserClangm_dwarf_ast_parser_up
 
std::unique_ptr< PDBASTParserm_pdb_ast_parser_up
 
std::unique_ptr< ClangASTSourcem_scratch_ast_source_up
 
std::unique_ptr< clang::MangleContext > m_mangle_ctx_up
 
CompleteTagDeclCallback m_callback_tag_decl
 
CompleteObjCInterfaceDeclCallback m_callback_objc_decl
 
void * m_callback_baton
 
clang::ExternalASTMerger::OriginMap m_origins
 
uint32_t m_pointer_byte_size
 
bool m_ast_owned
 
bool m_can_evaluate_expressions
 
clang::Sema * m_sema = nullptr
 The sema associated that is currently used to build this ASTContext. More...
 
- Protected Attributes inherited from lldb_private::TypeSystem
const LLVMCastKind m_kind
 
SymbolFilem_sym_file
 

Detailed Description

Definition at line 43 of file ClangASTContext.h.

Member Typedef Documentation

◆ CompleteObjCInterfaceDeclCallback

typedef void(* lldb_private::ClangASTContext::CompleteObjCInterfaceDeclCallback) (void *baton, clang::ObjCInterfaceDecl *)

Definition at line 46 of file ClangASTContext.h.

◆ CompleteTagDeclCallback

typedef void(* lldb_private::ClangASTContext::CompleteTagDeclCallback) (void *baton, clang::TagDecl *)

Definition at line 45 of file ClangASTContext.h.

Constructor & Destructor Documentation

◆ ClangASTContext()

ClangASTContext::ClangASTContext ( const char *  triple = nullptr)

Definition at line 656 of file ClangASTContext.cpp.

References SetTargetTriple().

Referenced by classof().

◆ ~ClangASTContext()

ClangASTContext::~ClangASTContext ( )
override

Definition at line 668 of file ClangASTContext.cpp.

References Finalize().

Referenced by classof().

Member Function Documentation

◆ AddConstModifier()

CompilerType ClangASTContext::AddConstModifier ( lldb::opaque_compiler_type_t  type)
overridevirtual

Reimplemented from lldb_private::TypeSystem.

Definition at line 4914 of file ClangASTContext.cpp.

References GetQualType().

Referenced by GetPointerSizedIntType().

◆ AddEnumerationValueToEnumerationType() [1/2]

clang::EnumConstantDecl * ClangASTContext::AddEnumerationValueToEnumerationType ( const CompilerType enum_type,
const Declaration decl,
const char *  name,
int64_t  enum_value,
uint32_t  enum_value_bit_size 
)

◆ AddEnumerationValueToEnumerationType() [2/2]

clang::EnumConstantDecl * ClangASTContext::AddEnumerationValueToEnumerationType ( const CompilerType enum_type,
const Declaration decl,
const char *  name,
const llvm::APSInt &  value 
)

◆ AddFieldToRecordType()

clang::FieldDecl * ClangASTContext::AddFieldToRecordType ( const CompilerType type,
llvm::StringRef  name,
const CompilerType field_type,
lldb::AccessType  access,
uint32_t  bitfield_bit_size 
)
static

◆ AddMethodOverridesForCXXRecordType()

void ClangASTContext::AddMethodOverridesForCXXRecordType ( lldb::opaque_compiler_type_t  type)

◆ AddMethodToCXXRecordType()

clang::CXXMethodDecl * ClangASTContext::AddMethodToCXXRecordType ( lldb::opaque_compiler_type_t  type,
const char *  name,
const char *  mangled_name,
const CompilerType method_type,
lldb::AccessType  access,
bool  is_virtual,
bool  is_static,
bool  is_inline,
bool  is_explicit,
bool  is_attr_used,
bool  is_artificial 
)

◆ AddMethodToObjCObjectType()

clang::ObjCMethodDecl * ClangASTContext::AddMethodToObjCObjectType ( const CompilerType type,
const char *  name,
const CompilerType method_compiler_type,
lldb::AccessType  access,
bool  is_artificial,
bool  is_variadic 
)
static

◆ AddObjCClassProperty()

bool ClangASTContext::AddObjCClassProperty ( const CompilerType type,
const char *  property_name,
const CompilerType property_compiler_type,
clang::ObjCIvarDecl *  ivar_decl,
const char *  property_setter_name,
const char *  property_getter_name,
uint32_t  property_attributes,
ClangASTMetadata metadata 
)
static

◆ AddRestrictModifier()

CompilerType ClangASTContext::AddRestrictModifier ( lldb::opaque_compiler_type_t  type)
overridevirtual

Reimplemented from lldb_private::TypeSystem.

Definition at line 4934 of file ClangASTContext.cpp.

References GetQualType().

Referenced by GetPointerSizedIntType().

◆ AddVariableToRecordType()

clang::VarDecl * ClangASTContext::AddVariableToRecordType ( const CompilerType type,
llvm::StringRef  name,
const CompilerType var_type,
lldb::AccessType  access 
)
static

◆ AddVolatileModifier()

CompilerType ClangASTContext::AddVolatileModifier ( lldb::opaque_compiler_type_t  type)
overridevirtual

Reimplemented from lldb_private::TypeSystem.

Definition at line 4924 of file ClangASTContext.cpp.

References GetQualType().

Referenced by GetPointerSizedIntType().

◆ AreTypesSame()

bool ClangASTContext::AreTypesSame ( CompilerType  type1,
CompilerType  type2,
bool  ignore_qualifiers = false 
)
static

◆ BuildIndirectFields()

void ClangASTContext::BuildIndirectFields ( const CompilerType type)
static

◆ CheckOverloadedOperatorKindParameterCount()

bool ClangASTContext::CheckOverloadedOperatorKindParameterCount ( bool  is_method,
clang::OverloadedOperatorKind  op_kind,
uint32_t  num_params 
)
static

◆ classof()

static bool lldb_private::ClangASTContext::classof ( const TypeSystem ts)
inlinestatic

◆ Clear()

void ClangASTContext::Clear ( )

◆ CompleteObjCInterfaceDecl()

void ClangASTContext::CompleteObjCInterfaceDecl ( void *  baton,
clang::ObjCInterfaceDecl *  decl 
)
static

◆ CompleteTagDecl()

void ClangASTContext::CompleteTagDecl ( void *  baton,
clang::TagDecl *  decl 
)
static

◆ CompleteTagDeclarationDefinition()

bool ClangASTContext::CompleteTagDeclarationDefinition ( const CompilerType type)
static

◆ ConvertAccessTypeToAccessSpecifier()

clang::AccessSpecifier ClangASTContext::ConvertAccessTypeToAccessSpecifier ( lldb::AccessType  access)
static

◆ ConvertStringToFloatValue()

size_t ClangASTContext::ConvertStringToFloatValue ( lldb::opaque_compiler_type_t  type,
const char *  s,
uint8_t *  dst,
size_t  dst_size 
)
overridevirtual

◆ CopyDecl()

clang::Decl * ClangASTContext::CopyDecl ( clang::ASTContext *  dest_context,
clang::ASTContext *  source_context,
clang::Decl *  source_decl 
)
static

Definition at line 1412 of file ClangASTContext.cpp.

Referenced by GetTranslationUnitDecl().

◆ CountDeclLevels()

uint32_t ClangASTContext::CountDeclLevels ( clang::DeclContext *  frame_decl_ctx,
clang::DeclContext *  child_decl_ctx,
ConstString child_name = nullptr,
CompilerType child_type = nullptr 
)

◆ CreateArrayType()

CompilerType ClangASTContext::CreateArrayType ( const CompilerType element_type,
size_t  element_count,
bool  is_vector 
)

◆ CreateBaseClassSpecifier()

std::unique_ptr< clang::CXXBaseSpecifier > ClangASTContext::CreateBaseClassSpecifier ( lldb::opaque_compiler_type_t  type,
lldb::AccessType  access,
bool  is_virtual,
bool  base_of_class 
)

◆ CreateBlockDeclaration()

clang::BlockDecl * ClangASTContext::CreateBlockDeclaration ( clang::DeclContext *  ctx)

Definition at line 1971 of file ClangASTContext.cpp.

References getASTContext().

Referenced by DWARFASTParserClang::ResolveBlockDIE().

◆ CreateBlockPointerType()

CompilerType ClangASTContext::CreateBlockPointerType ( const CompilerType function_type)

◆ CreateClassTemplateDecl()

ClassTemplateDecl * ClangASTContext::CreateClassTemplateDecl ( clang::DeclContext *  decl_ctx,
lldb::AccessType  access_type,
const char *  class_name,
int  kind,
const TemplateParameterInfos infos 
)

◆ CreateClassTemplateSpecializationDecl()

ClassTemplateSpecializationDecl * ClangASTContext::CreateClassTemplateSpecializationDecl ( clang::DeclContext *  decl_ctx,
clang::ClassTemplateDecl *  class_template_decl,
int  kind,
const TemplateParameterInfos infos 
)

◆ CreateClassTemplateSpecializationType()

CompilerType ClangASTContext::CreateClassTemplateSpecializationType ( clang::ClassTemplateSpecializationDecl *  class_template_specialization_decl)

Definition at line 1732 of file ClangASTContext.cpp.

References getASTContext().

Referenced by DWARFASTParserClang::ParseTypeFromDWARF().

◆ CreateEnumerationType()

CompilerType ClangASTContext::CreateEnumerationType ( const char *  name,
clang::DeclContext *  decl_ctx,
const Declaration decl,
const CompilerType integer_qual_type,
bool  is_scoped 
)

◆ CreateFunctionDeclaration()

FunctionDecl * ClangASTContext::CreateFunctionDeclaration ( clang::DeclContext *  decl_ctx,
const char *  name,
const CompilerType function_Type,
int  storage,
bool  is_inline 
)

◆ CreateFunctionTemplateDecl()

clang::FunctionTemplateDecl * ClangASTContext::CreateFunctionTemplateDecl ( clang::DeclContext *  decl_ctx,
clang::FunctionDecl *  func_decl,
const char *  name,
const TemplateParameterInfos infos 
)

◆ CreateFunctionTemplateSpecializationInfo()

void ClangASTContext::CreateFunctionTemplateSpecializationInfo ( clang::FunctionDecl *  func_decl,
clang::FunctionTemplateDecl *  Template,
const TemplateParameterInfos infos 
)

◆ CreateFunctionType() [1/4]

static CompilerType lldb_private::ClangASTContext::CreateFunctionType ( clang::ASTContext *  ast,
const CompilerType result_type,
const CompilerType args,
unsigned  num_args,
bool  is_variadic,
unsigned  type_quals,
clang::CallingConv  cc 
)
static

◆ CreateFunctionType() [2/4]

static CompilerType lldb_private::ClangASTContext::CreateFunctionType ( clang::ASTContext *  ast,
const CompilerType result_type,
const CompilerType args,
unsigned  num_args,
bool  is_variadic,
unsigned  type_quals 
)
inlinestatic

Definition at line 370 of file ClangASTContext.h.

References CreateFunctionType().

◆ CreateFunctionType() [3/4]

CompilerType lldb_private::ClangASTContext::CreateFunctionType ( const CompilerType result_type,
const CompilerType args,
unsigned  num_args,
bool  is_variadic,
unsigned  type_quals 
)
inline

Definition at line 379 of file ClangASTContext.h.

References CreateFunctionType(), and getASTContext().

◆ CreateFunctionType() [4/4]

CompilerType lldb_private::ClangASTContext::CreateFunctionType ( const CompilerType result_type,
const CompilerType args,
unsigned  num_args,
bool  is_variadic,
unsigned  type_quals,
clang::CallingConv  cc 
)
inline

◆ CreateInstance()

lldb::TypeSystemSP ClangASTContext::CreateInstance ( lldb::LanguageType  language,
lldb_private::Module module,
Target target 
)
static

◆ CreateMemberPointerType()

CompilerType ClangASTContext::CreateMemberPointerType ( const CompilerType type,
const CompilerType pointee_type 
)
static

◆ CreateObjCClass()

CompilerType ClangASTContext::CreateObjCClass ( const char *  name,
clang::DeclContext *  decl_ctx,
bool  isForwardDecl,
bool  isInternal,
ClangASTMetadata metadata = nullptr 
)

Definition at line 1849 of file ClangASTContext.cpp.

References getASTContext(), and SetMetadata().

Referenced by CreateRecordType().

◆ CreateParameterDeclaration()

ParmVarDecl * ClangASTContext::CreateParameterDeclaration ( clang::DeclContext *  decl_ctx,
const char *  name,
const CompilerType param_type,
int  storage 
)

◆ CreateRecordType()

CompilerType ClangASTContext::CreateRecordType ( clang::DeclContext *  decl_ctx,
lldb::AccessType  access_type,
const char *  name,
int  kind,
lldb::LanguageType  language,
ClangASTMetadata metadata = nullptr 
)

◆ CreateStructForIdentifier()

CompilerType ClangASTContext::CreateStructForIdentifier ( ConstString  type_name,
const std::initializer_list< std::pair< const char *, CompilerType >> &  type_fields,
bool  packed = false 
)

◆ CreateTemplateTemplateParmDecl()

TemplateTemplateParmDecl * ClangASTContext::CreateTemplateTemplateParmDecl ( const char *  template_name)

◆ CreateTypedef()

CompilerType ClangASTContext::CreateTypedef ( lldb::opaque_compiler_type_t  type,
const char *  name,
const CompilerDeclContext decl_ctx 
)
overridevirtual

Reimplemented from lldb_private::TypeSystem.

Definition at line 4944 of file ClangASTContext.cpp.

References DeclContextGetAsDeclContext(), getASTContext(), and GetQualType().

Referenced by GetPointerSizedIntType().

◆ CreateTypedefType()

CompilerType ClangASTContext::CreateTypedefType ( const CompilerType type,
const char *  typedef_name,
const CompilerDeclContext compiler_decl_ctx 
)
static

◆ CreateUsingDeclaration()

clang::UsingDecl * ClangASTContext::CreateUsingDeclaration ( clang::DeclContext *  current_decl_ctx,
clang::NamedDecl *  target 
)

Definition at line 2015 of file ClangASTContext.cpp.

References getASTContext().

Referenced by DWARFASTParserClang::GetClangDeclForDIE().

◆ CreateUsingDirectiveDeclaration()

clang::UsingDirectiveDecl * ClangASTContext::CreateUsingDirectiveDeclaration ( clang::DeclContext *  decl_ctx,
clang::NamespaceDecl *  ns_decl 
)

◆ CreateVariableDeclaration()

clang::VarDecl * ClangASTContext::CreateVariableDeclaration ( clang::DeclContext *  decl_context,
const char *  name,
clang::QualType  type 
)

◆ DeclContextFindDeclByName()

std::vector< CompilerDecl > ClangASTContext::DeclContextFindDeclByName ( void *  opaque_decl_ctx,
ConstString  name,
const bool  ignore_using_decls 
)
overridevirtual

◆ DeclContextGetAsCXXMethodDecl()

CXXMethodDecl * ClangASTContext::DeclContextGetAsCXXMethodDecl ( const CompilerDeclContext dc)
static

◆ DeclContextGetAsDeclContext()

clang::DeclContext * ClangASTContext::DeclContextGetAsDeclContext ( const CompilerDeclContext dc)
static

◆ DeclContextGetAsFunctionDecl()

clang::FunctionDecl * ClangASTContext::DeclContextGetAsFunctionDecl ( const CompilerDeclContext dc)
static

◆ DeclContextGetAsNamespaceDecl()

clang::NamespaceDecl * ClangASTContext::DeclContextGetAsNamespaceDecl ( const CompilerDeclContext dc)
static

◆ DeclContextGetAsObjCMethodDecl()

ObjCMethodDecl * ClangASTContext::DeclContextGetAsObjCMethodDecl ( const CompilerDeclContext dc)
static

◆ DeclContextGetClangASTContext()

clang::ASTContext * ClangASTContext::DeclContextGetClangASTContext ( const CompilerDeclContext dc)
static

◆ DeclContextGetMetaData()

ClangASTMetadata * ClangASTContext::DeclContextGetMetaData ( const CompilerDeclContext dc,
const void *  object 
)
static

◆ DeclContextGetName()

ConstString ClangASTContext::DeclContextGetName ( void *  opaque_decl_ctx)
overridevirtual

Implements lldb_private::TypeSystem.

Definition at line 10187 of file ClangASTContext.cpp.

Referenced by GetPointerSizedIntType().

◆ DeclContextGetScopeQualifiedName()

ConstString ClangASTContext::DeclContextGetScopeQualifiedName ( void *  opaque_decl_ctx)
overridevirtual

Implements lldb_private::TypeSystem.

Definition at line 10198 of file ClangASTContext.cpp.

Referenced by GetPointerSizedIntType().

◆ DeclContextIsClassMethod()

bool ClangASTContext::DeclContextIsClassMethod ( void *  opaque_decl_ctx,
lldb::LanguageType language_ptr,
bool *  is_instance_method_ptr,
ConstString language_object_name_ptr 
)
overridevirtual

◆ DeclContextIsContainedInLookup()

bool ClangASTContext::DeclContextIsContainedInLookup ( void *  opaque_decl_ctx,
void *  other_opaque_decl_ctx 
)
overridevirtual

Implements lldb_private::TypeSystem.

Definition at line 10250 of file ClangASTContext.cpp.

Referenced by GetPointerSizedIntType().

◆ DeclContextIsStructUnionOrClass()

bool ClangASTContext::DeclContextIsStructUnionOrClass ( void *  opaque_decl_ctx)
overridevirtual

Implements lldb_private::TypeSystem.

Definition at line 10180 of file ClangASTContext.cpp.

Referenced by GetPointerSizedIntType().

◆ DeclGetDeclContext()

CompilerDeclContext ClangASTContext::DeclGetDeclContext ( void *  opaque_decl)
overridevirtual

Reimplemented from lldb_private::TypeSystem.

Definition at line 9949 of file ClangASTContext.cpp.

Referenced by GetPointerSizedIntType().

◆ DeclGetFunctionArgumentType()

CompilerType ClangASTContext::DeclGetFunctionArgumentType ( void *  opaque_decl,
size_t  arg_idx 
)
overridevirtual

Reimplemented from lldb_private::TypeSystem.

Definition at line 9979 of file ClangASTContext.cpp.

Referenced by GetPointerSizedIntType().

◆ DeclGetFunctionNumArguments()

size_t ClangASTContext::DeclGetFunctionNumArguments ( void *  opaque_decl)
overridevirtual

Reimplemented from lldb_private::TypeSystem.

Definition at line 9968 of file ClangASTContext.cpp.

Referenced by GetPointerSizedIntType().

◆ DeclGetFunctionReturnType()

CompilerType ClangASTContext::DeclGetFunctionReturnType ( void *  opaque_decl)
overridevirtual

Reimplemented from lldb_private::TypeSystem.

Definition at line 9957 of file ClangASTContext.cpp.

Referenced by GetPointerSizedIntType().

◆ DeclGetMangledName()

ConstString ClangASTContext::DeclGetMangledName ( void *  opaque_decl)
overridevirtual

Reimplemented from lldb_private::TypeSystem.

Definition at line 9923 of file ClangASTContext.cpp.

References getMangleContext().

Referenced by GetPointerSizedIntType().

◆ DeclGetName()

ConstString ClangASTContext::DeclGetName ( void *  opaque_decl)
overridevirtual

Implements lldb_private::TypeSystem.

Definition at line 9913 of file ClangASTContext.cpp.

Referenced by GetPointerSizedIntType().

◆ DeclsAreEquivalent()

bool ClangASTContext::DeclsAreEquivalent ( clang::Decl *  lhs_decl,
clang::Decl *  rhs_decl 
)
static

◆ dump()

LLVM_DUMP_METHOD void ClangASTContext::dump ( lldb::opaque_compiler_type_t  type) const
overridevirtual

Convenience LLVM-style dump method for use in the debugger only.

In contrast to the other Dump() methods this directly invokes clang::QualType::dump().

Implements lldb_private::TypeSystem.

Definition at line 9078 of file ClangASTContext.cpp.

References GetQualType().

◆ Dump()

void ClangASTContext::Dump ( Stream s)

◆ DumpDeclContextHiearchy()

void ClangASTContext::DumpDeclContextHiearchy ( clang::DeclContext *  decl_ctx)
static

Definition at line 2404 of file ClangASTContext.cpp.

Referenced by DumpDeclHiearchy(), and GetCompleteDecl().

◆ DumpDeclHiearchy()

void ClangASTContext::DumpDeclHiearchy ( clang::Decl *  decl)
static

Definition at line 2418 of file ClangASTContext.cpp.

References DumpDeclContextHiearchy().

Referenced by GetCompleteDecl().

◆ DumpSummary()

void ClangASTContext::DumpSummary ( lldb::opaque_compiler_type_t  type,
ExecutionContext exe_ctx,
Stream s,
const DataExtractor data,
lldb::offset_t  data_offset,
size_t  data_byte_size 
)
overridevirtual

◆ DumpTypeDescription() [1/2]

void ClangASTContext::DumpTypeDescription ( lldb::opaque_compiler_type_t  type)
overridevirtual

◆ DumpTypeDescription() [2/2]

void ClangASTContext::DumpTypeDescription ( lldb::opaque_compiler_type_t  type,
Stream s 
)
overridevirtual

◆ DumpTypeName()

void ClangASTContext::DumpTypeName ( const CompilerType type)
static

◆ DumpTypeValue()

bool ClangASTContext::DumpTypeValue ( lldb::opaque_compiler_type_t  type,
Stream s,
lldb::Format  format,
const DataExtractor data,
lldb::offset_t  data_offset,
size_t  data_byte_size,
uint32_t  bitfield_bit_size,
uint32_t  bitfield_bit_offset,
ExecutionContextScope exe_scope 
)
overridevirtual

◆ DumpValue()

void ClangASTContext::DumpValue ( lldb::opaque_compiler_type_t  type,
ExecutionContext exe_ctx,
Stream s,
lldb::Format  format,
const DataExtractor data,
lldb::offset_t  data_offset,
size_t  data_byte_size,
uint32_t  bitfield_bit_size,
uint32_t  bitfield_bit_offset,
bool  show_types,
bool  show_summary,
bool  verbose,
uint32_t  depth 
)
overridevirtual

◆ EnumerateSupportedLanguages()

void ClangASTContext::EnumerateSupportedLanguages ( std::set< lldb::LanguageType > &  languages_for_types,
std::set< lldb::LanguageType > &  languages_for_expressions 
)
static

◆ FieldIsBitfield() [1/2]

bool lldb_private::ClangASTContext::FieldIsBitfield ( clang::FieldDecl *  field,
uint32_t bitfield_bit_size 
)

◆ FieldIsBitfield() [2/2]

static bool lldb_private::ClangASTContext::FieldIsBitfield ( clang::ASTContext *  ast,
clang::FieldDecl *  field,
uint32_t bitfield_bit_size 
)
static

◆ Finalize()

void ClangASTContext::Finalize ( )
overridevirtual

◆ ForEachEnumerator()

void ClangASTContext::ForEachEnumerator ( lldb::opaque_compiler_type_t  type,
std::function< bool(const CompilerType &integer_type, ConstString name, const llvm::APSInt &value)> const &  callback 
)
overridevirtual

Reimplemented from lldb_private::TypeSystem.

Definition at line 5808 of file ClangASTContext.cpp.

References GetCanonicalQualType().

Referenced by GetByteSize().

◆ GetArrayElementType()

CompilerType ClangASTContext::GetArrayElementType ( lldb::opaque_compiler_type_t  type,
uint64_t *  stride 
)
overridevirtual

Implements lldb_private::TypeSystem.

Definition at line 4486 of file ClangASTContext.cpp.

References getASTContext(), and GetCanonicalQualType().

Referenced by GetPointerSizedIntType().

◆ GetArrayType()

CompilerType ClangASTContext::GetArrayType ( lldb::opaque_compiler_type_t  type,
uint64_t  size 
)
overridevirtual

Reimplemented from lldb_private::TypeSystem.

Definition at line 4510 of file ClangASTContext.cpp.

References getASTContext(), and GetCanonicalQualType().

Referenced by GetPointerSizedIntType().

◆ GetAsCXXRecordDecl()

clang::CXXRecordDecl * ClangASTContext::GetAsCXXRecordDecl ( lldb::opaque_compiler_type_t  type)

◆ GetAsDeclContext() [1/2]

clang::DeclContext * ClangASTContext::GetAsDeclContext ( clang::CXXMethodDecl *  cxx_method_decl)
static

Definition at line 2587 of file ClangASTContext.cpp.

◆ GetAsDeclContext() [2/2]

clang::DeclContext * ClangASTContext::GetAsDeclContext ( clang::ObjCMethodDecl *  objc_method_decl)
static

Definition at line 2592 of file ClangASTContext.cpp.

◆ GetAsEnumDecl()

clang::EnumDecl * ClangASTContext::GetAsEnumDecl ( const CompilerType type)
static

◆ GetAsObjCInterfaceDecl()

clang::ObjCInterfaceDecl * ClangASTContext::GetAsObjCInterfaceDecl ( const CompilerType type)
static

◆ GetAsRecordDecl()

clang::RecordDecl * ClangASTContext::GetAsRecordDecl ( const CompilerType type)
static

◆ GetAsTagDecl()

clang::TagDecl * ClangASTContext::GetAsTagDecl ( const CompilerType type)
static

Definition at line 7843 of file ClangASTContext.cpp.

References lldb_private::ClangUtil::GetAsTagDecl().

◆ GetASTContext()

ClangASTContext * ClangASTContext::GetASTContext ( clang::ASTContext *  ast_ctx)
static

◆ getASTContext()

ASTContext * ClangASTContext::getASTContext ( )

Definition at line 850 of file ClangASTContext.cpp.

References CompleteObjCInterfaceDecl(), CompleteTagDecl(), GetASTMap(), getBuiltinContext(), getDiagnosticConsumer(), getIdentifierTable(), getLanguageOptions(), getSelectorTable(), getSourceManager(), getTargetInfo(), lldb_private::ThreadSafeDenseMap< _KeyType, _ValueType, _MutexType >::Insert(), LayoutRecordType(), m_ast_owned, m_ast_up, m_callback_baton, m_callback_objc_decl, m_callback_tag_decl, and SetExternalSource().

Referenced by AddEnumerationValueToEnumerationType(), AddFieldToRecordType(), lldb_private::NameSearchContext::AddFunDecl(), AddMethodToCXXRecordType(), AddMethodToObjCObjectType(), AddObjCClassProperty(), lldb_private::NameSearchContext::AddVarDecl(), AddVariableToRecordType(), lldb_private::AppleObjCDeclVendor::AppleObjCDeclVendor(), AreTypesSame(), BuildIndirectFields(), classof(), lldb_private::ASTResultSynthesizer::CommitPersistentDecls(), CompleteTagDeclarationDefinition(), ConvertStringToFloatValue(), lldb_private::ClangASTImporter::CopyType(), CreateArrayType(), CreateBaseClassSpecifier(), CreateBlockDeclaration(), CreateClassTemplateDecl(), CreateClassTemplateSpecializationDecl(), CreateClassTemplateSpecializationType(), CreateEnumerationType(), CreateFunctionDeclaration(), CreateFunctionTemplateDecl(), CreateFunctionType(), PDBASTParser::CreateLLDBTypeFromPDBType(), CreateMemberPointerType(), CreateObjCClass(), CreateParameterDeclaration(), CreateRecordType(), CreateTemplateTemplateParmDecl(), CreateTypedef(), CreateTypedefType(), CreateUsingDeclaration(), CreateUsingDirectiveDeclaration(), CreateVariableDeclaration(), DeclContextGetClangASTContext(), lldb_private::DumpDataExtractor(), DumpTypeDescription(), DumpTypeValue(), DumpValue(), ExportAllDeclaredTypes(), lldb_private::ClangExpressionDeclMap::FindExternalVisibleDecls(), lldb::SBTarget::FindFirstType(), PDBASTParser::FindNamespaceDecl(), lldb::SBTarget::FindTypes(), lldb_private::formatters::GenericNSArrayISyntheticFrontEnd< D32, D64, Inline >::GenericNSArrayISyntheticFrontEnd(), GetArrayElementType(), GetArrayType(), GetBasicType(), lldb::SBTarget::GetBasicType(), GetBasicTypeFromAST(), GetBitSize(), GetBuiltinTypeForDWARFEncodingAndBitSize(), GetBuiltinTypeForEncodingAndBitSize(), GetBuiltinTypeForPDBEncodingAndBitSize(), GetCanonicalType(), GetChildCompilerTypeAtIndex(), GetCompleteDecl(), GetCompleteType(), GetCStringType(), GetDeclarationName(), PDBASTParser::GetDeclForSymbol(), GetDirectBaseClassAtIndex(), GetEncoding(), GetEnumerationIntegerType(), GetFieldAtIndex(), GetFormat(), GetFullyUnqualifiedType(), GetFunctionArgumentAtIndex(), GetFunctionArgumentTypeAtIndex(), GetFunctionReturnType(), GetIndexOfChildMemberWithName(), GetIndexOfChildWithName(), GetIntegralTemplateArgument(), GetLValueReferenceType(), getMangleContext(), GetMemberFunctionAtIndex(), GetMetadata(), GetMinimumLanguage(), GetNonReferenceType(), GetNumBaseClasses(), GetNumChildren(), GetNumFields(), GetNumMemberFunctions(), GetNumTemplateArguments(), GetPointeeType(), GetPointerSizedIntType(), GetPointerType(), SystemRuntimeMacOSX::GetQueueIDFromThreadQAddress(), GetRValueReferenceType(), GetTranslationUnitDecl(), GetTypeBitAlign(), GetTypeClass(), GetTypedefedType(), GetTypeForIdentifier(), GetTypeInfo(), GetTypeName(), GetTypeTemplateArgument(), GetUnknownAnyType(), GetVirtualBaseClassAtIndex(), lldb_private::ClangASTSource::GuardedCopyType(), HasExternalSource(), IsArrayType(), IsBlockPointerType(), IsCompleteType(), IsHomogeneousAggregate(), IsPointerOrReferenceType(), IsPointerType(), IsPossibleDynamicType(), IsReferenceType(), IsRuntimeGeneratedType(), IsVectorType(), DWARFASTParserClang::ParseTemplateDIE(), lldb_private::ObjCLanguageRuntime::EncodingToType::RealizeType(), RemoveExternalSource(), DWARFASTParserClang::ResolveNamespaceDIE(), lldb_private::ClangExpressionDeclMap::ResolveUnknownTypes(), SetExternalSource(), SetIsPacked(), SetMetadata(), SetObjCSuperClass(), lldb_private::AppleObjCExternalASTSource::StartTranslationUnit(), UnifyAccessSpecifiers(), and lldb_private::ClangASTSource::~ClangASTSource().

◆ GetAsTemplateSpecialization()

const clang::ClassTemplateSpecializationDecl * ClangASTContext::GetAsTemplateSpecialization ( lldb::opaque_compiler_type_t  type)
protected

◆ GetAsTypedefDecl()

clang::TypedefNameDecl * ClangASTContext::GetAsTypedefDecl ( const CompilerType type)
static

Definition at line 7848 of file ClangASTContext.cpp.

References lldb_private::ClangUtil::GetQualType().

◆ GetBasicType() [1/3]

CompilerType ClangASTContext::GetBasicType ( lldb::BasicType  type)

Definition at line 1156 of file ClangASTContext.cpp.

References GetASTContext(), getASTContext(), and GetOpaqueCompilerType().

Referenced by lldb_private::formatters::BlockPointerSyntheticFrontEnd::BlockPointerSyntheticFrontEnd(), lldb_private::formatters::LibcxxStdMapSyntheticFrontEnd::CalculateNumChildren(), PDBASTParser::CreateLLDBTypeFromPDBType(), lldb_private::AppleGetQueuesHandler::Detach(), lldb_private::AppleGetThreadItemInfoHandler::Detach(), lldb_private::AppleGetPendingItemsHandler::Detach(), PlatformPOSIX::DoLoadImage(), lldb_private::ClangExpressionDeclMap::FindExternalVisibleDecls(), GetBasicTypeEnumeration(), GetBasicTypeFromAST(), GetBuiltinTypeByName(), GetBuiltinTypeForPDBEncodingAndBitSize(), lldb_private::ItaniumABILanguageRuntime::GetExceptionObjectForThread(), GetLLDBNSPairType(), GetMetadata(), GetNSPathStore2Type(), lldb_private::AppleObjCRuntime::GetObjectDescription(), GetPointerByteSize(), lldb_private::AppleObjCRuntimeV2::GetTaggedPointerObfuscator(), lldb_private::DynamicLoaderDarwin::GetThreadLocalData(), lldb_private::InferiorCall(), lldb_private::InferiorCallMmap(), PlatformPOSIX::MakeLoadImageUtilityFunction(), DynamicLoaderMacOS::NotifyBreakpointHit(), DynamicLoaderMacOSXDYLD::NotifyBreakpointHit(), DWARFASTParserClang::ParseTemplateDIE(), DWARFASTParserClang::ParseTypeFromDWARF(), lldb_private::ClangExpressionDeclMap::ResolveUnknownTypes(), lldb_private::AppleObjCTrampolineHandler::SetupDispatchFunction(), lldb_private::formatters::LibCxxMapIteratorSyntheticFrontEnd::Update(), and lldb_private::AppleObjCTrampolineHandler::~AppleObjCTrampolineHandler().

◆ GetBasicType() [2/3]

static CompilerType lldb_private::ClangASTContext::GetBasicType ( clang::ASTContext *  ast,
lldb::BasicType  type 
)
static

◆ GetBasicType() [3/3]

static CompilerType lldb_private::ClangASTContext::GetBasicType ( clang::ASTContext *  ast,
ConstString  name 
)
static

◆ GetBasicTypeEnumeration() [1/3]

lldb::BasicType ClangASTContext::GetBasicTypeEnumeration ( ConstString  name)
static

◆ GetBasicTypeEnumeration() [2/3]

lldb::BasicType ClangASTContext::GetBasicTypeEnumeration ( lldb::opaque_compiler_type_t  type)
overridevirtual

◆ GetBasicTypeEnumeration() [3/3]

static lldb::BasicType lldb_private::ClangASTContext::GetBasicTypeEnumeration ( lldb::opaque_compiler_type_t  type,
ConstString  name 
)
static

◆ GetBasicTypeFromAST()

CompilerType ClangASTContext::GetBasicTypeFromAST ( lldb::BasicType  basic_type)
overridevirtual

Implements lldb_private::TypeSystem.

Definition at line 4997 of file ClangASTContext.cpp.

References getASTContext(), and GetBasicType().

Referenced by GetPointerSizedIntType().

◆ GetBitSize()

Optional< uint64_t > ClangASTContext::GetBitSize ( lldb::opaque_compiler_type_t  type,
ExecutionContextScope exe_scope 
)
overridevirtual

◆ getBuiltinContext()

Builtin::Context * ClangASTContext::getBuiltinContext ( )

Definition at line 888 of file ClangASTContext.cpp.

References m_builtins_up.

Referenced by classof(), and getASTContext().

◆ GetBuiltinTypeByName()

CompilerType ClangASTContext::GetBuiltinTypeByName ( ConstString  name)
overridevirtual

Reimplemented from lldb_private::TypeSystem.

Definition at line 5731 of file ClangASTContext.cpp.

References GetBasicType(), and GetBasicTypeEnumeration().

Referenced by GetByteSize().

◆ GetBuiltinTypeForDWARFEncodingAndBitSize()

CompilerType ClangASTContext::GetBuiltinTypeForDWARFEncodingAndBitSize ( const char *  type_name,
uint32_t  dw_ate,
uint32_t  bit_size 
)

◆ GetBuiltinTypeForEncodingAndBitSize() [1/2]

CompilerType ClangASTContext::GetBuiltinTypeForEncodingAndBitSize ( lldb::Encoding  encoding,
size_t  bit_size 
)
overridevirtual

◆ GetBuiltinTypeForEncodingAndBitSize() [2/2]

static CompilerType lldb_private::ClangASTContext::GetBuiltinTypeForEncodingAndBitSize ( clang::ASTContext *  ast,
lldb::Encoding  encoding,
uint32_t  bit_size 
)
static

◆ GetByteSize()

llvm::Optional<uint64_t> lldb_private::ClangASTContext::GetByteSize ( lldb::opaque_compiler_type_t  type,
ExecutionContextScope exe_scope 
)
inline

◆ GetCanonicalQualType()

static clang::QualType lldb_private::ClangASTContext::GetCanonicalQualType ( lldb::opaque_compiler_type_t  type)
inlinestatic

◆ GetCanonicalType()

CompilerType ClangASTContext::GetCanonicalType ( lldb::opaque_compiler_type_t  type)
overridevirtual

Implements lldb_private::TypeSystem.

Definition at line 4532 of file ClangASTContext.cpp.

References getASTContext(), and GetCanonicalQualType().

Referenced by GetPointerSizedIntType().

◆ GetChildCompilerTypeAtIndex()

CompilerType ClangASTContext::GetChildCompilerTypeAtIndex ( lldb::opaque_compiler_type_t  type,
ExecutionContext exe_ctx,
size_t  idx,
bool  transparent_pointers,
bool  omit_empty_base_classes,
bool  ignore_array_bounds,
std::string &  child_name,
uint32_t child_byte_size,
int32_t &  child_byte_offset,
uint32_t child_bitfield_bit_size,
uint32_t child_bitfield_bit_offset,
bool &  child_is_base_class,
bool &  child_is_deref_of_parent,
ValueObject valobj,
uint64_t &  language_flags 
)
overridevirtual

◆ GetCompleteDecl() [1/2]

bool lldb_private::ClangASTContext::GetCompleteDecl ( clang::Decl *  decl)
inline

◆ GetCompleteDecl() [2/2]

bool ClangASTContext::GetCompleteDecl ( clang::ASTContext *  ast,
clang::Decl *  decl 
)
static

Definition at line 2523 of file ClangASTContext.cpp.

◆ GetCompleteType()

bool ClangASTContext::GetCompleteType ( lldb::opaque_compiler_type_t  type)
overridevirtual

◆ GetCStringType()

CompilerType ClangASTContext::GetCStringType ( bool  is_const)

◆ GetCXXClassName()

bool ClangASTContext::GetCXXClassName ( const CompilerType type,
std::string &  class_name 
)
static

◆ GetDeclarationName()

clang::DeclarationName ClangASTContext::GetDeclarationName ( const char *  name,
const CompilerType function_clang_type 
)

◆ GetDeclContextForType() [1/2]

clang::DeclContext * ClangASTContext::GetDeclContextForType ( clang::QualType  type)
static

◆ GetDeclContextForType() [2/2]

clang::DeclContext * ClangASTContext::GetDeclContextForType ( const CompilerType type)
static

◆ getDiagnosticConsumer()

DiagnosticConsumer * ClangASTContext::getDiagnosticConsumer ( )

Definition at line 971 of file ClangASTContext.cpp.

References m_diagnostic_consumer_up.

Referenced by classof(), and getASTContext().

◆ getDiagnosticsEngine()

clang::DiagnosticsEngine * ClangASTContext::getDiagnosticsEngine ( )

Definition at line 932 of file ClangASTContext.cpp.

References m_diagnostics_engine_up.

Referenced by classof(), getSourceManager(), and getTargetInfo().

◆ GetDirectBaseClassAtIndex()

CompilerType ClangASTContext::GetDirectBaseClassAtIndex ( lldb::opaque_compiler_type_t  type,
size_t  idx,
uint32_t bit_offset_ptr 
)
overridevirtual

◆ GetDWARFParser()

DWARFASTParser * ClangASTContext::GetDWARFParser ( )
overridevirtual

◆ GetEncoding()

lldb::Encoding ClangASTContext::GetEncoding ( lldb::opaque_compiler_type_t  type,
uint64_t &  count 
)
overridevirtual

◆ GetEnumerationIntegerType()

CompilerType ClangASTContext::GetEnumerationIntegerType ( lldb::opaque_compiler_type_t  type)

◆ GetFieldAtIndex()

CompilerType ClangASTContext::GetFieldAtIndex ( lldb::opaque_compiler_type_t  type,
size_t  idx,
std::string &  name,
uint64_t *  bit_offset_ptr,
uint32_t bitfield_bit_size_ptr,
bool *  is_bitfield_ptr 
)
overridevirtual

◆ getFileManager()

clang::FileManager * ClangASTContext::getFileManager ( )

◆ GetFloatTypeFromBitSize()

static CompilerType lldb_private::ClangASTContext::GetFloatTypeFromBitSize ( clang::ASTContext *  ast,
size_t  bit_size 
)
static

Referenced by GetPointerSizedIntType().

◆ GetFormat()

lldb::Format ClangASTContext::GetFormat ( lldb::opaque_compiler_type_t  type)
overridevirtual

◆ GetFullyUnqualifiedType()

CompilerType ClangASTContext::GetFullyUnqualifiedType ( lldb::opaque_compiler_type_t  type)
overridevirtual

◆ GetFunctionArgumentAtIndex()

CompilerType ClangASTContext::GetFunctionArgumentAtIndex ( lldb::opaque_compiler_type_t  type,
const size_t  index 
)
overridevirtual

Implements lldb_private::TypeSystem.

Definition at line 3256 of file ClangASTContext.cpp.

References getASTContext(), and GetQualType().

Referenced by GetPointerSizedIntType().

◆ GetFunctionArgumentCount()

int ClangASTContext::GetFunctionArgumentCount ( lldb::opaque_compiler_type_t  type)
overridevirtual

Implements lldb_private::TypeSystem.

Definition at line 4560 of file ClangASTContext.cpp.

References GetCanonicalQualType().

Referenced by GetPointerSizedIntType().

◆ GetFunctionArgumentTypeAtIndex()

CompilerType ClangASTContext::GetFunctionArgumentTypeAtIndex ( lldb::opaque_compiler_type_t  type,
size_t  idx 
)
overridevirtual

Implements lldb_private::TypeSystem.

Definition at line 4571 of file ClangASTContext.cpp.

References getASTContext(), and GetQualType().

Referenced by GetPointerSizedIntType().

◆ GetFunctionReturnType()

CompilerType ClangASTContext::GetFunctionReturnType ( lldb::opaque_compiler_type_t  type)
overridevirtual

Implements lldb_private::TypeSystem.

Definition at line 4586 of file ClangASTContext.cpp.

References getASTContext(), and GetQualType().

Referenced by GetPointerSizedIntType().

◆ GetHasExternalStorage()

bool ClangASTContext::GetHasExternalStorage ( const CompilerType type)
static

◆ getIdentifierTable()

IdentifierTable * ClangASTContext::getIdentifierTable ( )

Definition at line 894 of file ClangASTContext.cpp.

References getLanguageOptions(), and m_identifier_table_up.

Referenced by classof(), and getASTContext().

◆ GetIndexOfChildMemberWithName()

size_t ClangASTContext::GetIndexOfChildMemberWithName ( lldb::opaque_compiler_type_t  type,
const char *  name,
bool  omit_empty_base_classes,
std::vector< uint32_t > &  child_indexes 
)
overridevirtual

◆ GetIndexOfChildWithName()

uint32_t ClangASTContext::GetIndexOfChildWithName ( lldb::opaque_compiler_type_t  type,
const char *  name,
bool  omit_empty_base_classes 
)
overridevirtual

◆ GetIntegralTemplateArgument()

Optional< CompilerType::IntegralTemplateArgument > ClangASTContext::GetIntegralTemplateArgument ( lldb::opaque_compiler_type_t  type,
size_t  idx 
)
overridevirtual

Reimplemented from lldb_private::TypeSystem.

Definition at line 7805 of file ClangASTContext.cpp.

References getASTContext(), GetAsTemplateSpecialization(), and lldb_private::None.

Referenced by GetByteSize().

◆ GetIntTypeFromBitSize()

CompilerType ClangASTContext::GetIntTypeFromBitSize ( clang::ASTContext *  ast,
size_t  bit_size,
bool  is_signed 
)
static

Definition at line 2351 of file ClangASTContext.cpp.

Referenced by CreateFunctionType(), and GetPointerSizedIntType().

◆ getLanguageOptions()

LangOptions * ClangASTContext::getLanguageOptions ( )

◆ GetLValueReferenceType()

CompilerType ClangASTContext::GetLValueReferenceType ( lldb::opaque_compiler_type_t  type)
overridevirtual

Reimplemented from lldb_private::TypeSystem.

Definition at line 4894 of file ClangASTContext.cpp.

References getASTContext(), and GetQualType().

Referenced by GetPointerSizedIntType().

◆ getMangleContext()

clang::MangleContext * ClangASTContext::getMangleContext ( )

Definition at line 941 of file ClangASTContext.cpp.

References getASTContext(), and m_mangle_ctx_up.

Referenced by classof(), and DeclGetMangledName().

◆ GetMemberFunctionAtIndex()

TypeMemberFunctionImpl ClangASTContext::GetMemberFunctionAtIndex ( lldb::opaque_compiler_type_t  type,
size_t  idx 
)
overridevirtual

◆ GetMetadata() [1/2]

ClangASTMetadata* lldb_private::ClangASTContext::GetMetadata ( const void *  object)
inline

◆ GetMetadata() [2/2]

ClangASTMetadata * ClangASTContext::GetMetadata ( clang::ASTContext *  ast,
const void *  object 
)
static

◆ GetMinimumLanguage()

lldb::LanguageType ClangASTContext::GetMinimumLanguage ( lldb::opaque_compiler_type_t  type)
overridevirtual

◆ GetNonReferenceType()

CompilerType ClangASTContext::GetNonReferenceType ( lldb::opaque_compiler_type_t  type)
overridevirtual

Implements lldb_private::TypeSystem.

Definition at line 4825 of file ClangASTContext.cpp.

References getASTContext(), and GetQualType().

Referenced by GetPointerSizedIntType().

◆ GetNumBaseClasses()

uint32_t ClangASTContext::GetNumBaseClasses ( const clang::CXXRecordDecl *  cxx_record_decl,
bool  omit_empty_base_classes 
)
static

◆ GetNumberOfFunctionArguments()

size_t ClangASTContext::GetNumberOfFunctionArguments ( lldb::opaque_compiler_type_t  type)
overridevirtual

Implements lldb_private::TypeSystem.

Definition at line 3243 of file ClangASTContext.cpp.

References GetCanonicalQualType().

Referenced by GetPointerSizedIntType().

◆ GetNumChildren()

uint32_t ClangASTContext::GetNumChildren ( lldb::opaque_compiler_type_t  type,
bool  omit_empty_base_classes,
const ExecutionContext exe_ctx 
)
overridevirtual

◆ GetNumDirectBaseClasses()

uint32_t ClangASTContext::GetNumDirectBaseClasses ( lldb::opaque_compiler_type_t  type)
overridevirtual

◆ GetNumFields()

uint32_t ClangASTContext::GetNumFields ( lldb::opaque_compiler_type_t  type)
overridevirtual

◆ GetNumMemberFunctions()

size_t ClangASTContext::GetNumMemberFunctions ( lldb::opaque_compiler_type_t  type)
overridevirtual

◆ GetNumPointeeChildren()

uint32_t ClangASTContext::GetNumPointeeChildren ( clang::QualType  type)
static

Definition at line 6426 of file ClangASTContext.cpp.

References lldb_private::TypeSystem::getKind(), and UInt.

Referenced by GetByteSize(), and GetNumChildren().

◆ GetNumTemplateArguments()

size_t ClangASTContext::GetNumTemplateArguments ( lldb::opaque_compiler_type_t  type)
overridevirtual

Reimplemented from lldb_private::TypeSystem.

Definition at line 7651 of file ClangASTContext.cpp.

References getASTContext(), GetCanonicalQualType(), and GetCompleteType().

Referenced by GetByteSize().

◆ GetNumVirtualBaseClasses()

uint32_t ClangASTContext::GetNumVirtualBaseClasses ( lldb::opaque_compiler_type_t  type)
overridevirtual

Implements lldb_private::TypeSystem.

Definition at line 6186 of file ClangASTContext.cpp.

References GetCanonicalQualType(), and GetCompleteType().

Referenced by GetByteSize().

◆ GetObjCClassName()

bool ClangASTContext::GetObjCClassName ( const CompilerType type,
std::string &  class_name 
)
static

◆ GetOpaqueCompilerType()

lldb::opaque_compiler_type_t ClangASTContext::GetOpaqueCompilerType ( clang::ASTContext *  ast,
lldb::BasicType  basic_type 
)
static

◆ GetOrCreateStructForIdentifier()

CompilerType ClangASTContext::GetOrCreateStructForIdentifier ( ConstString  type_name,
const std::initializer_list< std::pair< const char *, CompilerType >> &  type_fields,
bool  packed = false 
)

Definition at line 2304 of file ClangASTContext.cpp.

References CreateStructForIdentifier().

Referenced by GetNSPathStore2Type(), and GetTypeForIdentifier().

◆ GetOriginMap()

virtual const clang::ExternalASTMerger::OriginMap& lldb_private::ClangASTContext::GetOriginMap ( )
inlinevirtual

Reimplemented in lldb_private::ClangASTContextForExpressions.

Definition at line 970 of file ClangASTContext.h.

References GetAsTemplateSpecialization(), and m_origins.

◆ GetPDBParser()

PDBASTParser * ClangASTContext::GetPDBParser ( )
overridevirtual

◆ GetPluginName()

ConstString ClangASTContext::GetPluginName ( )
overridevirtual

Implements lldb_private::PluginInterface.

Definition at line 674 of file ClangASTContext.cpp.

References GetPluginNameStatic().

Referenced by classof().

◆ GetPluginNameStatic()

ConstString ClangASTContext::GetPluginNameStatic ( )
static

Definition at line 670 of file ClangASTContext.cpp.

Referenced by classof(), GetPluginName(), and Initialize().

◆ GetPluginVersion()

uint32_t ClangASTContext::GetPluginVersion ( )
overridevirtual

Implements lldb_private::PluginInterface.

Definition at line 678 of file ClangASTContext.cpp.

Referenced by classof().

◆ GetPointeeType()

CompilerType ClangASTContext::GetPointeeType ( lldb::opaque_compiler_type_t  type)
overridevirtual

◆ GetPointerByteSize()

uint32_t ClangASTContext::GetPointerByteSize ( )
overridevirtual

◆ GetPointerSizedIntType() [1/2]

CompilerType lldb_private::ClangASTContext::GetPointerSizedIntType ( bool  is_signed)
inline

Definition at line 422 of file ClangASTContext.h.

References AddConstModifier(), AddRestrictModifier(), AddVolatileModifier(), CompleteObjCInterfaceDecl(), CompleteTagDecl(), CreateTypedef(), CreateTypedefType(), DeclContextFindDeclByName(), DeclContextGetAsCXXMethodDecl(), DeclContextGetAsDeclContext(), DeclContextGetAsFunctionDecl(), DeclContextGetAsNamespaceDecl(), DeclContextGetAsObjCMethodDecl(), DeclContextGetClangASTContext(), DeclContextGetMetaData(), DeclContextGetName(), DeclContextGetScopeQualifiedName(), DeclContextIsClassMethod(), DeclContextIsContainedInLookup(), DeclContextIsStructUnionOrClass(), DeclGetDeclContext(), DeclGetFunctionArgumentType(), DeclGetFunctionNumArguments(), DeclGetFunctionReturnType(), DeclGetMangledName(), DeclGetName(), GetArrayElementType(), GetArrayType(), getASTContext(), GetBasicTypeFromAST(), GetCanonicalType(), GetCompleteType(), GetCXXClassName(), GetDWARFParser(), GetFloatTypeFromBitSize(), GetFullyUnqualifiedType(), GetFunctionArgumentAtIndex(), GetFunctionArgumentCount(), GetFunctionArgumentTypeAtIndex(), GetFunctionReturnType(), GetLValueReferenceType(), GetMemberFunctionAtIndex(), GetMinimumLanguage(), GetNonReferenceType(), GetNumberOfFunctionArguments(), GetNumMemberFunctions(), GetObjCClassName(), GetPDBParser(), GetPointeeType(), GetPointerType(), GetRValueReferenceType(), GetTypeClass(), GetTypedefedType(), GetTypeInfo(), GetTypeName(), GetTypeQualifiers(), IsAggregateType(), IsAnonymousType(), IsArrayType(), IsBeingDefined(), IsBlockPointerType(), IsCharType(), IsClassType(), IsCompleteType(), IsConst(), IsCStringType(), IsCXXClassType(), IsDefined(), IsEnumerationType(), IsEnumType(), IsFloatingPointType(), IsFunctionPointerType(), IsFunctionType(), IsHomogeneousAggregate(), IsIntegerType(), IsObjCClassType(), IsObjCClassTypeAndHasIVars(), IsObjCObjectOrInterfaceType(), IsObjCObjectPointerType(), IsPointerOrReferenceType(), IsPointerType(), IsPolymorphicClass(), IsPossibleDynamicType(), IsReferenceType(), IsRuntimeGeneratedType(), IsScalarType(), IsTypedefType(), IsVectorType(), IsVoidType(), LayoutRecordType(), and SupportsLanguage().

Referenced by NSIndexPathSyntheticFrontEnd::Update().

◆ GetPointerSizedIntType() [2/2]

CompilerType ClangASTContext::GetPointerSizedIntType ( clang::ASTContext *  ast,
bool  is_signed 
)
static

Definition at line 2396 of file ClangASTContext.cpp.

References GetIntTypeFromBitSize().

◆ GetPointerType()

CompilerType ClangASTContext::GetPointerType ( lldb::opaque_compiler_type_t  type)
overridevirtual

Implements lldb_private::TypeSystem.

Definition at line 4874 of file ClangASTContext.cpp.

References getASTContext(), and GetQualType().

Referenced by GetPointerByteSize(), and GetPointerSizedIntType().

◆ GetQualType()

static clang::QualType lldb_private::ClangASTContext::GetQualType ( lldb::opaque_compiler_type_t  type)
inlinestatic

◆ GetRValueReferenceType()

CompilerType ClangASTContext::GetRValueReferenceType ( lldb::opaque_compiler_type_t  type)
overridevirtual

Reimplemented from lldb_private::TypeSystem.

Definition at line 4904 of file ClangASTContext.cpp.

References getASTContext(), and GetQualType().

Referenced by GetPointerSizedIntType().

◆ getSelectorTable()

SelectorTable * ClangASTContext::getSelectorTable ( )

Definition at line 910 of file ClangASTContext.cpp.

References m_selector_table_up.

Referenced by classof(), and getASTContext().

◆ getSema()

clang::Sema* lldb_private::ClangASTContext::getSema ( )
inline

◆ getSourceManager()

clang::SourceManager * ClangASTContext::getSourceManager ( )

Definition at line 925 of file ClangASTContext.cpp.

References getDiagnosticsEngine(), getFileManager(), and m_source_manager_up.

Referenced by classof(), and getASTContext().

◆ getTargetInfo()

TargetInfo * ClangASTContext::getTargetInfo ( )

◆ getTargetOptions()

std::shared_ptr< clang::TargetOptions > & ClangASTContext::getTargetOptions ( )

Definition at line 978 of file ClangASTContext.cpp.

References m_target_options_rp, and m_target_triple.

Referenced by classof(), and getTargetInfo().

◆ GetTargetTriple()

const char * ClangASTContext::GetTargetTriple ( )

Definition at line 802 of file ClangASTContext.cpp.

References m_target_triple.

Referenced by getLanguageOptions(), and getSema().

◆ GetTemplateArgumentKind()

lldb::TemplateArgumentKind ClangASTContext::GetTemplateArgumentKind ( lldb::opaque_compiler_type_t  type,
size_t  idx 
)
overridevirtual

◆ GetTranslationUnitDecl() [1/2]

clang::DeclContext * ClangASTContext::GetTranslationUnitDecl ( clang::ASTContext *  ast)
static

◆ GetTranslationUnitDecl() [2/2]

clang::DeclContext* lldb_private::ClangASTContext::GetTranslationUnitDecl ( )
inline

◆ GetTypeBitAlign()

size_t ClangASTContext::GetTypeBitAlign ( lldb::opaque_compiler_type_t  type)
overridevirtual

Implements lldb_private::TypeSystem.

Definition at line 5068 of file ClangASTContext.cpp.

References getASTContext(), GetCompleteType(), and GetQualType().

Referenced by GetByteSize().

◆ GetTypeClass()

lldb::TypeClass ClangASTContext::GetTypeClass ( lldb::opaque_compiler_type_t  type)
overridevirtual

◆ GetTypedefedType()

CompilerType ClangASTContext::GetTypedefedType ( lldb::opaque_compiler_type_t  type)
overridevirtual

Implements lldb_private::TypeSystem.

Definition at line 4984 of file ClangASTContext.cpp.

References getASTContext(), and GetQualType().

Referenced by GetPointerSizedIntType().

◆ GetTypeForDecl() [1/3]

CompilerType ClangASTContext::GetTypeForDecl ( clang::NamedDecl *  decl)
static

◆ GetTypeForDecl() [2/3]

static CompilerType lldb_private::ClangASTContext::GetTypeForDecl ( clang::TagDecl *  decl)
static

◆ GetTypeForDecl() [3/3]

static CompilerType lldb_private::ClangASTContext::GetTypeForDecl ( clang::ObjCInterfaceDecl *  objc_decl)
static

◆ GetTypeForFormatters()

CompilerType ClangASTContext::GetTypeForFormatters ( void *  type)
overridevirtual

Reimplemented from lldb_private::TypeSystem.

Definition at line 7821 of file ClangASTContext.cpp.

References lldb_private::ClangUtil::RemoveFastQualifiers().

Referenced by GetByteSize().

◆ GetTypeForIdentifier()

template<typename RecordDeclType >
CompilerType lldb_private::ClangASTContext::GetTypeForIdentifier ( ConstString  type_name,
clang::DeclContext *  decl_context = nullptr 
)
inline

◆ GetTypeInfo()

uint32_t ClangASTContext::GetTypeInfo ( lldb::opaque_compiler_type_t  type,
CompilerType pointee_or_element_compiler_type 
)
overridevirtual

◆ GetTypeName()

ConstString ClangASTContext::GetTypeName ( lldb::opaque_compiler_type_t  type)
overridevirtual

Implements lldb_private::TypeSystem.

Definition at line 4002 of file ClangASTContext.cpp.

References getASTContext(), and GetQualType().

Referenced by GetPointerSizedIntType().

◆ GetTypeQualifiers()

unsigned ClangASTContext::GetTypeQualifiers ( lldb::opaque_compiler_type_t  type)
overridevirtual

Implements lldb_private::TypeSystem.

Definition at line 4477 of file ClangASTContext.cpp.

References GetQualType().

Referenced by GetPointerSizedIntType().

◆ GetTypeTemplateArgument()

CompilerType ClangASTContext::GetTypeTemplateArgument ( lldb::opaque_compiler_type_t  type,
size_t  idx 
)
overridevirtual

Reimplemented from lldb_private::TypeSystem.

Definition at line 7789 of file ClangASTContext.cpp.

References getASTContext(), and GetAsTemplateSpecialization().

Referenced by GetByteSize().

◆ GetUniqueNamespaceDeclaration() [1/2]

clang::NamespaceDecl* lldb_private::ClangASTContext::GetUniqueNamespaceDeclaration ( const char *  name,
clang::DeclContext *  decl_ctx,
bool  is_inline = false 
)

◆ GetUniqueNamespaceDeclaration() [2/2]

NamespaceDecl * ClangASTContext::GetUniqueNamespaceDeclaration ( clang::ASTContext *  ast,
const char *  name,
clang::DeclContext *  decl_ctx,
bool  is_inline = false 
)
static

Definition at line 1960 of file ClangASTContext.cpp.

References GetASTContext(), and GetUniqueNamespaceDeclaration().

◆ GetUnknownAnyType() [1/2]

CompilerType ClangASTContext::GetUnknownAnyType ( clang::ASTContext *  ast)
static

Definition at line 1391 of file ClangASTContext.cpp.

◆ GetUnknownAnyType() [2/2]

CompilerType lldb_private::ClangASTContext::GetUnknownAnyType ( )
inline

◆ GetVirtualBaseClassAtIndex()

CompilerType ClangASTContext::GetVirtualBaseClassAtIndex ( lldb::opaque_compiler_type_t  type,
size_t  idx,
uint32_t bit_offset_ptr 
)
overridevirtual

Implements lldb_private::TypeSystem.

Definition at line 6353 of file ClangASTContext.cpp.

References getASTContext(), GetCanonicalQualType(), and GetCompleteType().

Referenced by GetByteSize().

◆ HasExternalSource()

bool ClangASTContext::HasExternalSource ( )

Definition at line 815 of file ClangASTContext.cpp.

References getASTContext().

Referenced by getSema().

◆ Initialize()

void ClangASTContext::Initialize ( )
static

◆ IsAggregateType()

bool ClangASTContext::IsAggregateType ( lldb::opaque_compiler_type_t  type)
overridevirtual

Implements lldb_private::TypeSystem.

Definition at line 2832 of file ClangASTContext.cpp.

References GetCanonicalQualType().

Referenced by DumpTypeValue(), and GetPointerSizedIntType().

◆ IsAnonymousType()

bool ClangASTContext::IsAnonymousType ( lldb::opaque_compiler_type_t  type)
overridevirtual

Reimplemented from lldb_private::TypeSystem.

Definition at line 2869 of file ClangASTContext.cpp.

References GetCanonicalQualType().

Referenced by GetPointerSizedIntType().

◆ IsArrayType()

bool ClangASTContext::IsArrayType ( lldb::opaque_compiler_type_t  type,
CompilerType element_type,
uint64_t *  size,
bool *  is_incomplete 
)
overridevirtual

◆ IsBeingDefined()

bool ClangASTContext::IsBeingDefined ( lldb::opaque_compiler_type_t  type)
overridevirtual

Implements lldb_private::TypeSystem.

Definition at line 3935 of file ClangASTContext.cpp.

References GetCanonicalQualType().

Referenced by GetPointerSizedIntType().

◆ IsBlockPointerType()

bool ClangASTContext::IsBlockPointerType ( lldb::opaque_compiler_type_t  type,
CompilerType function_pointer_type_ptr 
)
overridevirtual

Implements lldb_private::TypeSystem.

Definition at line 3311 of file ClangASTContext.cpp.

References getASTContext(), GetCanonicalQualType(), and m_ast_up.

Referenced by GetPointerSizedIntType().

◆ IsCharType()

bool ClangASTContext::IsCharType ( lldb::opaque_compiler_type_t  type)
overridevirtual

Implements lldb_private::TypeSystem.

Definition at line 3049 of file ClangASTContext.cpp.

References GetQualType().

Referenced by GetPointerSizedIntType().

◆ IsClassType()

bool ClangASTContext::IsClassType ( lldb::opaque_compiler_type_t  type)
static

Definition at line 3689 of file ClangASTContext.cpp.

References GetCanonicalQualType().

Referenced by GetPointerSizedIntType().

◆ IsCompleteType()

bool ClangASTContext::IsCompleteType ( lldb::opaque_compiler_type_t  type)
overridevirtual

Implements lldb_private::TypeSystem.

Definition at line 3053 of file ClangASTContext.cpp.

References getASTContext(), GetCompleteQualType(), and GetQualType().

Referenced by GetPointerSizedIntType().

◆ IsConst()

bool ClangASTContext::IsConst ( lldb::opaque_compiler_type_t  type)
overridevirtual

Implements lldb_private::TypeSystem.

Definition at line 3059 of file ClangASTContext.cpp.

References GetQualType().

Referenced by GetPointerSizedIntType().

◆ IsCStringType()

bool ClangASTContext::IsCStringType ( lldb::opaque_compiler_type_t  type,
uint32_t length 
)
overridevirtual

◆ IsCXXClassType()

bool ClangASTContext::IsCXXClassType ( const CompilerType type)
static

◆ IsDefined()

bool ClangASTContext::IsDefined ( lldb::opaque_compiler_type_t  type)
overridevirtual

Implements lldb_private::TypeSystem.

Definition at line 3644 of file ClangASTContext.cpp.

References GetQualType().

Referenced by GetPointerSizedIntType().

◆ IsEnumerationType()

bool ClangASTContext::IsEnumerationType ( lldb::opaque_compiler_type_t  type,
bool &  is_signed 
)
overridevirtual

Reimplemented from lldb_private::TypeSystem.

Definition at line 3387 of file ClangASTContext.cpp.

References GetCanonicalQualType(), and IsIntegerType().

Referenced by GetPointerSizedIntType().

◆ IsEnumType()

bool ClangASTContext::IsEnumType ( lldb::opaque_compiler_type_t  type)
static

Definition at line 3697 of file ClangASTContext.cpp.

References GetCanonicalQualType().

Referenced by GetPointerSizedIntType().

◆ IsFloatingPointType()

bool ClangASTContext::IsFloatingPointType ( lldb::opaque_compiler_type_t  type,
uint32_t count,
bool &  is_complex 
)
overridevirtual

◆ IsFunctionPointerType()

bool ClangASTContext::IsFunctionPointerType ( lldb::opaque_compiler_type_t  type)
overridevirtual

Implements lldb_private::TypeSystem.

Definition at line 3270 of file ClangASTContext.cpp.

References GetCanonicalQualType().

Referenced by GetPointerSizedIntType().

◆ IsFunctionType()

bool ClangASTContext::IsFunctionType ( lldb::opaque_compiler_type_t  type,
bool *  is_variadic_ptr 
)
overridevirtual

Implements lldb_private::TypeSystem.

Definition at line 3088 of file ClangASTContext.cpp.

References GetCanonicalQualType().

Referenced by GetPointerSizedIntType().

◆ IsHomogeneousAggregate()

uint32_t ClangASTContext::IsHomogeneousAggregate ( lldb::opaque_compiler_type_t  type,
CompilerType base_type_ptr 
)
overridevirtual

◆ IsIntegerType()

bool ClangASTContext::IsIntegerType ( lldb::opaque_compiler_type_t  type,
bool &  is_signed 
)
overridevirtual

Implements lldb_private::TypeSystem.

Definition at line 3368 of file ClangASTContext.cpp.

References GetCanonicalQualType().

Referenced by GetPointerSizedIntType(), and IsEnumerationType().

◆ IsObjCClassType()

bool ClangASTContext::IsObjCClassType ( const CompilerType type)
static

◆ IsObjCClassTypeAndHasIVars()

bool ClangASTContext::IsObjCClassTypeAndHasIVars ( const CompilerType type,
bool  check_superclass 
)
static

Definition at line 8584 of file ClangASTContext.cpp.

References GetAsObjCInterfaceDecl(), and ObjCDeclHasIVars().

Referenced by GetPointerSizedIntType().

◆ IsObjCObjectOrInterfaceType()

bool ClangASTContext::IsObjCObjectOrInterfaceType ( const CompilerType type)
static

◆ IsObjCObjectPointerType()

bool ClangASTContext::IsObjCObjectPointerType ( const CompilerType type,
CompilerType target_type = nullptr 
)
static

◆ IsOperator()

bool ClangASTContext::IsOperator ( const char *  name,
clang::OverloadedOperatorKind &  op_kind 
)
static

◆ IsPointerOrReferenceType()

bool ClangASTContext::IsPointerOrReferenceType ( lldb::opaque_compiler_type_t  type,
CompilerType pointee_type 
)
overridevirtual

◆ IsPointerType()

bool ClangASTContext::IsPointerType ( lldb::opaque_compiler_type_t  type,
CompilerType pointee_type 
)
overridevirtual

◆ IsPolymorphicClass()

bool ClangASTContext::IsPolymorphicClass ( lldb::opaque_compiler_type_t  type)
overridevirtual

Implements lldb_private::TypeSystem.

Definition at line 3705 of file ClangASTContext.cpp.

References GetCanonicalQualType(), and GetCompleteType().

Referenced by GetPointerSizedIntType().

◆ IsPossibleDynamicType()

bool ClangASTContext::IsPossibleDynamicType ( lldb::opaque_compiler_type_t  type,
CompilerType target_type,
bool  check_cplusplus,
bool  check_objc 
)
overridevirtual

◆ IsReferenceType()

bool ClangASTContext::IsReferenceType ( lldb::opaque_compiler_type_t  type,
CompilerType pointee_type,
bool *  is_rvalue 
)
overridevirtual

◆ IsRuntimeGeneratedType()

bool ClangASTContext::IsRuntimeGeneratedType ( lldb::opaque_compiler_type_t  type)
overridevirtual

◆ IsScalarType()

bool ClangASTContext::IsScalarType ( lldb::opaque_compiler_type_t  type)
overridevirtual

Implements lldb_private::TypeSystem.

Definition at line 3888 of file ClangASTContext.cpp.

References GetTypeInfo().

Referenced by GetPointerSizedIntType().

◆ IsTypedefType()

bool ClangASTContext::IsTypedefType ( lldb::opaque_compiler_type_t  type)
overridevirtual

Implements lldb_private::TypeSystem.

Definition at line 3895 of file ClangASTContext.cpp.

References GetQualType().

Referenced by GetPointerSizedIntType().

◆ IsVectorType()

bool ClangASTContext::IsVectorType ( lldb::opaque_compiler_type_t  type,
CompilerType element_type,
uint64_t *  size 
)
overridevirtual

Implements lldb_private::TypeSystem.

Definition at line 2993 of file ClangASTContext.cpp.

References getASTContext(), and GetCanonicalQualType().

Referenced by GetPointerSizedIntType().

◆ IsVoidType()

bool ClangASTContext::IsVoidType ( lldb::opaque_compiler_type_t  type)
overridevirtual

Implements lldb_private::TypeSystem.

Definition at line 3901 of file ClangASTContext.cpp.

References GetCanonicalQualType().

Referenced by GetPointerSizedIntType().

◆ LayoutRecordType()

bool ClangASTContext::LayoutRecordType ( void *  baton,
const clang::RecordDecl *  record_decl,
uint64_t &  size,
uint64_t &  alignment,
llvm::DenseMap< const clang::FieldDecl *, uint64_t > &  field_offsets,
llvm::DenseMap< const clang::CXXRecordDecl *, clang::CharUnits > &  base_offsets,
llvm::DenseMap< const clang::CXXRecordDecl *, clang::CharUnits > &  vbase_offsets 
)
static

◆ ParseClassTemplateDecl()

clang::ClassTemplateDecl * ClangASTContext::ParseClassTemplateDecl ( clang::DeclContext *  decl_ctx,
lldb::AccessType  access_type,
const char *  parent_name,
int  tag_decl_kind,
const ClangASTContext::TemplateParameterInfos template_param_infos 
)

◆ RecordHasFields()

bool ClangASTContext::RecordHasFields ( const clang::RecordDecl *  record_decl)
static

◆ RemoveExternalSource()

void ClangASTContext::RemoveExternalSource ( )

Definition at line 831 of file ClangASTContext.cpp.

References getASTContext().

Referenced by getSema().

◆ SetArchitecture()

void ClangASTContext::SetArchitecture ( const ArchSpec arch)

Definition at line 811 of file ClangASTContext.cpp.

References lldb_private::ArchSpec::GetTriple(), and SetTargetTriple().

Referenced by getSema().

◆ setASTContext()

void ClangASTContext::setASTContext ( clang::ASTContext *  ast_ctx)

◆ SetDefaultAccessForRecordFields()

bool ClangASTContext::SetDefaultAccessForRecordFields ( clang::RecordDecl *  record_decl,
int  default_accessibility,
int *  assigned_accessibilities,
size_t  num_assigned_accessibilities 
)

Definition at line 2613 of file ClangASTContext.cpp.

Referenced by DWARFASTParserClang::CompleteTypeFromDWARF().

◆ SetExternalSource()

void ClangASTContext::SetExternalSource ( llvm::IntrusiveRefCntPtr< clang::ExternalASTSource > &  ast_source_up)

Definition at line 822 of file ClangASTContext.cpp.

References getASTContext().

Referenced by getASTContext(), and getSema().

◆ SetFunctionParameters()

void ClangASTContext::SetFunctionParameters ( clang::FunctionDecl *  function_decl,
clang::ParmVarDecl **  params,
unsigned  num_params 
)

◆ SetHasExternalStorage()

bool ClangASTContext::SetHasExternalStorage ( lldb::opaque_compiler_type_t  type,
bool  has_extern 
)
static

◆ SetIsPacked()

void ClangASTContext::SetIsPacked ( const CompilerType type)
static

◆ SetMetadata() [1/2]

void lldb_private::ClangASTContext::SetMetadata ( const void *  object,
ClangASTMetadata meta_data 
)
inline

◆ SetMetadata() [2/2]

void ClangASTContext::SetMetadata ( clang::ASTContext *  ast,
const void *  object,
ClangASTMetadata meta_data 
)
static

◆ SetMetadataAsUserID()

void ClangASTContext::SetMetadataAsUserID ( const void *  object,
lldb::user_id_t  user_id 
)

◆ SetObjCSuperClass()

bool ClangASTContext::SetObjCSuperClass ( const CompilerType type,
const CompilerType superclass_compiler_type 
)
static

◆ setSema()

void ClangASTContext::setSema ( clang::Sema *  s)

Definition at line 796 of file ClangASTContext.cpp.

References m_ast_up, and m_sema.

Referenced by classof().

◆ SetTagTypeKind()

bool ClangASTContext::SetTagTypeKind ( clang::QualType  type,
int  kind 
) const

Definition at line 2596 of file ClangASTContext.cpp.

Referenced by DWARFASTParserClang::CompleteTypeFromDWARF().

◆ SetTargetTriple()

void ClangASTContext::SetTargetTriple ( const char *  target_triple)

Definition at line 806 of file ClangASTContext.cpp.

References Clear(), and m_target_triple.

Referenced by ClangASTContext(), getSema(), and SetArchitecture().

◆ StartTagDeclarationDefinition()

bool ClangASTContext::StartTagDeclarationDefinition ( const CompilerType type)
static

◆ SupportsLanguage()

bool ClangASTContext::SupportsLanguage ( lldb::LanguageType  language)
overridevirtual

Implements lldb_private::TypeSystem.

Definition at line 3907 of file ClangASTContext.cpp.

Referenced by GetPointerSizedIntType().

◆ Terminate()

void ClangASTContext::Terminate ( )
static

◆ TransferBaseClasses()

bool ClangASTContext::TransferBaseClasses ( lldb::opaque_compiler_type_t  type,
std::vector< std::unique_ptr< clang::CXXBaseSpecifier >>  bases 
)

◆ UnifyAccessSpecifiers()

clang::AccessSpecifier ClangASTContext::UnifyAccessSpecifiers ( clang::AccessSpecifier  lhs,
clang::AccessSpecifier  rhs 
)
static

Definition at line 1788 of file ClangASTContext.cpp.

References FieldIsBitfield(), getASTContext(), and UINT32_MAX.

Referenced by BuildIndirectFields(), and GetTypeForIdentifier().

Member Data Documentation

◆ m_ast_owned

bool lldb_private::ClangASTContext::m_ast_owned
protected

Definition at line 1001 of file ClangASTContext.h.

Referenced by Finalize(), getASTContext(), and setASTContext().

◆ m_ast_up

std::unique_ptr<clang::ASTContext> lldb_private::ClangASTContext::m_ast_up
protected

◆ m_builtins_up

std::unique_ptr<clang::Builtin::Context> lldb_private::ClangASTContext::m_builtins_up
protected

Definition at line 991 of file ClangASTContext.h.

Referenced by Clear(), Finalize(), and getBuiltinContext().

◆ m_callback_baton

void* lldb_private::ClangASTContext::m_callback_baton
protected

Definition at line 998 of file ClangASTContext.h.

Referenced by getASTContext().

◆ m_callback_objc_decl

CompleteObjCInterfaceDeclCallback lldb_private::ClangASTContext::m_callback_objc_decl
protected

Definition at line 997 of file ClangASTContext.h.

Referenced by getASTContext().

◆ m_callback_tag_decl

CompleteTagDeclCallback lldb_private::ClangASTContext::m_callback_tag_decl
protected

Definition at line 996 of file ClangASTContext.h.

Referenced by getASTContext().

◆ m_can_evaluate_expressions

bool lldb_private::ClangASTContext::m_can_evaluate_expressions
protected

Definition at line 1002 of file ClangASTContext.h.

◆ m_diagnostic_consumer_up

std::unique_ptr<clang::DiagnosticConsumer> lldb_private::ClangASTContext::m_diagnostic_consumer_up
protected

Definition at line 986 of file ClangASTContext.h.

Referenced by getDiagnosticConsumer().

◆ m_diagnostics_engine_up

std::unique_ptr<clang::DiagnosticsEngine> lldb_private::ClangASTContext::m_diagnostics_engine_up
protected

Definition at line 985 of file ClangASTContext.h.

Referenced by Clear(), Finalize(), and getDiagnosticsEngine().

◆ m_dwarf_ast_parser_up

std::unique_ptr<DWARFASTParserClang> lldb_private::ClangASTContext::m_dwarf_ast_parser_up
protected

Definition at line 992 of file ClangASTContext.h.

Referenced by GetDWARFParser(), and LayoutRecordType().

◆ m_file_manager_up

std::unique_ptr<clang::FileManager> lldb_private::ClangASTContext::m_file_manager_up
protected

Definition at line 982 of file ClangASTContext.h.

Referenced by getFileManager().

◆ m_file_system_options_up

std::unique_ptr<clang::FileSystemOptions> lldb_private::ClangASTContext::m_file_system_options_up
protected

Definition at line 983 of file ClangASTContext.h.

◆ m_identifier_table_up

std::unique_ptr<clang::IdentifierTable> lldb_private::ClangASTContext::m_identifier_table_up
protected

Definition at line 989 of file ClangASTContext.h.

Referenced by Clear(), Finalize(), and getIdentifierTable().

◆ m_language_options_up

std::unique_ptr<clang::LangOptions> lldb_private::ClangASTContext::m_language_options_up
protected

Definition at line 981 of file ClangASTContext.h.

Referenced by Clear(), Finalize(), and getLanguageOptions().

◆ m_mangle_ctx_up

std::unique_ptr<clang::MangleContext> lldb_private::ClangASTContext::m_mangle_ctx_up
protected

Definition at line 995 of file ClangASTContext.h.

Referenced by getMangleContext().

◆ m_origins

clang::ExternalASTMerger::OriginMap lldb_private::ClangASTContext::m_origins
protected

Definition at line 999 of file ClangASTContext.h.

Referenced by GetOriginMap().

◆ m_pdb_ast_parser_up

std::unique_ptr<PDBASTParser> lldb_private::ClangASTContext::m_pdb_ast_parser_up
protected

Definition at line 993 of file ClangASTContext.h.

Referenced by GetPDBParser(), and LayoutRecordType().

◆ m_pointer_byte_size

uint32_t lldb_private::ClangASTContext::m_pointer_byte_size
protected

Definition at line 1000 of file ClangASTContext.h.

Referenced by Clear(), and GetPointerByteSize().

◆ m_scratch_ast_source_up

std::unique_ptr<ClangASTSource> lldb_private::ClangASTContext::m_scratch_ast_source_up
protected

◆ m_selector_table_up

std::unique_ptr<clang::SelectorTable> lldb_private::ClangASTContext::m_selector_table_up
protected

Definition at line 990 of file ClangASTContext.h.

Referenced by Clear(), Finalize(), and getSelectorTable().

◆ m_sema

clang::Sema* lldb_private::ClangASTContext::m_sema = nullptr
protected

The sema associated that is currently used to build this ASTContext.

May be null if we are already done parsing this ASTContext or the ASTContext wasn't created by parsing source code.

Definition at line 1006 of file ClangASTContext.h.

Referenced by getSema(), and setSema().

◆ m_source_manager_up

std::unique_ptr<clang::SourceManager> lldb_private::ClangASTContext::m_source_manager_up
protected

Definition at line 984 of file ClangASTContext.h.

Referenced by Clear(), Finalize(), and getSourceManager().

◆ m_target_info_up

std::unique_ptr<clang::TargetInfo> lldb_private::ClangASTContext::m_target_info_up
protected

Definition at line 988 of file ClangASTContext.h.

Referenced by Clear(), Finalize(), and getTargetInfo().

◆ m_target_options_rp

std::shared_ptr<clang::TargetOptions> lldb_private::ClangASTContext::m_target_options_rp
protected

Definition at line 987 of file ClangASTContext.h.

Referenced by Clear(), Finalize(), and getTargetOptions().

◆ m_target_triple

std::string lldb_private::ClangASTContext::m_target_triple
protected

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