library;
//
// Problems in library:
//
// pkg/front_end/testcases/coverage/static2_test.dart:9:26: Error: The type of parameter 'x', 'String' is not a subtype of the corresponding field's type, 'int'.
// Try changing the type of parameter 'x' to a subtype of 'int'.
//   const A.a4(String this.x); // Error
//                          ^
// pkg/front_end/testcases/coverage/static2_test.dart:8:13: Context: The field that corresponds to the parameter.
//   final int x;
//             ^
//
import self as self;
import "dart:core" as core;

class A extends core::Object /*hasConstConstructor*/  {
  final field core::int x;
  const constructor a4(core::String x) → self::A
    : self::A::x = x, super core::Object::•()
    ;
}
