Revert "[parser] Add support for typed super-initializer parameters"

This reverts commit fc9f7e3372bfdc8fcc798364663db6d2d3b7524d.

Reason for revert: breakages in ternary operators involving super access.

Original change's description:
> [parser] Add support for typed super-initializer parameters
>
> Part of https://github.com/dart-lang/sdk/issues/47525
>
> Closes https://github.com/dart-lang/sdk/issues/47741
>
> Bug: https://github.com/dart-lang/sdk/issues/47741
> Change-Id: I0558b33aa43cc73e67ca0d17bd5c8ec1afdc526f
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/221634
> Commit-Queue: Chloe Stefantsova <cstefantsova@google.com>
> Reviewed-by: Johnni Winther <johnniwinther@google.com>

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: https://github.com/dart-lang/sdk/issues/47741
Change-Id: I565faadeb0776a089853dc2264af50b069e16056
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/222301
Reviewed-by: Chloe Stefantsova <cstefantsova@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Chloe Stefantsova <cstefantsova@google.com>
diff --git a/pkg/_fe_analyzer_shared/lib/src/parser/type_info_impl.dart b/pkg/_fe_analyzer_shared/lib/src/parser/type_info_impl.dart
index 07d1752..099319f 100644
--- a/pkg/_fe_analyzer_shared/lib/src/parser/type_info_impl.dart
+++ b/pkg/_fe_analyzer_shared/lib/src/parser/type_info_impl.dart
@@ -451,7 +451,6 @@
 bool looksLikeName(Token token) {
   return token.kind == IDENTIFIER_TOKEN ||
       optional('this', token) ||
-      optional('super', token) ||
       (token.isIdentifier &&
           // Although `typedef` is a legal identifier,
           // type `typedef` identifier is not legal and in this situation
@@ -795,9 +794,7 @@
         if (optional('?', next)) {
           next = next.next!;
         }
-        if (!(next.isIdentifier ||
-            optional('this', next) ||
-            optional('super', next))) {
+        if (!(next.isIdentifier || optional('this', next))) {
           break; // `Function` used as the name in a function declaration.
         }
       }
diff --git a/pkg/analyzer/test/generated/utilities_test.dart b/pkg/analyzer/test/generated/utilities_test.dart
index 348bd17..a95e1f4 100644
--- a/pkg/analyzer/test/generated/utilities_test.dart
+++ b/pkg/analyzer/test/generated/utilities_test.dart
@@ -2152,6 +2152,7 @@
         node, Getter_NodeReplacerTest_test_superConstructorInvocation_2());
   }
 
+  @FailingTest(issue: 'https://github.com/dart-lang/sdk/issues/47741')
   void test_superFormalParameter() {
     var findNode = _parseStringToFindNode(r'''
 class A {
diff --git a/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_fields.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_fields.dart.intertwined.expect
index 04790ba..769412a 100644
--- a/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_fields.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_fields.dart.intertwined.expect
@@ -1471,27 +1471,28 @@
                 listener: beginMetadataStar(int)
                 listener: endMetadataStar(0)
               listener: beginMember()
-              recoverFromInvalidMember(int, ;, null, null, null, null, null, null, ;, Instance of 'SimpleType', null, DeclarationKind.Class, WrapperClass)
-                parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', super, DeclarationKind.Class, WrapperClass, false)
-                  listener: beginFields(DeclarationKind.Class, null, null, null, null, null, null, ;)
-                  listener: handleIdentifier(int, typeReference)
-                  listener: handleNoTypeArguments(super)
-                  listener: handleType(int, null)
-                  ensureIdentifierPotentiallyRecovered(int, fieldDeclaration, false)
-                    reportRecoverableErrorWithToken(super, Instance of 'Template<(Token) => Message>')
-                      listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'super' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: super}], super, super)
-                    listener: handleIdentifier(super, fieldDeclaration)
-                  parseFieldInitializerOpt(super, super, null, null, null, null, DeclarationKind.Class, WrapperClass)
-                    listener: beginFieldInitializer(=)
-                    parseExpression(=)
-                      parsePrecedenceExpression(=, 1, true)
-                        parseUnaryExpression(=, true)
-                          parsePrimary(=, expression)
-                            parseLiteralInt(=)
-                              listener: handleLiteralInt(42)
-                    listener: endFieldInitializer(=, ;)
-                  listener: endClassFields(null, null, null, null, null, null, 1, int, ;)
-                listener: endMember()
+              isReservedKeyword(super)
+              indicatesMethodOrField(=)
+              parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', super, DeclarationKind.Class, WrapperClass, true)
+                listener: beginFields(DeclarationKind.Class, null, null, null, null, null, null, ;)
+                listener: handleIdentifier(int, typeReference)
+                listener: handleNoTypeArguments(super)
+                listener: handleType(int, null)
+                ensureIdentifierPotentiallyRecovered(int, fieldDeclaration, true)
+                  reportRecoverableErrorWithToken(super, Instance of 'Template<(Token) => Message>')
+                    listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'super' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: super}], super, super)
+                  listener: handleIdentifier(super, fieldDeclaration)
+                parseFieldInitializerOpt(super, super, null, null, null, null, DeclarationKind.Class, WrapperClass)
+                  listener: beginFieldInitializer(=)
+                  parseExpression(=)
+                    parsePrecedenceExpression(=, 1, true)
+                      parseUnaryExpression(=, true)
+                        parsePrimary(=, expression)
+                          parseLiteralInt(=)
+                            listener: handleLiteralInt(42)
+                  listener: endFieldInitializer(=, ;)
+                listener: endClassFields(null, null, null, null, null, null, 1, int, ;)
+              listener: endMember()
             notEofOrValue(}, int)
             parseClassOrMixinOrExtensionOrEnumMemberImpl(;, DeclarationKind.Class, WrapperClass)
               parseMetadataStar(;)
diff --git a/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_methods.dart.expect b/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_methods.dart.expect
index eb90b675..bf58a68 100644
--- a/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_methods.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_methods.dart.expect
@@ -308,14 +308,6 @@
   int super(int x) {
       ^^^^^
 
-parser/error_recovery/keyword_named_class_methods:282:7: Expected ';' after this.
-  int super(int x) {
-      ^^^^^
-
-parser/error_recovery/keyword_named_class_methods:282:12: Expected an identifier, but got '('.
-  int super(int x) {
-           ^
-
 parser/error_recovery/keyword_named_class_methods:287:7: 'switch' can't be used as an identifier because it's a keyword.
   int switch(int x) {
       ^^^^^^
@@ -3891,23 +3883,12 @@
         beginMetadataStar(int)
         endMetadataStar(0)
         beginMember()
-          beginFields(DeclarationKind.Class, null, null, null, null, null, null, })
+          beginMethod(DeclarationKind.Class, null, null, null, null, null, super)
             handleIdentifier(int, typeReference)
             handleNoTypeArguments(super)
             handleType(int, null)
             handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'super' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: super}], super, super)
-            handleIdentifier(super, fieldDeclaration)
-            handleNoFieldInitializer(()
-            handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], super, super)
-          endClassFields(null, null, null, null, null, null, 1, int, ;)
-        endMember()
-        beginMetadataStar(()
-        endMetadataStar(0)
-        beginMember()
-          beginMethod(DeclarationKind.Class, null, null, null, null, null, ()
-            handleNoType(;)
-            handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got '('., Try inserting an identifier before '('., {lexeme: (}], (, ()
-            handleIdentifier(, methodDeclaration)
+            handleIdentifier(super, methodDeclaration)
             handleNoTypeVariables(()
             beginFormalParameters((, MemberKind.NonStaticMethod)
               beginMetadataStar(int)
@@ -3956,7 +3937,7 @@
                 endBinaryExpression(+)
               endReturnStatement(true, return, ;)
             endBlockFunctionBody(2, {, })
-          endClassMethod(null, , (, null, })
+          endClassMethod(null, int, (, null, })
         endMember()
         beginMetadataStar(int)
         endMetadataStar(0)
@@ -4762,7 +4743,7 @@
             endBlockFunctionBody(2, {, })
           endClassMethod(null, int, (, null, })
         endMember()
-      endClassOrMixinOrExtensionBody(DeclarationKind.Class, 71, {, })
+      endClassOrMixinOrExtensionBody(DeclarationKind.Class, 70, {, })
     endClassDeclaration(class, })
   endTopLevelDeclaration()
 endCompilationUnit(1, )
diff --git a/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_methods.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_methods.dart.intertwined.expect
index 08d5d98..22c9cba 100644
--- a/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_methods.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_methods.dart.intertwined.expect
@@ -8560,164 +8560,141 @@
                 listener: beginMetadataStar(int)
                 listener: endMetadataStar(0)
               listener: beginMember()
-              recoverFromInvalidMember(int, }, null, null, null, null, null, null, }, Instance of 'SimpleType', null, DeclarationKind.Class, WrapperClass)
-                parseFields(}, null, null, null, null, null, null, }, Instance of 'SimpleType', super, DeclarationKind.Class, WrapperClass, false)
-                  listener: beginFields(DeclarationKind.Class, null, null, null, null, null, null, })
-                  listener: handleIdentifier(int, typeReference)
-                  listener: handleNoTypeArguments(super)
-                  listener: handleType(int, null)
-                  ensureIdentifierPotentiallyRecovered(int, fieldDeclaration, false)
-                    reportRecoverableErrorWithToken(super, Instance of 'Template<(Token) => Message>')
-                      listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'super' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: super}], super, super)
-                    listener: handleIdentifier(super, fieldDeclaration)
-                  parseFieldInitializerOpt(super, super, null, null, null, null, DeclarationKind.Class, WrapperClass)
-                    listener: handleNoFieldInitializer(()
-                  ensureSemicolon(super)
-                    reportRecoverableError(super, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}])
-                      listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], super, super)
-                    rewriter()
-                  listener: endClassFields(null, null, null, null, null, null, 1, int, ;)
-                listener: endMember()
-            notEofOrValue(}, ()
-            parseClassOrMixinOrExtensionOrEnumMemberImpl(;, DeclarationKind.Class, WrapperClass)
-              parseMetadataStar(;)
-                listener: beginMetadataStar(()
-                listener: endMetadataStar(0)
-              listener: beginMember()
-              recoverFromInvalidMember(;, ;, null, null, null, null, null, null, ;, Instance of 'NoType', null, DeclarationKind.Class, WrapperClass)
-                parseMethod(;, null, null, null, null, null, null, ;, Instance of 'NoType', null, (, DeclarationKind.Class, WrapperClass, false)
-                  listener: beginMethod(DeclarationKind.Class, null, null, null, null, null, ()
-                  listener: handleNoType(;)
-                  ensureIdentifierPotentiallyRecovered(;, methodDeclaration, false)
-                    insertSyntheticIdentifier(;, methodDeclaration, message: null, messageOnToken: null)
-                      reportRecoverableError((, Message[ExpectedIdentifier, Expected an identifier, but got '('., Try inserting an identifier before '('., {lexeme: (}])
-                        listener: handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got '('., Try inserting an identifier before '('., {lexeme: (}], (, ()
-                      rewriter()
-                    listener: handleIdentifier(, methodDeclaration)
-                  parseQualifiedRestOpt(, methodDeclarationContinuation)
-                  parseMethodTypeVar()
-                    listener: handleNoTypeVariables(()
-                  parseGetterOrFormalParameters(, (, false, MemberKind.NonStaticMethod)
-                    parseFormalParameters(, MemberKind.NonStaticMethod)
-                      parseFormalParametersRest((, MemberKind.NonStaticMethod)
-                        listener: beginFormalParameters((, MemberKind.NonStaticMethod)
-                        parseFormalParameter((, FormalParameterKind.mandatory, MemberKind.NonStaticMethod)
-                          parseMetadataStar(()
-                            listener: beginMetadataStar(int)
-                            listener: endMetadataStar(0)
-                          listener: beginFormalParameter(int, MemberKind.NonStaticMethod, null, null, null)
-                          listener: handleIdentifier(int, typeReference)
-                          listener: handleNoTypeArguments(x)
-                          listener: handleType(int, null)
-                          ensureIdentifier(int, formalParameterDeclaration)
-                            listener: handleIdentifier(x, formalParameterDeclaration)
-                          listener: handleFormalParameterWithoutValue())
-                          listener: endFormalParameter(null, null, null, x, null, null, FormalParameterKind.mandatory, MemberKind.NonStaticMethod)
-                        listener: endFormalParameters(1, (, ), MemberKind.NonStaticMethod)
-                  parseInitializersOpt())
-                    listener: handleNoInitializers()
-                  parseAsyncModifierOpt())
-                    listener: handleAsyncModifier(null, null)
-                    inPlainSync()
+              isReservedKeyword(super)
+              indicatesMethodOrField(()
+              parseMethod(}, null, null, null, null, null, null, }, Instance of 'SimpleType', null, super, DeclarationKind.Class, WrapperClass, true)
+                listener: beginMethod(DeclarationKind.Class, null, null, null, null, null, super)
+                listener: handleIdentifier(int, typeReference)
+                listener: handleNoTypeArguments(super)
+                listener: handleType(int, null)
+                ensureIdentifierPotentiallyRecovered(int, methodDeclaration, true)
+                  reportRecoverableErrorWithToken(super, Instance of 'Template<(Token) => Message>')
+                    listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'super' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: super}], super, super)
+                  listener: handleIdentifier(super, methodDeclaration)
+                parseQualifiedRestOpt(super, methodDeclarationContinuation)
+                parseMethodTypeVar(super)
+                  listener: handleNoTypeVariables(()
+                parseGetterOrFormalParameters(super, super, false, MemberKind.NonStaticMethod)
+                  parseFormalParameters(super, MemberKind.NonStaticMethod)
+                    parseFormalParametersRest((, MemberKind.NonStaticMethod)
+                      listener: beginFormalParameters((, MemberKind.NonStaticMethod)
+                      parseFormalParameter((, FormalParameterKind.mandatory, MemberKind.NonStaticMethod)
+                        parseMetadataStar(()
+                          listener: beginMetadataStar(int)
+                          listener: endMetadataStar(0)
+                        listener: beginFormalParameter(int, MemberKind.NonStaticMethod, null, null, null)
+                        listener: handleIdentifier(int, typeReference)
+                        listener: handleNoTypeArguments(x)
+                        listener: handleType(int, null)
+                        ensureIdentifier(int, formalParameterDeclaration)
+                          listener: handleIdentifier(x, formalParameterDeclaration)
+                        listener: handleFormalParameterWithoutValue())
+                        listener: endFormalParameter(null, null, null, x, null, null, FormalParameterKind.mandatory, MemberKind.NonStaticMethod)
+                      listener: endFormalParameters(1, (, ), MemberKind.NonStaticMethod)
+                parseInitializersOpt())
+                  listener: handleNoInitializers()
+                parseAsyncModifierOpt())
+                  listener: handleAsyncModifier(null, null)
                   inPlainSync()
-                  parseFunctionBody(), false, true)
-                    listener: beginBlockFunctionBody({)
-                    notEofOrValue(}, if)
-                    parseStatement({)
-                      parseStatementX({)
-                        parseIfStatement({)
-                          listener: beginIfStatement(if)
-                          ensureParenthesizedCondition(if)
-                            parseExpressionInParenthesisRest(()
-                              parseExpression(()
-                                parsePrecedenceExpression((, 1, true)
-                                  parseUnaryExpression((, true)
-                                    parsePrimary((, expression)
-                                      parseSendOrFunctionLiteral((, expression)
-                                        parseSend((, expression)
-                                          isNextIdentifier(()
-                                          ensureIdentifier((, expression)
-                                            listener: handleIdentifier(x, expression)
-                                          listener: handleNoTypeArguments(==)
-                                          parseArgumentsOpt(x)
-                                            listener: handleNoArguments(==)
-                                          listener: handleSend(x, ==)
-                                  listener: beginBinaryExpression(==)
-                                  parsePrecedenceExpression(==, 8, true)
-                                    parseUnaryExpression(==, true)
-                                      parsePrimary(==, expression)
-                                        parseLiteralInt(==)
-                                          listener: handleLiteralInt(0)
-                                  listener: endBinaryExpression(==)
-                              ensureCloseParen(0, ()
-                            listener: handleParenthesizedCondition(()
-                          listener: beginThenStatement(return)
-                          parseStatement())
-                            parseStatementX())
-                              parseReturnStatement())
-                                listener: beginReturnStatement(return)
-                                parseExpression(return)
-                                  parsePrecedenceExpression(return, 1, true)
-                                    parseUnaryExpression(return, true)
-                                      parsePrimary(return, expression)
-                                        parseLiteralInt(return)
-                                          listener: handleLiteralInt(42)
-                                ensureSemicolon(42)
-                                listener: endReturnStatement(true, return, ;)
-                                inGenerator()
-                          listener: endThenStatement(;)
-                          listener: endIfStatement(if, null)
-                    notEofOrValue(}, return)
-                    parseStatement(;)
-                      parseStatementX(;)
-                        parseReturnStatement(;)
-                          listener: beginReturnStatement(return)
-                          parseExpression(return)
-                            parsePrecedenceExpression(return, 1, true)
-                              parseUnaryExpression(return, true)
-                                parsePrimary(return, expression)
-                                  parseSuperExpression(return, expression)
-                                    listener: handleSuperExpression(super, expression)
-                                    listener: handleNoTypeArguments(()
-                                    parseArguments(super)
-                                      parseArgumentsRest(()
-                                        listener: beginArguments(()
-                                        parseExpression(()
-                                          parsePrecedenceExpression((, 1, true)
-                                            parseUnaryExpression((, true)
-                                              parsePrimary((, expression)
-                                                parseSendOrFunctionLiteral((, expression)
-                                                  parseSend((, expression)
-                                                    isNextIdentifier(()
-                                                    ensureIdentifier((, expression)
-                                                      listener: handleIdentifier(x, expression)
-                                                    listener: handleNoTypeArguments(-)
-                                                    parseArgumentsOpt(x)
-                                                      listener: handleNoArguments(-)
-                                                    listener: handleSend(x, -)
-                                            listener: beginBinaryExpression(-)
-                                            parsePrecedenceExpression(-, 14, true)
-                                              parseUnaryExpression(-, true)
-                                                parsePrimary(-, expression)
-                                                  parseLiteralInt(-)
-                                                    listener: handleLiteralInt(1)
-                                            listener: endBinaryExpression(-)
-                                        listener: endArguments(1, (, ))
-                                    listener: handleSend(super, +)
-                              listener: beginBinaryExpression(+)
-                              parsePrecedenceExpression(+, 14, true)
-                                parseUnaryExpression(+, true)
-                                  parsePrimary(+, expression)
-                                    parseLiteralInt(+)
-                                      listener: handleLiteralInt(1)
-                              listener: endBinaryExpression(+)
-                          ensureSemicolon(1)
-                          listener: endReturnStatement(true, return, ;)
-                          inGenerator()
-                    notEofOrValue(}, })
-                    listener: endBlockFunctionBody(2, {, })
-                  listener: endClassMethod(null, , (, null, })
-                listener: endMember()
+                inPlainSync()
+                parseFunctionBody(), false, true)
+                  listener: beginBlockFunctionBody({)
+                  notEofOrValue(}, if)
+                  parseStatement({)
+                    parseStatementX({)
+                      parseIfStatement({)
+                        listener: beginIfStatement(if)
+                        ensureParenthesizedCondition(if)
+                          parseExpressionInParenthesisRest(()
+                            parseExpression(()
+                              parsePrecedenceExpression((, 1, true)
+                                parseUnaryExpression((, true)
+                                  parsePrimary((, expression)
+                                    parseSendOrFunctionLiteral((, expression)
+                                      parseSend((, expression)
+                                        isNextIdentifier(()
+                                        ensureIdentifier((, expression)
+                                          listener: handleIdentifier(x, expression)
+                                        listener: handleNoTypeArguments(==)
+                                        parseArgumentsOpt(x)
+                                          listener: handleNoArguments(==)
+                                        listener: handleSend(x, ==)
+                                listener: beginBinaryExpression(==)
+                                parsePrecedenceExpression(==, 8, true)
+                                  parseUnaryExpression(==, true)
+                                    parsePrimary(==, expression)
+                                      parseLiteralInt(==)
+                                        listener: handleLiteralInt(0)
+                                listener: endBinaryExpression(==)
+                            ensureCloseParen(0, ()
+                          listener: handleParenthesizedCondition(()
+                        listener: beginThenStatement(return)
+                        parseStatement())
+                          parseStatementX())
+                            parseReturnStatement())
+                              listener: beginReturnStatement(return)
+                              parseExpression(return)
+                                parsePrecedenceExpression(return, 1, true)
+                                  parseUnaryExpression(return, true)
+                                    parsePrimary(return, expression)
+                                      parseLiteralInt(return)
+                                        listener: handleLiteralInt(42)
+                              ensureSemicolon(42)
+                              listener: endReturnStatement(true, return, ;)
+                              inGenerator()
+                        listener: endThenStatement(;)
+                        listener: endIfStatement(if, null)
+                  notEofOrValue(}, return)
+                  parseStatement(;)
+                    parseStatementX(;)
+                      parseReturnStatement(;)
+                        listener: beginReturnStatement(return)
+                        parseExpression(return)
+                          parsePrecedenceExpression(return, 1, true)
+                            parseUnaryExpression(return, true)
+                              parsePrimary(return, expression)
+                                parseSuperExpression(return, expression)
+                                  listener: handleSuperExpression(super, expression)
+                                  listener: handleNoTypeArguments(()
+                                  parseArguments(super)
+                                    parseArgumentsRest(()
+                                      listener: beginArguments(()
+                                      parseExpression(()
+                                        parsePrecedenceExpression((, 1, true)
+                                          parseUnaryExpression((, true)
+                                            parsePrimary((, expression)
+                                              parseSendOrFunctionLiteral((, expression)
+                                                parseSend((, expression)
+                                                  isNextIdentifier(()
+                                                  ensureIdentifier((, expression)
+                                                    listener: handleIdentifier(x, expression)
+                                                  listener: handleNoTypeArguments(-)
+                                                  parseArgumentsOpt(x)
+                                                    listener: handleNoArguments(-)
+                                                  listener: handleSend(x, -)
+                                          listener: beginBinaryExpression(-)
+                                          parsePrecedenceExpression(-, 14, true)
+                                            parseUnaryExpression(-, true)
+                                              parsePrimary(-, expression)
+                                                parseLiteralInt(-)
+                                                  listener: handleLiteralInt(1)
+                                          listener: endBinaryExpression(-)
+                                      listener: endArguments(1, (, ))
+                                  listener: handleSend(super, +)
+                            listener: beginBinaryExpression(+)
+                            parsePrecedenceExpression(+, 14, true)
+                              parseUnaryExpression(+, true)
+                                parsePrimary(+, expression)
+                                  parseLiteralInt(+)
+                                    listener: handleLiteralInt(1)
+                            listener: endBinaryExpression(+)
+                        ensureSemicolon(1)
+                        listener: endReturnStatement(true, return, ;)
+                        inGenerator()
+                  notEofOrValue(}, })
+                  listener: endBlockFunctionBody(2, {, })
+                listener: endClassMethod(null, int, (, null, })
+              listener: endMember()
             notEofOrValue(}, int)
             parseClassOrMixinOrExtensionOrEnumMemberImpl(}, DeclarationKind.Class, WrapperClass)
               parseMetadataStar(})
@@ -10789,7 +10766,7 @@
                 listener: endClassMethod(null, int, (, null, })
               listener: endMember()
             notEofOrValue(}, })
-            listener: endClassOrMixinOrExtensionBody(DeclarationKind.Class, 71, {, })
+            listener: endClassOrMixinOrExtensionBody(DeclarationKind.Class, 70, {, })
           listener: endClassDeclaration(class, })
   listener: endTopLevelDeclaration()
   reportAllErrorTokens(class)
diff --git a/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_methods.dart.parser.expect b/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_methods.dart.parser.expect
index 5eaa7cd..70d958e 100644
--- a/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_methods.dart.parser.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_methods.dart.parser.expect
@@ -281,7 +281,7 @@
 return static(x-1) + 1;
 }
 
-int super;*synthetic*(int x) {
+int super(int x) {
 if (x == 0) return 42;
 return super(x-1) + 1;
 }
@@ -629,7 +629,7 @@
 return[KeywordToken] static[KeywordToken]([BeginToken]x[StringToken]-[SimpleToken]1[StringToken])[SimpleToken] +[SimpleToken] 1[StringToken];[SimpleToken]
 }[SimpleToken]
 
-int[StringToken] super[KeywordToken];[SyntheticToken][SyntheticStringToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] {[BeginToken]
+int[StringToken] super[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] {[BeginToken]
 if[KeywordToken] ([BeginToken]x[StringToken] ==[SimpleToken] 0[StringToken])[SimpleToken] return[KeywordToken] 42[StringToken];[SimpleToken]
 return[KeywordToken] super[KeywordToken]([BeginToken]x[StringToken]-[SimpleToken]1[StringToken])[SimpleToken] +[SimpleToken] 1[StringToken];[SimpleToken]
 }[SimpleToken]
diff --git a/pkg/front_end/parser_testcases/error_recovery/keyword_named_top_level_fields.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/keyword_named_top_level_fields.dart.intertwined.expect
index a0b0eaa..b2228b8 100644
--- a/pkg/front_end/parser_testcases/error_recovery/keyword_named_top_level_fields.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/keyword_named_top_level_fields.dart.intertwined.expect
@@ -1444,12 +1444,14 @@
       listener: endMetadataStar(0)
     parseTopLevelMemberImpl(;)
       listener: beginTopLevelMember(int)
-      parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', super, DeclarationKind.TopLevel, null, false)
+      isReservedKeyword(super)
+      indicatesMethodOrField(=)
+      parseFields(;, null, null, null, null, null, null, ;, Instance of 'SimpleType', super, DeclarationKind.TopLevel, null, true)
         listener: beginFields(DeclarationKind.TopLevel, null, null, null, null, null, null, ;)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(super)
         listener: handleType(int, null)
-        ensureIdentifierPotentiallyRecovered(int, topLevelVariableDeclaration, false)
+        ensureIdentifierPotentiallyRecovered(int, topLevelVariableDeclaration, true)
           reportRecoverableErrorWithToken(super, Instance of 'Template<(Token) => Message>')
             listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'super' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: super}], super, super)
           listener: handleIdentifier(super, topLevelVariableDeclaration)
diff --git a/pkg/front_end/parser_testcases/error_recovery/keyword_named_top_level_methods.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/keyword_named_top_level_methods.dart.intertwined.expect
index 09deafa..bad4dea 100644
--- a/pkg/front_end/parser_testcases/error_recovery/keyword_named_top_level_methods.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/keyword_named_top_level_methods.dart.intertwined.expect
@@ -8308,12 +8308,14 @@
       listener: endMetadataStar(0)
     parseTopLevelMemberImpl(})
       listener: beginTopLevelMember(int)
-      parseTopLevelMethod(}, null, }, Instance of 'SimpleType', null, super, false)
+      isReservedKeyword(super)
+      indicatesMethodOrField(()
+      parseTopLevelMethod(}, null, }, Instance of 'SimpleType', null, super, true)
         listener: beginTopLevelMethod(}, null)
         listener: handleIdentifier(int, typeReference)
         listener: handleNoTypeArguments(super)
         listener: handleType(int, null)
-        ensureIdentifierPotentiallyRecovered(int, topLevelFunctionDeclaration, false)
+        ensureIdentifierPotentiallyRecovered(int, topLevelFunctionDeclaration, true)
           reportRecoverableErrorWithToken(super, Instance of 'Template<(Token) => Message>')
             listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'super' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: super}], super, super)
           listener: handleIdentifier(super, topLevelFunctionDeclaration)
diff --git a/pkg/front_end/testcases/super_parameters/typed_super_parameter.dart b/pkg/front_end/testcases/super_parameters/typed_super_parameter.dart
deleted file mode 100644
index a0f94cc..0000000
--- a/pkg/front_end/testcases/super_parameters/typed_super_parameter.dart
+++ /dev/null
@@ -1,51 +0,0 @@
-// Copyright (c) 2021, the Dart project authors.  Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-class A1 {
-  final int foo;
-  A1(int this.foo);
-}
-
-class B1 extends A1 {
-  B1(int super.foo);
-}
-
-class A2 {
-  final int Function(int) foo;
-  A2(int Function(int) this.foo);
-}
-
-class B2 extends A2 {
-  B2(int Function(int) super.foo);
-}
-
-class A3 {
-  final int Function(int) foo;
-  A3(int this.foo(int));
-}
-
-class B3 extends A3 {
-  B3(int super.foo(int));
-}
-
-class A4 {
-  final void Function() Function(void Function()) foo;
-  A4(void Function() this.foo(void Function()));
-}
-
-class B4 extends A4 {
-  B4(void Function() super.foo(void Function()));
-}
-
-
-class A5 {
-  final void Function() Function(void Function()) foo;
-  A5(void Function() Function(void Function()) this.foo);
-}
-
-class B5 extends A5 {
-  B5(void Function() Function(void Function()) super.foo);
-}
-
-main() {}
diff --git a/pkg/front_end/testcases/super_parameters/typed_super_parameter.dart.strong.expect b/pkg/front_end/testcases/super_parameters/typed_super_parameter.dart.strong.expect
deleted file mode 100644
index aecf2d6..0000000
--- a/pkg/front_end/testcases/super_parameters/typed_super_parameter.dart.strong.expect
+++ /dev/null
@@ -1,93 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/super_parameters/typed_super_parameter.dart:11:3: Error: The superclass, 'A1', has no unnamed constructor that takes no arguments.
-//   B1(int super.foo);
-//   ^^
-//
-// pkg/front_end/testcases/super_parameters/typed_super_parameter.dart:20:3: Error: The superclass, 'A2', has no unnamed constructor that takes no arguments.
-//   B2(int Function(int) super.foo);
-//   ^^
-//
-// pkg/front_end/testcases/super_parameters/typed_super_parameter.dart:29:3: Error: The superclass, 'A3', has no unnamed constructor that takes no arguments.
-//   B3(int super.foo(int));
-//   ^^
-//
-// pkg/front_end/testcases/super_parameters/typed_super_parameter.dart:38:3: Error: The superclass, 'A4', has no unnamed constructor that takes no arguments.
-//   B4(void Function() super.foo(void Function()));
-//   ^^
-//
-// pkg/front_end/testcases/super_parameters/typed_super_parameter.dart:48:3: Error: The superclass, 'A5', has no unnamed constructor that takes no arguments.
-//   B5(void Function() Function(void Function()) super.foo);
-//   ^^
-//
-import self as self;
-import "dart:core" as core;
-
-class A1 extends core::Object {
-  final field core::int foo;
-  constructor •(core::int foo) → self::A1
-    : self::A1::foo = foo, super core::Object::•()
-    ;
-}
-class B1 extends self::A1 {
-  constructor •(core::int foo) → self::B1
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/super_parameters/typed_super_parameter.dart:11:3: Error: The superclass, 'A1', has no unnamed constructor that takes no arguments.
-  B1(int super.foo);
-  ^^"
-    ;
-}
-class A2 extends core::Object {
-  final field (core::int) → core::int foo;
-  constructor •((core::int) → core::int foo) → self::A2
-    : self::A2::foo = foo, super core::Object::•()
-    ;
-}
-class B2 extends self::A2 {
-  constructor •((core::int) → core::int foo) → self::B2
-    : final dynamic #t2 = invalid-expression "pkg/front_end/testcases/super_parameters/typed_super_parameter.dart:20:3: Error: The superclass, 'A2', has no unnamed constructor that takes no arguments.
-  B2(int Function(int) super.foo);
-  ^^"
-    ;
-}
-class A3 extends core::Object {
-  final field (core::int) → core::int foo;
-  constructor •((dynamic) → core::int foo) → self::A3
-    : self::A3::foo = foo, super core::Object::•()
-    ;
-}
-class B3 extends self::A3 {
-  constructor •((dynamic) → core::int foo) → self::B3
-    : final dynamic #t3 = invalid-expression "pkg/front_end/testcases/super_parameters/typed_super_parameter.dart:29:3: Error: The superclass, 'A3', has no unnamed constructor that takes no arguments.
-  B3(int super.foo(int));
-  ^^"
-    ;
-}
-class A4 extends core::Object {
-  final field (() → void) → () → void foo;
-  constructor •((() → void) → () → void foo) → self::A4
-    : self::A4::foo = foo, super core::Object::•()
-    ;
-}
-class B4 extends self::A4 {
-  constructor •((() → void) → () → void foo) → self::B4
-    : final dynamic #t4 = invalid-expression "pkg/front_end/testcases/super_parameters/typed_super_parameter.dart:38:3: Error: The superclass, 'A4', has no unnamed constructor that takes no arguments.
-  B4(void Function() super.foo(void Function()));
-  ^^"
-    ;
-}
-class A5 extends core::Object {
-  final field (() → void) → () → void foo;
-  constructor •((() → void) → () → void foo) → self::A5
-    : self::A5::foo = foo, super core::Object::•()
-    ;
-}
-class B5 extends self::A5 {
-  constructor •((() → void) → () → void foo) → self::B5
-    : final dynamic #t5 = invalid-expression "pkg/front_end/testcases/super_parameters/typed_super_parameter.dart:48:3: Error: The superclass, 'A5', has no unnamed constructor that takes no arguments.
-  B5(void Function() Function(void Function()) super.foo);
-  ^^"
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/super_parameters/typed_super_parameter.dart.strong.transformed.expect b/pkg/front_end/testcases/super_parameters/typed_super_parameter.dart.strong.transformed.expect
deleted file mode 100644
index aecf2d6..0000000
--- a/pkg/front_end/testcases/super_parameters/typed_super_parameter.dart.strong.transformed.expect
+++ /dev/null
@@ -1,93 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/super_parameters/typed_super_parameter.dart:11:3: Error: The superclass, 'A1', has no unnamed constructor that takes no arguments.
-//   B1(int super.foo);
-//   ^^
-//
-// pkg/front_end/testcases/super_parameters/typed_super_parameter.dart:20:3: Error: The superclass, 'A2', has no unnamed constructor that takes no arguments.
-//   B2(int Function(int) super.foo);
-//   ^^
-//
-// pkg/front_end/testcases/super_parameters/typed_super_parameter.dart:29:3: Error: The superclass, 'A3', has no unnamed constructor that takes no arguments.
-//   B3(int super.foo(int));
-//   ^^
-//
-// pkg/front_end/testcases/super_parameters/typed_super_parameter.dart:38:3: Error: The superclass, 'A4', has no unnamed constructor that takes no arguments.
-//   B4(void Function() super.foo(void Function()));
-//   ^^
-//
-// pkg/front_end/testcases/super_parameters/typed_super_parameter.dart:48:3: Error: The superclass, 'A5', has no unnamed constructor that takes no arguments.
-//   B5(void Function() Function(void Function()) super.foo);
-//   ^^
-//
-import self as self;
-import "dart:core" as core;
-
-class A1 extends core::Object {
-  final field core::int foo;
-  constructor •(core::int foo) → self::A1
-    : self::A1::foo = foo, super core::Object::•()
-    ;
-}
-class B1 extends self::A1 {
-  constructor •(core::int foo) → self::B1
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/super_parameters/typed_super_parameter.dart:11:3: Error: The superclass, 'A1', has no unnamed constructor that takes no arguments.
-  B1(int super.foo);
-  ^^"
-    ;
-}
-class A2 extends core::Object {
-  final field (core::int) → core::int foo;
-  constructor •((core::int) → core::int foo) → self::A2
-    : self::A2::foo = foo, super core::Object::•()
-    ;
-}
-class B2 extends self::A2 {
-  constructor •((core::int) → core::int foo) → self::B2
-    : final dynamic #t2 = invalid-expression "pkg/front_end/testcases/super_parameters/typed_super_parameter.dart:20:3: Error: The superclass, 'A2', has no unnamed constructor that takes no arguments.
-  B2(int Function(int) super.foo);
-  ^^"
-    ;
-}
-class A3 extends core::Object {
-  final field (core::int) → core::int foo;
-  constructor •((dynamic) → core::int foo) → self::A3
-    : self::A3::foo = foo, super core::Object::•()
-    ;
-}
-class B3 extends self::A3 {
-  constructor •((dynamic) → core::int foo) → self::B3
-    : final dynamic #t3 = invalid-expression "pkg/front_end/testcases/super_parameters/typed_super_parameter.dart:29:3: Error: The superclass, 'A3', has no unnamed constructor that takes no arguments.
-  B3(int super.foo(int));
-  ^^"
-    ;
-}
-class A4 extends core::Object {
-  final field (() → void) → () → void foo;
-  constructor •((() → void) → () → void foo) → self::A4
-    : self::A4::foo = foo, super core::Object::•()
-    ;
-}
-class B4 extends self::A4 {
-  constructor •((() → void) → () → void foo) → self::B4
-    : final dynamic #t4 = invalid-expression "pkg/front_end/testcases/super_parameters/typed_super_parameter.dart:38:3: Error: The superclass, 'A4', has no unnamed constructor that takes no arguments.
-  B4(void Function() super.foo(void Function()));
-  ^^"
-    ;
-}
-class A5 extends core::Object {
-  final field (() → void) → () → void foo;
-  constructor •((() → void) → () → void foo) → self::A5
-    : self::A5::foo = foo, super core::Object::•()
-    ;
-}
-class B5 extends self::A5 {
-  constructor •((() → void) → () → void foo) → self::B5
-    : final dynamic #t5 = invalid-expression "pkg/front_end/testcases/super_parameters/typed_super_parameter.dart:48:3: Error: The superclass, 'A5', has no unnamed constructor that takes no arguments.
-  B5(void Function() Function(void Function()) super.foo);
-  ^^"
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/super_parameters/typed_super_parameter.dart.textual_outline.expect b/pkg/front_end/testcases/super_parameters/typed_super_parameter.dart.textual_outline.expect
deleted file mode 100644
index f29b981..0000000
--- a/pkg/front_end/testcases/super_parameters/typed_super_parameter.dart.textual_outline.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-class A1 {
-  final int foo;
-  A1(int this.foo);
-}
-class B1 extends A1 {
-  B1(int super.foo);
-}
-class A2 {
-  final int Function(int) foo;
-  A2(int Function(int) this.foo);
-}
-class B2 extends A2 {
-  B2(int Function(int) super.foo);
-}
-class A3 {
-  final int Function(int) foo;
-  A3(int this.foo(int));
-}
-class B3 extends A3 {
-  B3(int super.foo(int));
-}
-class A4 {
-  final void Function() Function(void Function()) foo;
-  A4(void Function() this.foo(void Function()));
-}
-class B4 extends A4 {
-  B4(void Function() super.foo(void Function()));
-}
-class A5 {
-  final void Function() Function(void Function()) foo;
-  A5(void Function() Function(void Function()) this.foo);
-}
-class B5 extends A5 {
-  B5(void Function() Function(void Function()) super.foo);
-}
-main() {}
diff --git a/pkg/front_end/testcases/super_parameters/typed_super_parameter.dart.weak.expect b/pkg/front_end/testcases/super_parameters/typed_super_parameter.dart.weak.expect
deleted file mode 100644
index aecf2d6..0000000
--- a/pkg/front_end/testcases/super_parameters/typed_super_parameter.dart.weak.expect
+++ /dev/null
@@ -1,93 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/super_parameters/typed_super_parameter.dart:11:3: Error: The superclass, 'A1', has no unnamed constructor that takes no arguments.
-//   B1(int super.foo);
-//   ^^
-//
-// pkg/front_end/testcases/super_parameters/typed_super_parameter.dart:20:3: Error: The superclass, 'A2', has no unnamed constructor that takes no arguments.
-//   B2(int Function(int) super.foo);
-//   ^^
-//
-// pkg/front_end/testcases/super_parameters/typed_super_parameter.dart:29:3: Error: The superclass, 'A3', has no unnamed constructor that takes no arguments.
-//   B3(int super.foo(int));
-//   ^^
-//
-// pkg/front_end/testcases/super_parameters/typed_super_parameter.dart:38:3: Error: The superclass, 'A4', has no unnamed constructor that takes no arguments.
-//   B4(void Function() super.foo(void Function()));
-//   ^^
-//
-// pkg/front_end/testcases/super_parameters/typed_super_parameter.dart:48:3: Error: The superclass, 'A5', has no unnamed constructor that takes no arguments.
-//   B5(void Function() Function(void Function()) super.foo);
-//   ^^
-//
-import self as self;
-import "dart:core" as core;
-
-class A1 extends core::Object {
-  final field core::int foo;
-  constructor •(core::int foo) → self::A1
-    : self::A1::foo = foo, super core::Object::•()
-    ;
-}
-class B1 extends self::A1 {
-  constructor •(core::int foo) → self::B1
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/super_parameters/typed_super_parameter.dart:11:3: Error: The superclass, 'A1', has no unnamed constructor that takes no arguments.
-  B1(int super.foo);
-  ^^"
-    ;
-}
-class A2 extends core::Object {
-  final field (core::int) → core::int foo;
-  constructor •((core::int) → core::int foo) → self::A2
-    : self::A2::foo = foo, super core::Object::•()
-    ;
-}
-class B2 extends self::A2 {
-  constructor •((core::int) → core::int foo) → self::B2
-    : final dynamic #t2 = invalid-expression "pkg/front_end/testcases/super_parameters/typed_super_parameter.dart:20:3: Error: The superclass, 'A2', has no unnamed constructor that takes no arguments.
-  B2(int Function(int) super.foo);
-  ^^"
-    ;
-}
-class A3 extends core::Object {
-  final field (core::int) → core::int foo;
-  constructor •((dynamic) → core::int foo) → self::A3
-    : self::A3::foo = foo, super core::Object::•()
-    ;
-}
-class B3 extends self::A3 {
-  constructor •((dynamic) → core::int foo) → self::B3
-    : final dynamic #t3 = invalid-expression "pkg/front_end/testcases/super_parameters/typed_super_parameter.dart:29:3: Error: The superclass, 'A3', has no unnamed constructor that takes no arguments.
-  B3(int super.foo(int));
-  ^^"
-    ;
-}
-class A4 extends core::Object {
-  final field (() → void) → () → void foo;
-  constructor •((() → void) → () → void foo) → self::A4
-    : self::A4::foo = foo, super core::Object::•()
-    ;
-}
-class B4 extends self::A4 {
-  constructor •((() → void) → () → void foo) → self::B4
-    : final dynamic #t4 = invalid-expression "pkg/front_end/testcases/super_parameters/typed_super_parameter.dart:38:3: Error: The superclass, 'A4', has no unnamed constructor that takes no arguments.
-  B4(void Function() super.foo(void Function()));
-  ^^"
-    ;
-}
-class A5 extends core::Object {
-  final field (() → void) → () → void foo;
-  constructor •((() → void) → () → void foo) → self::A5
-    : self::A5::foo = foo, super core::Object::•()
-    ;
-}
-class B5 extends self::A5 {
-  constructor •((() → void) → () → void foo) → self::B5
-    : final dynamic #t5 = invalid-expression "pkg/front_end/testcases/super_parameters/typed_super_parameter.dart:48:3: Error: The superclass, 'A5', has no unnamed constructor that takes no arguments.
-  B5(void Function() Function(void Function()) super.foo);
-  ^^"
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/super_parameters/typed_super_parameter.dart.weak.outline.expect b/pkg/front_end/testcases/super_parameters/typed_super_parameter.dart.weak.outline.expect
deleted file mode 100644
index 70b9d6e..0000000
--- a/pkg/front_end/testcases/super_parameters/typed_super_parameter.dart.weak.outline.expect
+++ /dev/null
@@ -1,51 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-
-class A1 extends core::Object {
-  final field core::int foo;
-  constructor •(core::int foo) → self::A1
-    ;
-}
-class B1 extends self::A1 {
-  constructor •(core::int foo) → self::B1
-    ;
-}
-class A2 extends core::Object {
-  final field (core::int) → core::int foo;
-  constructor •((core::int) → core::int foo) → self::A2
-    ;
-}
-class B2 extends self::A2 {
-  constructor •((core::int) → core::int foo) → self::B2
-    ;
-}
-class A3 extends core::Object {
-  final field (core::int) → core::int foo;
-  constructor •((dynamic) → core::int foo) → self::A3
-    ;
-}
-class B3 extends self::A3 {
-  constructor •((dynamic) → core::int foo) → self::B3
-    ;
-}
-class A4 extends core::Object {
-  final field (() → void) → () → void foo;
-  constructor •((() → void) → () → void foo) → self::A4
-    ;
-}
-class B4 extends self::A4 {
-  constructor •((() → void) → () → void foo) → self::B4
-    ;
-}
-class A5 extends core::Object {
-  final field (() → void) → () → void foo;
-  constructor •((() → void) → () → void foo) → self::A5
-    ;
-}
-class B5 extends self::A5 {
-  constructor •((() → void) → () → void foo) → self::B5
-    ;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/super_parameters/typed_super_parameter.dart.weak.transformed.expect b/pkg/front_end/testcases/super_parameters/typed_super_parameter.dart.weak.transformed.expect
deleted file mode 100644
index aecf2d6..0000000
--- a/pkg/front_end/testcases/super_parameters/typed_super_parameter.dart.weak.transformed.expect
+++ /dev/null
@@ -1,93 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/super_parameters/typed_super_parameter.dart:11:3: Error: The superclass, 'A1', has no unnamed constructor that takes no arguments.
-//   B1(int super.foo);
-//   ^^
-//
-// pkg/front_end/testcases/super_parameters/typed_super_parameter.dart:20:3: Error: The superclass, 'A2', has no unnamed constructor that takes no arguments.
-//   B2(int Function(int) super.foo);
-//   ^^
-//
-// pkg/front_end/testcases/super_parameters/typed_super_parameter.dart:29:3: Error: The superclass, 'A3', has no unnamed constructor that takes no arguments.
-//   B3(int super.foo(int));
-//   ^^
-//
-// pkg/front_end/testcases/super_parameters/typed_super_parameter.dart:38:3: Error: The superclass, 'A4', has no unnamed constructor that takes no arguments.
-//   B4(void Function() super.foo(void Function()));
-//   ^^
-//
-// pkg/front_end/testcases/super_parameters/typed_super_parameter.dart:48:3: Error: The superclass, 'A5', has no unnamed constructor that takes no arguments.
-//   B5(void Function() Function(void Function()) super.foo);
-//   ^^
-//
-import self as self;
-import "dart:core" as core;
-
-class A1 extends core::Object {
-  final field core::int foo;
-  constructor •(core::int foo) → self::A1
-    : self::A1::foo = foo, super core::Object::•()
-    ;
-}
-class B1 extends self::A1 {
-  constructor •(core::int foo) → self::B1
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/super_parameters/typed_super_parameter.dart:11:3: Error: The superclass, 'A1', has no unnamed constructor that takes no arguments.
-  B1(int super.foo);
-  ^^"
-    ;
-}
-class A2 extends core::Object {
-  final field (core::int) → core::int foo;
-  constructor •((core::int) → core::int foo) → self::A2
-    : self::A2::foo = foo, super core::Object::•()
-    ;
-}
-class B2 extends self::A2 {
-  constructor •((core::int) → core::int foo) → self::B2
-    : final dynamic #t2 = invalid-expression "pkg/front_end/testcases/super_parameters/typed_super_parameter.dart:20:3: Error: The superclass, 'A2', has no unnamed constructor that takes no arguments.
-  B2(int Function(int) super.foo);
-  ^^"
-    ;
-}
-class A3 extends core::Object {
-  final field (core::int) → core::int foo;
-  constructor •((dynamic) → core::int foo) → self::A3
-    : self::A3::foo = foo, super core::Object::•()
-    ;
-}
-class B3 extends self::A3 {
-  constructor •((dynamic) → core::int foo) → self::B3
-    : final dynamic #t3 = invalid-expression "pkg/front_end/testcases/super_parameters/typed_super_parameter.dart:29:3: Error: The superclass, 'A3', has no unnamed constructor that takes no arguments.
-  B3(int super.foo(int));
-  ^^"
-    ;
-}
-class A4 extends core::Object {
-  final field (() → void) → () → void foo;
-  constructor •((() → void) → () → void foo) → self::A4
-    : self::A4::foo = foo, super core::Object::•()
-    ;
-}
-class B4 extends self::A4 {
-  constructor •((() → void) → () → void foo) → self::B4
-    : final dynamic #t4 = invalid-expression "pkg/front_end/testcases/super_parameters/typed_super_parameter.dart:38:3: Error: The superclass, 'A4', has no unnamed constructor that takes no arguments.
-  B4(void Function() super.foo(void Function()));
-  ^^"
-    ;
-}
-class A5 extends core::Object {
-  final field (() → void) → () → void foo;
-  constructor •((() → void) → () → void foo) → self::A5
-    : self::A5::foo = foo, super core::Object::•()
-    ;
-}
-class B5 extends self::A5 {
-  constructor •((() → void) → () → void foo) → self::B5
-    : final dynamic #t5 = invalid-expression "pkg/front_end/testcases/super_parameters/typed_super_parameter.dart:48:3: Error: The superclass, 'A5', has no unnamed constructor that takes no arguments.
-  B5(void Function() Function(void Function()) super.foo);
-  ^^"
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/textual_outline.status b/pkg/front_end/testcases/textual_outline.status
index bed6b86..956276e 100644
--- a/pkg/front_end/testcases/textual_outline.status
+++ b/pkg/front_end/testcases/textual_outline.status
@@ -200,7 +200,6 @@
 regress/issue_41265.crash: Crash
 regress/issue_41265.crash: FormatterCrash
 super_parameters/simple: FormatterCrash
-super_parameters/typed_super_parameter: FormatterCrash
 triple_shift/invalid_operator: FormatterCrash
 variance/class_type_parameter_modifier: FormatterCrash
 variance/generic_covariance_sound_variance: FormatterCrash