LLDB mainline
|
#include <AppleObjCTypeEncodingParser.h>
Classes | |
struct | StructElement |
Public Member Functions | |
AppleObjCTypeEncodingParser (ObjCLanguageRuntime &runtime) | |
~AppleObjCTypeEncodingParser () override=default | |
CompilerType | RealizeType (TypeSystemClang &ast_ctx, const char *name, bool for_expression) override |
Public Member Functions inherited from lldb_private::ObjCLanguageRuntime::EncodingToType | |
virtual | ~EncodingToType () |
virtual CompilerType | RealizeType (TypeSystemClang &ast_ctx, const char *name, bool for_expression)=0 |
virtual CompilerType | RealizeType (const char *name, bool for_expression) |
Private Member Functions | |
clang::QualType | BuildType (TypeSystemClang &clang_ast_ctx, StringLexer &type, bool for_expression, uint32_t *bitfield_bit_size=nullptr) |
clang::QualType | BuildStruct (TypeSystemClang &ast_ctx, StringLexer &type, bool for_expression) |
clang::QualType | BuildAggregate (TypeSystemClang &clang_ast_ctx, StringLexer &type, bool for_expression, char opener, char closer, uint32_t kind) |
clang::QualType | BuildUnion (TypeSystemClang &ast_ctx, StringLexer &type, bool for_expression) |
clang::QualType | BuildArray (TypeSystemClang &ast_ctx, StringLexer &type, bool for_expression) |
std::string | ReadStructName (StringLexer &type) |
StructElement | ReadStructElement (TypeSystemClang &ast_ctx, StringLexer &type, bool for_expression) |
clang::QualType | BuildObjCObjectPointerType (TypeSystemClang &clang_ast_ctx, StringLexer &type, bool for_expression) |
uint32_t | ReadNumber (StringLexer &type) |
std::string | ReadQuotedString (StringLexer &type) |
Private Attributes | |
ObjCLanguageRuntime & | m_runtime |
Additional Inherited Members | |
Protected Attributes inherited from lldb_private::ObjCLanguageRuntime::EncodingToType | |
std::shared_ptr< TypeSystemClang > | m_scratch_ast_ctx_sp |
Definition at line 20 of file AppleObjCTypeEncodingParser.h.
AppleObjCTypeEncodingParser::AppleObjCTypeEncodingParser | ( | ObjCLanguageRuntime & | runtime | ) |
Definition at line 26 of file AppleObjCTypeEncodingParser.cpp.
References lldb_private::Target::GetArchitecture(), lldb_private::Runtime::GetProcess(), lldb_private::Process::GetTarget(), lldb_private::ArchSpec::GetTriple(), and lldb_private::ObjCLanguageRuntime::EncodingToType::m_scratch_ast_ctx_sp.
|
overridedefault |
|
private |
Definition at line 95 of file AppleObjCTypeEncodingParser.cpp.
References lldb_private::TypeSystemClang::AddFieldToRecordType(), lldb_private::TypeSystemClang::CompleteTagDeclarationDefinition(), lldb_private::TypeSystemClang::CreateRecordType(), lldb::eAccessPublic, lldb::eLanguageTypeC, lldb_private::ClangUtil::GetQualType(), lldb_private::StreamString::GetString(), lldb_private::TypeSystemClang::GetType(), lldb_private::StringLexer::HasAtLeast(), lldb_private::StringLexer::NextIf(), lldb_private::Stream::Printf(), ReadStructElement(), ReadStructName(), and lldb_private::TypeSystemClang::StartTagDeclarationDefinition().
Referenced by BuildStruct(), and BuildUnion().
|
private |
Definition at line 153 of file AppleObjCTypeEncodingParser.cpp.
References _C_ARY_B, _C_ARY_E, BuildType(), lldb_private::TypeSystemClang::CreateArrayType(), lldb_private::ClangUtil::GetQualType(), lldb_private::StringLexer::NextIf(), and ReadNumber().
Referenced by BuildType().
|
private |
Definition at line 172 of file AppleObjCTypeEncodingParser.cpp.
References _C_ARY_E, _C_ID, _C_STRUCT_E, _C_UNION_E, lldb_private::DeclVendor::FindTypes(), lldb_private::TypeSystemClang::getASTContext(), lldb_private::LanguageRuntime::GetDeclVendor(), lldb_private::GetLog(), lldb_private::ClangUtil::GetQualType(), lldb_private::StringLexer::HasAtLeast(), LLDB_LOG, m_runtime, lldb_private::StringLexer::NextIf(), lldb_private::StringLexer::Peek(), lldb_private::StringLexer::PutBack(), ReadQuotedString(), and lldb_private::Types.
Referenced by BuildType().
|
private |
Definition at line 83 of file AppleObjCTypeEncodingParser.cpp.
References _C_STRUCT_B, _C_STRUCT_E, and BuildAggregate().
Referenced by BuildType().
|
private |
Definition at line 257 of file AppleObjCTypeEncodingParser.cpp.
References _C_ARY_B, _C_BFLD, _C_BOOL, _C_CHARPTR, _C_CHR, _C_CLASS, _C_CONST, _C_DBL, _C_FLT, _C_ID, _C_INT, _C_LNG, _C_LNG_LNG, _C_PTR, _C_SEL, _C_SHT, _C_STRUCT_B, _C_UCHR, _C_UINT, _C_ULNG, _C_ULNG_LNG, _C_UNDEF, _C_UNION_B, _C_USHT, _C_VOID, BuildArray(), BuildObjCObjectPointerType(), BuildStruct(), BuildType(), BuildUnion(), lldb_private::TypeSystemClang::getASTContext(), lldb_private::StringLexer::HasAtLeast(), lldb_private::StringLexer::Next(), lldb_private::StringLexer::NextIf(), lldb_private::StringLexer::Peek(), lldb_private::StringLexer::PutBack(), and ReadNumber().
Referenced by BuildArray(), BuildType(), ReadStructElement(), and RealizeType().
|
private |
Definition at line 89 of file AppleObjCTypeEncodingParser.cpp.
References _C_UNION_B, _C_UNION_E, and BuildAggregate().
Referenced by BuildType().
|
private |
Definition at line 54 of file AppleObjCTypeEncodingParser.cpp.
References lldb_private::StringLexer::HasAtLeast(), lldb_private::StringLexer::Next(), and lldb_private::StringLexer::Peek().
Referenced by BuildArray(), and BuildType().
|
private |
Definition at line 44 of file AppleObjCTypeEncodingParser.cpp.
References lldb_private::StreamString::GetString(), lldb_private::StringLexer::HasAtLeast(), lldb_private::StringLexer::Next(), lldb_private::StringLexer::Peek(), lldb_private::Stream::Printf(), and UNUSED_IF_ASSERT_DISABLED.
Referenced by BuildObjCObjectPointerType(), and ReadStructElement().
|
private |
Definition at line 69 of file AppleObjCTypeEncodingParser.cpp.
References lldb_private::AppleObjCTypeEncodingParser::StructElement::bitfield, BuildType(), lldb_private::AppleObjCTypeEncodingParser::StructElement::name, lldb_private::StringLexer::NextIf(), ReadQuotedString(), and lldb_private::AppleObjCTypeEncodingParser::StructElement::type.
Referenced by BuildAggregate().
|
private |
Definition at line 37 of file AppleObjCTypeEncodingParser.cpp.
References lldb_private::StreamString::GetString(), lldb_private::StringLexer::HasAtLeast(), lldb_private::StringLexer::Next(), lldb_private::StringLexer::Peek(), and lldb_private::Stream::Printf().
Referenced by BuildAggregate().
|
overridevirtual |
Implements lldb_private::ObjCLanguageRuntime::EncodingToType.
Definition at line 363 of file AppleObjCTypeEncodingParser.cpp.
References BuildType(), and lldb_private::TypeSystemClang::GetType().
|
private |
Definition at line 68 of file AppleObjCTypeEncodingParser.h.
Referenced by BuildObjCObjectPointerType().