library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;

abstract class Base extends core::Object /*isMixinDeclaration*/  {
  method methodWithDefaultImpl() → core::Object?
    ;
}
abstract class TestFailure<A extends core::Object? = dynamic> extends self::Base /*isMixinDeclaration*/  {
  @core::override
  abstract method methodWithDefaultImpl({covariant-by-class self::TestFailure::A? nameParam = null}) → core::Object?;
}
static method main() → void
  ;


Extra constant evaluation status:
Evaluated: StaticGet @ org-dartlang-testcase:///issue48242.dart:10:4 -> InstanceConstant(const _Override{})
Extra constant evaluation: evaluated: 1, effectively constant: 1
