From db5a7969ce15a56487524d2c9653b32b60498175 Mon Sep 17 00:00:00 2001 From: "Duncan P. N. Exon Smith" Date: Thu, 22 Jan 2015 03:17:43 +0000 Subject: [PATCH] DIBuilder: Extract header_begin() and header_end(), NFC Use begin/end functions so that users don't need to know how these weird things work. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@226774 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/IR/DebugInfo.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/include/llvm/IR/DebugInfo.h b/include/llvm/IR/DebugInfo.h index f42a8ebd884..68d86d72a7d 100644 --- a/include/llvm/IR/DebugInfo.h +++ b/include/llvm/IR/DebugInfo.h @@ -200,13 +200,16 @@ public: DIHeaderFieldIterator()); } + DIHeaderFieldIterator header_begin() const { return getHeader(); } + DIHeaderFieldIterator header_end() const { return StringRef(); } + DIHeaderFieldIterator getHeaderIterator(unsigned Index) const { // Since callers expect an empty string for out-of-range accesses, we can't // use std::advance() here. - for (DIHeaderFieldIterator I(getHeader()), E; I != E; ++I, --Index) + for (auto I = header_begin(), E = header_end(); I != E; ++I, --Index) if (!Index) return I; - return StringRef(); + return header_end(); } StringRef getHeaderField(unsigned Index) const { @@ -888,8 +891,7 @@ class DIExpressionIterator DIExpressionIterator(DIHeaderFieldIterator I) : I(I) {} public: DIExpressionIterator() {} - DIExpressionIterator(const DIExpression Expr) - : I(Expr.getHeader()) { ++I; } + DIExpressionIterator(const DIExpression &Expr) : I(++Expr.header_begin()) {} uint64_t operator*() const { return I.getNumber(); } DIExpressionIterator &operator++() { increment(); -- 2.34.1