library;
//
// Problems in library:
//
// pkg/front_end/testcases/general/issue49357a.dart:11:9: Error: Can't find '}' to match '{'.
// class C {
//         ^
//
// pkg/front_end/testcases/general/issue49357a.dart:5:26: Error: Type 'B' not found.
// abstract class A extends B {
//                          ^
//
// pkg/front_end/testcases/general/issue49357a.dart:7:20: Error: The super constructor has no corresponding named parameter.
//     required super.field,
//                    ^
//
import self as self;
import "dart:core" as core;

abstract class A extends core::Object {
  constructor •({required invalid-type field}) → self::A
    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/issue49357a.dart:7:20: Error: The super constructor has no corresponding named parameter.
    required super.field,
                   ^"
    ;
}
class C extends core::Object {
  synthetic constructor •() → self::C
    : super core::Object::•()
    ;
  method method(dynamic list) → void {
    for (final dynamic element in list as{TypeError,ForDynamic} core::Iterable<dynamic>) {
    }
  }
}
