CodeGen. Document GenerateNodeProperty. #2

Change-Id: I1559e18a4f14a4bec999a1263de54e67d662ec86
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/431323
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
diff --git a/pkg/analyzer/lib/src/dart/ast/ast.dart b/pkg/analyzer/lib/src/dart/ast/ast.dart
index d32077f..8459e0a 100644
--- a/pkg/analyzer/lib/src/dart/ast/ast.dart
+++ b/pkg/analyzer/lib/src/dart/ast/ast.dart
@@ -12125,7 +12125,7 @@
 
 /// Description for a single property in the node implementation.
 ///
-/// Most of these description refer to properties of the public interface,
+/// Most of these descriptions refer to properties of the public interface,
 /// e.g. `Foo` in `class FooImpl extends BarImpl implements Baz, Foo`.
 class GenerateNodeProperty {
   final String name;
@@ -12146,12 +12146,23 @@
   /// Obviously, these are always paired with [isSuper].
   final bool superNullAssertOverride;
 
-  /// Sometimes we use [Token.lexicallyFirst], and want to describe which
-  /// group of tokens to use.
+  /// If the parser can recover from tokens in a group of keyword tokens
+  /// being in wrong order, each keyword's property in the group should be
+  /// marked with the same non-null value for this field. The generated code
+  /// for [AstNode.beginToken] or
+  /// [AnnotatedNode.firstTokenAfterCommentAndMetadata] will use
+  /// [Token.lexicallyFirst] to identify which keyword in the group appears
+  /// first.
+  ///
+  /// Only meaningful when applied to token properties; all properties with
+  /// the same [tokenGroupId] should appear consecutively in the
+  /// `childEntitiesOrder` list.
   final int? tokenGroupId;
 
-  /// If the property does not exist in the public interface, we still need
-  /// to know its type.
+  /// The type of the property.
+  ///
+  /// If the property is declared in the public API, this doesn't need to be
+  /// specified (because it can be inferred from the public API declaration).
   final Type? type;
 
   const GenerateNodeProperty(