blob: fcae7bb4b40bac849953a189a5df77efac09ac74 [file] [log] [blame]
library /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:105:3: Error: Extensions can't declare constructors.
// Try removing the constructor declaration.
// Extension(T t);
// ^^^^^^^^^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:107:3: Error: Extensions can't declare constructors.
// Try removing the constructor declaration.
// factory Extension.fact(T t) => null;
// ^^^^^^^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:113:5: Error: Extensions can't declare instance fields
// Try removing the field declaration or making it a static field
// T field1;
// ^^^^^^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:130:3: Error: Mixins can't declare constructors.
// Mixin(T t);
// ^^^^^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:132:3: Error: Mixins can't declare constructors.
// factory Mixin.fact(T t) => null;
// ^^^^^^^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:107:11: Error: Expected 0 type arguments.
// factory Extension.fact(T t) => null;
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:13:31: Error: Type variables can't be used in static members.
// static T? method0<S extends T>(T arg) {
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:20:44: Error: Type variables can't be used in static members.
// static Class<T>? method1<S extends Class<T>>(Class<T> arg) {
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:29:57: Error: Type variables can't be used in static members.
// static Class<Class<T>>? method2<S extends Class<Class<T>>>(Class<Class<T>> arg) {
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:38:36: Error: Type variables can't be used in static members.
// static A<T>? method3<S extends A<T>>(A<T> arg) {
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:47:41: Error: Type variables can't be used in static members.
// static A<A<T>>? method4<S extends A<A<T>>>(A<A<T>> arg) {
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:56:36: Error: Type variables can't be used in static members.
// static B<T>? method5<S extends B<T>>(B<T> arg) {
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:65:41: Error: Type variables can't be used in static members.
// static A<B<T>>? method6<S extends A<B<T>>>(A<B<T>> arg) {
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:73:34: Error: Type variables can't be used in static members.
// @Class<void Function<S extends T>()>()
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:74:34: Error: Type variables can't be used in static members.
// static void Function<S extends T>()? method7<U extends void Function<S extends T>()>(void Function<S extends T>() arg) {
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:74:82: Error: Type variables can't be used in static members.
// static void Function<S extends T>()? method7<U extends void Function<S extends T>()>(void Function<S extends T>() arg) {
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:74:112: Error: Type variables can't be used in static members.
// static void Function<S extends T>()? method7<U extends void Function<S extends T>()>(void Function<S extends T>() arg) {
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:116:36: Error: Type variables can't be used in static members.
// static T? staticMethod<S extends T>(T arg) {
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:138:36: Error: Type variables can't be used in static members.
// static T? staticMethod<S extends T>(T arg) {
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:13:34: Error: Type variables can't be used in static members.
// static T? method0<S extends T>(T arg) {
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:13:10: Error: Type variables can't be used in static members.
// static T? method0<S extends T>(T arg) {
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:20:54: Error: Type variables can't be used in static members.
// static Class<T>? method1<S extends Class<T>>(Class<T> arg) {
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:20:16: Error: Type variables can't be used in static members.
// static Class<T>? method1<S extends Class<T>>(Class<T> arg) {
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:29:74: Error: Type variables can't be used in static members.
// static Class<Class<T>>? method2<S extends Class<Class<T>>>(Class<Class<T>> arg) {
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:29:22: Error: Type variables can't be used in static members.
// static Class<Class<T>>? method2<S extends Class<Class<T>>>(Class<Class<T>> arg) {
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:38:42: Error: Type variables can't be used in static members.
// static A<T>? method3<S extends A<T>>(A<T> arg) {
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:38:12: Error: Type variables can't be used in static members.
// static A<T>? method3<S extends A<T>>(A<T> arg) {
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:47:50: Error: Type variables can't be used in static members.
// static A<A<T>>? method4<S extends A<A<T>>>(A<A<T>> arg) {
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:47:14: Error: Type variables can't be used in static members.
// static A<A<T>>? method4<S extends A<A<T>>>(A<A<T>> arg) {
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:56:42: Error: Type variables can't be used in static members.
// static B<T>? method5<S extends B<T>>(B<T> arg) {
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:56:12: Error: Type variables can't be used in static members.
// static B<T>? method5<S extends B<T>>(B<T> arg) {
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:65:50: Error: Type variables can't be used in static members.
// static A<B<T>>? method6<S extends A<B<T>>>(A<B<T>> arg) {
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:65:14: Error: Type variables can't be used in static members.
// static A<B<T>>? method6<S extends A<B<T>>>(A<B<T>> arg) {
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:80:10: Error: Type variables can't be used in static members.
// static T field0;
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:83:16: Error: Type variables can't be used in static members.
// static Class<T>? field1;
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:110:10: Error: Type variables can't be used in static members.
// static T field0;
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:116:39: Error: Type variables can't be used in static members.
// static T? staticMethod<S extends T>(T arg) {
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:116:10: Error: Type variables can't be used in static members.
// static T? staticMethod<S extends T>(T arg) {
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:135:10: Error: Type variables can't be used in static members.
// static T field0;
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:138:39: Error: Type variables can't be used in static members.
// static T? staticMethod<S extends T>(T arg) {
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:138:10: Error: Type variables can't be used in static members.
// static T? staticMethod<S extends T>(T arg) {
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:92:24: Error: Type variables can't be used in static members.
// static var field4 = (T t) => T;
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:92:32: Error: Type variables can't be used in static members.
// static var field4 = (T t) => T;
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:12:4: Error: Couldn't find constructor 'T'.
// @T()
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:19:10: Error: Type variables can't be used in static members.
// @Class<T>()
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:28:16: Error: Type variables can't be used in static members.
// @Class<Class<T>>()
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:37:6: Error: Type variables can't be used in static members.
// @A<T>()
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:46:8: Error: Type variables can't be used in static members.
// @A<A<T>>()
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:55:6: Error: Type variables can't be used in static members.
// @B<T>()
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:64:8: Error: Type variables can't be used in static members.
// @A<B<T>>()
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:79:4: Error: Couldn't find constructor 'T'.
// @T()
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:82:10: Error: Type variables can't be used in static members.
// @Class<T>()
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:85:16: Error: Type variables can't be used in static members.
// @Class<Class<T>>()
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:88:6: Error: Type variables can't be used in static members.
// @A<T>()
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:91:6: Error: Type variables can't be used in static members.
// @B<T>()
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:94:4: Error: Couldn't find constructor 'T'.
// @T()
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:97:4: Error: Couldn't find constructor 'T'.
// @T()
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:109:4: Error: Couldn't find constructor 'T'.
// @T()
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:112:4: Error: Couldn't find constructor 'T'.
// @T()
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:115:4: Error: Couldn't find constructor 'T'.
// @T()
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:122:4: Error: Couldn't find constructor 'T'.
// @T()
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:134:4: Error: Couldn't find constructor 'T'.
// @T()
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:137:4: Error: Couldn't find constructor 'T'.
// @T()
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:144:4: Error: Couldn't find constructor 'T'.
// @T()
// ^
//
// pkg/front_end/testcases/general/type_variable_in_static_context.dart:147:4: Error: Couldn't find constructor 'T'.
// @T()
// ^
//
import self as self;
import "dart:core" as core;
typedef A<T extends core::Object? = dynamic> = self::Class<T%>;
typedef B<T extends core::num> = self::Class<T>;
class Class<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/ {
@invalid-expression "pkg/front_end/testcases/general/type_variable_in_static_context.dart:79:4: Error: Couldn't find constructor 'T'.
@T()
^"
static field invalid-type field0;
@self::Class::•<invalid-type>()
static field self::Class<invalid-type>? field1;
@self::Class::•<self::Class<invalid-type>>()
static field core::Type field2;
@self::Class::•<invalid-type>()
static field core::Type field3;
@self::Class::•<invalid-type>()
static field (invalid-type) core::Type field4;
@invalid-expression "pkg/front_end/testcases/general/type_variable_in_static_context.dart:94:4: Error: Couldn't find constructor 'T'.
@T()
^"
final field self::Class::T? instanceField;
const constructor •() self::Class<self::Class::T%>
: super core::Object::•()
;
@invalid-expression "pkg/front_end/testcases/general/type_variable_in_static_context.dart:12:4: Error: Couldn't find constructor 'T'.
@T()
^"
static method method0<S extends invalid-type>(invalid-type arg) invalid-type
;
@self::Class::•<invalid-type>()
static method method1<S extends self::Class<invalid-type>>(self::Class<invalid-type> arg) self::Class<invalid-type>?
;
@self::Class::•<self::Class<invalid-type>>()
static method method2<S extends self::Class<self::Class<invalid-type>>>(self::Class<self::Class<invalid-type>> arg) self::Class<self::Class<invalid-type>>?
;
@self::Class::•<invalid-type>()
static method method3<S extends self::Class<invalid-type>>(self::Class<invalid-type> arg) self::Class<invalid-type>?
;
@self::Class::•<self::Class<invalid-type>>()
static method method4<S extends self::Class<self::Class<invalid-type>>>(self::Class<self::Class<invalid-type>> arg) self::Class<self::Class<invalid-type>>?
;
@self::Class::•<invalid-type>()
static method method5<S extends self::Class<invalid-type>>(self::Class<invalid-type> arg) self::Class<invalid-type>?
;
@self::Class::•<self::Class<invalid-type>>()
static method method6<S extends self::Class<self::Class<invalid-type>>>(self::Class<self::Class<invalid-type>> arg) self::Class<self::Class<invalid-type>>?
;
@self::Class::•<<S extends invalid-type>() void>()
static method method7<U extends <S extends invalid-type = dynamic>() void>(<S extends invalid-type = dynamic>() void arg) <S extends invalid-type = dynamic>() →? void
;
@invalid-expression "pkg/front_end/testcases/general/type_variable_in_static_context.dart:97:4: Error: Couldn't find constructor 'T'.
@T()
^"
method instanceMethod<covariant-by-class S extends self::Class::T%>(covariant-by-class self::Class::T% t) self::Class::T%
;
}
abstract class Mixin<T extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ {
@invalid-expression "pkg/front_end/testcases/general/type_variable_in_static_context.dart:134:4: Error: Couldn't find constructor 'T'.
@T()
^"
static field invalid-type field0;
@invalid-expression "pkg/front_end/testcases/general/type_variable_in_static_context.dart:144:4: Error: Couldn't find constructor 'T'.
@T()
^"
covariant-by-class field self::Mixin::T? instanceField;
constructor •(invalid-type t) self::Mixin<self::Mixin::T%>
;
static factory fact<T extends core::Object? = dynamic>(self::Mixin::fact::T% t) self::Mixin<self::Mixin::fact::T%>
;
@invalid-expression "pkg/front_end/testcases/general/type_variable_in_static_context.dart:137:4: Error: Couldn't find constructor 'T'.
@T()
^"
static method staticMethod<S extends invalid-type>(invalid-type arg) invalid-type
;
@invalid-expression "pkg/front_end/testcases/general/type_variable_in_static_context.dart:147:4: Error: Couldn't find constructor 'T'.
@T()
^"
method instanceMethod<covariant-by-class S extends self::Mixin::T%>(covariant-by-class self::Mixin::T% t) self::Mixin::T%
;
}
extension Extension<T extends core::Object? = dynamic> on T% {
static field field0 = self::Extension|field0;
field field1 = self::Extension|field1;
static method staticMethod = self::Extension|staticMethod;
method instanceMethod = self::Extension|instanceMethod;
tearoff instanceMethod = self::Extension|get#instanceMethod;
}
@invalid-expression "pkg/front_end/testcases/general/type_variable_in_static_context.dart:109:4: Error: Couldn't find constructor 'T'.
@T()
^"
static field invalid-type Extension|field0;
@invalid-expression "pkg/front_end/testcases/general/type_variable_in_static_context.dart:112:4: Error: Couldn't find constructor 'T'.
@T()
^"
static field invalid-type Extension|field1;
@invalid-expression "pkg/front_end/testcases/general/type_variable_in_static_context.dart:115:4: Error: Couldn't find constructor 'T'.
@T()
^"
static method Extension|staticMethod<S extends invalid-type>(invalid-type arg) invalid-type
;
@invalid-expression "pkg/front_end/testcases/general/type_variable_in_static_context.dart:122:4: Error: Couldn't find constructor 'T'.
@T()
^"
static method Extension|instanceMethod<T extends core::Object? = dynamic, S extends self::Extension|instanceMethod::T% = dynamic>(lowered final self::Extension|instanceMethod::T% #this, self::Extension|instanceMethod::T% t) → self::Extension|instanceMethod::T%
;
static method Extension|get#instanceMethod<T extends core::Object? = dynamic>(lowered final self::Extension|get#instanceMethod::T% #this) → <S extends self::Extension|get#instanceMethod::T% = dynamic>(self::Extension|get#instanceMethod::T%) → self::Extension|get#instanceMethod::T%
return <S extends self::Extension|get#instanceMethod::T% = dynamic>(self::Extension|get#instanceMethod::T% t) → self::Extension|get#instanceMethod::T% => self::Extension|instanceMethod<self::Extension|get#instanceMethod::T%, S%>(#this, t);
static method main() dynamic
;
static method _#B#new#tearOff<T extends core::num>() → self::Class<self::_#B#new#tearOff::T>
return new self::Class::•<self::_#B#new#tearOff::T>();
Extra constant evaluation status:
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///type_variable_in_static_context.dart:19:4 -> InstanceConstant(const Class<<invalid>>{Class.instanceField: null})
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///type_variable_in_static_context.dart:28:4 -> InstanceConstant(const Class<Class<<invalid>>*>{Class.instanceField: null})
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///type_variable_in_static_context.dart:37:4 -> InstanceConstant(const Class<<invalid>>{Class.instanceField: null})
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///type_variable_in_static_context.dart:46:4 -> InstanceConstant(const Class<Class<<invalid>>*>{Class.instanceField: null})
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///type_variable_in_static_context.dart:55:4 -> InstanceConstant(const Class<<invalid>>{Class.instanceField: null})
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///type_variable_in_static_context.dart:64:4 -> InstanceConstant(const Class<Class<<invalid>>*>{Class.instanceField: null})
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///type_variable_in_static_context.dart:73:4 -> InstanceConstant(const Class<void Function<S extends <invalid>>()*>{Class.instanceField: null})
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///type_variable_in_static_context.dart:82:4 -> InstanceConstant(const Class<<invalid>>{Class.instanceField: null})
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///type_variable_in_static_context.dart:85:4 -> InstanceConstant(const Class<Class<<invalid>>*>{Class.instanceField: null})
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///type_variable_in_static_context.dart:88:4 -> InstanceConstant(const Class<<invalid>>{Class.instanceField: null})
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///type_variable_in_static_context.dart:91:4 -> InstanceConstant(const Class<<invalid>>{Class.instanceField: null})
Extra constant evaluation: evaluated: 16, effectively constant: 11