dart-sdk/tests/web_2/37494_test.dart
Sigmund Cherem 912005267d [web] rename suite dart2js -> web.
Change-Id: I46be49b2effec3e38a3dc44cd45cfe736f77fa78
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/182680
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Joshua Litt <joshualitt@google.com>
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2021-02-04 23:11:32 +00:00

54 lines
1.2 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.7
// Regression test for http://dartbug.com/37494
import 'dart:collection';
import 'dart:typed_data';
void main() {
final u8 = Uint8List(10);
// Uint8List.{sort,join} are ListMixin.{sort,join} which takes and explicit
// receiver because Uint8List is an intercepted type.
u8.sort();
print(u8.join());
final list = Example();
list.addAll([1, 2, 3]);
list.sort();
print(list.join());
}
class Example<T> extends ListBase<T> {
final _list = <T>[];
@override
operator [](int index) => _list[index];
@override
operator []=(int index, T value) {
_list[index] = value;
}
@override
int get length => _list.length;
@override
set length(int value) {
_list.length = value;
}
@override
String join([String separator = ""]) {
return super.join(separator); // This super call had bad dummy interceptor.
}
@override
@pragma('dart2js:noInline')
void sort([int compare(T a, T b)]) {
super.sort(compare); // This super call had bad dummy interceptor.
}
}