summaryrefslogtreecommitdiff
path: root/lib/DebugInfo/PDB/DIA/DIADataStream.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/DebugInfo/PDB/DIA/DIADataStream.cpp')
-rw-r--r--lib/DebugInfo/PDB/DIA/DIADataStream.cpp22
1 files changed, 2 insertions, 20 deletions
diff --git a/lib/DebugInfo/PDB/DIA/DIADataStream.cpp b/lib/DebugInfo/PDB/DIA/DIADataStream.cpp
index 7eabed8cad48..6a10513fad97 100644
--- a/lib/DebugInfo/PDB/DIA/DIADataStream.cpp
+++ b/lib/DebugInfo/PDB/DIA/DIADataStream.cpp
@@ -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() const {
}
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>
@@ -65,11 +55,3 @@ bool DIADataStream::getNext(RecordType &Record) {
}
void DIADataStream::reset() { StreamData->Reset(); }
-
-DIADataStream *DIADataStream::clone() const {
- CComPtr<IDiaEnumDebugStreamData> EnumeratorClone;
- if (S_OK != StreamData->Clone(&EnumeratorClone))
- return nullptr;
-
- return new DIADataStream(EnumeratorClone);
-}