Add a few small helper methods to the TypoCorrectionConsumer.
authorKaelyn Takata <rikka@google.com>
Thu, 20 Nov 2014 22:06:29 +0000 (22:06 +0000)
committerKaelyn Takata <rikka@google.com>
Thu, 20 Nov 2014 22:06:29 +0000 (22:06 +0000)
llvm-svn: 222461

clang/include/clang/Sema/SemaInternal.h

index 321d936..045bacf 100644 (file)
@@ -162,6 +162,17 @@ public:
                : ValidatedCorrections[0];  // The empty correction.
   }
 
+  /// \brief Return the next typo correction like getNextCorrection, but keep
+  /// the internal state pointed to the current correction (i.e. the next time
+  /// getNextCorrection is called, it will return the same correction returned
+  /// by peekNextcorrection).
+  const TypoCorrection &peekNextCorrection() {
+    auto Current = CurrentTCIndex;
+    const TypoCorrection &TC = getNextCorrection();
+    CurrentTCIndex = Current;
+    return TC;
+  }
+
   /// \brief Reset the consumer's position in the stream of viable corrections
   /// (i.e. getNextCorrection() will return each of the previously returned
   /// corrections in order before returning any new corrections).
@@ -179,6 +190,10 @@ public:
   ASTContext &getContext() const { return SemaRef.Context; }
   const LookupResult &getLookupResult() const { return Result; }
 
+  bool isAddressOfOperand() const { return CorrectionValidator->IsAddressOfOperand; }
+  const CXXScopeSpec *getSS() const { return SS.get(); }
+  Scope *getScope() const { return S; }
+
 private:
   class NamespaceSpecifierSet {
     struct SpecifierInfo {