blob: 4d68a2134b55a282ec021dc91e2a57b24087fd03 [file] [log] [blame]
library /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/general/bounds_return_types.dart:19:1: Error: Type argument 'Object' doesn't conform to the bound 'Class<X>' of the type variable 'X' on 'F'.
// - 'Object' is from 'dart:core'.
// - 'Class' is from 'pkg/front_end/testcases/general/bounds_return_types.dart'.
// Try changing type arguments so that they conform to the bounds.
// F<Object> t7() => throw ''; // Error
// ^
// pkg/front_end/testcases/general/bounds_return_types.dart:9:11: Context: This is the type variable whose bound isn't conformed to.
// typedef F<X extends Class<X>> = X;
// ^
//
// pkg/front_end/testcases/general/bounds_return_types.dart:20:1: Error: Type argument 'int' doesn't conform to the bound 'Class<X>' of the type variable 'X' on 'F'.
// - 'Class' is from 'pkg/front_end/testcases/general/bounds_return_types.dart'.
// Try changing type arguments so that they conform to the bounds.
// F<int> t8() => throw ''; // Error
// ^
// pkg/front_end/testcases/general/bounds_return_types.dart:9:11: Context: This is the type variable whose bound isn't conformed to.
// typedef F<X extends Class<X>> = X;
// ^
//
// pkg/front_end/testcases/general/bounds_return_types.dart:27:1: Error: Type argument 'Object' doesn't conform to the bound 'Class<X>' of the type variable 'X' on 'G'.
// - 'Object' is from 'dart:core'.
// - 'Class' is from 'pkg/front_end/testcases/general/bounds_return_types.dart'.
// Try changing type arguments so that they conform to the bounds.
// G<Object> s7() => throw ''; // Error
// ^
// pkg/front_end/testcases/general/bounds_return_types.dart:11:9: Context: This is the type variable whose bound isn't conformed to.
// class G<X extends Class<X>> {}
// ^
//
// pkg/front_end/testcases/general/bounds_return_types.dart:28:1: Error: Type argument 'int' doesn't conform to the bound 'Class<X>' of the type variable 'X' on 'G'.
// - 'Class' is from 'pkg/front_end/testcases/general/bounds_return_types.dart'.
// Try changing type arguments so that they conform to the bounds.
// G<int> s8() => throw ''; // Error
// ^
// pkg/front_end/testcases/general/bounds_return_types.dart:11:9: Context: This is the type variable whose bound isn't conformed to.
// class G<X extends Class<X>> {}
// ^
//
// pkg/front_end/testcases/general/bounds_return_types.dart:56:3: Error: Type argument 'Object' doesn't conform to the bound 'Class<X>' of the type variable 'X' on 'F'.
// - 'Object' is from 'dart:core'.
// - 'Class' is from 'pkg/front_end/testcases/general/bounds_return_types.dart'.
// Try changing type arguments so that they conform to the bounds.
// F<Object> t7() => throw ''; // Error
// ^
// pkg/front_end/testcases/general/bounds_return_types.dart:9:11: Context: This is the type variable whose bound isn't conformed to.
// typedef F<X extends Class<X>> = X;
// ^
//
// pkg/front_end/testcases/general/bounds_return_types.dart:57:3: Error: Type argument 'int' doesn't conform to the bound 'Class<X>' of the type variable 'X' on 'F'.
// - 'Class' is from 'pkg/front_end/testcases/general/bounds_return_types.dart'.
// Try changing type arguments so that they conform to the bounds.
// F<int> t8() => throw ''; // Error
// ^
// pkg/front_end/testcases/general/bounds_return_types.dart:9:11: Context: This is the type variable whose bound isn't conformed to.
// typedef F<X extends Class<X>> = X;
// ^
//
// pkg/front_end/testcases/general/bounds_return_types.dart:64:3: Error: Type argument 'Object' doesn't conform to the bound 'Class<X>' of the type variable 'X' on 'G'.
// - 'Object' is from 'dart:core'.
// - 'Class' is from 'pkg/front_end/testcases/general/bounds_return_types.dart'.
// Try changing type arguments so that they conform to the bounds.
// G<Object> s7() => throw ''; // Error
// ^
// pkg/front_end/testcases/general/bounds_return_types.dart:11:9: Context: This is the type variable whose bound isn't conformed to.
// class G<X extends Class<X>> {}
// ^
//
// pkg/front_end/testcases/general/bounds_return_types.dart:65:3: Error: Type argument 'int' doesn't conform to the bound 'Class<X>' of the type variable 'X' on 'G'.
// - 'Class' is from 'pkg/front_end/testcases/general/bounds_return_types.dart'.
// Try changing type arguments so that they conform to the bounds.
// G<int> s8() => throw ''; // Error
// ^
// pkg/front_end/testcases/general/bounds_return_types.dart:11:9: Context: This is the type variable whose bound isn't conformed to.
// class G<X extends Class<X>> {}
// ^
//
// pkg/front_end/testcases/general/bounds_return_types.dart:75:3: Error: Type argument 'Object' doesn't conform to the bound 'Class<X>' of the type variable 'X' on 'F'.
// - 'Object' is from 'dart:core'.
// - 'Class' is from 'pkg/front_end/testcases/general/bounds_return_types.dart'.
// Try changing type arguments so that they conform to the bounds.
// F<Object> t7() => throw ''; // Error
// ^
// pkg/front_end/testcases/general/bounds_return_types.dart:9:11: Context: This is the type variable whose bound isn't conformed to.
// typedef F<X extends Class<X>> = X;
// ^
//
// pkg/front_end/testcases/general/bounds_return_types.dart:76:3: Error: Type argument 'int' doesn't conform to the bound 'Class<X>' of the type variable 'X' on 'F'.
// - 'Class' is from 'pkg/front_end/testcases/general/bounds_return_types.dart'.
// Try changing type arguments so that they conform to the bounds.
// F<int> t8() => throw ''; // Error
// ^
// pkg/front_end/testcases/general/bounds_return_types.dart:9:11: Context: This is the type variable whose bound isn't conformed to.
// typedef F<X extends Class<X>> = X;
// ^
//
// pkg/front_end/testcases/general/bounds_return_types.dart:83:3: Error: Type argument 'Object' doesn't conform to the bound 'Class<X>' of the type variable 'X' on 'G'.
// - 'Object' is from 'dart:core'.
// - 'Class' is from 'pkg/front_end/testcases/general/bounds_return_types.dart'.
// Try changing type arguments so that they conform to the bounds.
// G<Object> s7() => throw ''; // Error
// ^
// pkg/front_end/testcases/general/bounds_return_types.dart:11:9: Context: This is the type variable whose bound isn't conformed to.
// class G<X extends Class<X>> {}
// ^
//
// pkg/front_end/testcases/general/bounds_return_types.dart:84:3: Error: Type argument 'int' doesn't conform to the bound 'Class<X>' of the type variable 'X' on 'G'.
// - 'Class' is from 'pkg/front_end/testcases/general/bounds_return_types.dart'.
// Try changing type arguments so that they conform to the bounds.
// G<int> s8() => throw ''; // Error
// ^
// pkg/front_end/testcases/general/bounds_return_types.dart:11:9: Context: This is the type variable whose bound isn't conformed to.
// class G<X extends Class<X>> {}
// ^
//
import self as self;
import "dart:core" as core;
typedef F<X extends self::Class<X> = self::Class<dynamic>> = X;
class Class<T extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() self::Class<self::Class::T%>
;
}
class ConcreteClass extends core::Object implements self::Class<self::ConcreteClass> {
synthetic constructor •() self::ConcreteClass
;
}
class G<X extends self::Class<self::G::X> = self::Class<dynamic>> extends core::Object {
synthetic constructor •() self::G<self::G::X>
;
}
class Class1 extends core::Object {
synthetic constructor •() self::Class1
;
method t1() self::Class<dynamic>
;
method t2() dynamic
;
method t3() self::Class<dynamic>
;
method t4() self::Class<dynamic>
;
method t5() self::ConcreteClass
;
method t6() self::Class<self::ConcreteClass>
;
method t7() core::Object
;
method t8() core::int
;
method s1() self::G<self::Class<dynamic>>
;
method s2() self::G<dynamic>
;
method s3() self::G<self::Class<dynamic>>
;
method s4() self::G<self::Class<dynamic>>
;
method s5() self::G<self::ConcreteClass>
;
method s6() self::G<self::Class<self::ConcreteClass>>
;
method s7() self::G<core::Object>
;
method s8() self::G<core::int>
;
}
extension Extension1 on core::int {
method t1 = self::Extension1|t1;
tearoff t1 = self::Extension1|get#t1;
method t2 = self::Extension1|t2;
tearoff t2 = self::Extension1|get#t2;
method t3 = self::Extension1|t3;
tearoff t3 = self::Extension1|get#t3;
method t4 = self::Extension1|t4;
tearoff t4 = self::Extension1|get#t4;
method t5 = self::Extension1|t5;
tearoff t5 = self::Extension1|get#t5;
method t6 = self::Extension1|t6;
tearoff t6 = self::Extension1|get#t6;
method t7 = self::Extension1|t7;
tearoff t7 = self::Extension1|get#t7;
method t8 = self::Extension1|t8;
tearoff t8 = self::Extension1|get#t8;
method s1 = self::Extension1|s1;
tearoff s1 = self::Extension1|get#s1;
method s2 = self::Extension1|s2;
tearoff s2 = self::Extension1|get#s2;
method s3 = self::Extension1|s3;
tearoff s3 = self::Extension1|get#s3;
method s4 = self::Extension1|s4;
tearoff s4 = self::Extension1|get#s4;
method s5 = self::Extension1|s5;
tearoff s5 = self::Extension1|get#s5;
method s6 = self::Extension1|s6;
tearoff s6 = self::Extension1|get#s6;
method s7 = self::Extension1|s7;
tearoff s7 = self::Extension1|get#s7;
method s8 = self::Extension1|s8;
tearoff s8 = self::Extension1|get#s8;
}
static method t1() self::Class<dynamic>
;
static method t2() dynamic
;
static method t3() self::Class<dynamic>
;
static method t4() self::Class<dynamic>
;
static method t5() self::ConcreteClass
;
static method t6() self::Class<self::ConcreteClass>
;
static method t7() core::Object
;
static method t8() core::int
;
static method s1() self::G<self::Class<dynamic>>
;
static method s2() self::G<dynamic>
;
static method s3() self::G<self::Class<dynamic>>
;
static method s4() self::G<self::Class<dynamic>>
;
static method s5() self::G<self::ConcreteClass>
;
static method s6() self::G<self::Class<self::ConcreteClass>>
;
static method s7() self::G<core::Object>
;
static method s8() self::G<core::int>
;
static method method1() dynamic
;
static method Extension1|t1(lowered final core::int #this) → self::Class<dynamic>
;
static method Extension1|get#t1(lowered final core::int #this) → () → self::Class<dynamic>
return () self::Class<dynamic> => self::Extension1|t1(#this);
static method Extension1|t2(lowered final core::int #this) → dynamic
;
static method Extension1|get#t2(lowered final core::int #this) → () → dynamic
return () dynamic => self::Extension1|t2(#this);
static method Extension1|t3(lowered final core::int #this) → self::Class<dynamic>
;
static method Extension1|get#t3(lowered final core::int #this) → () → self::Class<dynamic>
return () self::Class<dynamic> => self::Extension1|t3(#this);
static method Extension1|t4(lowered final core::int #this) → self::Class<dynamic>
;
static method Extension1|get#t4(lowered final core::int #this) → () → self::Class<dynamic>
return () self::Class<dynamic> => self::Extension1|t4(#this);
static method Extension1|t5(lowered final core::int #this) → self::ConcreteClass
;
static method Extension1|get#t5(lowered final core::int #this) → () → self::ConcreteClass
return () self::ConcreteClass => self::Extension1|t5(#this);
static method Extension1|t6(lowered final core::int #this) → self::Class<self::ConcreteClass>
;
static method Extension1|get#t6(lowered final core::int #this) → () → self::Class<self::ConcreteClass>
return () self::Class<self::ConcreteClass> => self::Extension1|t6(#this);
static method Extension1|t7(lowered final core::int #this) → core::Object
;
static method Extension1|get#t7(lowered final core::int #this) → () → core::Object
return () core::Object => self::Extension1|t7(#this);
static method Extension1|t8(lowered final core::int #this) → core::int
;
static method Extension1|get#t8(lowered final core::int #this) → () → core::int
return () core::int => self::Extension1|t8(#this);
static method Extension1|s1(lowered final core::int #this) → self::G<self::Class<dynamic>>
;
static method Extension1|get#s1(lowered final core::int #this) → () → self::G<self::Class<dynamic>>
return () self::G<self::Class<dynamic>> => self::Extension1|s1(#this);
static method Extension1|s2(lowered final core::int #this) → self::G<dynamic>
;
static method Extension1|get#s2(lowered final core::int #this) → () → self::G<dynamic>
return () self::G<dynamic> => self::Extension1|s2(#this);
static method Extension1|s3(lowered final core::int #this) → self::G<self::Class<dynamic>>
;
static method Extension1|get#s3(lowered final core::int #this) → () → self::G<self::Class<dynamic>>
return () self::G<self::Class<dynamic>> => self::Extension1|s3(#this);
static method Extension1|s4(lowered final core::int #this) → self::G<self::Class<dynamic>>
;
static method Extension1|get#s4(lowered final core::int #this) → () → self::G<self::Class<dynamic>>
return () self::G<self::Class<dynamic>> => self::Extension1|s4(#this);
static method Extension1|s5(lowered final core::int #this) → self::G<self::ConcreteClass>
;
static method Extension1|get#s5(lowered final core::int #this) → () → self::G<self::ConcreteClass>
return () self::G<self::ConcreteClass> => self::Extension1|s5(#this);
static method Extension1|s6(lowered final core::int #this) → self::G<self::Class<self::ConcreteClass>>
;
static method Extension1|get#s6(lowered final core::int #this) → () → self::G<self::Class<self::ConcreteClass>>
return () self::G<self::Class<self::ConcreteClass>> => self::Extension1|s6(#this);
static method Extension1|s7(lowered final core::int #this) → self::G<core::Object>
;
static method Extension1|get#s7(lowered final core::int #this) → () → self::G<core::Object>
return () self::G<core::Object> => self::Extension1|s7(#this);
static method Extension1|s8(lowered final core::int #this) → self::G<core::int>
;
static method Extension1|get#s8(lowered final core::int #this) → () → self::G<core::int>
return () self::G<core::int> => self::Extension1|s8(#this);
static method main() dynamic
;