726904ac17
Provides better typing than `catchError`. Change-Id: If0d4487b7c3a499160fb719740a1d65c0545024d Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/151512 Commit-Queue: Lasse R.H. Nielsen <lrn@google.com> Reviewed-by: Lasse R.H. Nielsen <lrn@google.com> Reviewed-by: Nate Bosch <nbosch@google.com>
162 lines
3.6 KiB
Dart
162 lines
3.6 KiB
Dart
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
|
|
// for details. All rights reserved. Use of this source code is governed by a
|
|
// BSD-style license that can be found in the LICENSE file.
|
|
|
|
// @dart = 2.9
|
|
|
|
/*library: scope=[
|
|
_extension#0,
|
|
_extension#1,
|
|
_extension#2,
|
|
_extension#3,
|
|
_extension#4,
|
|
async.dart.FutureExtensions]*/
|
|
|
|
class A1 {}
|
|
|
|
/*class: _extension#0:
|
|
builder-name=_extension#0,
|
|
builder-onType=A1,
|
|
extension-members=[
|
|
method=_extension#0|method,
|
|
tearoff method=_extension#0|get#method],
|
|
extension-name=_extension#0,
|
|
extension-onType=A1
|
|
*/
|
|
extension on A1 {
|
|
/*member: _extension#0|method:
|
|
builder-name=method,
|
|
builder-params=[#this],
|
|
member-name=_extension#0|method,
|
|
member-params=[#this]
|
|
*/
|
|
method() {}
|
|
|
|
/*member: _extension#0|get#method:
|
|
builder-name=method,
|
|
builder-params=[#this],
|
|
member-name=_extension#0|get#method,
|
|
member-params=[#this]
|
|
*/
|
|
}
|
|
|
|
/*class: _extension#1:
|
|
builder-name=_extension#1,
|
|
builder-onType=A1,
|
|
extension-members=[
|
|
method=_extension#1|method,
|
|
tearoff method=_extension#1|get#method],
|
|
extension-name=_extension#1,
|
|
extension-onType=A1
|
|
*/
|
|
extension on A1 {
|
|
/*member: _extension#1|method:
|
|
builder-name=method,
|
|
builder-params=[#this],
|
|
member-name=_extension#1|method,
|
|
member-params=[#this]
|
|
*/
|
|
method() {}
|
|
|
|
/*member: _extension#1|get#method:
|
|
builder-name=method,
|
|
builder-params=[#this],
|
|
member-name=_extension#1|get#method,
|
|
member-params=[#this]
|
|
*/
|
|
}
|
|
|
|
class B1<T> {}
|
|
|
|
/*class: _extension#2:
|
|
builder-name=_extension#2,
|
|
builder-onType=B1<T>,
|
|
builder-type-params=[T],
|
|
extension-members=[
|
|
method=_extension#2|method,
|
|
tearoff method=_extension#2|get#method],
|
|
extension-name=_extension#2,
|
|
extension-onType=B1<T>,
|
|
extension-type-params=[T]
|
|
*/
|
|
extension <T> on B1<T> {
|
|
/*member: _extension#2|method:
|
|
builder-name=method,
|
|
builder-params=[#this],
|
|
builder-type-params=[T],
|
|
member-name=_extension#2|method,
|
|
member-params=[#this],
|
|
member-type-params=[T]
|
|
*/
|
|
method() {}
|
|
|
|
/*member: _extension#2|get#method:
|
|
builder-name=method,
|
|
builder-params=[#this],
|
|
builder-type-params=[T],
|
|
member-name=_extension#2|get#method,
|
|
member-params=[#this],
|
|
member-type-params=[T]
|
|
*/
|
|
}
|
|
|
|
/*class: _extension#3:
|
|
builder-name=_extension#3,
|
|
builder-onType=B1<A1>,
|
|
extension-members=[
|
|
method=_extension#3|method,
|
|
tearoff method=_extension#3|get#method],
|
|
extension-name=_extension#3,
|
|
extension-onType=B1<A1>
|
|
*/
|
|
extension on B1<A1> {
|
|
/*member: _extension#3|method:
|
|
builder-name=method,
|
|
builder-params=[#this],
|
|
member-name=_extension#3|method,
|
|
member-params=[#this]
|
|
*/
|
|
method() {}
|
|
|
|
/*member: _extension#3|get#method:
|
|
builder-name=method,
|
|
builder-params=[#this],
|
|
member-name=_extension#3|get#method,
|
|
member-params=[#this]
|
|
*/
|
|
}
|
|
|
|
/*class: _extension#4:
|
|
builder-name=_extension#4,
|
|
builder-onType=B1<T>,
|
|
builder-type-params=[T extends A1],
|
|
extension-members=[
|
|
method=_extension#4|method,
|
|
tearoff method=_extension#4|get#method],
|
|
extension-name=_extension#4,
|
|
extension-onType=B1<T>,
|
|
extension-type-params=[T extends A1]
|
|
*/
|
|
extension <T extends A1> on B1<T> {
|
|
/*member: _extension#4|method:
|
|
builder-name=method,
|
|
builder-params=[#this],
|
|
builder-type-params=[T extends A1],
|
|
member-name=_extension#4|method,
|
|
member-params=[#this],
|
|
member-type-params=[T extends A1]
|
|
*/
|
|
method() {}
|
|
|
|
/*member: _extension#4|get#method:
|
|
builder-name=method,
|
|
builder-params=[#this],
|
|
builder-type-params=[T extends A1],
|
|
member-name=_extension#4|get#method,
|
|
member-params=[#this],
|
|
member-type-params=[T extends A1]
|
|
*/
|
|
}
|
|
|
|
main() {}
|