d54e2bb568
This CL is the sum of the following 5 CLs: * https://dart-review.googlesource.com/c/sdk/+/170342/ * https://dart-review.googlesource.com/c/sdk/+/170344/ * https://dart-review.googlesource.com/c/sdk/+/170345/ * https://dart-review.googlesource.com/c/sdk/+/170346/ * https://dart-review.googlesource.com/c/sdk/+/170347/ The reason for landing the 5 CLs as one CL is to prevent potential troubles with bisecting over the branch because the change is fully functional only with all 5 CLs. Closes #40122. TEST=Verified by changes in .expect files in pkg/vm/. Bug: https://github.com/dart-lang/sdk/issues/40122 Change-Id: Ib8197802fdc69694387ae47ac990c58b3aaab7a5 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/170689 Commit-Queue: Dmitry Stefantsov <dmitryas@google.com> Reviewed-by: Johnni Winther <johnniwinther@google.com>
34 lines
815 B
Plaintext
34 lines
815 B
Plaintext
library /*isNonNullableByDefault*/;
|
|
import self as self;
|
|
import "dart:core" as core;
|
|
|
|
class A<X extends core::Object? = dynamic> extends core::Object {
|
|
synthetic constructor •() → self::A<self::A::X%>
|
|
: super core::Object::•()
|
|
;
|
|
}
|
|
class B extends self::A<Null> {
|
|
synthetic constructor •() → self::B
|
|
: super self::A::•()
|
|
;
|
|
}
|
|
class C extends core::Object {
|
|
synthetic constructor •() → self::C
|
|
: super core::Object::•()
|
|
;
|
|
method foo(Null n, self::A<Null> an) → Null
|
|
return n;
|
|
}
|
|
static method foo() → dynamic {
|
|
return <core::List<self::A<Null>?>>[<Null>[], <self::A<Null>>[]];
|
|
}
|
|
static method bar() → dynamic {
|
|
return <core::List<self::A<Null>?>>[#C1, #C2];
|
|
}
|
|
static method main() → dynamic {}
|
|
|
|
constants {
|
|
#C1 = <Null>[]
|
|
#C2 = <self::A<Null>>[]
|
|
}
|