Revert "Restore explicit SimpleIdentifier."

This reverts commit bb6e5585344de56a51b5e0ec76e27bb2f816a6cc.

I found a problem with --use-summary2 in DAS.
When we implement actual API signatures, changes in bodies
change offsets for nodes, but summary2 also includes offsets,
and they don't match. So, DAS crashes. I will need to rework
offsets and other @informative data storage, so its turns
out that we cannot pretend so use real SimpleIdentifier(s)
anymore.

R=brianwilkerson@google.com

Change-Id: I1193cc3f6fd25aea1c39531e8a685b60b347166e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104949
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
diff --git a/pkg/analyzer/lib/src/summary/format.dart b/pkg/analyzer/lib/src/summary/format.dart
index 2b5c069..d9bbbf1 100644
--- a/pkg/analyzer/lib/src/summary/format.dart
+++ b/pkg/analyzer/lib/src/summary/format.dart
@@ -4754,9 +4754,10 @@
   LinkedNodeBuilder _variantField_14;
   idl.LinkedNodeKind _kind;
   List<String> _variantField_36;
+  String _name;
   String _variantField_20;
   bool _variantField_31;
-  idl.UnlinkedTokenType _variantField_37;
+  idl.UnlinkedTokenType _variantField_38;
   TopLevelInferenceErrorBuilder _variantField_34;
   String _variantField_22;
 
@@ -5375,12 +5376,6 @@
   }
 
   @override
-  LinkedNodeBuilder get enumConstantDeclaration_name {
-    assert(kind == idl.LinkedNodeKind.enumConstantDeclaration);
-    return _variantField_6;
-  }
-
-  @override
   LinkedNodeBuilder get expressionFunctionBody_expression {
     assert(kind == idl.LinkedNodeKind.expressionFunctionBody);
     return _variantField_6;
@@ -5816,11 +5811,6 @@
     _variantField_6 = value;
   }
 
-  set enumConstantDeclaration_name(LinkedNodeBuilder value) {
-    assert(kind == idl.LinkedNodeKind.enumConstantDeclaration);
-    _variantField_6 = value;
-  }
-
   set expressionFunctionBody_expression(LinkedNodeBuilder value) {
     assert(kind == idl.LinkedNodeKind.expressionFunctionBody);
     _variantField_6 = value;
@@ -6153,12 +6143,6 @@
   }
 
   @override
-  LinkedNodeBuilder get constructorDeclaration_name {
-    assert(kind == idl.LinkedNodeKind.constructorDeclaration);
-    return _variantField_7;
-  }
-
-  @override
   LinkedNodeBuilder get constructorFieldInitializer_fieldName {
     assert(kind == idl.LinkedNodeKind.constructorFieldInitializer);
     return _variantField_7;
@@ -6357,18 +6341,6 @@
   }
 
   @override
-  LinkedNodeBuilder get typeParameter_name {
-    assert(kind == idl.LinkedNodeKind.typeParameter);
-    return _variantField_7;
-  }
-
-  @override
-  LinkedNodeBuilder get variableDeclaration_name {
-    assert(kind == idl.LinkedNodeKind.variableDeclaration);
-    return _variantField_7;
-  }
-
-  @override
   LinkedNodeBuilder get whileStatement_condition {
     assert(kind == idl.LinkedNodeKind.whileStatement);
     return _variantField_7;
@@ -6429,11 +6401,6 @@
     _variantField_7 = value;
   }
 
-  set constructorDeclaration_name(LinkedNodeBuilder value) {
-    assert(kind == idl.LinkedNodeKind.constructorDeclaration);
-    _variantField_7 = value;
-  }
-
   set constructorFieldInitializer_fieldName(LinkedNodeBuilder value) {
     assert(kind == idl.LinkedNodeKind.constructorFieldInitializer);
     _variantField_7 = value;
@@ -6600,16 +6567,6 @@
     _variantField_7 = value;
   }
 
-  set typeParameter_name(LinkedNodeBuilder value) {
-    assert(kind == idl.LinkedNodeKind.typeParameter);
-    _variantField_7 = value;
-  }
-
-  set variableDeclaration_name(LinkedNodeBuilder value) {
-    assert(kind == idl.LinkedNodeKind.variableDeclaration);
-    _variantField_7 = value;
-  }
-
   set whileStatement_condition(LinkedNodeBuilder value) {
     assert(kind == idl.LinkedNodeKind.whileStatement);
     _variantField_7 = value;
@@ -6622,12 +6579,8 @@
   }
 
   @override
-  int get directive_keywordOffset {
-    assert(kind == idl.LinkedNodeKind.exportDirective ||
-        kind == idl.LinkedNodeKind.importDirective ||
-        kind == idl.LinkedNodeKind.libraryDirective ||
-        kind == idl.LinkedNodeKind.partDirective ||
-        kind == idl.LinkedNodeKind.partOfDirective);
+  int get constructorDeclaration_returnTypeOffset {
+    assert(kind == idl.LinkedNodeKind.constructorDeclaration);
     return _variantField_17 ??= 0;
   }
 
@@ -6643,12 +6596,8 @@
     _variantField_17 = value;
   }
 
-  set directive_keywordOffset(int value) {
-    assert(kind == idl.LinkedNodeKind.exportDirective ||
-        kind == idl.LinkedNodeKind.importDirective ||
-        kind == idl.LinkedNodeKind.libraryDirective ||
-        kind == idl.LinkedNodeKind.partDirective ||
-        kind == idl.LinkedNodeKind.partOfDirective);
+  set constructorDeclaration_returnTypeOffset(int value) {
+    assert(kind == idl.LinkedNodeKind.constructorDeclaration);
     assert(value == null || value >= 0);
     _variantField_17 = value;
   }
@@ -7261,14 +7210,6 @@
     return _variantField_9;
   }
 
-  @override
-  LinkedNodeBuilder get normalFormalParameter_identifier {
-    assert(kind == idl.LinkedNodeKind.fieldFormalParameter ||
-        kind == idl.LinkedNodeKind.functionTypedFormalParameter ||
-        kind == idl.LinkedNodeKind.simpleFormalParameter);
-    return _variantField_9;
-  }
-
   set catchClause_stackTraceParameter(LinkedNodeBuilder value) {
     assert(kind == idl.LinkedNodeKind.catchClause);
     _variantField_9 = value;
@@ -7294,13 +7235,6 @@
     _variantField_9 = value;
   }
 
-  set normalFormalParameter_identifier(LinkedNodeBuilder value) {
-    assert(kind == idl.LinkedNodeKind.fieldFormalParameter ||
-        kind == idl.LinkedNodeKind.functionTypedFormalParameter ||
-        kind == idl.LinkedNodeKind.simpleFormalParameter);
-    _variantField_9 = value;
-  }
-
   @override
   LinkedNodeBuilder get classOrMixinDeclaration_implementsClause {
     assert(kind == idl.LinkedNodeKind.classDeclaration ||
@@ -7565,45 +7499,11 @@
     return _variantField_10;
   }
 
-  @override
-  LinkedNodeBuilder get methodDeclaration_name {
-    assert(kind == idl.LinkedNodeKind.methodDeclaration);
-    return _variantField_10;
-  }
-
-  @override
-  LinkedNodeBuilder get namedCompilationUnitMember_name {
-    assert(kind == idl.LinkedNodeKind.classDeclaration ||
-        kind == idl.LinkedNodeKind.classTypeAlias ||
-        kind == idl.LinkedNodeKind.enumDeclaration ||
-        kind == idl.LinkedNodeKind.functionDeclaration ||
-        kind == idl.LinkedNodeKind.functionTypeAlias ||
-        kind == idl.LinkedNodeKind.genericTypeAlias ||
-        kind == idl.LinkedNodeKind.mixinDeclaration);
-    return _variantField_10;
-  }
-
   set constructorDeclaration_returnType(LinkedNodeBuilder value) {
     assert(kind == idl.LinkedNodeKind.constructorDeclaration);
     _variantField_10 = value;
   }
 
-  set methodDeclaration_name(LinkedNodeBuilder value) {
-    assert(kind == idl.LinkedNodeKind.methodDeclaration);
-    _variantField_10 = value;
-  }
-
-  set namedCompilationUnitMember_name(LinkedNodeBuilder value) {
-    assert(kind == idl.LinkedNodeKind.classDeclaration ||
-        kind == idl.LinkedNodeKind.classTypeAlias ||
-        kind == idl.LinkedNodeKind.enumDeclaration ||
-        kind == idl.LinkedNodeKind.functionDeclaration ||
-        kind == idl.LinkedNodeKind.functionTypeAlias ||
-        kind == idl.LinkedNodeKind.genericTypeAlias ||
-        kind == idl.LinkedNodeKind.mixinDeclaration);
-    _variantField_10 = value;
-  }
-
   @override
   idl.LinkedNodeFormalParameterKind get defaultFormalParameter_kind {
     assert(kind == idl.LinkedNodeKind.defaultFormalParameter);
@@ -7721,8 +7621,25 @@
   }
 
   @override
-  int get simpleIdentifier_offset {
-    assert(kind == idl.LinkedNodeKind.simpleIdentifier);
+  int get nameOffset {
+    assert(kind == idl.LinkedNodeKind.classDeclaration ||
+        kind == idl.LinkedNodeKind.classTypeAlias ||
+        kind == idl.LinkedNodeKind.constructorDeclaration ||
+        kind == idl.LinkedNodeKind.enumConstantDeclaration ||
+        kind == idl.LinkedNodeKind.enumDeclaration ||
+        kind == idl.LinkedNodeKind.exportDirective ||
+        kind == idl.LinkedNodeKind.fieldFormalParameter ||
+        kind == idl.LinkedNodeKind.functionDeclaration ||
+        kind == idl.LinkedNodeKind.functionTypedFormalParameter ||
+        kind == idl.LinkedNodeKind.functionTypeAlias ||
+        kind == idl.LinkedNodeKind.genericTypeAlias ||
+        kind == idl.LinkedNodeKind.importDirective ||
+        kind == idl.LinkedNodeKind.methodDeclaration ||
+        kind == idl.LinkedNodeKind.mixinDeclaration ||
+        kind == idl.LinkedNodeKind.partDirective ||
+        kind == idl.LinkedNodeKind.simpleFormalParameter ||
+        kind == idl.LinkedNodeKind.typeParameter ||
+        kind == idl.LinkedNodeKind.variableDeclaration);
     return _variantField_16 ??= 0;
   }
 
@@ -7732,8 +7649,25 @@
     _variantField_16 = value;
   }
 
-  set simpleIdentifier_offset(int value) {
-    assert(kind == idl.LinkedNodeKind.simpleIdentifier);
+  set nameOffset(int value) {
+    assert(kind == idl.LinkedNodeKind.classDeclaration ||
+        kind == idl.LinkedNodeKind.classTypeAlias ||
+        kind == idl.LinkedNodeKind.constructorDeclaration ||
+        kind == idl.LinkedNodeKind.enumConstantDeclaration ||
+        kind == idl.LinkedNodeKind.enumDeclaration ||
+        kind == idl.LinkedNodeKind.exportDirective ||
+        kind == idl.LinkedNodeKind.fieldFormalParameter ||
+        kind == idl.LinkedNodeKind.functionDeclaration ||
+        kind == idl.LinkedNodeKind.functionTypedFormalParameter ||
+        kind == idl.LinkedNodeKind.functionTypeAlias ||
+        kind == idl.LinkedNodeKind.genericTypeAlias ||
+        kind == idl.LinkedNodeKind.importDirective ||
+        kind == idl.LinkedNodeKind.methodDeclaration ||
+        kind == idl.LinkedNodeKind.mixinDeclaration ||
+        kind == idl.LinkedNodeKind.partDirective ||
+        kind == idl.LinkedNodeKind.simpleFormalParameter ||
+        kind == idl.LinkedNodeKind.typeParameter ||
+        kind == idl.LinkedNodeKind.variableDeclaration);
     assert(value == null || value >= 0);
     _variantField_16 = value;
   }
@@ -7826,15 +7760,16 @@
   }
 
   @override
-  String get namespaceDirective_selectedUri {
-    assert(kind == idl.LinkedNodeKind.exportDirective ||
-        kind == idl.LinkedNodeKind.importDirective);
-    return _variantField_20 ??= '';
+  String get name => _name ??= '';
+
+  set name(String value) {
+    this._name = value;
   }
 
   @override
-  String get simpleIdentifier_name {
-    assert(kind == idl.LinkedNodeKind.simpleIdentifier);
+  String get namespaceDirective_selectedUri {
+    assert(kind == idl.LinkedNodeKind.exportDirective ||
+        kind == idl.LinkedNodeKind.importDirective);
     return _variantField_20 ??= '';
   }
 
@@ -7850,11 +7785,6 @@
     _variantField_20 = value;
   }
 
-  set simpleIdentifier_name(String value) {
-    assert(kind == idl.LinkedNodeKind.simpleIdentifier);
-    _variantField_20 = value;
-  }
-
   set simpleStringLiteral_value(String value) {
     assert(kind == idl.LinkedNodeKind.simpleStringLiteral);
     _variantField_20 = value;
@@ -7882,12 +7812,12 @@
   @override
   idl.UnlinkedTokenType get spreadElement_spreadOperator {
     assert(kind == idl.LinkedNodeKind.spreadElement);
-    return _variantField_37 ??= idl.UnlinkedTokenType.NOTHING;
+    return _variantField_38 ??= idl.UnlinkedTokenType.NOTHING;
   }
 
   set spreadElement_spreadOperator(idl.UnlinkedTokenType value) {
     assert(kind == idl.LinkedNodeKind.spreadElement);
-    _variantField_37 = value;
+    _variantField_38 = value;
   }
 
   @override
@@ -8055,7 +7985,7 @@
     LinkedNodeBuilder classOrMixinDeclaration_typeParameters,
     int codeLength,
     int codeOffset,
-    LinkedNodeBuilder namedCompilationUnitMember_name,
+    int nameOffset,
     bool simplyBoundable_isSimplyBounded,
   })  : _kind = idl.LinkedNodeKind.classDeclaration,
         _variantField_11 = annotatedNode_comment,
@@ -8069,7 +7999,7 @@
         _variantField_13 = classOrMixinDeclaration_typeParameters,
         _variantField_33 = codeLength,
         _variantField_32 = codeOffset,
-        _variantField_10 = namedCompilationUnitMember_name,
+        _variantField_16 = nameOffset,
         _variantField_31 = simplyBoundable_isSimplyBounded;
 
   LinkedNodeBuilder.classTypeAlias({
@@ -8081,7 +8011,7 @@
     LinkedNodeBuilder classTypeAlias_implementsClause,
     int codeLength,
     int codeOffset,
-    LinkedNodeBuilder namedCompilationUnitMember_name,
+    int nameOffset,
     bool simplyBoundable_isSimplyBounded,
   })  : _kind = idl.LinkedNodeKind.classTypeAlias,
         _variantField_11 = annotatedNode_comment,
@@ -8092,7 +8022,7 @@
         _variantField_9 = classTypeAlias_implementsClause,
         _variantField_33 = codeLength,
         _variantField_32 = codeOffset,
-        _variantField_10 = namedCompilationUnitMember_name,
+        _variantField_16 = nameOffset,
         _variantField_31 = simplyBoundable_isSimplyBounded;
 
   LinkedNodeBuilder.comment({
@@ -8147,25 +8077,27 @@
     LinkedNodeBuilder annotatedNode_comment,
     List<LinkedNodeBuilder> annotatedNode_metadata,
     LinkedNodeBuilder constructorDeclaration_body,
-    LinkedNodeBuilder constructorDeclaration_name,
+    int constructorDeclaration_returnTypeOffset,
     LinkedNodeBuilder constructorDeclaration_parameters,
     LinkedNodeBuilder constructorDeclaration_redirectedConstructor,
     int codeLength,
     int codeOffset,
     int constructorDeclaration_periodOffset,
     LinkedNodeBuilder constructorDeclaration_returnType,
+    int nameOffset,
   })  : _kind = idl.LinkedNodeKind.constructorDeclaration,
         _variantField_2 = constructorDeclaration_initializers,
         _variantField_11 = annotatedNode_comment,
         _variantField_4 = annotatedNode_metadata,
         _variantField_6 = constructorDeclaration_body,
-        _variantField_7 = constructorDeclaration_name,
+        _variantField_17 = constructorDeclaration_returnTypeOffset,
         _variantField_8 = constructorDeclaration_parameters,
         _variantField_9 = constructorDeclaration_redirectedConstructor,
         _variantField_33 = codeLength,
         _variantField_32 = codeOffset,
         _variantField_19 = constructorDeclaration_periodOffset,
-        _variantField_10 = constructorDeclaration_returnType;
+        _variantField_10 = constructorDeclaration_returnType,
+        _variantField_16 = nameOffset;
 
   LinkedNodeBuilder.constructorFieldInitializer({
     LinkedNodeBuilder constructorFieldInitializer_expression,
@@ -8244,11 +8176,11 @@
   LinkedNodeBuilder.enumConstantDeclaration({
     LinkedNodeBuilder annotatedNode_comment,
     List<LinkedNodeBuilder> annotatedNode_metadata,
-    LinkedNodeBuilder enumConstantDeclaration_name,
+    int nameOffset,
   })  : _kind = idl.LinkedNodeKind.enumConstantDeclaration,
         _variantField_11 = annotatedNode_comment,
         _variantField_4 = annotatedNode_metadata,
-        _variantField_6 = enumConstantDeclaration_name;
+        _variantField_16 = nameOffset;
 
   LinkedNodeBuilder.enumDeclaration({
     List<LinkedNodeBuilder> enumDeclaration_constants,
@@ -8256,22 +8188,22 @@
     List<LinkedNodeBuilder> annotatedNode_metadata,
     int codeLength,
     int codeOffset,
-    LinkedNodeBuilder namedCompilationUnitMember_name,
+    int nameOffset,
   })  : _kind = idl.LinkedNodeKind.enumDeclaration,
         _variantField_2 = enumDeclaration_constants,
         _variantField_11 = annotatedNode_comment,
         _variantField_4 = annotatedNode_metadata,
         _variantField_33 = codeLength,
         _variantField_32 = codeOffset,
-        _variantField_10 = namedCompilationUnitMember_name;
+        _variantField_16 = nameOffset;
 
   LinkedNodeBuilder.exportDirective({
     List<LinkedNodeBuilder> namespaceDirective_combinators,
     LinkedNodeBuilder annotatedNode_comment,
     List<LinkedNodeBuilder> annotatedNode_metadata,
-    int directive_keywordOffset,
     List<LinkedNodeBuilder> namespaceDirective_configurations,
     int uriBasedDirective_uriElement,
+    int nameOffset,
     LinkedNodeBuilder uriBasedDirective_uri,
     String namespaceDirective_selectedUri,
     String uriBasedDirective_uriContent,
@@ -8279,9 +8211,9 @@
         _variantField_2 = namespaceDirective_combinators,
         _variantField_11 = annotatedNode_comment,
         _variantField_4 = annotatedNode_metadata,
-        _variantField_17 = directive_keywordOffset,
         _variantField_3 = namespaceDirective_configurations,
         _variantField_19 = uriBasedDirective_uriElement,
+        _variantField_16 = nameOffset,
         _variantField_14 = uriBasedDirective_uri,
         _variantField_20 = namespaceDirective_selectedUri,
         _variantField_22 = uriBasedDirective_uriContent;
@@ -8317,9 +8249,9 @@
     LinkedNodeBuilder fieldFormalParameter_typeParameters,
     LinkedNodeBuilder fieldFormalParameter_formalParameters,
     bool inheritsCovariant,
-    LinkedNodeBuilder normalFormalParameter_identifier,
     int codeLength,
     int codeOffset,
+    int nameOffset,
     LinkedNodeBuilder normalFormalParameter_comment,
   })  : _kind = idl.LinkedNodeKind.fieldFormalParameter,
         _variantField_24 = actualType,
@@ -8328,9 +8260,9 @@
         _variantField_7 = fieldFormalParameter_typeParameters,
         _variantField_8 = fieldFormalParameter_formalParameters,
         _variantField_27 = inheritsCovariant,
-        _variantField_9 = normalFormalParameter_identifier,
         _variantField_33 = codeLength,
         _variantField_32 = codeOffset,
+        _variantField_16 = nameOffset,
         _variantField_14 = normalFormalParameter_comment;
 
   LinkedNodeBuilder.forEachPartsWithDeclaration({
@@ -8392,7 +8324,7 @@
     LinkedNodeBuilder functionDeclaration_returnType,
     int codeLength,
     int codeOffset,
-    LinkedNodeBuilder namedCompilationUnitMember_name,
+    int nameOffset,
   })  : _kind = idl.LinkedNodeKind.functionDeclaration,
         _variantField_24 = actualReturnType,
         _variantField_11 = annotatedNode_comment,
@@ -8401,7 +8333,7 @@
         _variantField_7 = functionDeclaration_returnType,
         _variantField_33 = codeLength,
         _variantField_32 = codeOffset,
-        _variantField_10 = namedCompilationUnitMember_name;
+        _variantField_16 = nameOffset;
 
   LinkedNodeBuilder.functionDeclarationStatement({
     LinkedNodeBuilder functionDeclarationStatement_functionDeclaration,
@@ -8442,7 +8374,7 @@
     bool typeAlias_hasSelfReference,
     int codeLength,
     int codeOffset,
-    LinkedNodeBuilder namedCompilationUnitMember_name,
+    int nameOffset,
     bool simplyBoundable_isSimplyBounded,
   })  : _kind = idl.LinkedNodeKind.functionTypeAlias,
         _variantField_24 = actualReturnType,
@@ -8454,7 +8386,7 @@
         _variantField_27 = typeAlias_hasSelfReference,
         _variantField_33 = codeLength,
         _variantField_32 = codeOffset,
-        _variantField_10 = namedCompilationUnitMember_name,
+        _variantField_16 = nameOffset,
         _variantField_31 = simplyBoundable_isSimplyBounded;
 
   LinkedNodeBuilder.functionTypedFormalParameter({
@@ -8464,9 +8396,9 @@
     LinkedNodeBuilder functionTypedFormalParameter_returnType,
     LinkedNodeBuilder functionTypedFormalParameter_typeParameters,
     bool inheritsCovariant,
-    LinkedNodeBuilder normalFormalParameter_identifier,
     int codeLength,
     int codeOffset,
+    int nameOffset,
     LinkedNodeBuilder normalFormalParameter_comment,
   })  : _kind = idl.LinkedNodeKind.functionTypedFormalParameter,
         _variantField_24 = actualType,
@@ -8475,9 +8407,9 @@
         _variantField_7 = functionTypedFormalParameter_returnType,
         _variantField_8 = functionTypedFormalParameter_typeParameters,
         _variantField_27 = inheritsCovariant,
-        _variantField_9 = normalFormalParameter_identifier,
         _variantField_33 = codeLength,
         _variantField_32 = codeOffset,
+        _variantField_16 = nameOffset,
         _variantField_14 = normalFormalParameter_comment;
 
   LinkedNodeBuilder.genericFunctionType({
@@ -8503,7 +8435,7 @@
     bool typeAlias_hasSelfReference,
     int codeLength,
     int codeOffset,
-    LinkedNodeBuilder namedCompilationUnitMember_name,
+    int nameOffset,
     bool simplyBoundable_isSimplyBounded,
   })  : _kind = idl.LinkedNodeKind.genericTypeAlias,
         _variantField_11 = annotatedNode_comment,
@@ -8513,7 +8445,7 @@
         _variantField_27 = typeAlias_hasSelfReference,
         _variantField_33 = codeLength,
         _variantField_32 = codeOffset,
-        _variantField_10 = namedCompilationUnitMember_name,
+        _variantField_16 = nameOffset,
         _variantField_31 = simplyBoundable_isSimplyBounded;
 
   LinkedNodeBuilder.hideCombinator({
@@ -8548,11 +8480,11 @@
     List<LinkedNodeBuilder> namespaceDirective_combinators,
     LinkedNodeBuilder annotatedNode_comment,
     List<LinkedNodeBuilder> annotatedNode_metadata,
-    int directive_keywordOffset,
     int importDirective_prefixOffset,
     List<LinkedNodeBuilder> namespaceDirective_configurations,
     int uriBasedDirective_uriElement,
     String importDirective_prefix,
+    int nameOffset,
     LinkedNodeBuilder uriBasedDirective_uri,
     String namespaceDirective_selectedUri,
     String uriBasedDirective_uriContent,
@@ -8560,11 +8492,11 @@
         _variantField_2 = namespaceDirective_combinators,
         _variantField_11 = annotatedNode_comment,
         _variantField_4 = annotatedNode_metadata,
-        _variantField_17 = directive_keywordOffset,
         _variantField_15 = importDirective_prefixOffset,
         _variantField_3 = namespaceDirective_configurations,
         _variantField_19 = uriBasedDirective_uriElement,
         _variantField_1 = importDirective_prefix,
+        _variantField_16 = nameOffset,
         _variantField_14 = uriBasedDirective_uri,
         _variantField_20 = namespaceDirective_selectedUri,
         _variantField_22 = uriBasedDirective_uriContent;
@@ -8631,12 +8563,10 @@
     LinkedNodeBuilder annotatedNode_comment,
     List<LinkedNodeBuilder> annotatedNode_metadata,
     LinkedNodeBuilder libraryDirective_name,
-    int directive_keywordOffset,
   })  : _kind = idl.LinkedNodeKind.libraryDirective,
         _variantField_11 = annotatedNode_comment,
         _variantField_4 = annotatedNode_metadata,
-        _variantField_6 = libraryDirective_name,
-        _variantField_17 = directive_keywordOffset;
+        _variantField_6 = libraryDirective_name;
 
   LinkedNodeBuilder.libraryIdentifier({
     List<LinkedNodeBuilder> libraryIdentifier_components,
@@ -8669,7 +8599,7 @@
     LinkedNodeBuilder methodDeclaration_typeParameters,
     int codeLength,
     int codeOffset,
-    LinkedNodeBuilder methodDeclaration_name,
+    int nameOffset,
   })  : _kind = idl.LinkedNodeKind.methodDeclaration,
         _variantField_24 = actualReturnType,
         _variantField_11 = annotatedNode_comment,
@@ -8680,7 +8610,7 @@
         _variantField_9 = methodDeclaration_typeParameters,
         _variantField_33 = codeLength,
         _variantField_32 = codeOffset,
-        _variantField_10 = methodDeclaration_name;
+        _variantField_16 = nameOffset;
 
   LinkedNodeBuilder.methodInvocation({
     LinkedNodeTypeBuilder invocationExpression_invokeType,
@@ -8706,7 +8636,7 @@
     LinkedNodeBuilder classOrMixinDeclaration_typeParameters,
     int codeLength,
     int codeOffset,
-    LinkedNodeBuilder namedCompilationUnitMember_name,
+    int nameOffset,
     List<String> mixinDeclaration_superInvokedNames,
     bool simplyBoundable_isSimplyBounded,
   })  : _kind = idl.LinkedNodeKind.mixinDeclaration,
@@ -8718,7 +8648,7 @@
         _variantField_13 = classOrMixinDeclaration_typeParameters,
         _variantField_33 = codeLength,
         _variantField_32 = codeOffset,
-        _variantField_10 = namedCompilationUnitMember_name,
+        _variantField_16 = nameOffset,
         _variantField_36 = mixinDeclaration_superInvokedNames,
         _variantField_31 = simplyBoundable_isSimplyBounded;
 
@@ -8761,15 +8691,15 @@
   LinkedNodeBuilder.partDirective({
     LinkedNodeBuilder annotatedNode_comment,
     List<LinkedNodeBuilder> annotatedNode_metadata,
-    int directive_keywordOffset,
     int uriBasedDirective_uriElement,
+    int nameOffset,
     LinkedNodeBuilder uriBasedDirective_uri,
     String uriBasedDirective_uriContent,
   })  : _kind = idl.LinkedNodeKind.partDirective,
         _variantField_11 = annotatedNode_comment,
         _variantField_4 = annotatedNode_metadata,
-        _variantField_17 = directive_keywordOffset,
         _variantField_19 = uriBasedDirective_uriElement,
+        _variantField_16 = nameOffset,
         _variantField_14 = uriBasedDirective_uri,
         _variantField_22 = uriBasedDirective_uriContent;
 
@@ -8778,13 +8708,11 @@
     List<LinkedNodeBuilder> annotatedNode_metadata,
     LinkedNodeBuilder partOfDirective_libraryName,
     LinkedNodeBuilder partOfDirective_uri,
-    int directive_keywordOffset,
   })  : _kind = idl.LinkedNodeKind.partOfDirective,
         _variantField_11 = annotatedNode_comment,
         _variantField_4 = annotatedNode_metadata,
         _variantField_6 = partOfDirective_libraryName,
-        _variantField_7 = partOfDirective_uri,
-        _variantField_17 = directive_keywordOffset;
+        _variantField_7 = partOfDirective_uri;
 
   LinkedNodeBuilder.postfixExpression({
     LinkedNodeBuilder postfixExpression_operand,
@@ -8872,9 +8800,9 @@
     List<LinkedNodeBuilder> normalFormalParameter_metadata,
     LinkedNodeBuilder simpleFormalParameter_type,
     bool inheritsCovariant,
-    LinkedNodeBuilder normalFormalParameter_identifier,
     int codeLength,
     int codeOffset,
+    int nameOffset,
     LinkedNodeBuilder normalFormalParameter_comment,
     TopLevelInferenceErrorBuilder topLevelTypeInferenceError,
   })  : _kind = idl.LinkedNodeKind.simpleFormalParameter,
@@ -8882,9 +8810,9 @@
         _variantField_4 = normalFormalParameter_metadata,
         _variantField_6 = simpleFormalParameter_type,
         _variantField_27 = inheritsCovariant,
-        _variantField_9 = normalFormalParameter_identifier,
         _variantField_33 = codeLength,
         _variantField_32 = codeOffset,
+        _variantField_16 = nameOffset,
         _variantField_14 = normalFormalParameter_comment,
         _variantField_34 = topLevelTypeInferenceError;
 
@@ -8892,14 +8820,10 @@
     LinkedNodeTypeBuilder simpleIdentifier_elementType,
     int simpleIdentifier_element,
     LinkedNodeTypeBuilder expression_type,
-    int simpleIdentifier_offset,
-    String simpleIdentifier_name,
   })  : _kind = idl.LinkedNodeKind.simpleIdentifier,
         _variantField_23 = simpleIdentifier_elementType,
         _variantField_15 = simpleIdentifier_element,
-        _variantField_25 = expression_type,
-        _variantField_16 = simpleIdentifier_offset,
-        _variantField_20 = simpleIdentifier_name;
+        _variantField_25 = expression_type;
 
   LinkedNodeBuilder.simpleStringLiteral({
     String simpleStringLiteral_value,
@@ -8911,7 +8835,7 @@
     idl.UnlinkedTokenType spreadElement_spreadOperator,
   })  : _kind = idl.LinkedNodeKind.spreadElement,
         _variantField_6 = spreadElement_expression,
-        _variantField_37 = spreadElement_spreadOperator;
+        _variantField_38 = spreadElement_spreadOperator;
 
   LinkedNodeBuilder.stringInterpolation({
     List<LinkedNodeBuilder> stringInterpolation_elements,
@@ -9012,18 +8936,18 @@
     LinkedNodeBuilder annotatedNode_comment,
     List<LinkedNodeBuilder> annotatedNode_metadata,
     LinkedNodeBuilder typeParameter_bound,
-    LinkedNodeBuilder typeParameter_name,
     LinkedNodeTypeBuilder typeParameter_defaultType,
     int codeLength,
     int codeOffset,
+    int nameOffset,
   })  : _kind = idl.LinkedNodeKind.typeParameter,
         _variantField_11 = annotatedNode_comment,
         _variantField_4 = annotatedNode_metadata,
         _variantField_6 = typeParameter_bound,
-        _variantField_7 = typeParameter_name,
         _variantField_23 = typeParameter_defaultType,
         _variantField_33 = codeLength,
-        _variantField_32 = codeOffset;
+        _variantField_32 = codeOffset,
+        _variantField_16 = nameOffset;
 
   LinkedNodeBuilder.typeParameterList({
     List<LinkedNodeBuilder> typeParameterList_typeParameters,
@@ -9035,20 +8959,20 @@
     LinkedNodeBuilder annotatedNode_comment,
     List<LinkedNodeBuilder> annotatedNode_metadata,
     LinkedNodeBuilder variableDeclaration_initializer,
-    LinkedNodeBuilder variableDeclaration_name,
     bool inheritsCovariant,
     int codeLength,
     int codeOffset,
+    int nameOffset,
     TopLevelInferenceErrorBuilder topLevelTypeInferenceError,
   })  : _kind = idl.LinkedNodeKind.variableDeclaration,
         _variantField_24 = actualType,
         _variantField_11 = annotatedNode_comment,
         _variantField_4 = annotatedNode_metadata,
         _variantField_6 = variableDeclaration_initializer,
-        _variantField_7 = variableDeclaration_name,
         _variantField_27 = inheritsCovariant,
         _variantField_33 = codeLength,
         _variantField_32 = codeOffset,
+        _variantField_16 = nameOffset,
         _variantField_34 = topLevelTypeInferenceError;
 
   LinkedNodeBuilder.variableDeclarationList({
@@ -9146,7 +9070,7 @@
       classOrMixinDeclaration_typeParameters?.flushInformative();
       codeLength = null;
       codeOffset = null;
-      namedCompilationUnitMember_name?.flushInformative();
+      nameOffset = null;
     } else if (kind == idl.LinkedNodeKind.classTypeAlias) {
       annotatedNode_comment = null;
       annotatedNode_metadata?.forEach((b) => b.flushInformative());
@@ -9156,7 +9080,7 @@
       classTypeAlias_implementsClause?.flushInformative();
       codeLength = null;
       codeOffset = null;
-      namedCompilationUnitMember_name?.flushInformative();
+      nameOffset = null;
     } else if (kind == idl.LinkedNodeKind.comment) {
       comment_references?.forEach((b) => b.flushInformative());
     } else if (kind == idl.LinkedNodeKind.commentReference) {
@@ -9181,13 +9105,14 @@
       annotatedNode_comment = null;
       annotatedNode_metadata?.forEach((b) => b.flushInformative());
       constructorDeclaration_body?.flushInformative();
-      constructorDeclaration_name?.flushInformative();
+      constructorDeclaration_returnTypeOffset = null;
       constructorDeclaration_parameters?.flushInformative();
       constructorDeclaration_redirectedConstructor?.flushInformative();
       codeLength = null;
       codeOffset = null;
       constructorDeclaration_periodOffset = null;
       constructorDeclaration_returnType?.flushInformative();
+      nameOffset = null;
     } else if (kind == idl.LinkedNodeKind.constructorFieldInitializer) {
       constructorFieldInitializer_expression?.flushInformative();
       constructorFieldInitializer_fieldName?.flushInformative();
@@ -9218,20 +9143,20 @@
     } else if (kind == idl.LinkedNodeKind.enumConstantDeclaration) {
       annotatedNode_comment = null;
       annotatedNode_metadata?.forEach((b) => b.flushInformative());
-      enumConstantDeclaration_name?.flushInformative();
+      nameOffset = null;
     } else if (kind == idl.LinkedNodeKind.enumDeclaration) {
       enumDeclaration_constants?.forEach((b) => b.flushInformative());
       annotatedNode_comment = null;
       annotatedNode_metadata?.forEach((b) => b.flushInformative());
       codeLength = null;
       codeOffset = null;
-      namedCompilationUnitMember_name?.flushInformative();
+      nameOffset = null;
     } else if (kind == idl.LinkedNodeKind.exportDirective) {
       namespaceDirective_combinators?.forEach((b) => b.flushInformative());
       annotatedNode_comment = null;
       annotatedNode_metadata?.forEach((b) => b.flushInformative());
-      directive_keywordOffset = null;
       namespaceDirective_configurations?.forEach((b) => b.flushInformative());
+      nameOffset = null;
       uriBasedDirective_uri?.flushInformative();
     } else if (kind == idl.LinkedNodeKind.expressionFunctionBody) {
       expressionFunctionBody_expression?.flushInformative();
@@ -9249,9 +9174,9 @@
       fieldFormalParameter_type?.flushInformative();
       fieldFormalParameter_typeParameters?.flushInformative();
       fieldFormalParameter_formalParameters?.flushInformative();
-      normalFormalParameter_identifier?.flushInformative();
       codeLength = null;
       codeOffset = null;
+      nameOffset = null;
       normalFormalParameter_comment = null;
     } else if (kind == idl.LinkedNodeKind.forEachPartsWithDeclaration) {
       forEachParts_iterable?.flushInformative();
@@ -9283,7 +9208,7 @@
       functionDeclaration_returnType?.flushInformative();
       codeLength = null;
       codeOffset = null;
-      namedCompilationUnitMember_name?.flushInformative();
+      nameOffset = null;
     } else if (kind == idl.LinkedNodeKind.functionDeclarationStatement) {
       functionDeclarationStatement_functionDeclaration?.flushInformative();
     } else if (kind == idl.LinkedNodeKind.functionExpression) {
@@ -9306,16 +9231,16 @@
       functionTypeAlias_typeParameters?.flushInformative();
       codeLength = null;
       codeOffset = null;
-      namedCompilationUnitMember_name?.flushInformative();
+      nameOffset = null;
     } else if (kind == idl.LinkedNodeKind.functionTypedFormalParameter) {
       actualType?.flushInformative();
       normalFormalParameter_metadata?.forEach((b) => b.flushInformative());
       functionTypedFormalParameter_formalParameters?.flushInformative();
       functionTypedFormalParameter_returnType?.flushInformative();
       functionTypedFormalParameter_typeParameters?.flushInformative();
-      normalFormalParameter_identifier?.flushInformative();
       codeLength = null;
       codeOffset = null;
+      nameOffset = null;
       normalFormalParameter_comment = null;
     } else if (kind == idl.LinkedNodeKind.genericFunctionType) {
       actualReturnType?.flushInformative();
@@ -9330,7 +9255,7 @@
       genericTypeAlias_functionType?.flushInformative();
       codeLength = null;
       codeOffset = null;
-      namedCompilationUnitMember_name?.flushInformative();
+      nameOffset = null;
     } else if (kind == idl.LinkedNodeKind.hideCombinator) {
     } else if (kind == idl.LinkedNodeKind.ifElement) {
       ifMixin_condition?.flushInformative();
@@ -9346,8 +9271,8 @@
       namespaceDirective_combinators?.forEach((b) => b.flushInformative());
       annotatedNode_comment = null;
       annotatedNode_metadata?.forEach((b) => b.flushInformative());
-      directive_keywordOffset = null;
       namespaceDirective_configurations?.forEach((b) => b.flushInformative());
+      nameOffset = null;
       uriBasedDirective_uri?.flushInformative();
     } else if (kind == idl.LinkedNodeKind.indexExpression) {
       indexExpression_index?.flushInformative();
@@ -9376,7 +9301,6 @@
       annotatedNode_comment = null;
       annotatedNode_metadata?.forEach((b) => b.flushInformative());
       libraryDirective_name?.flushInformative();
-      directive_keywordOffset = null;
     } else if (kind == idl.LinkedNodeKind.libraryIdentifier) {
       libraryIdentifier_components?.forEach((b) => b.flushInformative());
     } else if (kind == idl.LinkedNodeKind.listLiteral) {
@@ -9396,7 +9320,7 @@
       methodDeclaration_typeParameters?.flushInformative();
       codeLength = null;
       codeOffset = null;
-      methodDeclaration_name?.flushInformative();
+      nameOffset = null;
     } else if (kind == idl.LinkedNodeKind.methodInvocation) {
       invocationExpression_invokeType?.flushInformative();
       methodInvocation_methodName?.flushInformative();
@@ -9413,7 +9337,7 @@
       classOrMixinDeclaration_typeParameters?.flushInformative();
       codeLength = null;
       codeOffset = null;
-      namedCompilationUnitMember_name?.flushInformative();
+      nameOffset = null;
     } else if (kind == idl.LinkedNodeKind.namedExpression) {
       namedExpression_expression?.flushInformative();
       namedExpression_name?.flushInformative();
@@ -9431,14 +9355,13 @@
     } else if (kind == idl.LinkedNodeKind.partDirective) {
       annotatedNode_comment = null;
       annotatedNode_metadata?.forEach((b) => b.flushInformative());
-      directive_keywordOffset = null;
+      nameOffset = null;
       uriBasedDirective_uri?.flushInformative();
     } else if (kind == idl.LinkedNodeKind.partOfDirective) {
       annotatedNode_comment = null;
       annotatedNode_metadata?.forEach((b) => b.flushInformative());
       partOfDirective_libraryName?.flushInformative();
       partOfDirective_uri?.flushInformative();
-      directive_keywordOffset = null;
     } else if (kind == idl.LinkedNodeKind.postfixExpression) {
       postfixExpression_operand?.flushInformative();
       postfixExpression_elementType?.flushInformative();
@@ -9472,15 +9395,14 @@
       actualType?.flushInformative();
       normalFormalParameter_metadata?.forEach((b) => b.flushInformative());
       simpleFormalParameter_type?.flushInformative();
-      normalFormalParameter_identifier?.flushInformative();
       codeLength = null;
       codeOffset = null;
+      nameOffset = null;
       normalFormalParameter_comment = null;
       topLevelTypeInferenceError?.flushInformative();
     } else if (kind == idl.LinkedNodeKind.simpleIdentifier) {
       simpleIdentifier_elementType?.flushInformative();
       expression_type?.flushInformative();
-      simpleIdentifier_offset = null;
     } else if (kind == idl.LinkedNodeKind.simpleStringLiteral) {
     } else if (kind == idl.LinkedNodeKind.spreadElement) {
       spreadElement_expression?.flushInformative();
@@ -9527,10 +9449,10 @@
       annotatedNode_comment = null;
       annotatedNode_metadata?.forEach((b) => b.flushInformative());
       typeParameter_bound?.flushInformative();
-      typeParameter_name?.flushInformative();
       typeParameter_defaultType?.flushInformative();
       codeLength = null;
       codeOffset = null;
+      nameOffset = null;
     } else if (kind == idl.LinkedNodeKind.typeParameterList) {
       typeParameterList_typeParameters?.forEach((b) => b.flushInformative());
     } else if (kind == idl.LinkedNodeKind.variableDeclaration) {
@@ -9538,9 +9460,9 @@
       annotatedNode_comment = null;
       annotatedNode_metadata?.forEach((b) => b.flushInformative());
       variableDeclaration_initializer?.flushInformative();
-      variableDeclaration_name?.flushInformative();
       codeLength = null;
       codeOffset = null;
+      nameOffset = null;
       topLevelTypeInferenceError?.flushInformative();
     } else if (kind == idl.LinkedNodeKind.variableDeclarationList) {
       variableDeclarationList_variables?.forEach((b) => b.flushInformative());
@@ -9572,6 +9494,7 @@
         }
       }
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.annotation) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.annotation_arguments != null);
@@ -9584,6 +9507,7 @@
       signature.addInt(this.flags ?? 0);
       signature.addBool(this.annotation_elementType != null);
       this.annotation_elementType?.collectApiSignature(signature);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.argumentList) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       if (this.argumentList_arguments == null) {
@@ -9595,6 +9519,7 @@
         }
       }
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.asExpression) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.asExpression_expression != null);
@@ -9604,6 +9529,7 @@
       signature.addInt(this.flags ?? 0);
       signature.addBool(this.expression_type != null);
       this.expression_type?.collectApiSignature(signature);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.assertInitializer) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.assertInitializer_condition != null);
@@ -9611,6 +9537,7 @@
       signature.addBool(this.assertInitializer_message != null);
       this.assertInitializer_message?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.assertStatement) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.assertStatement_condition != null);
@@ -9618,6 +9545,7 @@
       signature.addBool(this.assertStatement_message != null);
       this.assertStatement_message?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.assignmentExpression) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.assignmentExpression_leftHandSide != null);
@@ -9633,6 +9561,7 @@
       signature.addInt(this.assignmentExpression_operator == null
           ? 0
           : this.assignmentExpression_operator.index);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.awaitExpression) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.awaitExpression_expression != null);
@@ -9640,6 +9569,7 @@
       signature.addInt(this.flags ?? 0);
       signature.addBool(this.expression_type != null);
       this.expression_type?.collectApiSignature(signature);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.binaryExpression) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.binaryExpression_leftOperand != null);
@@ -9657,6 +9587,7 @@
       signature.addInt(this.binaryExpression_operator == null
           ? 0
           : this.binaryExpression_operator.index);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.block) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       if (this.block_statements == null) {
@@ -9668,20 +9599,24 @@
         }
       }
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.blockFunctionBody) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.blockFunctionBody_block != null);
       this.blockFunctionBody_block?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.booleanLiteral) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addInt(this.flags ?? 0);
       signature.addBool(this.booleanLiteral_value == true);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.breakStatement) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.breakStatement_label != null);
       this.breakStatement_label?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.cascadeExpression) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       if (this.cascadeExpression_sections == null) {
@@ -9697,6 +9632,7 @@
       signature.addInt(this.flags ?? 0);
       signature.addBool(this.expression_type != null);
       this.expression_type?.collectApiSignature(signature);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.catchClause) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.catchClause_body != null);
@@ -9708,6 +9644,7 @@
       signature.addBool(this.catchClause_stackTraceParameter != null);
       this.catchClause_stackTraceParameter?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.classDeclaration) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       if (this.annotatedNode_metadata == null) {
@@ -9732,8 +9669,6 @@
       this.classDeclaration_withClause?.collectApiSignature(signature);
       signature.addBool(this.classDeclaration_nativeClause != null);
       this.classDeclaration_nativeClause?.collectApiSignature(signature);
-      signature.addBool(this.namedCompilationUnitMember_name != null);
-      this.namedCompilationUnitMember_name?.collectApiSignature(signature);
       signature.addBool(this.classOrMixinDeclaration_implementsClause != null);
       this
           .classOrMixinDeclaration_implementsClause
@@ -9745,6 +9680,7 @@
       signature.addInt(this.flags ?? 0);
       signature.addBool(this.classDeclaration_isDartObject == true);
       signature.addBool(this.simplyBoundable_isSimplyBounded == true);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.classTypeAlias) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       if (this.annotatedNode_metadata == null) {
@@ -9763,10 +9699,9 @@
       this.classTypeAlias_withClause?.collectApiSignature(signature);
       signature.addBool(this.classTypeAlias_implementsClause != null);
       this.classTypeAlias_implementsClause?.collectApiSignature(signature);
-      signature.addBool(this.namedCompilationUnitMember_name != null);
-      this.namedCompilationUnitMember_name?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
       signature.addBool(this.simplyBoundable_isSimplyBounded == true);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.comment) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       if (this.comment_references == null) {
@@ -9787,11 +9722,13 @@
           signature.addString(x);
         }
       }
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.commentReference) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.commentReference_identifier != null);
       this.commentReference_identifier?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.compilationUnit) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       if (this.compilationUnit_declarations == null) {
@@ -9813,6 +9750,7 @@
       signature.addBool(this.compilationUnit_scriptTag != null);
       this.compilationUnit_scriptTag?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.conditionalExpression) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.conditionalExpression_condition != null);
@@ -9824,6 +9762,7 @@
       signature.addInt(this.flags ?? 0);
       signature.addBool(this.expression_type != null);
       this.expression_type?.collectApiSignature(signature);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.configuration) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.configuration_name != null);
@@ -9833,6 +9772,7 @@
       signature.addBool(this.configuration_uri != null);
       this.configuration_uri?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.constructorDeclaration) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       if (this.constructorDeclaration_initializers == null) {
@@ -9853,8 +9793,6 @@
       }
       signature.addBool(this.constructorDeclaration_body != null);
       this.constructorDeclaration_body?.collectApiSignature(signature);
-      signature.addBool(this.constructorDeclaration_name != null);
-      this.constructorDeclaration_name?.collectApiSignature(signature);
       signature.addBool(this.constructorDeclaration_parameters != null);
       this.constructorDeclaration_parameters?.collectApiSignature(signature);
       signature
@@ -9865,6 +9803,7 @@
       signature.addBool(this.constructorDeclaration_returnType != null);
       this.constructorDeclaration_returnType?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.constructorFieldInitializer) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.constructorFieldInitializer_expression != null);
@@ -9876,6 +9815,7 @@
           .constructorFieldInitializer_fieldName
           ?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.constructorName) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.constructorName_name != null);
@@ -9886,11 +9826,13 @@
       signature.addInt(this.flags ?? 0);
       signature.addBool(this.constructorName_elementType != null);
       this.constructorName_elementType?.collectApiSignature(signature);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.continueStatement) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.continueStatement_label != null);
       this.continueStatement_label?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.declaredIdentifier) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       if (this.annotatedNode_metadata == null) {
@@ -9906,6 +9848,7 @@
       signature.addBool(this.declaredIdentifier_type != null);
       this.declaredIdentifier_type?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.defaultFormalParameter) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.defaultFormalParameter_defaultValue != null);
@@ -9916,6 +9859,7 @@
       signature.addInt(this.defaultFormalParameter_kind == null
           ? 0
           : this.defaultFormalParameter_kind.index);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.doStatement) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.doStatement_body != null);
@@ -9923,6 +9867,7 @@
       signature.addBool(this.doStatement_condition != null);
       this.doStatement_condition?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.dottedName) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       if (this.dottedName_components == null) {
@@ -9934,18 +9879,22 @@
         }
       }
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.doubleLiteral) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addInt(this.flags ?? 0);
       signature.addDouble(this.doubleLiteral_value ?? 0.0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.emptyFunctionBody) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addInt(this.emptyFunctionBody_fake ?? 0);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.emptyStatement) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addInt(this.emptyStatement_fake ?? 0);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.enumConstantDeclaration) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       if (this.annotatedNode_metadata == null) {
@@ -9956,9 +9905,8 @@
           x?.collectApiSignature(signature);
         }
       }
-      signature.addBool(this.enumConstantDeclaration_name != null);
-      this.enumConstantDeclaration_name?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.enumDeclaration) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       if (this.enumDeclaration_constants == null) {
@@ -9977,9 +9925,8 @@
           x?.collectApiSignature(signature);
         }
       }
-      signature.addBool(this.namedCompilationUnitMember_name != null);
-      this.namedCompilationUnitMember_name?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.exportDirective) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       if (this.namespaceDirective_combinators == null) {
@@ -10012,21 +9959,25 @@
       signature.addInt(this.uriBasedDirective_uriElement ?? 0);
       signature.addString(this.namespaceDirective_selectedUri ?? '');
       signature.addString(this.uriBasedDirective_uriContent ?? '');
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.expressionFunctionBody) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.expressionFunctionBody_expression != null);
       this.expressionFunctionBody_expression?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.expressionStatement) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.expressionStatement_expression != null);
       this.expressionStatement_expression?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.extendsClause) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.extendsClause_superclass != null);
       this.extendsClause_superclass?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.fieldDeclaration) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       if (this.annotatedNode_metadata == null) {
@@ -10040,6 +9991,7 @@
       signature.addBool(this.fieldDeclaration_fields != null);
       this.fieldDeclaration_fields?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.fieldFormalParameter) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       if (this.normalFormalParameter_metadata == null) {
@@ -10058,12 +10010,11 @@
       this
           .fieldFormalParameter_formalParameters
           ?.collectApiSignature(signature);
-      signature.addBool(this.normalFormalParameter_identifier != null);
-      this.normalFormalParameter_identifier?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
       signature.addBool(this.actualType != null);
       this.actualType?.collectApiSignature(signature);
       signature.addBool(this.inheritsCovariant == true);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.forEachPartsWithDeclaration) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.forEachParts_iterable != null);
@@ -10073,6 +10024,7 @@
           .forEachPartsWithDeclaration_loopVariable
           ?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.forEachPartsWithIdentifier) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.forEachParts_iterable != null);
@@ -10082,6 +10034,7 @@
           .forEachPartsWithIdentifier_identifier
           ?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.forElement) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.forMixin_forLoopParts != null);
@@ -10089,6 +10042,7 @@
       signature.addBool(this.forElement_body != null);
       this.forElement_body?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.forPartsWithDeclarations) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       if (this.forParts_updaters == null) {
@@ -10104,6 +10058,7 @@
       signature.addBool(this.forPartsWithDeclarations_variables != null);
       this.forPartsWithDeclarations_variables?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.forPartsWithExpression) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       if (this.forParts_updaters == null) {
@@ -10121,6 +10076,7 @@
           .forPartsWithExpression_initialization
           ?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.forStatement) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.forMixin_forLoopParts != null);
@@ -10128,6 +10084,7 @@
       signature.addBool(this.forStatement_body != null);
       this.forStatement_body?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.formalParameterList) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       if (this.formalParameterList_parameters == null) {
@@ -10139,6 +10096,7 @@
         }
       }
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.functionDeclaration) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       if (this.annotatedNode_metadata == null) {
@@ -10155,11 +10113,10 @@
           ?.collectApiSignature(signature);
       signature.addBool(this.functionDeclaration_returnType != null);
       this.functionDeclaration_returnType?.collectApiSignature(signature);
-      signature.addBool(this.namedCompilationUnitMember_name != null);
-      this.namedCompilationUnitMember_name?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
       signature.addBool(this.actualReturnType != null);
       this.actualReturnType?.collectApiSignature(signature);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.functionDeclarationStatement) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(
@@ -10168,6 +10125,7 @@
           .functionDeclarationStatement_functionDeclaration
           ?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.functionExpression) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.functionExpression_body != null);
@@ -10179,6 +10137,7 @@
       signature.addInt(this.flags ?? 0);
       signature.addBool(this.actualReturnType != null);
       this.actualReturnType?.collectApiSignature(signature);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.functionExpressionInvocation) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.functionExpressionInvocation_function != null);
@@ -10194,6 +10153,7 @@
       this.invocationExpression_invokeType?.collectApiSignature(signature);
       signature.addBool(this.expression_type != null);
       this.expression_type?.collectApiSignature(signature);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.functionTypeAlias) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       if (this.annotatedNode_metadata == null) {
@@ -10210,13 +10170,12 @@
       this.functionTypeAlias_returnType?.collectApiSignature(signature);
       signature.addBool(this.functionTypeAlias_typeParameters != null);
       this.functionTypeAlias_typeParameters?.collectApiSignature(signature);
-      signature.addBool(this.namedCompilationUnitMember_name != null);
-      this.namedCompilationUnitMember_name?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
       signature.addBool(this.actualReturnType != null);
       this.actualReturnType?.collectApiSignature(signature);
       signature.addBool(this.typeAlias_hasSelfReference == true);
       signature.addBool(this.simplyBoundable_isSimplyBounded == true);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.functionTypedFormalParameter) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       if (this.normalFormalParameter_metadata == null) {
@@ -10241,12 +10200,11 @@
       this
           .functionTypedFormalParameter_typeParameters
           ?.collectApiSignature(signature);
-      signature.addBool(this.normalFormalParameter_identifier != null);
-      this.normalFormalParameter_identifier?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
       signature.addBool(this.actualType != null);
       this.actualType?.collectApiSignature(signature);
       signature.addBool(this.inheritsCovariant == true);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.genericFunctionType) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.genericFunctionType_typeParameters != null);
@@ -10261,6 +10219,7 @@
       this.actualReturnType?.collectApiSignature(signature);
       signature.addBool(this.genericFunctionType_type != null);
       this.genericFunctionType_type?.collectApiSignature(signature);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.genericTypeAlias) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       if (this.annotatedNode_metadata == null) {
@@ -10275,11 +10234,10 @@
       this.genericTypeAlias_typeParameters?.collectApiSignature(signature);
       signature.addBool(this.genericTypeAlias_functionType != null);
       this.genericTypeAlias_functionType?.collectApiSignature(signature);
-      signature.addBool(this.namedCompilationUnitMember_name != null);
-      this.namedCompilationUnitMember_name?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
       signature.addBool(this.typeAlias_hasSelfReference == true);
       signature.addBool(this.simplyBoundable_isSimplyBounded == true);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.hideCombinator) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addInt(this.flags ?? 0);
@@ -10291,6 +10249,7 @@
           signature.addString(x);
         }
       }
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.ifElement) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.ifMixin_condition != null);
@@ -10300,6 +10259,7 @@
       signature.addBool(this.ifElement_elseElement != null);
       this.ifElement_elseElement?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.ifStatement) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.ifMixin_condition != null);
@@ -10309,6 +10269,7 @@
       signature.addBool(this.ifStatement_thenStatement != null);
       this.ifStatement_thenStatement?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.implementsClause) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       if (this.implementsClause_interfaces == null) {
@@ -10320,6 +10281,7 @@
         }
       }
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.importDirective) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addString(this.importDirective_prefix ?? '');
@@ -10354,6 +10316,7 @@
       signature.addInt(this.uriBasedDirective_uriElement ?? 0);
       signature.addString(this.namespaceDirective_selectedUri ?? '');
       signature.addString(this.uriBasedDirective_uriContent ?? '');
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.indexExpression) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.indexExpression_index != null);
@@ -10366,6 +10329,7 @@
       this.indexExpression_elementType?.collectApiSignature(signature);
       signature.addBool(this.expression_type != null);
       this.expression_type?.collectApiSignature(signature);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.instanceCreationExpression) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       if (this.instanceCreationExpression_arguments == null) {
@@ -10388,19 +10352,23 @@
       signature.addInt(this.flags ?? 0);
       signature.addBool(this.expression_type != null);
       this.expression_type?.collectApiSignature(signature);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.integerLiteral) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addInt(this.integerLiteral_value ?? 0);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.interpolationExpression) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.interpolationExpression_expression != null);
       this.interpolationExpression_expression?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.interpolationString) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addInt(this.flags ?? 0);
       signature.addString(this.interpolationString_value ?? '');
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.isExpression) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.isExpression_expression != null);
@@ -10408,11 +10376,13 @@
       signature.addBool(this.isExpression_type != null);
       this.isExpression_type?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.label) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.label_label != null);
       this.label_label?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.labeledStatement) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       if (this.labeledStatement_labels == null) {
@@ -10426,6 +10396,7 @@
       signature.addBool(this.labeledStatement_statement != null);
       this.labeledStatement_statement?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.libraryDirective) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       if (this.annotatedNode_metadata == null) {
@@ -10439,6 +10410,7 @@
       signature.addBool(this.libraryDirective_name != null);
       this.libraryDirective_name?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.libraryIdentifier) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       if (this.libraryIdentifier_components == null) {
@@ -10450,6 +10422,7 @@
         }
       }
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.listLiteral) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       if (this.typedLiteral_typeArguments == null) {
@@ -10471,6 +10444,7 @@
       signature.addInt(this.flags ?? 0);
       signature.addBool(this.expression_type != null);
       this.expression_type?.collectApiSignature(signature);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.mapLiteralEntry) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.mapLiteralEntry_key != null);
@@ -10478,6 +10452,7 @@
       signature.addBool(this.mapLiteralEntry_value != null);
       this.mapLiteralEntry_value?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.methodDeclaration) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       if (this.annotatedNode_metadata == null) {
@@ -10496,11 +10471,10 @@
       this.methodDeclaration_returnType?.collectApiSignature(signature);
       signature.addBool(this.methodDeclaration_typeParameters != null);
       this.methodDeclaration_typeParameters?.collectApiSignature(signature);
-      signature.addBool(this.methodDeclaration_name != null);
-      this.methodDeclaration_name?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
       signature.addBool(this.actualReturnType != null);
       this.actualReturnType?.collectApiSignature(signature);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.methodInvocation) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.methodInvocation_methodName != null);
@@ -10516,6 +10490,7 @@
       this.invocationExpression_invokeType?.collectApiSignature(signature);
       signature.addBool(this.expression_type != null);
       this.expression_type?.collectApiSignature(signature);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.mixinDeclaration) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       if (this.annotatedNode_metadata == null) {
@@ -10536,8 +10511,6 @@
       }
       signature.addBool(this.mixinDeclaration_onClause != null);
       this.mixinDeclaration_onClause?.collectApiSignature(signature);
-      signature.addBool(this.namedCompilationUnitMember_name != null);
-      this.namedCompilationUnitMember_name?.collectApiSignature(signature);
       signature.addBool(this.classOrMixinDeclaration_implementsClause != null);
       this
           .classOrMixinDeclaration_implementsClause
@@ -10556,6 +10529,7 @@
           signature.addString(x);
         }
       }
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.namedExpression) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.namedExpression_expression != null);
@@ -10563,22 +10537,26 @@
       signature.addBool(this.namedExpression_name != null);
       this.namedExpression_name?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.nativeClause) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.nativeClause_name != null);
       this.nativeClause_name?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.nativeFunctionBody) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.nativeFunctionBody_stringLiteral != null);
       this.nativeFunctionBody_stringLiteral?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.nullLiteral) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addInt(this.nullLiteral_fake ?? 0);
       signature.addInt(this.flags ?? 0);
       signature.addBool(this.expression_type != null);
       this.expression_type?.collectApiSignature(signature);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.onClause) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       if (this.onClause_superclassConstraints == null) {
@@ -10590,6 +10568,7 @@
         }
       }
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.parenthesizedExpression) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.parenthesizedExpression_expression != null);
@@ -10597,6 +10576,7 @@
       signature.addInt(this.flags ?? 0);
       signature.addBool(this.expression_type != null);
       this.expression_type?.collectApiSignature(signature);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.partDirective) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       if (this.annotatedNode_metadata == null) {
@@ -10612,6 +10592,7 @@
       signature.addInt(this.flags ?? 0);
       signature.addInt(this.uriBasedDirective_uriElement ?? 0);
       signature.addString(this.uriBasedDirective_uriContent ?? '');
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.partOfDirective) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       if (this.annotatedNode_metadata == null) {
@@ -10627,6 +10608,7 @@
       signature.addBool(this.partOfDirective_uri != null);
       this.partOfDirective_uri?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.postfixExpression) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.postfixExpression_operand != null);
@@ -10640,6 +10622,7 @@
       signature.addInt(this.postfixExpression_operator == null
           ? 0
           : this.postfixExpression_operator.index);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.prefixExpression) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.prefixExpression_operand != null);
@@ -10653,6 +10636,7 @@
       signature.addInt(this.prefixExpression_operator == null
           ? 0
           : this.prefixExpression_operator.index);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.prefixedIdentifier) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.prefixedIdentifier_identifier != null);
@@ -10662,6 +10646,7 @@
       signature.addInt(this.flags ?? 0);
       signature.addBool(this.expression_type != null);
       this.expression_type?.collectApiSignature(signature);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.propertyAccess) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.propertyAccess_propertyName != null);
@@ -10674,6 +10659,7 @@
       signature.addInt(this.propertyAccess_operator == null
           ? 0
           : this.propertyAccess_operator.index);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.redirectingConstructorInvocation) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature
@@ -10693,16 +10679,19 @@
       this
           .redirectingConstructorInvocation_elementType
           ?.collectApiSignature(signature);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.rethrowExpression) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addInt(this.flags ?? 0);
       signature.addBool(this.expression_type != null);
       this.expression_type?.collectApiSignature(signature);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.returnStatement) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.returnStatement_expression != null);
       this.returnStatement_expression?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.setOrMapLiteral) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       if (this.typedLiteral_typeArguments == null) {
@@ -10724,6 +10713,7 @@
       signature.addInt(this.flags ?? 0);
       signature.addBool(this.expression_type != null);
       this.expression_type?.collectApiSignature(signature);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.showCombinator) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addInt(this.flags ?? 0);
@@ -10735,6 +10725,7 @@
           signature.addString(x);
         }
       }
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.simpleFormalParameter) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       if (this.normalFormalParameter_metadata == null) {
@@ -10747,32 +10738,33 @@
       }
       signature.addBool(this.simpleFormalParameter_type != null);
       this.simpleFormalParameter_type?.collectApiSignature(signature);
-      signature.addBool(this.normalFormalParameter_identifier != null);
-      this.normalFormalParameter_identifier?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
       signature.addBool(this.actualType != null);
       this.actualType?.collectApiSignature(signature);
       signature.addBool(this.inheritsCovariant == true);
       signature.addBool(this.topLevelTypeInferenceError != null);
       this.topLevelTypeInferenceError?.collectApiSignature(signature);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.simpleIdentifier) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addInt(this.simpleIdentifier_element ?? 0);
       signature.addInt(this.flags ?? 0);
-      signature.addString(this.simpleIdentifier_name ?? '');
       signature.addBool(this.simpleIdentifier_elementType != null);
       this.simpleIdentifier_elementType?.collectApiSignature(signature);
       signature.addBool(this.expression_type != null);
       this.expression_type?.collectApiSignature(signature);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.simpleStringLiteral) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addInt(this.flags ?? 0);
       signature.addString(this.simpleStringLiteral_value ?? '');
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.spreadElement) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.spreadElement_expression != null);
       this.spreadElement_expression?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
       signature.addInt(this.spreadElement_spreadOperator == null
           ? 0
           : this.spreadElement_spreadOperator.index);
@@ -10787,6 +10779,7 @@
         }
       }
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.superConstructorInvocation) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.superConstructorInvocation_arguments != null);
@@ -10802,11 +10795,13 @@
       this
           .superConstructorInvocation_elementType
           ?.collectApiSignature(signature);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.superExpression) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addInt(this.flags ?? 0);
       signature.addBool(this.expression_type != null);
       this.expression_type?.collectApiSignature(signature);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.switchCase) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       if (this.switchMember_labels == null) {
@@ -10828,6 +10823,7 @@
       signature.addBool(this.switchCase_expression != null);
       this.switchCase_expression?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.switchDefault) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       if (this.switchMember_labels == null) {
@@ -10847,6 +10843,7 @@
         }
       }
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.switchStatement) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       if (this.switchStatement_members == null) {
@@ -10860,6 +10857,7 @@
       signature.addBool(this.switchStatement_expression != null);
       this.switchStatement_expression?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.symbolLiteral) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addInt(this.flags ?? 0);
@@ -10873,11 +10871,13 @@
           signature.addString(x);
         }
       }
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.thisExpression) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addInt(this.flags ?? 0);
       signature.addBool(this.expression_type != null);
       this.expression_type?.collectApiSignature(signature);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.throwExpression) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.throwExpression_expression != null);
@@ -10885,6 +10885,7 @@
       signature.addInt(this.flags ?? 0);
       signature.addBool(this.expression_type != null);
       this.expression_type?.collectApiSignature(signature);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.topLevelVariableDeclaration) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       if (this.annotatedNode_metadata == null) {
@@ -10900,6 +10901,7 @@
           .topLevelVariableDeclaration_variableList
           ?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.tryStatement) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       if (this.tryStatement_catchClauses == null) {
@@ -10915,6 +10917,7 @@
       signature.addBool(this.tryStatement_finallyBlock != null);
       this.tryStatement_finallyBlock?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.typeArgumentList) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       if (this.typeArgumentList_arguments == null) {
@@ -10926,6 +10929,7 @@
         }
       }
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.typeName) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       if (this.typeName_typeArguments == null) {
@@ -10941,6 +10945,7 @@
       signature.addInt(this.flags ?? 0);
       signature.addBool(this.typeName_type != null);
       this.typeName_type?.collectApiSignature(signature);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.typeParameter) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       if (this.annotatedNode_metadata == null) {
@@ -10953,11 +10958,10 @@
       }
       signature.addBool(this.typeParameter_bound != null);
       this.typeParameter_bound?.collectApiSignature(signature);
-      signature.addBool(this.typeParameter_name != null);
-      this.typeParameter_name?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
       signature.addBool(this.typeParameter_defaultType != null);
       this.typeParameter_defaultType?.collectApiSignature(signature);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.typeParameterList) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       if (this.typeParameterList_typeParameters == null) {
@@ -10969,6 +10973,7 @@
         }
       }
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.variableDeclaration) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       if (this.annotatedNode_metadata == null) {
@@ -10981,14 +10986,13 @@
       }
       signature.addBool(this.variableDeclaration_initializer != null);
       this.variableDeclaration_initializer?.collectApiSignature(signature);
-      signature.addBool(this.variableDeclaration_name != null);
-      this.variableDeclaration_name?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
       signature.addBool(this.actualType != null);
       this.actualType?.collectApiSignature(signature);
       signature.addBool(this.inheritsCovariant == true);
       signature.addBool(this.topLevelTypeInferenceError != null);
       this.topLevelTypeInferenceError?.collectApiSignature(signature);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.variableDeclarationList) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       if (this.variableDeclarationList_variables == null) {
@@ -11010,6 +11014,7 @@
       signature.addBool(this.variableDeclarationList_type != null);
       this.variableDeclarationList_type?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.variableDeclarationStatement) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.variableDeclarationStatement_variables != null);
@@ -11017,6 +11022,7 @@
           .variableDeclarationStatement_variables
           ?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.whileStatement) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.whileStatement_body != null);
@@ -11024,6 +11030,7 @@
       signature.addBool(this.whileStatement_condition != null);
       this.whileStatement_condition?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.withClause) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       if (this.withClause_mixinTypes == null) {
@@ -11035,11 +11042,13 @@
         }
       }
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     } else if (kind == idl.LinkedNodeKind.yieldStatement) {
       signature.addInt(this.kind == null ? 0 : this.kind.index);
       signature.addBool(this.yieldStatement_expression != null);
       this.yieldStatement_expression?.collectApiSignature(signature);
       signature.addInt(this.flags ?? 0);
+      signature.addString(this.name ?? '');
     }
   }
 
@@ -11064,6 +11073,7 @@
     fb.Offset offset_variantField_30;
     fb.Offset offset_variantField_14;
     fb.Offset offset_variantField_36;
+    fb.Offset offset_name;
     fb.Offset offset_variantField_20;
     fb.Offset offset_variantField_34;
     fb.Offset offset_variantField_22;
@@ -11133,6 +11143,9 @@
       offset_variantField_36 = fbBuilder.writeList(
           _variantField_36.map((b) => fbBuilder.writeString(b)).toList());
     }
+    if (_name != null) {
+      offset_name = fbBuilder.writeString(_name);
+    }
     if (_variantField_20 != null) {
       offset_variantField_20 = fbBuilder.writeString(_variantField_20);
     }
@@ -11246,15 +11259,18 @@
     if (offset_variantField_36 != null) {
       fbBuilder.addOffset(36, offset_variantField_36);
     }
+    if (offset_name != null) {
+      fbBuilder.addOffset(37, offset_name);
+    }
     if (offset_variantField_20 != null) {
       fbBuilder.addOffset(20, offset_variantField_20);
     }
     if (_variantField_31 == true) {
       fbBuilder.addBool(31, true);
     }
-    if (_variantField_37 != null &&
-        _variantField_37 != idl.UnlinkedTokenType.NOTHING) {
-      fbBuilder.addUint8(37, _variantField_37.index);
+    if (_variantField_38 != null &&
+        _variantField_38 != idl.UnlinkedTokenType.NOTHING) {
+      fbBuilder.addUint8(38, _variantField_38.index);
     }
     if (offset_variantField_34 != null) {
       fbBuilder.addOffset(34, offset_variantField_34);
@@ -11315,9 +11331,10 @@
   idl.LinkedNode _variantField_14;
   idl.LinkedNodeKind _kind;
   List<String> _variantField_36;
+  String _name;
   String _variantField_20;
   bool _variantField_31;
-  idl.UnlinkedTokenType _variantField_37;
+  idl.UnlinkedTokenType _variantField_38;
   idl.TopLevelInferenceError _variantField_34;
   String _variantField_22;
 
@@ -11859,14 +11876,6 @@
   }
 
   @override
-  idl.LinkedNode get enumConstantDeclaration_name {
-    assert(kind == idl.LinkedNodeKind.enumConstantDeclaration);
-    _variantField_6 ??=
-        const _LinkedNodeReader().vTableGet(_bc, _bcOffset, 6, null);
-    return _variantField_6;
-  }
-
-  @override
   idl.LinkedNode get expressionFunctionBody_expression {
     assert(kind == idl.LinkedNodeKind.expressionFunctionBody);
     _variantField_6 ??=
@@ -12375,14 +12384,6 @@
   }
 
   @override
-  idl.LinkedNode get constructorDeclaration_name {
-    assert(kind == idl.LinkedNodeKind.constructorDeclaration);
-    _variantField_7 ??=
-        const _LinkedNodeReader().vTableGet(_bc, _bcOffset, 7, null);
-    return _variantField_7;
-  }
-
-  @override
   idl.LinkedNode get constructorFieldInitializer_fieldName {
     assert(kind == idl.LinkedNodeKind.constructorFieldInitializer);
     _variantField_7 ??=
@@ -12647,22 +12648,6 @@
   }
 
   @override
-  idl.LinkedNode get typeParameter_name {
-    assert(kind == idl.LinkedNodeKind.typeParameter);
-    _variantField_7 ??=
-        const _LinkedNodeReader().vTableGet(_bc, _bcOffset, 7, null);
-    return _variantField_7;
-  }
-
-  @override
-  idl.LinkedNode get variableDeclaration_name {
-    assert(kind == idl.LinkedNodeKind.variableDeclaration);
-    _variantField_7 ??=
-        const _LinkedNodeReader().vTableGet(_bc, _bcOffset, 7, null);
-    return _variantField_7;
-  }
-
-  @override
   idl.LinkedNode get whileStatement_condition {
     assert(kind == idl.LinkedNodeKind.whileStatement);
     _variantField_7 ??=
@@ -12679,12 +12664,8 @@
   }
 
   @override
-  int get directive_keywordOffset {
-    assert(kind == idl.LinkedNodeKind.exportDirective ||
-        kind == idl.LinkedNodeKind.importDirective ||
-        kind == idl.LinkedNodeKind.libraryDirective ||
-        kind == idl.LinkedNodeKind.partDirective ||
-        kind == idl.LinkedNodeKind.partOfDirective);
+  int get constructorDeclaration_returnTypeOffset {
+    assert(kind == idl.LinkedNodeKind.constructorDeclaration);
     _variantField_17 ??=
         const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 17, 0);
     return _variantField_17;
@@ -13143,16 +13124,6 @@
   }
 
   @override
-  idl.LinkedNode get normalFormalParameter_identifier {
-    assert(kind == idl.LinkedNodeKind.fieldFormalParameter ||
-        kind == idl.LinkedNodeKind.functionTypedFormalParameter ||
-        kind == idl.LinkedNodeKind.simpleFormalParameter);
-    _variantField_9 ??=
-        const _LinkedNodeReader().vTableGet(_bc, _bcOffset, 9, null);
-    return _variantField_9;
-  }
-
-  @override
   idl.LinkedNode get classOrMixinDeclaration_implementsClause {
     assert(kind == idl.LinkedNodeKind.classDeclaration ||
         kind == idl.LinkedNodeKind.mixinDeclaration);
@@ -13335,28 +13306,6 @@
   }
 
   @override
-  idl.LinkedNode get methodDeclaration_name {
-    assert(kind == idl.LinkedNodeKind.methodDeclaration);
-    _variantField_10 ??=
-        const _LinkedNodeReader().vTableGet(_bc, _bcOffset, 10, null);
-    return _variantField_10;
-  }
-
-  @override
-  idl.LinkedNode get namedCompilationUnitMember_name {
-    assert(kind == idl.LinkedNodeKind.classDeclaration ||
-        kind == idl.LinkedNodeKind.classTypeAlias ||
-        kind == idl.LinkedNodeKind.enumDeclaration ||
-        kind == idl.LinkedNodeKind.functionDeclaration ||
-        kind == idl.LinkedNodeKind.functionTypeAlias ||
-        kind == idl.LinkedNodeKind.genericTypeAlias ||
-        kind == idl.LinkedNodeKind.mixinDeclaration);
-    _variantField_10 ??=
-        const _LinkedNodeReader().vTableGet(_bc, _bcOffset, 10, null);
-    return _variantField_10;
-  }
-
-  @override
   idl.LinkedNodeFormalParameterKind get defaultFormalParameter_kind {
     assert(kind == idl.LinkedNodeKind.defaultFormalParameter);
     _variantField_26 ??= const _LinkedNodeFormalParameterKindReader().vTableGet(
@@ -13437,8 +13386,25 @@
   }
 
   @override
-  int get simpleIdentifier_offset {
-    assert(kind == idl.LinkedNodeKind.simpleIdentifier);
+  int get nameOffset {
+    assert(kind == idl.LinkedNodeKind.classDeclaration ||
+        kind == idl.LinkedNodeKind.classTypeAlias ||
+        kind == idl.LinkedNodeKind.constructorDeclaration ||
+        kind == idl.LinkedNodeKind.enumConstantDeclaration ||
+        kind == idl.LinkedNodeKind.enumDeclaration ||
+        kind == idl.LinkedNodeKind.exportDirective ||
+        kind == idl.LinkedNodeKind.fieldFormalParameter ||
+        kind == idl.LinkedNodeKind.functionDeclaration ||
+        kind == idl.LinkedNodeKind.functionTypedFormalParameter ||
+        kind == idl.LinkedNodeKind.functionTypeAlias ||
+        kind == idl.LinkedNodeKind.genericTypeAlias ||
+        kind == idl.LinkedNodeKind.importDirective ||
+        kind == idl.LinkedNodeKind.methodDeclaration ||
+        kind == idl.LinkedNodeKind.mixinDeclaration ||
+        kind == idl.LinkedNodeKind.partDirective ||
+        kind == idl.LinkedNodeKind.simpleFormalParameter ||
+        kind == idl.LinkedNodeKind.typeParameter ||
+        kind == idl.LinkedNodeKind.variableDeclaration);
     _variantField_16 ??=
         const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 16, 0);
     return _variantField_16;
@@ -13507,17 +13473,15 @@
   }
 
   @override
-  String get namespaceDirective_selectedUri {
-    assert(kind == idl.LinkedNodeKind.exportDirective ||
-        kind == idl.LinkedNodeKind.importDirective);
-    _variantField_20 ??=
-        const fb.StringReader().vTableGet(_bc, _bcOffset, 20, '');
-    return _variantField_20;
+  String get name {
+    _name ??= const fb.StringReader().vTableGet(_bc, _bcOffset, 37, '');
+    return _name;
   }
 
   @override
-  String get simpleIdentifier_name {
-    assert(kind == idl.LinkedNodeKind.simpleIdentifier);
+  String get namespaceDirective_selectedUri {
+    assert(kind == idl.LinkedNodeKind.exportDirective ||
+        kind == idl.LinkedNodeKind.importDirective);
     _variantField_20 ??=
         const fb.StringReader().vTableGet(_bc, _bcOffset, 20, '');
     return _variantField_20;
@@ -13546,9 +13510,9 @@
   @override
   idl.UnlinkedTokenType get spreadElement_spreadOperator {
     assert(kind == idl.LinkedNodeKind.spreadElement);
-    _variantField_37 ??= const _UnlinkedTokenTypeReader()
-        .vTableGet(_bc, _bcOffset, 37, idl.UnlinkedTokenType.NOTHING);
-    return _variantField_37;
+    _variantField_38 ??= const _UnlinkedTokenTypeReader()
+        .vTableGet(_bc, _bcOffset, 38, idl.UnlinkedTokenType.NOTHING);
+    return _variantField_38;
   }
 
   @override
@@ -13578,6 +13542,7 @@
     if (flags != 0) _result["flags"] = flags;
     if (kind != idl.LinkedNodeKind.adjacentStrings)
       _result["kind"] = kind.toString().split('.')[1];
+    if (name != '') _result["name"] = name;
     if (kind == idl.LinkedNodeKind.adjacentStrings) {
       if (adjacentStrings_strings.isNotEmpty)
         _result["adjacentStrings_strings"] =
@@ -13741,9 +13706,7 @@
             classOrMixinDeclaration_typeParameters.toJson();
       if (codeLength != 0) _result["codeLength"] = codeLength;
       if (codeOffset != 0) _result["codeOffset"] = codeOffset;
-      if (namedCompilationUnitMember_name != null)
-        _result["namedCompilationUnitMember_name"] =
-            namedCompilationUnitMember_name.toJson();
+      if (nameOffset != 0) _result["nameOffset"] = nameOffset;
       if (simplyBoundable_isSimplyBounded != false)
         _result["simplyBoundable_isSimplyBounded"] =
             simplyBoundable_isSimplyBounded;
@@ -13768,9 +13731,7 @@
             classTypeAlias_implementsClause.toJson();
       if (codeLength != 0) _result["codeLength"] = codeLength;
       if (codeOffset != 0) _result["codeOffset"] = codeOffset;
-      if (namedCompilationUnitMember_name != null)
-        _result["namedCompilationUnitMember_name"] =
-            namedCompilationUnitMember_name.toJson();
+      if (nameOffset != 0) _result["nameOffset"] = nameOffset;
       if (simplyBoundable_isSimplyBounded != false)
         _result["simplyBoundable_isSimplyBounded"] =
             simplyBoundable_isSimplyBounded;
@@ -13838,9 +13799,9 @@
       if (constructorDeclaration_body != null)
         _result["constructorDeclaration_body"] =
             constructorDeclaration_body.toJson();
-      if (constructorDeclaration_name != null)
-        _result["constructorDeclaration_name"] =
-            constructorDeclaration_name.toJson();
+      if (constructorDeclaration_returnTypeOffset != 0)
+        _result["constructorDeclaration_returnTypeOffset"] =
+            constructorDeclaration_returnTypeOffset;
       if (constructorDeclaration_parameters != null)
         _result["constructorDeclaration_parameters"] =
             constructorDeclaration_parameters.toJson();
@@ -13855,6 +13816,7 @@
       if (constructorDeclaration_returnType != null)
         _result["constructorDeclaration_returnType"] =
             constructorDeclaration_returnType.toJson();
+      if (nameOffset != 0) _result["nameOffset"] = nameOffset;
     }
     if (kind == idl.LinkedNodeKind.constructorFieldInitializer) {
       if (constructorFieldInitializer_expression != null)
@@ -13936,9 +13898,7 @@
       if (annotatedNode_metadata.isNotEmpty)
         _result["annotatedNode_metadata"] =
             annotatedNode_metadata.map((_value) => _value.toJson()).toList();
-      if (enumConstantDeclaration_name != null)
-        _result["enumConstantDeclaration_name"] =
-            enumConstantDeclaration_name.toJson();
+      if (nameOffset != 0) _result["nameOffset"] = nameOffset;
     }
     if (kind == idl.LinkedNodeKind.enumDeclaration) {
       if (enumDeclaration_constants.isNotEmpty)
@@ -13951,9 +13911,7 @@
             annotatedNode_metadata.map((_value) => _value.toJson()).toList();
       if (codeLength != 0) _result["codeLength"] = codeLength;
       if (codeOffset != 0) _result["codeOffset"] = codeOffset;
-      if (namedCompilationUnitMember_name != null)
-        _result["namedCompilationUnitMember_name"] =
-            namedCompilationUnitMember_name.toJson();
+      if (nameOffset != 0) _result["nameOffset"] = nameOffset;
     }
     if (kind == idl.LinkedNodeKind.exportDirective) {
       if (namespaceDirective_combinators.isNotEmpty)
@@ -13966,8 +13924,6 @@
       if (annotatedNode_metadata.isNotEmpty)
         _result["annotatedNode_metadata"] =
             annotatedNode_metadata.map((_value) => _value.toJson()).toList();
-      if (directive_keywordOffset != 0)
-        _result["directive_keywordOffset"] = directive_keywordOffset;
       if (namespaceDirective_configurations.isNotEmpty)
         _result["namespaceDirective_configurations"] =
             namespaceDirective_configurations
@@ -13975,6 +13931,7 @@
                 .toList();
       if (uriBasedDirective_uriElement != 0)
         _result["uriBasedDirective_uriElement"] = uriBasedDirective_uriElement;
+      if (nameOffset != 0) _result["nameOffset"] = nameOffset;
       if (uriBasedDirective_uri != null)
         _result["uriBasedDirective_uri"] = uriBasedDirective_uri.toJson();
       if (namespaceDirective_selectedUri != '')
@@ -14024,11 +13981,9 @@
             fieldFormalParameter_formalParameters.toJson();
       if (inheritsCovariant != false)
         _result["inheritsCovariant"] = inheritsCovariant;
-      if (normalFormalParameter_identifier != null)
-        _result["normalFormalParameter_identifier"] =
-            normalFormalParameter_identifier.toJson();
       if (codeLength != 0) _result["codeLength"] = codeLength;
       if (codeOffset != 0) _result["codeOffset"] = codeOffset;
+      if (nameOffset != 0) _result["nameOffset"] = nameOffset;
       if (normalFormalParameter_comment != null)
         _result["normalFormalParameter_comment"] =
             normalFormalParameter_comment.toJson();
@@ -14102,9 +14057,7 @@
             functionDeclaration_returnType.toJson();
       if (codeLength != 0) _result["codeLength"] = codeLength;
       if (codeOffset != 0) _result["codeOffset"] = codeOffset;
-      if (namedCompilationUnitMember_name != null)
-        _result["namedCompilationUnitMember_name"] =
-            namedCompilationUnitMember_name.toJson();
+      if (nameOffset != 0) _result["nameOffset"] = nameOffset;
     }
     if (kind == idl.LinkedNodeKind.functionDeclarationStatement) {
       if (functionDeclarationStatement_functionDeclaration != null)
@@ -14160,9 +14113,7 @@
         _result["typeAlias_hasSelfReference"] = typeAlias_hasSelfReference;
       if (codeLength != 0) _result["codeLength"] = codeLength;
       if (codeOffset != 0) _result["codeOffset"] = codeOffset;
-      if (namedCompilationUnitMember_name != null)
-        _result["namedCompilationUnitMember_name"] =
-            namedCompilationUnitMember_name.toJson();
+      if (nameOffset != 0) _result["nameOffset"] = nameOffset;
       if (simplyBoundable_isSimplyBounded != false)
         _result["simplyBoundable_isSimplyBounded"] =
             simplyBoundable_isSimplyBounded;
@@ -14185,11 +14136,9 @@
             functionTypedFormalParameter_typeParameters.toJson();
       if (inheritsCovariant != false)
         _result["inheritsCovariant"] = inheritsCovariant;
-      if (normalFormalParameter_identifier != null)
-        _result["normalFormalParameter_identifier"] =
-            normalFormalParameter_identifier.toJson();
       if (codeLength != 0) _result["codeLength"] = codeLength;
       if (codeOffset != 0) _result["codeOffset"] = codeOffset;
+      if (nameOffset != 0) _result["nameOffset"] = nameOffset;
       if (normalFormalParameter_comment != null)
         _result["normalFormalParameter_comment"] =
             normalFormalParameter_comment.toJson();
@@ -14227,9 +14176,7 @@
         _result["typeAlias_hasSelfReference"] = typeAlias_hasSelfReference;
       if (codeLength != 0) _result["codeLength"] = codeLength;
       if (codeOffset != 0) _result["codeOffset"] = codeOffset;
-      if (namedCompilationUnitMember_name != null)
-        _result["namedCompilationUnitMember_name"] =
-            namedCompilationUnitMember_name.toJson();
+      if (nameOffset != 0) _result["nameOffset"] = nameOffset;
       if (simplyBoundable_isSimplyBounded != false)
         _result["simplyBoundable_isSimplyBounded"] =
             simplyBoundable_isSimplyBounded;
@@ -14272,8 +14219,6 @@
       if (annotatedNode_metadata.isNotEmpty)
         _result["annotatedNode_metadata"] =
             annotatedNode_metadata.map((_value) => _value.toJson()).toList();
-      if (directive_keywordOffset != 0)
-        _result["directive_keywordOffset"] = directive_keywordOffset;
       if (importDirective_prefixOffset != 0)
         _result["importDirective_prefixOffset"] = importDirective_prefixOffset;
       if (namespaceDirective_configurations.isNotEmpty)
@@ -14285,6 +14230,7 @@
         _result["uriBasedDirective_uriElement"] = uriBasedDirective_uriElement;
       if (importDirective_prefix != '')
         _result["importDirective_prefix"] = importDirective_prefix;
+      if (nameOffset != 0) _result["nameOffset"] = nameOffset;
       if (uriBasedDirective_uri != null)
         _result["uriBasedDirective_uri"] = uriBasedDirective_uri.toJson();
       if (namespaceDirective_selectedUri != '')
@@ -14359,8 +14305,6 @@
             annotatedNode_metadata.map((_value) => _value.toJson()).toList();
       if (libraryDirective_name != null)
         _result["libraryDirective_name"] = libraryDirective_name.toJson();
-      if (directive_keywordOffset != 0)
-        _result["directive_keywordOffset"] = directive_keywordOffset;
     }
     if (kind == idl.LinkedNodeKind.libraryIdentifier) {
       if (libraryIdentifier_components.isNotEmpty)
@@ -14406,8 +14350,7 @@
             methodDeclaration_typeParameters.toJson();
       if (codeLength != 0) _result["codeLength"] = codeLength;
       if (codeOffset != 0) _result["codeOffset"] = codeOffset;
-      if (methodDeclaration_name != null)
-        _result["methodDeclaration_name"] = methodDeclaration_name.toJson();
+      if (nameOffset != 0) _result["nameOffset"] = nameOffset;
     }
     if (kind == idl.LinkedNodeKind.methodInvocation) {
       if (invocationExpression_invokeType != null)
@@ -14449,9 +14392,7 @@
             classOrMixinDeclaration_typeParameters.toJson();
       if (codeLength != 0) _result["codeLength"] = codeLength;
       if (codeOffset != 0) _result["codeOffset"] = codeOffset;
-      if (namedCompilationUnitMember_name != null)
-        _result["namedCompilationUnitMember_name"] =
-            namedCompilationUnitMember_name.toJson();
+      if (nameOffset != 0) _result["nameOffset"] = nameOffset;
       if (mixinDeclaration_superInvokedNames.isNotEmpty)
         _result["mixinDeclaration_superInvokedNames"] =
             mixinDeclaration_superInvokedNames;
@@ -14500,10 +14441,9 @@
       if (annotatedNode_metadata.isNotEmpty)
         _result["annotatedNode_metadata"] =
             annotatedNode_metadata.map((_value) => _value.toJson()).toList();
-      if (directive_keywordOffset != 0)
-        _result["directive_keywordOffset"] = directive_keywordOffset;
       if (uriBasedDirective_uriElement != 0)
         _result["uriBasedDirective_uriElement"] = uriBasedDirective_uriElement;
+      if (nameOffset != 0) _result["nameOffset"] = nameOffset;
       if (uriBasedDirective_uri != null)
         _result["uriBasedDirective_uri"] = uriBasedDirective_uri.toJson();
       if (uriBasedDirective_uriContent != '')
@@ -14520,8 +14460,6 @@
             partOfDirective_libraryName.toJson();
       if (partOfDirective_uri != null)
         _result["partOfDirective_uri"] = partOfDirective_uri.toJson();
-      if (directive_keywordOffset != 0)
-        _result["directive_keywordOffset"] = directive_keywordOffset;
     }
     if (kind == idl.LinkedNodeKind.postfixExpression) {
       if (postfixExpression_operand != null)
@@ -14623,11 +14561,9 @@
             simpleFormalParameter_type.toJson();
       if (inheritsCovariant != false)
         _result["inheritsCovariant"] = inheritsCovariant;
-      if (normalFormalParameter_identifier != null)
-        _result["normalFormalParameter_identifier"] =
-            normalFormalParameter_identifier.toJson();
       if (codeLength != 0) _result["codeLength"] = codeLength;
       if (codeOffset != 0) _result["codeOffset"] = codeOffset;
+      if (nameOffset != 0) _result["nameOffset"] = nameOffset;
       if (normalFormalParameter_comment != null)
         _result["normalFormalParameter_comment"] =
             normalFormalParameter_comment.toJson();
@@ -14643,10 +14579,6 @@
         _result["simpleIdentifier_element"] = simpleIdentifier_element;
       if (expression_type != null)
         _result["expression_type"] = expression_type.toJson();
-      if (simpleIdentifier_offset != 0)
-        _result["simpleIdentifier_offset"] = simpleIdentifier_offset;
-      if (simpleIdentifier_name != '')
-        _result["simpleIdentifier_name"] = simpleIdentifier_name;
     }
     if (kind == idl.LinkedNodeKind.simpleStringLiteral) {
       if (simpleStringLiteral_value != '')
@@ -14768,13 +14700,12 @@
             annotatedNode_metadata.map((_value) => _value.toJson()).toList();
       if (typeParameter_bound != null)
         _result["typeParameter_bound"] = typeParameter_bound.toJson();
-      if (typeParameter_name != null)
-        _result["typeParameter_name"] = typeParameter_name.toJson();
       if (typeParameter_defaultType != null)
         _result["typeParameter_defaultType"] =
             typeParameter_defaultType.toJson();
       if (codeLength != 0) _result["codeLength"] = codeLength;
       if (codeOffset != 0) _result["codeOffset"] = codeOffset;
+      if (nameOffset != 0) _result["nameOffset"] = nameOffset;
     }
     if (kind == idl.LinkedNodeKind.typeParameterList) {
       if (typeParameterList_typeParameters.isNotEmpty)
@@ -14793,12 +14724,11 @@
       if (variableDeclaration_initializer != null)
         _result["variableDeclaration_initializer"] =
             variableDeclaration_initializer.toJson();
-      if (variableDeclaration_name != null)
-        _result["variableDeclaration_name"] = variableDeclaration_name.toJson();
       if (inheritsCovariant != false)
         _result["inheritsCovariant"] = inheritsCovariant;
       if (codeLength != 0) _result["codeLength"] = codeLength;
       if (codeOffset != 0) _result["codeOffset"] = codeOffset;
+      if (nameOffset != 0) _result["nameOffset"] = nameOffset;
       if (topLevelTypeInferenceError != null)
         _result["topLevelTypeInferenceError"] =
             topLevelTypeInferenceError.toJson();
@@ -14849,6 +14779,7 @@
         "adjacentStrings_strings": adjacentStrings_strings,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.annotation) {
@@ -14860,6 +14791,7 @@
         "annotation_name": annotation_name,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.argumentList) {
@@ -14867,6 +14799,7 @@
         "argumentList_arguments": argumentList_arguments,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.asExpression) {
@@ -14876,6 +14809,7 @@
         "expression_type": expression_type,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.assertInitializer) {
@@ -14884,6 +14818,7 @@
         "assertInitializer_message": assertInitializer_message,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.assertStatement) {
@@ -14892,6 +14827,7 @@
         "assertStatement_message": assertStatement_message,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.assignmentExpression) {
@@ -14905,6 +14841,7 @@
         "expression_type": expression_type,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.awaitExpression) {
@@ -14913,6 +14850,7 @@
         "expression_type": expression_type,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.binaryExpression) {
@@ -14926,6 +14864,7 @@
         "expression_type": expression_type,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.block) {
@@ -14933,6 +14872,7 @@
         "block_statements": block_statements,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.blockFunctionBody) {
@@ -14940,6 +14880,7 @@
         "blockFunctionBody_block": blockFunctionBody_block,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.booleanLiteral) {
@@ -14947,6 +14888,7 @@
         "booleanLiteral_value": booleanLiteral_value,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.breakStatement) {
@@ -14954,6 +14896,7 @@
         "breakStatement_label": breakStatement_label,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.cascadeExpression) {
@@ -14963,6 +14906,7 @@
         "expression_type": expression_type,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.catchClause) {
@@ -14973,6 +14917,7 @@
         "catchClause_stackTraceParameter": catchClause_stackTraceParameter,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.classDeclaration) {
@@ -14990,9 +14935,10 @@
             classOrMixinDeclaration_typeParameters,
         "codeLength": codeLength,
         "codeOffset": codeOffset,
-        "namedCompilationUnitMember_name": namedCompilationUnitMember_name,
         "flags": flags,
+        "nameOffset": nameOffset,
         "kind": kind,
+        "name": name,
         "simplyBoundable_isSimplyBounded": simplyBoundable_isSimplyBounded,
       };
     }
@@ -15006,9 +14952,10 @@
         "classTypeAlias_implementsClause": classTypeAlias_implementsClause,
         "codeLength": codeLength,
         "codeOffset": codeOffset,
-        "namedCompilationUnitMember_name": namedCompilationUnitMember_name,
         "flags": flags,
+        "nameOffset": nameOffset,
         "kind": kind,
+        "name": name,
         "simplyBoundable_isSimplyBounded": simplyBoundable_isSimplyBounded,
       };
     }
@@ -15019,6 +14966,7 @@
         "comment_type": comment_type,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.commentReference) {
@@ -15026,6 +14974,7 @@
         "commentReference_identifier": commentReference_identifier,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.compilationUnit) {
@@ -15037,6 +14986,7 @@
         "compilationUnit_directives": compilationUnit_directives,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.conditionalExpression) {
@@ -15049,6 +14999,7 @@
         "expression_type": expression_type,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.configuration) {
@@ -15058,6 +15009,7 @@
         "configuration_uri": configuration_uri,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.constructorDeclaration) {
@@ -15067,7 +15019,8 @@
         "annotatedNode_comment": annotatedNode_comment,
         "annotatedNode_metadata": annotatedNode_metadata,
         "constructorDeclaration_body": constructorDeclaration_body,
-        "constructorDeclaration_name": constructorDeclaration_name,
+        "constructorDeclaration_returnTypeOffset":
+            constructorDeclaration_returnTypeOffset,
         "constructorDeclaration_parameters": constructorDeclaration_parameters,
         "constructorDeclaration_redirectedConstructor":
             constructorDeclaration_redirectedConstructor,
@@ -15077,7 +15030,9 @@
             constructorDeclaration_periodOffset,
         "constructorDeclaration_returnType": constructorDeclaration_returnType,
         "flags": flags,
+        "nameOffset": nameOffset,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.constructorFieldInitializer) {
@@ -15088,6 +15043,7 @@
             constructorFieldInitializer_fieldName,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.constructorName) {
@@ -15098,6 +15054,7 @@
         "constructorName_element": constructorName_element,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.continueStatement) {
@@ -15105,6 +15062,7 @@
         "continueStatement_label": continueStatement_label,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.declaredIdentifier) {
@@ -15115,6 +15073,7 @@
         "declaredIdentifier_type": declaredIdentifier_type,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.defaultFormalParameter) {
@@ -15127,6 +15086,7 @@
         "defaultFormalParameter_kind": defaultFormalParameter_kind,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.doStatement) {
@@ -15135,6 +15095,7 @@
         "doStatement_condition": doStatement_condition,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.dottedName) {
@@ -15142,6 +15103,7 @@
         "dottedName_components": dottedName_components,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.doubleLiteral) {
@@ -15149,6 +15111,7 @@
         "doubleLiteral_value": doubleLiteral_value,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.emptyFunctionBody) {
@@ -15156,6 +15119,7 @@
         "emptyFunctionBody_fake": emptyFunctionBody_fake,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.emptyStatement) {
@@ -15163,15 +15127,17 @@
         "emptyStatement_fake": emptyStatement_fake,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.enumConstantDeclaration) {
       return {
         "annotatedNode_comment": annotatedNode_comment,
         "annotatedNode_metadata": annotatedNode_metadata,
-        "enumConstantDeclaration_name": enumConstantDeclaration_name,
         "flags": flags,
+        "nameOffset": nameOffset,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.enumDeclaration) {
@@ -15181,9 +15147,10 @@
         "annotatedNode_metadata": annotatedNode_metadata,
         "codeLength": codeLength,
         "codeOffset": codeOffset,
-        "namedCompilationUnitMember_name": namedCompilationUnitMember_name,
         "flags": flags,
+        "nameOffset": nameOffset,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.exportDirective) {
@@ -15191,12 +15158,13 @@
         "namespaceDirective_combinators": namespaceDirective_combinators,
         "annotatedNode_comment": annotatedNode_comment,
         "annotatedNode_metadata": annotatedNode_metadata,
-        "directive_keywordOffset": directive_keywordOffset,
         "namespaceDirective_configurations": namespaceDirective_configurations,
         "uriBasedDirective_uriElement": uriBasedDirective_uriElement,
         "flags": flags,
+        "nameOffset": nameOffset,
         "uriBasedDirective_uri": uriBasedDirective_uri,
         "kind": kind,
+        "name": name,
         "namespaceDirective_selectedUri": namespaceDirective_selectedUri,
         "uriBasedDirective_uriContent": uriBasedDirective_uriContent,
       };
@@ -15206,6 +15174,7 @@
         "expressionFunctionBody_expression": expressionFunctionBody_expression,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.expressionStatement) {
@@ -15213,6 +15182,7 @@
         "expressionStatement_expression": expressionStatement_expression,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.extendsClause) {
@@ -15220,6 +15190,7 @@
         "extendsClause_superclass": extendsClause_superclass,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.fieldDeclaration) {
@@ -15229,6 +15200,7 @@
         "fieldDeclaration_fields": fieldDeclaration_fields,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.fieldFormalParameter) {
@@ -15241,12 +15213,13 @@
         "fieldFormalParameter_formalParameters":
             fieldFormalParameter_formalParameters,
         "inheritsCovariant": inheritsCovariant,
-        "normalFormalParameter_identifier": normalFormalParameter_identifier,
         "codeLength": codeLength,
         "codeOffset": codeOffset,
         "flags": flags,
+        "nameOffset": nameOffset,
         "normalFormalParameter_comment": normalFormalParameter_comment,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.forEachPartsWithDeclaration) {
@@ -15256,6 +15229,7 @@
             forEachPartsWithDeclaration_loopVariable,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.forEachPartsWithIdentifier) {
@@ -15265,6 +15239,7 @@
             forEachPartsWithIdentifier_identifier,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.forElement) {
@@ -15273,6 +15248,7 @@
         "forElement_body": forElement_body,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.forPartsWithDeclarations) {
@@ -15283,6 +15259,7 @@
         "forParts_updaters": forParts_updaters,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.forPartsWithExpression) {
@@ -15293,6 +15270,7 @@
         "forParts_updaters": forParts_updaters,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.forStatement) {
@@ -15301,6 +15279,7 @@
         "forStatement_body": forStatement_body,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.formalParameterList) {
@@ -15308,6 +15287,7 @@
         "formalParameterList_parameters": formalParameterList_parameters,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.functionDeclaration) {
@@ -15320,9 +15300,10 @@
         "functionDeclaration_returnType": functionDeclaration_returnType,
         "codeLength": codeLength,
         "codeOffset": codeOffset,
-        "namedCompilationUnitMember_name": namedCompilationUnitMember_name,
         "flags": flags,
+        "nameOffset": nameOffset,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.functionDeclarationStatement) {
@@ -15331,6 +15312,7 @@
             functionDeclarationStatement_functionDeclaration,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.functionExpression) {
@@ -15342,6 +15324,7 @@
         "functionExpression_typeParameters": functionExpression_typeParameters,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.functionExpressionInvocation) {
@@ -15355,6 +15338,7 @@
         "flags": flags,
         "invocationExpression_arguments": invocationExpression_arguments,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.functionTypeAlias) {
@@ -15369,9 +15353,10 @@
         "typeAlias_hasSelfReference": typeAlias_hasSelfReference,
         "codeLength": codeLength,
         "codeOffset": codeOffset,
-        "namedCompilationUnitMember_name": namedCompilationUnitMember_name,
         "flags": flags,
+        "nameOffset": nameOffset,
         "kind": kind,
+        "name": name,
         "simplyBoundable_isSimplyBounded": simplyBoundable_isSimplyBounded,
       };
     }
@@ -15386,12 +15371,13 @@
         "functionTypedFormalParameter_typeParameters":
             functionTypedFormalParameter_typeParameters,
         "inheritsCovariant": inheritsCovariant,
-        "normalFormalParameter_identifier": normalFormalParameter_identifier,
         "codeLength": codeLength,
         "codeOffset": codeOffset,
         "flags": flags,
+        "nameOffset": nameOffset,
         "normalFormalParameter_comment": normalFormalParameter_comment,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.genericFunctionType) {
@@ -15406,6 +15392,7 @@
         "genericFunctionType_type": genericFunctionType_type,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.genericTypeAlias) {
@@ -15417,9 +15404,10 @@
         "typeAlias_hasSelfReference": typeAlias_hasSelfReference,
         "codeLength": codeLength,
         "codeOffset": codeOffset,
-        "namedCompilationUnitMember_name": namedCompilationUnitMember_name,
         "flags": flags,
+        "nameOffset": nameOffset,
         "kind": kind,
+        "name": name,
         "simplyBoundable_isSimplyBounded": simplyBoundable_isSimplyBounded,
       };
     }
@@ -15428,6 +15416,7 @@
         "flags": flags,
         "kind": kind,
         "names": names,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.ifElement) {
@@ -15437,6 +15426,7 @@
         "ifElement_elseElement": ifElement_elseElement,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.ifStatement) {
@@ -15446,6 +15436,7 @@
         "ifStatement_thenStatement": ifStatement_thenStatement,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.implementsClause) {
@@ -15453,6 +15444,7 @@
         "implementsClause_interfaces": implementsClause_interfaces,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.importDirective) {
@@ -15460,14 +15452,15 @@
         "namespaceDirective_combinators": namespaceDirective_combinators,
         "annotatedNode_comment": annotatedNode_comment,
         "annotatedNode_metadata": annotatedNode_metadata,
-        "directive_keywordOffset": directive_keywordOffset,
         "importDirective_prefixOffset": importDirective_prefixOffset,
         "namespaceDirective_configurations": namespaceDirective_configurations,
         "uriBasedDirective_uriElement": uriBasedDirective_uriElement,
         "flags": flags,
         "importDirective_prefix": importDirective_prefix,
+        "nameOffset": nameOffset,
         "uriBasedDirective_uri": uriBasedDirective_uri,
         "kind": kind,
+        "name": name,
         "namespaceDirective_selectedUri": namespaceDirective_selectedUri,
         "uriBasedDirective_uriContent": uriBasedDirective_uriContent,
       };
@@ -15481,6 +15474,7 @@
         "expression_type": expression_type,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.instanceCreationExpression) {
@@ -15494,6 +15488,7 @@
         "expression_type": expression_type,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.integerLiteral) {
@@ -15501,6 +15496,7 @@
         "flags": flags,
         "integerLiteral_value": integerLiteral_value,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.interpolationExpression) {
@@ -15509,6 +15505,7 @@
             interpolationExpression_expression,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.interpolationString) {
@@ -15516,6 +15513,7 @@
         "flags": flags,
         "interpolationString_value": interpolationString_value,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.isExpression) {
@@ -15524,6 +15522,7 @@
         "isExpression_type": isExpression_type,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.label) {
@@ -15531,6 +15530,7 @@
         "label_label": label_label,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.labeledStatement) {
@@ -15539,6 +15539,7 @@
         "labeledStatement_statement": labeledStatement_statement,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.libraryDirective) {
@@ -15546,9 +15547,9 @@
         "annotatedNode_comment": annotatedNode_comment,
         "annotatedNode_metadata": annotatedNode_metadata,
         "libraryDirective_name": libraryDirective_name,
-        "directive_keywordOffset": directive_keywordOffset,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.libraryIdentifier) {
@@ -15556,6 +15557,7 @@
         "libraryIdentifier_components": libraryIdentifier_components,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.listLiteral) {
@@ -15565,6 +15567,7 @@
         "expression_type": expression_type,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.mapLiteralEntry) {
@@ -15573,6 +15576,7 @@
         "mapLiteralEntry_value": mapLiteralEntry_value,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.methodDeclaration) {
@@ -15587,9 +15591,10 @@
         "methodDeclaration_typeParameters": methodDeclaration_typeParameters,
         "codeLength": codeLength,
         "codeOffset": codeOffset,
-        "methodDeclaration_name": methodDeclaration_name,
         "flags": flags,
+        "nameOffset": nameOffset,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.methodInvocation) {
@@ -15603,6 +15608,7 @@
         "flags": flags,
         "invocationExpression_arguments": invocationExpression_arguments,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.mixinDeclaration) {
@@ -15617,11 +15623,12 @@
             classOrMixinDeclaration_typeParameters,
         "codeLength": codeLength,
         "codeOffset": codeOffset,
-        "namedCompilationUnitMember_name": namedCompilationUnitMember_name,
         "flags": flags,
+        "nameOffset": nameOffset,
         "kind": kind,
         "mixinDeclaration_superInvokedNames":
             mixinDeclaration_superInvokedNames,
+        "name": name,
         "simplyBoundable_isSimplyBounded": simplyBoundable_isSimplyBounded,
       };
     }
@@ -15631,6 +15638,7 @@
         "namedExpression_name": namedExpression_name,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.nativeClause) {
@@ -15638,6 +15646,7 @@
         "nativeClause_name": nativeClause_name,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.nativeFunctionBody) {
@@ -15645,6 +15654,7 @@
         "nativeFunctionBody_stringLiteral": nativeFunctionBody_stringLiteral,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.nullLiteral) {
@@ -15653,6 +15663,7 @@
         "expression_type": expression_type,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.onClause) {
@@ -15660,6 +15671,7 @@
         "onClause_superclassConstraints": onClause_superclassConstraints,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.parenthesizedExpression) {
@@ -15669,17 +15681,19 @@
         "expression_type": expression_type,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.partDirective) {
       return {
         "annotatedNode_comment": annotatedNode_comment,
         "annotatedNode_metadata": annotatedNode_metadata,
-        "directive_keywordOffset": directive_keywordOffset,
         "uriBasedDirective_uriElement": uriBasedDirective_uriElement,
         "flags": flags,
+        "nameOffset": nameOffset,
         "uriBasedDirective_uri": uriBasedDirective_uri,
         "kind": kind,
+        "name": name,
         "uriBasedDirective_uriContent": uriBasedDirective_uriContent,
       };
     }
@@ -15689,9 +15703,9 @@
         "annotatedNode_metadata": annotatedNode_metadata,
         "partOfDirective_libraryName": partOfDirective_libraryName,
         "partOfDirective_uri": partOfDirective_uri,
-        "directive_keywordOffset": directive_keywordOffset,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.postfixExpression) {
@@ -15703,6 +15717,7 @@
         "expression_type": expression_type,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.prefixExpression) {
@@ -15714,6 +15729,7 @@
         "expression_type": expression_type,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.prefixedIdentifier) {
@@ -15723,6 +15739,7 @@
         "expression_type": expression_type,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.propertyAccess) {
@@ -15733,6 +15750,7 @@
         "expression_type": expression_type,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.redirectingConstructorInvocation) {
@@ -15747,6 +15765,7 @@
             redirectingConstructorInvocation_element,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.rethrowExpression) {
@@ -15754,6 +15773,7 @@
         "expression_type": expression_type,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.returnStatement) {
@@ -15761,6 +15781,7 @@
         "returnStatement_expression": returnStatement_expression,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.setOrMapLiteral) {
@@ -15770,6 +15791,7 @@
         "expression_type": expression_type,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.showCombinator) {
@@ -15777,6 +15799,7 @@
         "flags": flags,
         "kind": kind,
         "names": names,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.simpleFormalParameter) {
@@ -15785,12 +15808,13 @@
         "normalFormalParameter_metadata": normalFormalParameter_metadata,
         "simpleFormalParameter_type": simpleFormalParameter_type,
         "inheritsCovariant": inheritsCovariant,
-        "normalFormalParameter_identifier": normalFormalParameter_identifier,
         "codeLength": codeLength,
         "codeOffset": codeOffset,
         "flags": flags,
+        "nameOffset": nameOffset,
         "normalFormalParameter_comment": normalFormalParameter_comment,
         "kind": kind,
+        "name": name,
         "topLevelTypeInferenceError": topLevelTypeInferenceError,
       };
     }
@@ -15800,15 +15824,15 @@
         "simpleIdentifier_element": simpleIdentifier_element,
         "expression_type": expression_type,
         "flags": flags,
-        "simpleIdentifier_offset": simpleIdentifier_offset,
         "kind": kind,
-        "simpleIdentifier_name": simpleIdentifier_name,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.simpleStringLiteral) {
       return {
         "flags": flags,
         "kind": kind,
+        "name": name,
         "simpleStringLiteral_value": simpleStringLiteral_value,
       };
     }
@@ -15817,6 +15841,7 @@
         "spreadElement_expression": spreadElement_expression,
         "flags": flags,
         "kind": kind,
+        "name": name,
         "spreadElement_spreadOperator": spreadElement_spreadOperator,
       };
     }
@@ -15825,6 +15850,7 @@
         "stringInterpolation_elements": stringInterpolation_elements,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.superConstructorInvocation) {
@@ -15839,6 +15865,7 @@
             superConstructorInvocation_element,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.superExpression) {
@@ -15846,6 +15873,7 @@
         "expression_type": expression_type,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.switchCase) {
@@ -15855,6 +15883,7 @@
         "switchMember_labels": switchMember_labels,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.switchDefault) {
@@ -15863,6 +15892,7 @@
         "switchMember_labels": switchMember_labels,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.switchStatement) {
@@ -15871,6 +15901,7 @@
         "switchStatement_expression": switchStatement_expression,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.symbolLiteral) {
@@ -15879,6 +15910,7 @@
         "flags": flags,
         "kind": kind,
         "names": names,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.thisExpression) {
@@ -15886,6 +15918,7 @@
         "expression_type": expression_type,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.throwExpression) {
@@ -15894,6 +15927,7 @@
         "expression_type": expression_type,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.topLevelVariableDeclaration) {
@@ -15904,6 +15938,7 @@
             topLevelVariableDeclaration_variableList,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.tryStatement) {
@@ -15913,6 +15948,7 @@
         "tryStatement_finallyBlock": tryStatement_finallyBlock,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.typeArgumentList) {
@@ -15920,6 +15956,7 @@
         "typeArgumentList_arguments": typeArgumentList_arguments,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.typeName) {
@@ -15929,6 +15966,7 @@
         "typeName_type": typeName_type,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.typeParameter) {
@@ -15936,12 +15974,13 @@
         "annotatedNode_comment": annotatedNode_comment,
         "annotatedNode_metadata": annotatedNode_metadata,
         "typeParameter_bound": typeParameter_bound,
-        "typeParameter_name": typeParameter_name,
         "typeParameter_defaultType": typeParameter_defaultType,
         "codeLength": codeLength,
         "codeOffset": codeOffset,
         "flags": flags,
+        "nameOffset": nameOffset,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.typeParameterList) {
@@ -15949,6 +15988,7 @@
         "typeParameterList_typeParameters": typeParameterList_typeParameters,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.variableDeclaration) {
@@ -15957,12 +15997,13 @@
         "annotatedNode_comment": annotatedNode_comment,
         "annotatedNode_metadata": annotatedNode_metadata,
         "variableDeclaration_initializer": variableDeclaration_initializer,
-        "variableDeclaration_name": variableDeclaration_name,
         "inheritsCovariant": inheritsCovariant,
         "codeLength": codeLength,
         "codeOffset": codeOffset,
         "flags": flags,
+        "nameOffset": nameOffset,
         "kind": kind,
+        "name": name,
         "topLevelTypeInferenceError": topLevelTypeInferenceError,
       };
     }
@@ -15974,6 +16015,7 @@
         "variableDeclarationList_type": variableDeclarationList_type,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.variableDeclarationStatement) {
@@ -15982,6 +16024,7 @@
             variableDeclarationStatement_variables,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.whileStatement) {
@@ -15990,6 +16033,7 @@
         "whileStatement_condition": whileStatement_condition,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.withClause) {
@@ -15997,6 +16041,7 @@
         "withClause_mixinTypes": withClause_mixinTypes,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     if (kind == idl.LinkedNodeKind.yieldStatement) {
@@ -16004,6 +16049,7 @@
         "yieldStatement_expression": yieldStatement_expression,
         "flags": flags,
         "kind": kind,
+        "name": name,
       };
     }
     throw StateError("Unexpected $kind");
diff --git a/pkg/analyzer/lib/src/summary/format.fbs b/pkg/analyzer/lib/src/summary/format.fbs
index 1230c79..69d782b 100644
--- a/pkg/analyzer/lib/src/summary/format.fbs
+++ b/pkg/analyzer/lib/src/summary/format.fbs
@@ -1948,11 +1948,13 @@
 
   variantField_36:[string] (id: 36);
 
+  name:string (id: 37);
+
   variantField_20:string (id: 20);
 
   variantField_31:bool (id: 31);
 
-  variantField_37:UnlinkedTokenType (id: 37);
+  variantField_38:UnlinkedTokenType (id: 38);
 
   variantField_34:TopLevelInferenceError (id: 34);
 
diff --git a/pkg/analyzer/lib/src/summary/idl.dart b/pkg/analyzer/lib/src/summary/idl.dart
index 3a60a94..5ad8160 100644
--- a/pkg/analyzer/lib/src/summary/idl.dart
+++ b/pkg/analyzer/lib/src/summary/idl.dart
@@ -1104,9 +1104,6 @@
   @VariantId(2, variant: LinkedNodeKind.constructorDeclaration)
   List<LinkedNode> get constructorDeclaration_initializers;
 
-  @VariantId(7, variant: LinkedNodeKind.constructorDeclaration)
-  LinkedNode get constructorDeclaration_name;
-
   @VariantId(8, variant: LinkedNodeKind.constructorDeclaration)
   LinkedNode get constructorDeclaration_parameters;
 
@@ -1120,6 +1117,10 @@
   @VariantId(10, variant: LinkedNodeKind.constructorDeclaration)
   LinkedNode get constructorDeclaration_returnType;
 
+  @VariantId(17, variant: LinkedNodeKind.constructorDeclaration)
+  @informative
+  int get constructorDeclaration_returnTypeOffset;
+
   @VariantId(6, variant: LinkedNodeKind.constructorFieldInitializer)
   LinkedNode get constructorFieldInitializer_expression;
 
@@ -1156,16 +1157,6 @@
   @VariantId(7, variant: LinkedNodeKind.defaultFormalParameter)
   LinkedNode get defaultFormalParameter_parameter;
 
-  @VariantId(17, variantList: [
-    LinkedNodeKind.exportDirective,
-    LinkedNodeKind.importDirective,
-    LinkedNodeKind.libraryDirective,
-    LinkedNodeKind.partDirective,
-    LinkedNodeKind.partOfDirective,
-  ])
-  @informative
-  int get directive_keywordOffset;
-
   @VariantId(6, variant: LinkedNodeKind.doStatement)
   LinkedNode get doStatement_body;
 
@@ -1184,9 +1175,6 @@
   @VariantId(15, variant: LinkedNodeKind.emptyStatement)
   int get emptyStatement_fake;
 
-  @VariantId(6, variant: LinkedNodeKind.enumConstantDeclaration)
-  LinkedNode get enumConstantDeclaration_name;
-
   @VariantId(2, variant: LinkedNodeKind.enumDeclaration)
   List<LinkedNode> get enumDeclaration_constants;
 
@@ -1469,9 +1457,6 @@
   @VariantId(7, variant: LinkedNodeKind.methodDeclaration)
   LinkedNode get methodDeclaration_formalParameters;
 
-  @VariantId(10, variant: LinkedNodeKind.methodDeclaration)
-  LinkedNode get methodDeclaration_name;
-
   @VariantId(8, variant: LinkedNodeKind.methodDeclaration)
   LinkedNode get methodDeclaration_returnType;
 
@@ -1490,16 +1475,8 @@
   @VariantId(36, variant: LinkedNodeKind.mixinDeclaration)
   List<String> get mixinDeclaration_superInvokedNames;
 
-  @VariantId(10, variantList: [
-    LinkedNodeKind.classDeclaration,
-    LinkedNodeKind.classTypeAlias,
-    LinkedNodeKind.enumDeclaration,
-    LinkedNodeKind.functionDeclaration,
-    LinkedNodeKind.functionTypeAlias,
-    LinkedNodeKind.genericTypeAlias,
-    LinkedNodeKind.mixinDeclaration,
-  ])
-  LinkedNode get namedCompilationUnitMember_name;
+  @Id(37)
+  String get name;
 
   @VariantId(6, variant: LinkedNodeKind.namedExpression)
   LinkedNode get namedExpression_expression;
@@ -1507,6 +1484,29 @@
   @VariantId(7, variant: LinkedNodeKind.namedExpression)
   LinkedNode get namedExpression_name;
 
+  @VariantId(16, variantList: [
+    LinkedNodeKind.classDeclaration,
+    LinkedNodeKind.classTypeAlias,
+    LinkedNodeKind.constructorDeclaration,
+    LinkedNodeKind.enumConstantDeclaration,
+    LinkedNodeKind.enumDeclaration,
+    LinkedNodeKind.exportDirective,
+    LinkedNodeKind.fieldFormalParameter,
+    LinkedNodeKind.functionDeclaration,
+    LinkedNodeKind.functionTypedFormalParameter,
+    LinkedNodeKind.functionTypeAlias,
+    LinkedNodeKind.genericTypeAlias,
+    LinkedNodeKind.importDirective,
+    LinkedNodeKind.methodDeclaration,
+    LinkedNodeKind.mixinDeclaration,
+    LinkedNodeKind.partDirective,
+    LinkedNodeKind.simpleFormalParameter,
+    LinkedNodeKind.typeParameter,
+    LinkedNodeKind.variableDeclaration,
+  ])
+  @informative
+  int get nameOffset;
+
   @VariantId(36, variantList: [
     LinkedNodeKind.hideCombinator,
     LinkedNodeKind.showCombinator,
@@ -1546,13 +1546,6 @@
   @informative
   LinkedNode get normalFormalParameter_comment;
 
-  @VariantId(9, variantList: [
-    LinkedNodeKind.fieldFormalParameter,
-    LinkedNodeKind.functionTypedFormalParameter,
-    LinkedNodeKind.simpleFormalParameter,
-  ])
-  LinkedNode get normalFormalParameter_identifier;
-
   @VariantId(4, variantList: [
     LinkedNodeKind.fieldFormalParameter,
     LinkedNodeKind.functionTypedFormalParameter,
@@ -1641,13 +1634,6 @@
   @VariantId(23, variant: LinkedNodeKind.simpleIdentifier)
   LinkedNodeType get simpleIdentifier_elementType;
 
-  @VariantId(20, variant: LinkedNodeKind.simpleIdentifier)
-  String get simpleIdentifier_name;
-
-  @VariantId(16, variant: LinkedNodeKind.simpleIdentifier)
-  @informative
-  int get simpleIdentifier_offset;
-
   @VariantId(20, variant: LinkedNodeKind.simpleStringLiteral)
   String get simpleStringLiteral_value;
 
@@ -1663,7 +1649,7 @@
   @VariantId(6, variant: LinkedNodeKind.spreadElement)
   LinkedNode get spreadElement_expression;
 
-  @VariantId(37, variant: LinkedNodeKind.spreadElement)
+  @VariantId(38, variant: LinkedNodeKind.spreadElement)
   UnlinkedTokenType get spreadElement_spreadOperator;
 
   @VariantId(2, variant: LinkedNodeKind.stringInterpolation)
@@ -1753,9 +1739,6 @@
   @VariantId(23, variant: LinkedNodeKind.typeParameter)
   LinkedNodeType get typeParameter_defaultType;
 
-  @VariantId(7, variant: LinkedNodeKind.typeParameter)
-  LinkedNode get typeParameter_name;
-
   @VariantId(2, variant: LinkedNodeKind.typeParameterList)
   List<LinkedNode> get typeParameterList_typeParameters;
 
@@ -1783,9 +1766,6 @@
   @VariantId(6, variant: LinkedNodeKind.variableDeclaration)
   LinkedNode get variableDeclaration_initializer;
 
-  @VariantId(7, variant: LinkedNodeKind.variableDeclaration)
-  LinkedNode get variableDeclaration_name;
-
   @VariantId(6, variant: LinkedNodeKind.variableDeclarationList)
   LinkedNode get variableDeclarationList_type;
 
diff --git a/pkg/analyzer/lib/src/summary2/ast_binary_reader.dart b/pkg/analyzer/lib/src/summary2/ast_binary_reader.dart
index 21464da..723c8a3 100644
--- a/pkg/analyzer/lib/src/summary2/ast_binary_reader.dart
+++ b/pkg/analyzer/lib/src/summary2/ast_binary_reader.dart
@@ -89,7 +89,7 @@
         typeParameters[i] = astFactory.typeParameter(
           _readNode(data.annotatedNode_comment),
           _readNodeList(data.annotatedNode_metadata),
-          _readNode(data.typeParameter_name),
+          _declaredIdentifier(data),
           data.typeParameter_bound != null ? _Tokens.EXTENDS : null,
           null,
         );
@@ -126,6 +126,13 @@
     return _readType(data);
   }
 
+  SimpleIdentifier _declaredIdentifier(LinkedNode data) {
+    return astFactory.simpleIdentifier(
+      TokenFactory.tokenFromString(data.name)..offset = data.nameOffset,
+      isDeclaration: true,
+    );
+  }
+
   Element _elementOfComponents(
     int rawElementIndex,
     LinkedNodeType definingTypeNode,
@@ -316,7 +323,7 @@
         _readNodeListLazy(data.annotatedNode_metadata),
         AstBinaryFlags.isAbstract(data.flags) ? _Tokens.ABSTRACT : null,
         _Tokens.CLASS,
-        _readNode(data.namedCompilationUnitMember_name),
+        _declaredIdentifier(data),
         _readNode(data.classOrMixinDeclaration_typeParameters),
         _readNodeLazy(data.classDeclaration_extendsClause),
         _readNodeLazy(data.classDeclaration_withClause),
@@ -340,7 +347,7 @@
         _readNodeLazy(data.annotatedNode_comment),
         _readNodeListLazy(data.annotatedNode_metadata),
         _Tokens.CLASS,
-        _readNode(data.namedCompilationUnitMember_name),
+        _declaredIdentifier(data),
         _readNode(data.classTypeAlias_typeParameters),
         _Tokens.EQ,
         AstBinaryFlags.isAbstract(data.flags) ? _Tokens.ABSTRACT : null,
@@ -419,18 +426,25 @@
   }
 
   ConstructorDeclaration _read_constructorDeclaration(LinkedNode data) {
-    var name = _readNode(data.constructorDeclaration_name);
+    SimpleIdentifier returnType = _readNode(
+      data.constructorDeclaration_returnType,
+    );
+    returnType.token.offset = data.constructorDeclaration_returnTypeOffset;
+
     var node = astFactory.constructorDeclaration(
       _readNodeLazy(data.annotatedNode_comment),
       _readNodeListLazy(data.annotatedNode_metadata),
       AstBinaryFlags.isExternal(data.flags) ? _Tokens.EXTERNAL : null,
       AstBinaryFlags.isConst(data.flags) ? _Tokens.CONST : null,
       AstBinaryFlags.isFactory(data.flags) ? _Tokens.FACTORY : null,
-      _readNode(data.constructorDeclaration_returnType),
-      name != null
-          ? Token(TokenType.PERIOD, data.constructorDeclaration_periodOffset)
+      returnType,
+      data.name.isNotEmpty
+          ? Token(
+              TokenType.PERIOD,
+              data.constructorDeclaration_periodOffset,
+            )
           : null,
-      name,
+      data.name.isNotEmpty ? _declaredIdentifier(data) : null,
       _readNodeLazy(data.constructorDeclaration_parameters),
       _Tokens.choose(
         AstBinaryFlags.hasSeparatorColon(data.flags),
@@ -544,7 +558,7 @@
     var node = astFactory.enumConstantDeclaration(
       _readNodeLazy(data.annotatedNode_comment),
       _readNodeListLazy(data.annotatedNode_metadata),
-      _readNode(data.enumConstantDeclaration_name),
+      _declaredIdentifier(data),
     );
     LazyEnumConstantDeclaration.setData(node, data);
     return node;
@@ -555,7 +569,7 @@
       _readNodeLazy(data.annotatedNode_comment),
       _readNodeListLazy(data.annotatedNode_metadata),
       _Tokens.ENUM,
-      _readNode(data.namedCompilationUnitMember_name),
+      _declaredIdentifier(data),
       _Tokens.OPEN_CURLY_BRACKET,
       _readNodeListLazy(data.enumDeclaration_constants),
       _Tokens.CLOSE_CURLY_BRACKET,
@@ -635,7 +649,7 @@
 
   FieldFormalParameter _read_fieldFormalParameter(LinkedNode data) {
     var node = astFactory.fieldFormalParameter2(
-      identifier: _readNode(data.normalFormalParameter_identifier),
+      identifier: _declaredIdentifier(data),
       period: _Tokens.PERIOD,
       thisKeyword: _Tokens.THIS,
       covariantKeyword:
@@ -753,7 +767,7 @@
           AstBinaryFlags.isSet(data.flags),
           _Tokens.SET,
         ),
-        _readNode(data.namedCompilationUnitMember_name),
+        _declaredIdentifier(data),
         _readNodeLazy(data.functionDeclaration_functionExpression),
       );
       LazyFunctionDeclaration.setData(node, data);
@@ -795,7 +809,7 @@
       _readNodeListLazy(data.annotatedNode_metadata),
       _Tokens.TYPEDEF,
       _readNodeLazy(data.functionTypeAlias_returnType),
-      _readNode(data.namedCompilationUnitMember_name),
+      _declaredIdentifier(data),
       _readNode(data.functionTypeAlias_typeParameters),
       _readNodeLazy(data.functionTypeAlias_formalParameters),
       _Tokens.SEMICOLON,
@@ -814,7 +828,7 @@
       comment: _readNodeLazy(data.normalFormalParameter_comment),
       covariantKeyword:
           AstBinaryFlags.isCovariant(data.flags) ? _Tokens.COVARIANT : null,
-      identifier: _readNode(data.normalFormalParameter_identifier),
+      identifier: _declaredIdentifier(data),
       metadata: _readNodeListLazy(data.normalFormalParameter_metadata),
       parameters: _readNodeLazy(
         data.functionTypedFormalParameter_formalParameters,
@@ -840,7 +854,7 @@
       _readNodeLazy(data.annotatedNode_comment),
       _readNodeListLazy(data.annotatedNode_metadata),
       _Tokens.TYPEDEF,
-      _readNode(data.namedCompilationUnitMember_name),
+      _declaredIdentifier(data),
       _readNode(data.genericTypeAlias_typeParameters),
       _Tokens.EQ,
       _readNodeLazy(data.genericTypeAlias_functionType),
@@ -1075,7 +1089,7 @@
         _Tokens.SET,
       ),
       AstBinaryFlags.isOperator(data.flags) ? _Tokens.OPERATOR : null,
-      _readNode(data.methodDeclaration_name),
+      _declaredIdentifier(data),
       _readNode(data.methodDeclaration_typeParameters),
       _readNodeLazy(data.methodDeclaration_formalParameters),
       AstBinaryFlags.isAbstract(data.flags)
@@ -1108,7 +1122,7 @@
         _readNodeLazy(data.annotatedNode_comment),
         _readNodeListLazy(data.annotatedNode_metadata),
         _Tokens.MIXIN,
-        _readNode(data.namedCompilationUnitMember_name),
+        _declaredIdentifier(data),
         _readNode(data.classOrMixinDeclaration_typeParameters),
         _readNodeLazy(data.mixinDeclaration_onClause),
         _readNodeLazy(data.classOrMixinDeclaration_implementsClause),
@@ -1306,7 +1320,7 @@
 
   SimpleFormalParameter _read_simpleFormalParameter(LinkedNode data) {
     SimpleFormalParameterImpl node = astFactory.simpleFormalParameter2(
-      identifier: _readNode(data.normalFormalParameter_identifier),
+      identifier: _declaredIdentifier(data),
       type: _readNode(data.simpleFormalParameter_type),
       covariantKeyword:
           AstBinaryFlags.isCovariant(data.flags) ? _Tokens.COVARIANT : null,
@@ -1330,8 +1344,7 @@
 
   SimpleIdentifier _read_simpleIdentifier(LinkedNode data) {
     return astFactory.simpleIdentifier(
-      TokenFactory.tokenFromString(data.simpleIdentifier_name)
-        ..offset = data.simpleIdentifier_offset,
+      TokenFactory.tokenFromString(data.name),
       isDeclaration: AstBinaryFlags.isDeclaration(data.flags),
     )
       ..staticElement = _elementOfComponents(
@@ -1485,7 +1498,7 @@
     var node = astFactory.typeParameter(
       _readNodeLazy(data.annotatedNode_comment),
       _readNodeListLazy(data.annotatedNode_metadata),
-      _readNode(data.typeParameter_name),
+      _declaredIdentifier(data),
       _Tokens.EXTENDS,
       _readNodeLazy(data.typeParameter_bound),
     );
@@ -1503,7 +1516,7 @@
 
   VariableDeclaration _read_variableDeclaration(LinkedNode data) {
     var node = astFactory.variableDeclaration(
-      _readNode(data.variableDeclaration_name),
+      _declaredIdentifier(data),
       _Tokens.EQ,
       _readNodeLazy(data.variableDeclaration_initializer),
     );
diff --git a/pkg/analyzer/lib/src/summary2/ast_binary_writer.dart b/pkg/analyzer/lib/src/summary2/ast_binary_writer.dart
index 1b7c7d6..8588d04 100644
--- a/pkg/analyzer/lib/src/summary2/ast_binary_writer.dart
+++ b/pkg/analyzer/lib/src/summary2/ast_binary_writer.dart
@@ -310,7 +310,6 @@
   LinkedNodeBuilder visitConstructorDeclaration(ConstructorDeclaration node) {
     var builder = LinkedNodeBuilder.constructorDeclaration(
       constructorDeclaration_initializers: _writeNodeList(node.initializers),
-      constructorDeclaration_name: node.name?.accept(this),
       constructorDeclaration_parameters: node.parameters.accept(this),
       constructorDeclaration_redirectedConstructor:
           node.redirectedConstructor?.accept(this),
@@ -324,8 +323,12 @@
       isExternal: node.externalKeyword != null,
       isFactory: node.factoryKeyword != null,
     );
+    builder.constructorDeclaration_returnTypeOffset = node.returnType.offset;
     if (node.name != null) {
-      builder..constructorDeclaration_periodOffset = node.period.offset;
+      builder
+        ..constructorDeclaration_periodOffset = node.period.offset
+        ..name = node.name.name
+        ..nameOffset = node.name.offset;
     }
     _storeClassMember(builder, node);
     _storeCodeOffsetLength(builder, node);
@@ -432,8 +435,9 @@
   @override
   LinkedNodeBuilder visitEnumConstantDeclaration(EnumConstantDeclaration node) {
     var builder = LinkedNodeBuilder.enumConstantDeclaration(
-      enumConstantDeclaration_name: node.name.accept(this),
+      nameOffset: node.name.offset,
     );
+    builder..name = node.name.name;
     _storeDeclaration(builder, node);
     return builder;
   }
@@ -903,8 +907,10 @@
       methodDeclaration_returnType: node.returnType?.accept(this),
       methodDeclaration_typeParameters: node.typeParameters?.accept(this),
       methodDeclaration_formalParameters: node.parameters?.accept(this),
-      methodDeclaration_name: node.name.accept(this),
     );
+    builder
+      ..name = node.name.name
+      ..nameOffset = node.name.offset;
     builder.flags = AstBinaryFlags.encode(
       isAbstract: node.body is EmptyFunctionBody,
       isAsync: node.body?.isAsynchronous ?? false,
@@ -1152,13 +1158,12 @@
     var builder = LinkedNodeBuilder.simpleIdentifier(
       simpleIdentifier_element: elementComponents.rawElement,
       simpleIdentifier_elementType: elementComponents.definingType,
-      simpleIdentifier_name: node.name,
-      simpleIdentifier_offset: node.offset,
       expression_type: _writeType(node.staticType),
     );
     builder.flags = AstBinaryFlags.encode(
       isDeclaration: node is DeclaredSimpleIdentifier,
     );
+    builder.name = node.name;
     return builder;
   }
 
@@ -1308,8 +1313,10 @@
     var builder = LinkedNodeBuilder.typeParameter(
       typeParameter_bound: node.bound?.accept(this),
       typeParameter_defaultType: _writeType(LazyAst.getDefaultType(node)),
-      typeParameter_name: node.name.accept(this),
     );
+    builder
+      ..name = node.name.name
+      ..nameOffset = node.name.offset;
     _storeDeclaration(builder, node);
     _storeCodeOffsetLength(builder, node);
     return builder;
@@ -1341,12 +1348,14 @@
     }
 
     var builder = LinkedNodeBuilder.variableDeclaration(
-      variableDeclaration_name: node.name.accept(this),
       variableDeclaration_initializer: initializer?.accept(this),
     );
     builder.flags = AstBinaryFlags.encode(
       hasInitializer: node.initializer != null,
     );
+    builder
+      ..name = node.name.name
+      ..nameOffset = node.name.offset;
     builder.topLevelTypeInferenceError = LazyAst.getTypeInferenceError(node);
     _writeActualType(builder, node);
     _storeInheritsCovariant(builder, node);
@@ -1486,7 +1495,6 @@
 
   void _storeDirective(LinkedNodeBuilder builder, Directive node) {
     _storeAnnotatedNode(builder, node);
-    builder..directive_keywordOffset = node.keyword.offset;
   }
 
   void _storeExpression(LinkedNodeBuilder builder, Expression node) {
@@ -1545,7 +1553,9 @@
       LinkedNodeBuilder builder, NamedCompilationUnitMember node) {
     _storeCompilationUnitMember(builder, node);
     _storeCodeOffsetLength(builder, node);
-    builder.namedCompilationUnitMember_name = node.name.accept(this);
+    builder
+      ..name = node.name.name
+      ..nameOffset = node.name.offset;
   }
 
   void _storeNamespaceDirective(
@@ -1554,7 +1564,8 @@
     builder
       ..namespaceDirective_combinators = _writeNodeList(node.combinators)
       ..namespaceDirective_configurations = _writeNodeList(node.configurations)
-      ..namespaceDirective_selectedUri = LazyDirective.getSelectedUri(node);
+      ..namespaceDirective_selectedUri = LazyDirective.getSelectedUri(node)
+      ..nameOffset = node.offset;
   }
 
   void _storeNormalFormalParameter(
@@ -1569,8 +1580,9 @@
         isRequired: node.requiredKeyword != null,
         isVar: keyword?.type == Keyword.VAR,
       )
-      ..normalFormalParameter_metadata = _writeNodeList(node.metadata)
-      ..normalFormalParameter_identifier = node.identifier?.accept(this);
+      ..name = node.identifier?.name
+      ..nameOffset = node.identifier?.offset ?? 0
+      ..normalFormalParameter_metadata = _writeNodeList(node.metadata);
   }
 
   void _storeStatement(LinkedNodeBuilder builder, Statement node) {}
diff --git a/pkg/analyzer/lib/src/summary2/lazy_ast.dart b/pkg/analyzer/lib/src/summary2/lazy_ast.dart
index b8d1771..13d6511 100644
--- a/pkg/analyzer/lib/src/summary2/lazy_ast.dart
+++ b/pkg/analyzer/lib/src/summary2/lazy_ast.dart
@@ -513,12 +513,12 @@
     return node.getProperty(_key);
   }
 
-  static int getKeywordOffset(Directive node) {
+  static int getNameOffset(Directive node) {
     var lazy = get(node);
     if (lazy != null) {
-      return lazy.data.directive_keywordOffset;
+      return lazy.data.nameOffset;
     } else {
-      return node.keyword.offset;
+      return node.offset;
     }
   }
 
diff --git a/pkg/analyzer/lib/src/summary2/linked_unit_context.dart b/pkg/analyzer/lib/src/summary2/linked_unit_context.dart
index 4f1d87f..31e301b 100644
--- a/pkg/analyzer/lib/src/summary2/linked_unit_context.dart
+++ b/pkg/analyzer/lib/src/summary2/linked_unit_context.dart
@@ -223,7 +223,7 @@
   }
 
   int getDirectiveOffset(AstNode node) {
-    return LazyDirective.getKeywordOffset(node);
+    return LazyDirective.getNameOffset(node);
   }
 
   Comment getDocumentationComment(AstNode node) {