Revert "Add support for named values in the parser."
This was submitted before it was ready.

This reverts commit 62060a01e095cf35eb9ca42a333752d12714f35c.

llvm-svn: 205533
diff --git a/clang/lib/ASTMatchers/Dynamic/Parser.cpp b/clang/lib/ASTMatchers/Dynamic/Parser.cpp
index bc6f73c..24ffdcd 100644
--- a/clang/lib/ASTMatchers/Dynamic/Parser.cpp
+++ b/clang/lib/ASTMatchers/Dynamic/Parser.cpp
@@ -424,18 +424,8 @@
     *Value = Tokenizer->consumeNextToken().Value;
     return true;
 
-  case TokenInfo::TK_Ident: {
-    // Identifier could be a name known by Sema as a named value.
-    const VariantValue NamedValue =
-        S->getNamedValue(Tokenizer->peekNextToken().Text);
-    if (!NamedValue.isNothing()) {
-      Tokenizer->consumeNextToken();  // Actually consume it.
-      *Value = NamedValue;
-      return true;
-    }
-    // Fallback to full matcher parsing.
+  case TokenInfo::TK_Ident:
     return parseMatcherExpressionImpl(Value);
-  }
 
   case TokenInfo::TK_CodeCompletion:
     addExpressionCompletions();
@@ -467,23 +457,27 @@
                Diagnostics *Error)
     : Tokenizer(Tokenizer), S(S), Error(Error) {}
 
-Parser::RegistrySema::~RegistrySema() {}
-
-llvm::Optional<MatcherCtor> Parser::RegistrySema::lookupMatcherCtor(
-    StringRef MatcherName, const SourceRange &NameRange, Diagnostics *Error) {
-  return Registry::lookupMatcherCtor(MatcherName, NameRange, Error);
-}
-
-VariantMatcher Parser::RegistrySema::actOnMatcherExpression(
-    MatcherCtor Ctor, const SourceRange &NameRange, StringRef BindID,
-    ArrayRef<ParserValue> Args, Diagnostics *Error) {
-  if (BindID.empty()) {
-    return Registry::constructMatcher(Ctor, NameRange, Args, Error);
-  } else {
-    return Registry::constructBoundMatcher(Ctor, NameRange, BindID, Args,
-                                           Error);
+class RegistrySema : public Parser::Sema {
+public:
+  virtual ~RegistrySema() {}
+  llvm::Optional<MatcherCtor> lookupMatcherCtor(StringRef MatcherName,
+                                                const SourceRange &NameRange,
+                                                Diagnostics *Error) {
+    return Registry::lookupMatcherCtor(MatcherName, NameRange, Error);
   }
-}
+  VariantMatcher actOnMatcherExpression(MatcherCtor Ctor,
+                                        const SourceRange &NameRange,
+                                        StringRef BindID,
+                                        ArrayRef<ParserValue> Args,
+                                        Diagnostics *Error) {
+    if (BindID.empty()) {
+      return Registry::constructMatcher(Ctor, NameRange, Args, Error);
+    } else {
+      return Registry::constructBoundMatcher(Ctor, NameRange, BindID, Args,
+                                             Error);
+    }
+  }
+};
 
 bool Parser::parseExpression(StringRef Code, VariantValue *Value,
                              Diagnostics *Error) {