diff options
| author | Ted Kremenek <kremenek@apple.com> | 2011-08-09 03:39:14 +0000 | 
|---|---|---|
| committer | Ted Kremenek <kremenek@apple.com> | 2011-08-09 03:39:14 +0000 | 
| commit | 309e288e01ef364ca3327d81f84510b2e289e8df (patch) | |
| tree | e0150f8215349d05efd24f99ea7ecb86c8ac36d8 /clang/lib/Basic | |
| parent | 454651adb5cd4a2b72e4081d17b8f8bd599e7369 (diff) | |
| download | bcm5719-llvm-309e288e01ef364ca3327d81f84510b2e289e8df.tar.gz bcm5719-llvm-309e288e01ef364ca3327d81f84510b2e289e8df.zip | |
Provide diag_iterator for iterating over the built-in diagnostic IDs/names in the internal table of DiagnosticIDs.
llvm-svn: 137108
Diffstat (limited to 'clang/lib/Basic')
| -rw-r--r-- | clang/lib/Basic/DiagnosticIDs.cpp | 29 | 
1 files changed, 29 insertions, 0 deletions
| diff --git a/clang/lib/Basic/DiagnosticIDs.cpp b/clang/lib/Basic/DiagnosticIDs.cpp index 35b9605e162..66b16a9ba1c 100644 --- a/clang/lib/Basic/DiagnosticIDs.cpp +++ b/clang/lib/Basic/DiagnosticIDs.cpp @@ -305,6 +305,35 @@ static unsigned getBuiltinDiagClass(unsigned DiagID) {  }  //===----------------------------------------------------------------------===// +// diag_iterator +//===----------------------------------------------------------------------===// + +llvm::StringRef DiagnosticIDs::diag_iterator::getDiagName() const { +  return static_cast<const StaticDiagNameIndexRec*>(impl)->getName(); +} + +unsigned DiagnosticIDs::diag_iterator::getDiagID() const { +  return static_cast<const StaticDiagNameIndexRec*>(impl)->DiagID; +} + +DiagnosticIDs::diag_iterator &DiagnosticIDs::diag_iterator::operator++() { +  const StaticDiagNameIndexRec* ptr = +    static_cast<const StaticDiagNameIndexRec*>(impl);; +  ++ptr; +  impl = ptr; +  return *this; +} + +DiagnosticIDs::diag_iterator DiagnosticIDs::diags_begin() { +  return DiagnosticIDs::diag_iterator(StaticDiagNameIndex); +} + +DiagnosticIDs::diag_iterator DiagnosticIDs::diags_end() { +  return DiagnosticIDs::diag_iterator(StaticDiagNameIndex + +                                      StaticDiagNameIndexSize); +} + +//===----------------------------------------------------------------------===//  // Custom Diagnostic information  //===----------------------------------------------------------------------===// | 

