]> granicus.if.org Git - clang/commitdiff
Introduce local_begin()/local_end() methods in PreprocessingRecord which
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>
Mon, 19 Sep 2011 20:40:42 +0000 (20:40 +0000)
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>
Mon, 19 Sep 2011 20:40:42 +0000 (20:40 +0000)
return iterators for local, non-loaded, preprocessed entities.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140062 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Lex/PreprocessingRecord.h
lib/Frontend/ASTUnit.cpp
lib/Lex/PreprocessingRecord.cpp
lib/Serialization/ASTWriter.cpp

index b348c4e7c7703e0f62c9a21b2c72eba36102bc16..00b93c015870671fe6fa0d00db3405021320ce31 100644 (file)
@@ -483,9 +483,26 @@ namespace clang {
       }
     };
     friend class iterator;
-    
-    iterator begin(bool OnlyLocalEntities = false);
-    iterator end(bool OnlyLocalEntities = false);
+
+    /// \brief Begin iterator for all preprocessed entities.
+    iterator begin() {
+      return iterator(this, -(int)LoadedPreprocessedEntities.size());
+    }
+
+    /// \brief End iterator for all preprocessed entities.
+    iterator end() {
+      return iterator(this, PreprocessedEntities.size());
+    }
+
+    /// \brief Begin iterator for local, non-loaded, preprocessed entities.
+    iterator local_begin() {
+      return iterator(this, 0);
+    }
+
+    /// \brief End iterator for local, non-loaded, preprocessed entities.
+    iterator local_end() {
+      return iterator(this, PreprocessedEntities.size());
+    }
 
     /// \brief Returns a pair of [Begin, End) iterators of preprocessed entities
     /// that source range \arg R encompasses.
index 53e0412750e307d15e46201f818f9bb0bf1ce661..60e1c3bab6504cee484d5efd1fef86aab30845bc 100644 (file)
@@ -1534,7 +1534,7 @@ void ASTUnit::RealizePreprocessedEntitiesFromPreamble() {
     return;
   
   PreprocessedEntities.insert(PreprocessedEntities.end(), 
-                              PPRec->begin(true), PPRec->end(true));
+                              PPRec->local_begin(), PPRec->local_end());
 }
 
 ASTUnit::pp_entity_iterator ASTUnit::pp_entity_begin() {
index 1fc823076318c7e17ebc9525908365d147df3787..b1c0c716c1c42489950252505f636ff16a002d2b 100644 (file)
@@ -44,18 +44,6 @@ PreprocessingRecord::PreprocessingRecord(SourceManager &SM,
 {
 }
 
-PreprocessingRecord::iterator 
-PreprocessingRecord::begin(bool OnlyLocalEntities) {
-  if (OnlyLocalEntities)
-    return iterator(this, 0);
-  
-  return iterator(this, -(int)LoadedPreprocessedEntities.size());
-}
-
-PreprocessingRecord::iterator PreprocessingRecord::end(bool OnlyLocalEntities) {
-  return iterator(this, PreprocessedEntities.size());
-}
-
 /// \brief Returns a pair of [Begin, End) iterators of preprocessed entities
 /// that source range \arg R encompasses.
 std::pair<PreprocessingRecord::iterator, PreprocessingRecord::iterator>
index 3227476ee994316ed2d9fdfb049081504e8ccc6b..ac961c78f9d59a0eaebdf926fafd8a5acc7cd6a7 100644 (file)
@@ -1711,7 +1711,7 @@ void ASTWriter::WritePreprocessor(const Preprocessor &PP, bool IsModule) {
 }
 
 void ASTWriter::WritePreprocessorDetail(PreprocessingRecord &PPRec) {
-  if (PPRec.begin(Chain) == PPRec.end(Chain))
+  if (PPRec.local_begin() == PPRec.local_end())
     return;
 
   SmallVector<PPEntityOffset, 64> PreprocessedEntityOffsets;
@@ -1744,8 +1744,8 @@ void ASTWriter::WritePreprocessorDetail(PreprocessingRecord &PPRec) {
   unsigned NextPreprocessorEntityID = FirstPreprocessorEntityID;
   RecordData Record;
   uint64_t BitsInChain = Chain? Chain->TotalModulesSizeInBits : 0;
-  for (PreprocessingRecord::iterator E = PPRec.begin(Chain),
-                                  EEnd = PPRec.end(Chain);
+  for (PreprocessingRecord::iterator E = PPRec.local_begin(),
+                                  EEnd = PPRec.local_end();
        E != EEnd; 
        (void)++E, ++NumPreprocessingRecords, ++NextPreprocessorEntityID) {
     Record.clear();