[Lldb-commits] [lldb] r351244 - Simplify code
Adrian Prantl via lldb-commits
lldb-commits at lists.llvm.org
Tue Jan 15 13:04:19 PST 2019
Author: adrian
Date: Tue Jan 15 13:04:19 2019
New Revision: 351244
URL: http://llvm.org/viewvc/llvm-project?rev=351244&view=rev
Log:
Simplify code
Modified:
lldb/trunk/source/Symbol/ClangASTContext.cpp
Modified: lldb/trunk/source/Symbol/ClangASTContext.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Symbol/ClangASTContext.cpp?rev=351244&r1=351243&r2=351244&view=diff
==============================================================================
--- lldb/trunk/source/Symbol/ClangASTContext.cpp (original)
+++ lldb/trunk/source/Symbol/ClangASTContext.cpp Tue Jan 15 13:04:19 2019
@@ -4506,7 +4506,7 @@ ClangASTContext::GetArrayElementType(lld
// TODO: the real stride will be >= this value.. find the real one!
if (stride)
- if (llvm::Optional<uint64_t> size = element_type.GetByteSize(nullptr))
+ if (Optional<uint64_t> size = element_type.GetByteSize(nullptr))
*stride = *size;
return element_type;
@@ -5529,7 +5529,7 @@ static bool ObjCDeclHasIVars(clang::ObjC
return false;
}
-static llvm::Optional<SymbolFile::ArrayInfo>
+static Optional<SymbolFile::ArrayInfo>
GetDynamicArrayInfo(ClangASTContext &ast, SymbolFile *sym_file,
clang::QualType qual_type,
const ExecutionContext *exe_ctx) {
@@ -6596,6 +6596,10 @@ CompilerType ClangASTContext::GetChildCo
if (!type)
return CompilerType();
+ auto get_exe_scope = [&exe_ctx]() {
+ return exe_ctx ? exe_ctx->GetBestExecutionContextScope() : nullptr;
+ };
+
clang::QualType parent_qual_type(GetCanonicalQualType(type));
const clang::Type::TypeClass parent_type_class =
parent_qual_type->getTypeClass();
@@ -6684,8 +6688,8 @@ CompilerType ClangASTContext::GetChildCo
CompilerType base_class_clang_type(getASTContext(),
base_class->getType());
child_name = base_class_clang_type.GetTypeName().AsCString("");
- llvm::Optional<uint64_t> size = base_class_clang_type.GetBitSize(
- exe_ctx ? exe_ctx->GetBestExecutionContextScope() : NULL);
+ Optional<uint64_t> size =
+ base_class_clang_type.GetBitSize(get_exe_scope());
if (!size)
return {};
uint64_t base_class_clang_type_bit_size = *size;
@@ -6716,8 +6720,8 @@ CompilerType ClangASTContext::GetChildCo
// alignment (field_type_info.second) from the AST context.
CompilerType field_clang_type(getASTContext(), field->getType());
assert(field_idx < record_layout.getFieldCount());
- llvm::Optional<uint64_t> size = field_clang_type.GetByteSize(
- exe_ctx ? exe_ctx->GetBestExecutionContextScope() : NULL);
+ Optional<uint64_t> size =
+ field_clang_type.GetByteSize(get_exe_scope());
if (!size)
return {};
child_byte_size = *size;
@@ -6891,8 +6895,8 @@ CompilerType ClangASTContext::GetChildCo
// We have a pointer to an simple type
if (idx == 0 && pointee_clang_type.GetCompleteType()) {
- if (llvm::Optional<uint64_t> size = pointee_clang_type.GetByteSize(
- exe_ctx ? exe_ctx->GetBestExecutionContextScope() : NULL)) {
+ if (Optional<uint64_t> size =
+ pointee_clang_type.GetByteSize(get_exe_scope())) {
child_byte_size = *size;
child_byte_offset = 0;
return pointee_clang_type;
@@ -6914,8 +6918,8 @@ CompilerType ClangASTContext::GetChildCo
::snprintf(element_name, sizeof(element_name), "[%" PRIu64 "]",
static_cast<uint64_t>(idx));
child_name.assign(element_name);
- if (llvm::Optional<uint64_t> size = element_type.GetByteSize(
- exe_ctx ? exe_ctx->GetBestExecutionContextScope() : NULL)) {
+ if (Optional<uint64_t> size =
+ element_type.GetByteSize(get_exe_scope())) {
child_byte_size = *size;
child_byte_offset = (int32_t)idx * (int32_t)child_byte_size;
return element_type;
@@ -6933,8 +6937,8 @@ CompilerType ClangASTContext::GetChildCo
CompilerType element_type(getASTContext(), array->getElementType());
if (element_type.GetCompleteType()) {
child_name = llvm::formatv("[{0}]", idx);
- if (llvm::Optional<uint64_t> size = element_type.GetByteSize(
- exe_ctx ? exe_ctx->GetBestExecutionContextScope() : NULL)) {
+ if (Optional<uint64_t> size =
+ element_type.GetByteSize(get_exe_scope())) {
child_byte_size = *size;
child_byte_offset = (int32_t)idx * (int32_t)child_byte_size;
return element_type;
@@ -6972,8 +6976,8 @@ CompilerType ClangASTContext::GetChildCo
// We have a pointer to an simple type
if (idx == 0) {
- if (llvm::Optional<uint64_t> size = pointee_clang_type.GetByteSize(
- exe_ctx ? exe_ctx->GetBestExecutionContextScope() : NULL)) {
+ if (Optional<uint64_t> size =
+ pointee_clang_type.GetByteSize(get_exe_scope())) {
child_byte_size = *size;
child_byte_offset = 0;
return pointee_clang_type;
@@ -7009,8 +7013,8 @@ CompilerType ClangASTContext::GetChildCo
// We have a pointer to an simple type
if (idx == 0) {
- if (llvm::Optional<uint64_t> size = pointee_clang_type.GetByteSize(
- exe_ctx ? exe_ctx->GetBestExecutionContextScope() : NULL)) {
+ if (Optional<uint64_t> size =
+ pointee_clang_type.GetByteSize(get_exe_scope())) {
child_byte_size = *size;
child_byte_offset = 0;
return pointee_clang_type;
@@ -7803,7 +7807,7 @@ ClangASTContext::GetTypeTemplateArgument
return CompilerType(getASTContext(), template_arg.getAsType());
}
-llvm::Optional<CompilerType::IntegralTemplateArgument>
+Optional<CompilerType::IntegralTemplateArgument>
ClangASTContext::GetIntegralTemplateArgument(lldb::opaque_compiler_type_t type,
size_t idx) {
const clang::ClassTemplateSpecializationDecl *template_decl =
More information about the lldb-commits
mailing list