blob: 841b07adaae3787880a1ff8947b8bae9aa28e359 [file] [log] [blame]
library /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/general/bounds_parameters.dart:20: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_parameters.dart'.
// Try changing type arguments so that they conform to the bounds.
// F<Object> t7, // Error
// ^
// pkg/front_end/testcases/general/bounds_parameters.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_parameters.dart:21: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_parameters.dart'.
// Try changing type arguments so that they conform to the bounds.
// F<int> t8, // Error
// ^
// pkg/front_end/testcases/general/bounds_parameters.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_parameters.dart:29:12: 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_parameters.dart'.
// Try changing type arguments so that they conform to the bounds.
// required G<Object> s7, // Error
// ^
// pkg/front_end/testcases/general/bounds_parameters.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_parameters.dart:30:12: 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_parameters.dart'.
// Try changing type arguments so that they conform to the bounds.
// required G<int> s8, // Error
// ^
// pkg/front_end/testcases/general/bounds_parameters.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_parameters.dart:99:5: 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_parameters.dart'.
// Try changing type arguments so that they conform to the bounds.
// F<Object> t7, // Error
// ^
// pkg/front_end/testcases/general/bounds_parameters.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_parameters.dart:100:5: 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_parameters.dart'.
// Try changing type arguments so that they conform to the bounds.
// F<int> t8, // Error
// ^
// pkg/front_end/testcases/general/bounds_parameters.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_parameters.dart:108:14: 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_parameters.dart'.
// Try changing type arguments so that they conform to the bounds.
// required G<Object> s7, // Error
// ^
// pkg/front_end/testcases/general/bounds_parameters.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_parameters.dart:109:14: 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_parameters.dart'.
// Try changing type arguments so that they conform to the bounds.
// required G<int> s8, // Error
// ^
// pkg/front_end/testcases/general/bounds_parameters.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_parameters.dart:80:5: 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_parameters.dart'.
// Try changing type arguments so that they conform to the bounds.
// F<Object> t7, // Error
// ^
// pkg/front_end/testcases/general/bounds_parameters.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_parameters.dart:81:5: 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_parameters.dart'.
// Try changing type arguments so that they conform to the bounds.
// F<int> t8, // Error
// ^
// pkg/front_end/testcases/general/bounds_parameters.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_parameters.dart:89:14: 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_parameters.dart'.
// Try changing type arguments so that they conform to the bounds.
// required G<Object> s7, // Error
// ^
// pkg/front_end/testcases/general/bounds_parameters.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_parameters.dart:90:14: 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_parameters.dart'.
// Try changing type arguments so that they conform to the bounds.
// required G<int> s8, // Error
// ^
// pkg/front_end/testcases/general/bounds_parameters.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_parameters.dart:121:5: 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_parameters.dart'.
// Try changing type arguments so that they conform to the bounds.
// F<Object> t7, // Error
// ^
// pkg/front_end/testcases/general/bounds_parameters.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_parameters.dart:122:5: 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_parameters.dart'.
// Try changing type arguments so that they conform to the bounds.
// F<int> t8, // Error
// ^
// pkg/front_end/testcases/general/bounds_parameters.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_parameters.dart:130:14: 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_parameters.dart'.
// Try changing type arguments so that they conform to the bounds.
// required G<Object> s7, // Error
// ^
// pkg/front_end/testcases/general/bounds_parameters.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_parameters.dart:131:14: 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_parameters.dart'.
// Try changing type arguments so that they conform to the bounds.
// required G<int> s8, // Error
// ^
// pkg/front_end/testcases/general/bounds_parameters.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 {
constructor •(self::Class<dynamic> t1, dynamic t2, self::Class<dynamic> t3, self::Class<dynamic> t4, self::ConcreteClass t5, self::Class<self::ConcreteClass> t6, core::Object t7, core::int t8, {required self::G<self::Class<dynamic>> s1 = null, required self::G<dynamic> s2 = null, required self::G<self::Class<dynamic>> s3 = null, required self::G<self::Class<dynamic>> s4 = null, required self::G<self::ConcreteClass> s5 = null, required self::G<self::Class<self::ConcreteClass>> s6 = null, required self::G<core::Object> s7 = null, required self::G<core::int> s8 = null}) self::Class1
;
method method2(self::Class<dynamic> t1, dynamic t2, self::Class<dynamic> t3, self::Class<dynamic> t4, self::ConcreteClass t5, self::Class<self::ConcreteClass> t6, core::Object t7, core::int t8, {required self::G<self::Class<dynamic>> s1 = null, required self::G<dynamic> s2 = null, required self::G<self::Class<dynamic>> s3 = null, required self::G<self::Class<dynamic>> s4 = null, required self::G<self::ConcreteClass> s5 = null, required self::G<self::Class<self::ConcreteClass>> s6 = null, required self::G<core::Object> s7 = null, required self::G<core::int> s8 = null}) void
;
}
extension Extension1 on core::int {
method method3 = self::Extension1|method3;
tearoff method3 = self::Extension1|get#method3;
}
static method method1(self::Class<dynamic> t1, dynamic t2, self::Class<dynamic> t3, self::Class<dynamic> t4, self::ConcreteClass t5, self::Class<self::ConcreteClass> t6, core::Object t7, core::int t8, {required self::G<self::Class<dynamic>> s1, required self::G<dynamic> s2, required self::G<self::Class<dynamic>> s3, required self::G<self::Class<dynamic>> s4, required self::G<self::ConcreteClass> s5, required self::G<self::Class<self::ConcreteClass>> s6, required self::G<core::Object> s7, required self::G<core::int> s8}) void
;
static method Extension1|method3(lowered final core::int #this, self::Class<dynamic> t1, dynamic t2, self::Class<dynamic> t3, self::Class<dynamic> t4, self::ConcreteClass t5, self::Class<self::ConcreteClass> t6, core::Object t7, core::int t8, {required self::G<self::Class<dynamic>> s1, required self::G<dynamic> s2, required self::G<self::Class<dynamic>> s3, required self::G<self::Class<dynamic>> s4, required self::G<self::ConcreteClass> s5, required self::G<self::Class<self::ConcreteClass>> s6, required self::G<core::Object> s7, required self::G<core::int> s8}) → void
;
static method Extension1|get#method3(lowered final core::int #this) → (self::Class<dynamic>, dynamic, self::Class<dynamic>, self::Class<dynamic>, self::ConcreteClass, self::Class<self::ConcreteClass>, core::Object, core::int, {s1: self::G<self::Class<dynamic>>, s2: self::G<dynamic>, s3: self::G<self::Class<dynamic>>, s4: self::G<self::Class<dynamic>>, s5: self::G<self::ConcreteClass>, s6: self::G<self::Class<self::ConcreteClass>>, s7: self::G<core::Object>, s8: self::G<core::int>}) → void
return (self::Class<dynamic> t1, dynamic t2, self::Class<dynamic> t3, self::Class<dynamic> t4, self::ConcreteClass t5, self::Class<self::ConcreteClass> t6, core::Object t7, core::int t8, {self::G<self::Class<dynamic>> s1, self::G<dynamic> s2, self::G<self::Class<dynamic>> s3, self::G<self::Class<dynamic>> s4, self::G<self::ConcreteClass> s5, self::G<self::Class<self::ConcreteClass>> s6, self::G<core::Object> s7, self::G<core::int> s8}) void => self::Extension1|method3(#this, t1, t2, t3, t4, t5, t6, t7, t8, s1: s1, s2: s2, s3: s3, s4: s4, s5: s5, s6: s6, s7: s7, s8: s8);
static method main() dynamic
;