SuccessChanges

Summary

  1. [lldb][NFC] Create type-safe function for creating a CompilerType from a (details)
  2. [lldb][NFC] Remove unused variable in (details)
Commit fe8e25a48a2a0f8f508499ba950181dba3d600b0 by Raphael Isemann
[lldb][NFC] Create type-safe function for creating a CompilerType from a
QualType
LLDB frequently converts QualType to CompilerType. This is currently
done like this:
   result = CompilerType(this, qual_type_var.getAsOpaquePtr()) There are
a few shortcomings in this current approach:
1. CompilerType's constructor takes a void* pointer so it isn't type
safe.
2. We can't add any sanity checks to the CompilerType constructor (e.g.
that the type
    actually belongs to the passed ClangASTContext) without expanding
the TypeSystem API.
3. The logic for converting QualType->CompilerType is spread out over
all of LLDB so
    changing it is difficult (e.g., what if we want to just pass the
type ptr and not the
    1type_ptr | qual_flags1 to CompilerType).
This patch adds a `ClangASTContext::GetType` function similar to the
other GetTypeForDecl functions that does this conversion in a type safe
way.
It also adds a sanity check for Tag-based types that the type actually
belongs to the current ClangASTContext (Types don't seem to know their
ASTContext, so we have to workaround by looking at the decl for the
underlying TagDecl. This doesn't cover all types we construct but it's
better than no sanity check).
The file was modifiedlldb/source/Symbol/ClangASTContext.cpp
The file was modifiedlldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeEncodingParser.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
The file was modifiedlldb/source/Plugins/Language/ObjC/NSArray.cpp
The file was modifiedlldb/include/lldb/Symbol/ClangASTContext.h
The file was modifiedlldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
Commit a95f4c87842d76a9fce146b2f25e6c8079f6bbdc by Raphael Isemann
[lldb][NFC] Remove unused variable in
DWARFASTParserClang::ParseSingleMember
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp