[cfe] Remove rewrite_severity

+ fix last remaining 'deprecated_' method

Change-Id: Ib2c77f85114fdefcda174794ff3bfbe085a02797
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/179700
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
diff --git a/pkg/_fe_analyzer_shared/lib/src/messages/codes_generated.dart b/pkg/_fe_analyzer_shared/lib/src/messages/codes_generated.dart
index 31b5e0f..f5498a2 100644
--- a/pkg/_fe_analyzer_shared/lib/src/messages/codes_generated.dart
+++ b/pkg/_fe_analyzer_shared/lib/src/messages/codes_generated.dart
@@ -9555,26 +9555,6 @@
 
 // DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE.
 const Template<Message Function(String name)>
-    templateUseOfDeprecatedIdentifier =
-    const Template<Message Function(String name)>(
-        messageTemplate: r"""'#name' is deprecated.""",
-        withArguments: _withArgumentsUseOfDeprecatedIdentifier);
-
-// DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE.
-const Code<Message Function(String name)> codeUseOfDeprecatedIdentifier =
-    const Code<Message Function(String name)>("UseOfDeprecatedIdentifier",
-        severity: Severity.ignored);
-
-// DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE.
-Message _withArgumentsUseOfDeprecatedIdentifier(String name) {
-  if (name.isEmpty) throw 'No name provided';
-  name = demangleMixinApplicationName(name);
-  return new Message(codeUseOfDeprecatedIdentifier,
-      message: """'${name}' is deprecated.""", arguments: {'name': name});
-}
-
-// DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE.
-const Template<Message Function(String name)>
     templateValueForRequiredParameterNotProvidedError =
     const Template<Message Function(String name)>(
         messageTemplate:
diff --git a/pkg/front_end/lib/src/fasta/identifiers.dart b/pkg/front_end/lib/src/fasta/identifiers.dart
index 644cd6a..64d6f92 100644
--- a/pkg/front_end/lib/src/fasta/identifiers.dart
+++ b/pkg/front_end/lib/src/fasta/identifiers.dart
@@ -11,62 +11,31 @@
 import 'problems.dart' show unhandled, unsupported;
 
 class Identifier {
-  final String name;
-  final int charOffset;
+  final Token token;
 
-  Identifier(Token token)
-      : name = token.lexeme,
-        charOffset = token.charOffset;
+  Identifier(this.token);
 
-  Identifier._(this.name, this.charOffset);
+  String get name => token.lexeme;
 
-  factory Identifier.preserveToken(Token token) {
-    return new _TokenIdentifier(token);
-  }
+  int get charOffset => token.charOffset;
 
   Expression get initializer => null;
 
   int get endCharOffset => charOffset + name.length;
 
   QualifiedName withQualifier(Object qualifier) {
-    return new QualifiedName._(qualifier, name, charOffset);
+    return new QualifiedName(qualifier, token);
   }
 
   @override
   String toString() => "identifier($name)";
 }
 
-class _TokenIdentifier implements Identifier {
-  final Token token;
-
-  _TokenIdentifier(this.token);
-
-  @override
-  String get name => token.lexeme;
-
-  @override
-  int get charOffset => token.charOffset;
-
-  @override
-  Expression get initializer => null;
-
-  @override
-  int get endCharOffset => charOffset + name.length;
-
-  @override
-  QualifiedName withQualifier(Object qualifier) {
-    return new _TokenQualifiedName(qualifier, token);
-  }
-
-  @override
-  String toString() => "token-identifier($name)";
-}
-
-class InitializedIdentifier extends _TokenIdentifier {
+class InitializedIdentifier extends Identifier {
   @override
   final Expression initializer;
 
-  InitializedIdentifier(_TokenIdentifier identifier, this.initializer)
+  InitializedIdentifier(Identifier identifier, this.initializer)
       : super(identifier.token);
 
   @override
@@ -83,8 +52,7 @@
 
   QualifiedName(this.qualifier, Token suffix) : super(suffix);
 
-  QualifiedName._(this.qualifier, String name, int charOffset)
-      : super._(name, charOffset);
+  Token get suffix => token;
 
   @override
   QualifiedName withQualifier(Object qualifier) {
@@ -95,23 +63,6 @@
   String toString() => "qualified-name($qualifier, $name)";
 }
 
-class _TokenQualifiedName extends _TokenIdentifier implements QualifiedName {
-  @override
-  final Object qualifier;
-
-  _TokenQualifiedName(this.qualifier, Token suffix)
-      : assert(qualifier is! Identifier || qualifier is _TokenIdentifier),
-        super(suffix);
-
-  @override
-  QualifiedName withQualifier(Object qualifier) {
-    return unsupported("withQualifier", charOffset, null);
-  }
-
-  @override
-  String toString() => "token-qualified-name($qualifier, $name)";
-}
-
 void flattenQualifiedNameOn(
     QualifiedName name, StringBuffer buffer, int charOffset, Uri fileUri) {
   final Object qualifier = name.qualifier;
@@ -142,8 +93,3 @@
     return unhandled("${name.runtimeType}", "flattenName", charOffset, fileUri);
   }
 }
-
-Token deprecated_extractToken(Identifier identifier) {
-  _TokenIdentifier tokenIdentifier = identifier;
-  return tokenIdentifier?.token;
-}
diff --git a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
index c7a0a91..a478938 100644
--- a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
@@ -80,12 +80,7 @@
 import '../fasta_codes.dart' show LocatedMessage, Message, noLength, Template;
 
 import '../identifiers.dart'
-    show
-        Identifier,
-        InitializedIdentifier,
-        QualifiedName,
-        deprecated_extractToken,
-        flattenName;
+    show Identifier, InitializedIdentifier, QualifiedName, flattenName;
 
 import '../messages.dart' as messages show getLocationFromUri;
 
@@ -633,9 +628,7 @@
       Object expression = pop();
       if (expression is Identifier) {
         Identifier identifier = expression;
-        expression = new UnresolvedNameGenerator(
-            this,
-            deprecated_extractToken(identifier),
+        expression = new UnresolvedNameGenerator(this, identifier.token,
             new Name(identifier.name, libraryBuilder.nameOrigin));
       }
       if (name?.isNotEmpty ?? false) {
@@ -1997,13 +1990,6 @@
   void handleIdentifier(Token token, IdentifierContext context) {
     debugEvent("handleIdentifier");
     String name = token.lexeme;
-    if (name.startsWith("deprecated") &&
-        // Note that the previous check is redundant, but faster in the common
-        // case (when [name] isn't deprecated).
-        (name == "deprecated" || name.startsWith("deprecated_"))) {
-      addProblem(fasta.templateUseOfDeprecatedIdentifier.withArguments(name),
-          offsetForToken(token), lengthForToken(token));
-    }
     if (context.isScopeReference) {
       assert(!inInitializer ||
           this.scope == enclosingScope ||
@@ -2031,7 +2017,7 @@
     if (token.isSynthetic) {
       push(new ParserRecovery(offsetForToken(token)));
     } else {
-      push(new Identifier.preserveToken(token));
+      push(new Identifier(token));
     }
   }
 
@@ -2503,7 +2489,7 @@
     assert(isConst == (constantContext == ConstantContext.inferred));
     VariableDeclaration variable = new VariableDeclarationImpl(
         identifier.name, functionNestingLevel,
-        forSyntheticToken: deprecated_extractToken(identifier).isSynthetic,
+        forSyntheticToken: identifier.token.isSynthetic,
         initializer: initializer,
         type: buildDartType(currentLocalVariableType),
         isFinal: isFinal,
@@ -3282,7 +3268,7 @@
     if (name is QualifiedName) {
       QualifiedName qualified = name;
       Object prefix = qualified.qualifier;
-      Token suffix = deprecated_extractToken(qualified);
+      Token suffix = qualified.suffix;
       if (prefix is Generator) {
         name = prefix.qualifiedLookup(suffix);
       } else {
@@ -4016,7 +4002,7 @@
               identifier.charOffset, identifier.name.length);
         }
       } else if (qualifier is Generator) {
-        type = qualifier.qualifiedLookup(deprecated_extractToken(identifier));
+        type = qualifier.qualifiedLookup(identifier.token);
         identifier = null;
       } else if (qualifier is ProblemBuilder) {
         type = qualifier;
@@ -4334,8 +4320,7 @@
     ]));
     Arguments arguments = pop();
     Identifier nameLastIdentifier = pop(NullValue.Identifier);
-    Token nameLastToken =
-        deprecated_extractToken(nameLastIdentifier) ?? nameToken;
+    Token nameLastToken = nameLastIdentifier?.token ?? nameToken;
     String name = pop();
     List<UnresolvedType> typeArguments = pop();
 
@@ -4807,7 +4792,7 @@
   void endFunctionName(Token beginToken, Token token) {
     debugEvent("FunctionName");
     Identifier name = pop();
-    Token nameToken = deprecated_extractToken(name);
+    Token nameToken = name.token;
     VariableDeclaration variable = new VariableDeclarationImpl(
         name.name, functionNestingLevel,
         forSyntheticToken: nameToken.isSynthetic,
@@ -6102,7 +6087,7 @@
   @override
   void handleSymbolVoid(Token token) {
     debugEvent("SymbolVoid");
-    push(new Identifier.preserveToken(token));
+    push(new Identifier(token));
   }
 
   @override
diff --git a/pkg/front_end/lib/src/fasta/loader.dart b/pkg/front_end/lib/src/fasta/loader.dart
index cfdb636..0c917db 100644
--- a/pkg/front_end/lib/src/fasta/loader.dart
+++ b/pkg/front_end/lib/src/fasta/loader.dart
@@ -306,7 +306,7 @@
       List<LocatedMessage> context,
       bool problemOnLibrary: false,
       List<Uri> involvedFiles}) {
-    severity = target.fixSeverity(severity, message, fileUri);
+    severity ??= message.code.severity;
     if (severity == Severity.ignored) return null;
     String trace = """
 message: ${message.message}
diff --git a/pkg/front_end/lib/src/fasta/rewrite_severity.dart b/pkg/front_end/lib/src/fasta/rewrite_severity.dart
deleted file mode 100644
index 5fd9ae8..0000000
--- a/pkg/front_end/lib/src/fasta/rewrite_severity.dart
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright (c) 2018, the Dart project authors.  Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-import 'package:_fe_analyzer_shared/src/messages/severity.dart' show Severity;
-
-import 'messages.dart' as msg;
-
-Severity rewriteSeverity(
-    Severity severity, msg.Code<Object> code, Uri fileUri) {
-  if (severity != Severity.ignored) {
-    return severity;
-  }
-
-  String path = fileUri.path;
-  String fastaPath = "/pkg/front_end/lib/src/fasta/";
-  int index = path.indexOf(fastaPath);
-  if (index == -1) {
-    fastaPath = "/pkg/front_end/tool/_fasta/";
-    index = path.indexOf(fastaPath);
-    if (index == -1) return severity;
-  }
-  if (code == msg.codeUseOfDeprecatedIdentifier) {
-    // TODO(ahe): Remove the exceptions below.
-    // We plan to remove all uses of deprecated identifiers from Fasta. The
-    // strategy is to remove files from the list below one by one. To get
-    // started on cleaning up a given file, simply remove it from the list
-    // below and compile Fasta with itself to get a list of remaining call
-    // sites.
-    switch (path.substring(fastaPath.length + index)) {
-      case "command_line.dart":
-      case "kernel/body_builder.dart":
-        return severity;
-    }
-  }
-  return Severity.error;
-}
diff --git a/pkg/front_end/lib/src/fasta/target_implementation.dart b/pkg/front_end/lib/src/fasta/target_implementation.dart
index 264ad8e..2b8a091 100644
--- a/pkg/front_end/lib/src/fasta/target_implementation.dart
+++ b/pkg/front_end/lib/src/fasta/target_implementation.dart
@@ -22,8 +22,6 @@
 
 import 'messages.dart' show FormattedMessage, LocatedMessage, Message;
 
-import 'rewrite_severity.dart' show rewriteSeverity;
-
 import 'target.dart' show Target;
 
 import 'ticker.dart' show Ticker;
@@ -190,11 +188,6 @@
         involvedFiles: involvedFiles);
   }
 
-  Severity fixSeverity(Severity severity, Message message, Uri fileUri) {
-    severity ??= message.code.severity;
-    return rewriteSeverity(severity, message.code, fileUri);
-  }
-
   String get currentSdkVersionString {
     return CompilerContext.current.options.currentSdkVersion;
   }
diff --git a/pkg/front_end/messages.yaml b/pkg/front_end/messages.yaml
index 9bb52f9..5c8b909 100644
--- a/pkg/front_end/messages.yaml
+++ b/pkg/front_end/messages.yaml
@@ -3716,10 +3716,6 @@
   template: "The field that corresponds to the parameter."
   severity: CONTEXT
 
-UseOfDeprecatedIdentifier:
-  template: "'#name' is deprecated."
-  severity: IGNORED
-
 InitializeFromDillNotSelfContained:
   template: |
     Tried to initialize from a previous compilation (#string), but the file was not self-contained. This might be a bug.