| // Copyright (c) 2024, 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. | |
| @pragma('dart2js:never-inline') | |
| /*spec|canary.member: test1:function(a) { | |
| B.JSArray_methods.$indexSet(a, 5, 1); | |
| B.JSArray_methods.$indexSet(a, 0, 2); | |
| return a; | |
| }*/ | |
| /*prod.member: test1:function(a) { | |
| a.$flags & 2 && A.throwUnsupportedOperation(a); | |
| if (5 >= a.length) | |
| return A.ioore(a, 5); | |
| a[5] = 1; | |
| a[0] = 2; | |
| return a; | |
| }*/ | |
| List<int> test1(List<int> a) { | |
| a[5] = 1; | |
| a[0] = 2; | |
| return a; | |
| } | |
| @pragma('dart2js:never-inline') | |
| /*member: test2:function(a) { | |
| B.JSArray_methods.add$1(a, 100); | |
| return a; | |
| }*/ | |
| List<int> test2(List<int> a) { | |
| a.add(100); | |
| return a; | |
| } | |
| @pragma('dart2js:never-inline') | |
| bool isEven(int i) => i.isEven; | |
| @pragma('dart2js:never-inline') | |
| /*member: maybeUnmodifiable:ignore*/ | |
| List<int> maybeUnmodifiable() { | |
| List<int> d = List.filled(10, 0); | |
| if (DateTime.now().millisecondsSinceEpoch == 42) d = List.unmodifiable(d); | |
| return d; | |
| } | |
| /*member: main:ignore*/ | |
| main() { | |
| print(test1(maybeUnmodifiable())); | |
| print(test2(maybeUnmodifiable())); | |
| } |