[llvm] r343291 - [pdb] Simplify the code by replacing a few string conversions with calls to invokeBstrMethod()
Aaron Smith via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 27 19:32:08 PDT 2018
Author: asmith
Date: Thu Sep 27 19:32:07 2018
New Revision: 343291
URL: http://llvm.org/viewvc/llvm-project?rev=343291&view=rev
Log:
[pdb] Simplify the code by replacing a few string conversions with calls to invokeBstrMethod()
Reviewers: aleksandr.urakov, zturner, llvm-commits
Reviewed By: zturner
Differential Revision: https://reviews.llvm.org/D52624
Modified:
llvm/trunk/lib/DebugInfo/PDB/DIA/DIADataStream.cpp
llvm/trunk/lib/DebugInfo/PDB/DIA/DIAEnumTables.cpp
llvm/trunk/lib/DebugInfo/PDB/DIA/DIARawSymbol.cpp
llvm/trunk/lib/DebugInfo/PDB/DIA/DIASourceFile.cpp
llvm/trunk/lib/DebugInfo/PDB/DIA/DIATable.cpp
Modified: llvm/trunk/lib/DebugInfo/PDB/DIA/DIADataStream.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/DIA/DIADataStream.cpp?rev=343291&r1=343290&r2=343291&view=diff
==============================================================================
--- llvm/trunk/lib/DebugInfo/PDB/DIA/DIADataStream.cpp (original)
+++ llvm/trunk/lib/DebugInfo/PDB/DIA/DIADataStream.cpp Thu Sep 27 19:32:07 2018
@@ -8,8 +8,7 @@
//===----------------------------------------------------------------------===//
#include "llvm/DebugInfo/PDB/DIA/DIADataStream.h"
-#include "llvm/ADT/ArrayRef.h"
-#include "llvm/Support/ConvertUTF.h"
+#include "llvm/DebugInfo/PDB/DIA/DIAUtils.h"
using namespace llvm;
using namespace llvm::pdb;
@@ -23,16 +22,7 @@ uint32_t DIADataStream::getRecordCount()
}
std::string DIADataStream::getName() const {
- CComBSTR Name16;
- if (S_OK != StreamData->get_name(&Name16))
- return std::string();
-
- std::string Name8;
- llvm::ArrayRef<char> Name16Bytes(reinterpret_cast<char *>(Name16.m_str),
- Name16.ByteLength());
- if (!llvm::convertUTF16ToUTF8String(Name16Bytes, Name8))
- return std::string();
- return Name8;
+ return invokeBstrMethod(*StreamData, &IDiaEnumDebugStreamData::get_name);
}
llvm::Optional<DIADataStream::RecordType>
Modified: llvm/trunk/lib/DebugInfo/PDB/DIA/DIAEnumTables.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/DIA/DIAEnumTables.cpp?rev=343291&r1=343290&r2=343291&view=diff
==============================================================================
--- llvm/trunk/lib/DebugInfo/PDB/DIA/DIAEnumTables.cpp (original)
+++ llvm/trunk/lib/DebugInfo/PDB/DIA/DIAEnumTables.cpp Thu Sep 27 19:32:07 2018
@@ -13,9 +13,8 @@
using namespace llvm;
using namespace llvm::pdb;
-DIAEnumTables::DIAEnumTables(
- CComPtr<IDiaEnumTables> DiaEnumerator)
- : Enumerator(DiaEnumerator) {}
+DIAEnumTables::DIAEnumTables(CComPtr<IDiaEnumTables> DiaEnumerator)
+ : Enumerator(DiaEnumerator) {}
uint32_t DIAEnumTables::getChildCount() const {
LONG Count = 0;
Modified: llvm/trunk/lib/DebugInfo/PDB/DIA/DIARawSymbol.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/DIA/DIARawSymbol.cpp?rev=343291&r1=343290&r2=343291&view=diff
==============================================================================
--- llvm/trunk/lib/DebugInfo/PDB/DIA/DIARawSymbol.cpp (original)
+++ llvm/trunk/lib/DebugInfo/PDB/DIA/DIARawSymbol.cpp Thu Sep 27 19:32:07 2018
@@ -15,6 +15,7 @@
#include "llvm/DebugInfo/PDB/DIA/DIAEnumSymbols.h"
#include "llvm/DebugInfo/PDB/DIA/DIALineNumber.h"
#include "llvm/DebugInfo/PDB/DIA/DIASession.h"
+#include "llvm/DebugInfo/PDB/DIA/DIAUtils.h"
#include "llvm/DebugInfo/PDB/PDBExtras.h"
#include "llvm/DebugInfo/PDB/PDBSymbolTypeBuiltin.h"
#include "llvm/DebugInfo/PDB/PDBSymbolTypePointer.h"
@@ -115,16 +116,7 @@ RetType PrivateGetDIAValue(IDiaSymbol *S
std::string
PrivateGetDIAValue(IDiaSymbol *Symbol,
HRESULT (__stdcall IDiaSymbol::*Method)(BSTR *)) {
- CComBSTR Result16;
- if (S_OK != (Symbol->*Method)(&Result16))
- return std::string();
-
- const char *SrcBytes = reinterpret_cast<const char *>(Result16.m_str);
- llvm::ArrayRef<char> SrcByteArray(SrcBytes, Result16.ByteLength());
- std::string Result8;
- if (!llvm::convertUTF16ToUTF8String(SrcByteArray, Result8))
- return std::string();
- return Result8;
+ return invokeBstrMethod(*Symbol, Method);
}
codeview::GUID
Modified: llvm/trunk/lib/DebugInfo/PDB/DIA/DIASourceFile.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/DIA/DIASourceFile.cpp?rev=343291&r1=343290&r2=343291&view=diff
==============================================================================
--- llvm/trunk/lib/DebugInfo/PDB/DIA/DIASourceFile.cpp (original)
+++ llvm/trunk/lib/DebugInfo/PDB/DIA/DIASourceFile.cpp Thu Sep 27 19:32:07 2018
@@ -8,12 +8,11 @@
//===----------------------------------------------------------------------===//
#include "llvm/DebugInfo/PDB/DIA/DIASourceFile.h"
-#include "llvm/ADT/ArrayRef.h"
#include "llvm/DebugInfo/PDB/ConcreteSymbolEnumerator.h"
#include "llvm/DebugInfo/PDB/DIA/DIAEnumSymbols.h"
#include "llvm/DebugInfo/PDB/DIA/DIASession.h"
+#include "llvm/DebugInfo/PDB/DIA/DIAUtils.h"
#include "llvm/DebugInfo/PDB/PDBSymbolCompiland.h"
-#include "llvm/Support/ConvertUTF.h"
using namespace llvm;
using namespace llvm::pdb;
@@ -23,16 +22,7 @@ DIASourceFile::DIASourceFile(const DIASe
: Session(PDBSession), SourceFile(DiaSourceFile) {}
std::string DIASourceFile::getFileName() const {
- CComBSTR FileName16;
- HRESULT Result = SourceFile->get_fileName(&FileName16);
- if (S_OK != Result)
- return std::string();
-
- std::string FileName8;
- llvm::ArrayRef<char> FileNameBytes(reinterpret_cast<char *>(FileName16.m_str),
- FileName16.ByteLength());
- llvm::convertUTF16ToUTF8String(FileNameBytes, FileName8);
- return FileName8;
+ return invokeBstrMethod(*SourceFile, &IDiaSourceFile::get_fileName);
}
uint32_t DIASourceFile::getUniqueId() const {
Modified: llvm/trunk/lib/DebugInfo/PDB/DIA/DIATable.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/DIA/DIATable.cpp?rev=343291&r1=343290&r2=343291&view=diff
==============================================================================
--- llvm/trunk/lib/DebugInfo/PDB/DIA/DIATable.cpp (original)
+++ llvm/trunk/lib/DebugInfo/PDB/DIA/DIATable.cpp Thu Sep 27 19:32:07 2018
@@ -8,14 +8,12 @@
//===----------------------------------------------------------------------===//
#include "llvm/DebugInfo/PDB/DIA/DIATable.h"
-#include "llvm/ADT/ArrayRef.h"
-#include "llvm/Support/ConvertUTF.h"
+#include "llvm/DebugInfo/PDB/DIA/DIAUtils.h"
using namespace llvm;
using namespace llvm::pdb;
-DIATable::DIATable(CComPtr<IDiaTable> DiaTable)
- : Table(DiaTable) {}
+DIATable::DIATable(CComPtr<IDiaTable> DiaTable) : Table(DiaTable) {}
uint32_t DIATable::getItemCount() const {
LONG Count = 0;
@@ -23,16 +21,7 @@ uint32_t DIATable::getItemCount() const
}
std::string DIATable::getName() const {
- CComBSTR Name16;
- if (S_OK != Table->get_name(&Name16))
- return std::string();
-
- std::string Name8;
- llvm::ArrayRef<char> Name16Bytes(reinterpret_cast<char *>(Name16.m_str),
- Name16.ByteLength());
- if (!llvm::convertUTF16ToUTF8String(Name16Bytes, Name8))
- return std::string();
- return Name8;
+ return invokeBstrMethod(*Table, &IDiaTable::get_name);
}
PDB_TableType DIATable::getTableType() const {
More information about the llvm-commits
mailing list