]> granicus.if.org Git - clang/commitdiff
[CodeComplete] Avoid name clashes of 'Kind' inside CodeCompletionContext. NFC
authorIlya Biryukov <ibiryukov@google.com>
Mon, 19 Feb 2018 13:53:49 +0000 (13:53 +0000)
committerIlya Biryukov <ibiryukov@google.com>
Mon, 19 Feb 2018 13:53:49 +0000 (13:53 +0000)
CodeCompletionContext had declarations of field and enum inside, both named 'Kind'.
It caused gcc 4.8 to give an incorrent warning when refering to enum as
`enum CodeCompletionContext::Kind`.

Avoid that warning by renaming the private field to CCKind.

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

include/clang/Sema/CodeCompleteConsumer.h
lib/Sema/CodeCompleteConsumer.cpp

index 6698f39f30d70a70beab2f09950739a7046fd715..a966e73668e8268c0bbb82325e9f88f14f4e785d 100644 (file)
@@ -271,7 +271,7 @@ public:
   using VisitedContextSet = llvm::SmallPtrSet<DeclContext*, 8>;
 
 private:
-  enum Kind Kind;
+  Kind CCKind;
 
   /// \brief The type that would prefer to see at this point (e.g., the type
   /// of an initializer or function parameter).
@@ -293,23 +293,22 @@ private:
 
 public:
   /// \brief Construct a new code-completion context of the given kind.
-  CodeCompletionContext(enum Kind Kind) : Kind(Kind), SelIdents(None) { }
+  CodeCompletionContext(Kind CCKind) : CCKind(CCKind), SelIdents(None) { }
 
   /// \brief Construct a new code-completion context of the given kind.
-  CodeCompletionContext(enum Kind Kind, QualType T,
+  CodeCompletionContext(Kind CCKind, QualType T,
                         ArrayRef<IdentifierInfo *> SelIdents = None)
-                        : Kind(Kind),
-                          SelIdents(SelIdents) {
-    if (Kind == CCC_DotMemberAccess || Kind == CCC_ArrowMemberAccess ||
-        Kind == CCC_ObjCPropertyAccess || Kind == CCC_ObjCClassMessage ||
-        Kind == CCC_ObjCInstanceMessage)
+      : CCKind(CCKind), SelIdents(SelIdents) {
+    if (CCKind == CCC_DotMemberAccess || CCKind == CCC_ArrowMemberAccess ||
+        CCKind == CCC_ObjCPropertyAccess || CCKind == CCC_ObjCClassMessage ||
+        CCKind == CCC_ObjCInstanceMessage)
       BaseType = T;
     else
       PreferredType = T;
   }
 
   /// \brief Retrieve the kind of code-completion context.
-  enum Kind getKind() const { return Kind; }
+  Kind getKind() const { return CCKind; }
 
   /// \brief Retrieve the type that this expression would prefer to have, e.g.,
   /// if the expression is a variable initializer or a function argument, the
@@ -352,7 +351,7 @@ public:
 };
 
 /// \brief Get string representation of \p Kind, useful for for debugging.
-llvm::StringRef getCompletionKindString(enum CodeCompletionContext::Kind Kind);
+llvm::StringRef getCompletionKindString(CodeCompletionContext::Kind Kind);
 
 /// \brief A "string" used to describe how code completion can
 /// be performed for an entity.
index 6a96e626d9022486f8b6cacde881b16cfdb3d52f..798e7d6a1c2ec7579786ed20b6b330c13665de90 100644 (file)
@@ -33,7 +33,7 @@ using namespace clang;
 //===----------------------------------------------------------------------===//
 
 bool CodeCompletionContext::wantConstructorResults() const {
-  switch (Kind) {
+  switch (CCKind) {
   case CCC_Recovery:
   case CCC_Statement:
   case CCC_Expression:
@@ -76,8 +76,8 @@ bool CodeCompletionContext::wantConstructorResults() const {
   llvm_unreachable("Invalid CodeCompletionContext::Kind!");
 }
 
-StringRef clang::getCompletionKindString(enum CodeCompletionContext::Kind Kind) {
-  using CCKind = enum CodeCompletionContext::Kind;
+StringRef clang::getCompletionKindString(CodeCompletionContext::Kind Kind) {
+  using CCKind = CodeCompletionContext::Kind;
   switch (Kind) {
   case CCKind::CCC_Other:
     return "Other";