fix analyzer/ddc triple shift assignment

Change-Id: I7418f7bcfee2e198fc825e6d8f551a4824b8a4e3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101223
Commit-Queue: Dan Rubel <danrubel@google.com>
Reviewed-by: Mark Zhou <markzipan@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
diff --git a/pkg/analyzer/lib/src/dart/ast/token.dart b/pkg/analyzer/lib/src/dart/ast/token.dart
index eea8be3..9939121 100644
--- a/pkg/analyzer/lib/src/dart/ast/token.dart
+++ b/pkg/analyzer/lib/src/dart/ast/token.dart
@@ -32,6 +32,8 @@
     return TokenType.CARET;
   } else if (operator == TokenType.GT_GT_EQ) {
     return TokenType.GT_GT;
+  } else if (operator == TokenType.GT_GT_GT_EQ) {
+    return TokenType.GT_GT_GT;
   } else if (operator == TokenType.LT_LT_EQ) {
     return TokenType.LT_LT;
   } else if (operator == TokenType.MINUS_EQ) {
diff --git a/pkg/dev_compiler/lib/src/analyzer/ast_builder.dart b/pkg/dev_compiler/lib/src/analyzer/ast_builder.dart
index 672a2a3..1b5039a 100644
--- a/pkg/dev_compiler/lib/src/analyzer/ast_builder.dart
+++ b/pkg/dev_compiler/lib/src/analyzer/ast_builder.dart
@@ -100,6 +100,10 @@
         return TokenType.GT_GT;
       case ">>=":
         return TokenType.GT_GT_EQ;
+      case ">>>":
+        return TokenType.GT_GT_GT;
+      case ">>>=":
+        return TokenType.GT_GT_GT_EQ;
       case "#":
         return TokenType.HASH;
       case "[]":
diff --git a/pkg/front_end/lib/src/fasta/scanner/abstract_scanner.dart b/pkg/front_end/lib/src/fasta/scanner/abstract_scanner.dart
index 3c18577..8df047a 100644
--- a/pkg/front_end/lib/src/fasta/scanner/abstract_scanner.dart
+++ b/pkg/front_end/lib/src/fasta/scanner/abstract_scanner.dart
@@ -56,11 +56,6 @@
   /// and https://github.com/dart-lang/language/issues/60
   bool _enableGtGtGt = false;
 
-  /// Experimental flag for enabling scanning of `>>>=`.
-  /// See https://github.com/dart-lang/language/issues/61
-  /// and https://github.com/dart-lang/language/issues/60
-  bool _enableGtGtGtEq = false;
-
   /// Experimental flag for enabling scanning of NNBD tokens
   /// such as 'required' and 'late'.
   bool _enableNonNullable = false;
@@ -115,7 +110,6 @@
     if (config != null) {
       _enableNonNullable = config.enableNonNullable;
       _enableGtGtGt = config.enableGtGtGt;
-      _enableGtGtGtEq = config.enableGtGtGtEq;
     }
   }
 
@@ -716,7 +710,7 @@
         return advance();
       } else if (_enableGtGtGt && identical($GT, next)) {
         next = advance();
-        if (_enableGtGtGtEq && identical($EQ, next)) {
+        if (_enableGtGtGt && identical($EQ, next)) {
           appendPrecedenceToken(TokenType.GT_GT_GT_EQ);
           return advance();
         }