Elements. Remove 'get identifier' from ElementImpl and FragmentImpl.

We used it to construct `ElementLocation`, and we already removed it.

Change-Id: Ie88ba3aae24f094c6eb2c5b656cc64398e5ba91b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/437360
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
diff --git a/pkg/analyzer/lib/src/dart/element/element.dart b/pkg/analyzer/lib/src/dart/element/element.dart
index 58a4e92..aecf640 100644
--- a/pkg/analyzer/lib/src/dart/element/element.dart
+++ b/pkg/analyzer/lib/src/dart/element/element.dart
@@ -4,7 +4,6 @@
 
 import 'dart:collection';
 
-import 'package:_fe_analyzer_shared/src/scanner/string_canonicalizer.dart';
 import 'package:_fe_analyzer_shared/src/type_inference/type_analyzer.dart'
     as shared;
 import 'package:_fe_analyzer_shared/src/type_inference/type_analyzer_operations.dart'
@@ -2043,17 +2042,6 @@
     ];
   }
 
-  /// Return an identifier that uniquely identifies this element among the
-  /// children of this element's parent.
-  String get identifier {
-    var identifier = name3!;
-    // TODO(augmentations): Figure out how to get a unique identifier. In the
-    //  old model we sometimes used the offset of the name to disambiguate
-    //  between elements, but we can't do that anymore because the name can
-    //  appear at multiple offsets.
-    return considerCanonicalizeString(identifier);
-  }
-
   @override
   bool get isPrivate {
     var name3 = this.name3;
@@ -3884,18 +3872,6 @@
     return enclosingElement3!.enclosingUnit;
   }
 
-  /// Return an identifier that uniquely identifies this element among the
-  /// children of this element's parent.
-  String get identifier {
-    var identifier = name2 ?? '';
-
-    if (_includeNameOffsetInIdentifier) {
-      identifier += "@$nameOffset";
-    }
-
-    return considerCanonicalizeString(identifier);
-  }
-
   bool get isNonFunctionTypeAliasesEnabled {
     return library!.featureSet.isEnabled(Feature.nonfunction_type_aliases);
   }
@@ -4344,9 +4320,6 @@
   List<FormalParameterFragmentImpl> get formalParameters => parameters;
 
   @override
-  String get identifier => '-';
-
-  @override
   ElementKind get kind => ElementKind.GENERIC_FUNCTION_TYPE;
 
   @override
@@ -4626,9 +4599,6 @@
   List<GetterElementImpl> get getters2 => getters;
 
   @override
-  String get identifier => name3 ?? firstFragment.identifier;
-
-  @override
   bool get isPrivate => firstFragment.isPrivate;
 
   @override
@@ -6123,7 +6093,7 @@
   }
 
   @override
-  String get identifier => '${definingCompilationUnit.source.uri}';
+  String get identifier => '$uri';
 
   @override
   bool get isDartAsync => name == "dart.async";
@@ -6653,9 +6623,6 @@
   int get hashCode => source.hashCode;
 
   @override
-  String get identifier => '${source.uri}';
-
-  @override
   List<LibraryElement> get importedLibraries2 {
     return libraryImports2
         .map((import) => import.importedLibrary2)
@@ -7287,11 +7254,6 @@
   }
 
   @override
-  String get identifier {
-    return '$name2$nameOffset';
-  }
-
-  @override
   bool get isLate {
     return hasModifier(Modifier.LATE);
   }
@@ -8964,13 +8926,6 @@
     throw UnsupportedError('Not a fragment: ${enclosing.runtimeType}');
   }
 
-  @override
-  String get identifier {
-    String name = displayName;
-    String suffix = isGetter ? "?" : "=";
-    return considerCanonicalizeString("$name$suffix");
-  }
-
   /// Set whether this class is abstract.
   set isAbstract(bool isAbstract) {
     setModifier(Modifier.ABSTRACT, isAbstract);
diff --git a/pkg/analyzer/lib/src/error/dead_code_verifier.dart b/pkg/analyzer/lib/src/error/dead_code_verifier.dart
index 1d370aa..96b0c5c 100644
--- a/pkg/analyzer/lib/src/error/dead_code_verifier.dart
+++ b/pkg/analyzer/lib/src/error/dead_code_verifier.dart
@@ -158,7 +158,7 @@
         _diagnosticReporter.atNode(
           name,
           warningCode,
-          arguments: [library.identifier, nameStr],
+          arguments: ['${library.uri}', nameStr],
         );
       }
     }