Files
sdk/pkg/front_end/testcases/patterns/for_final_variable.dart
T
Jens Johansen 9abc9fc4d7 [CFE] Strong/weak suites takes error-and-ok-comments into account
A line marked with "// error" should get an error (or it's an error),
and one marked with "// ok" should not get an error (and if it does it's
an error).

Some tests are left unhandled and are programatically ignored in this
first CL. A bug (https://github.com/dart-lang/sdk/issues/54635) has
been filed to sort those out.

Change-Id: I083f62829ceff6ff85121e21cfdb6670bfacb7e6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/346301
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2024-01-18 14:40:08 +00:00

62 lines
1.6 KiB
Dart

// Copyright (c) 2023, 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.
testFor() {
// Error
for (final int i = 0; i < 3; i = i + 1) {
print(i);
}
// Error
for (final (int i) = 0; i < 3; i = i + 1) {
print(i);
}
for (var (final int i, String s) = (0, ''); i < 3; i = i + 1) {
print(i); // Error
}
for (var (int i, final String s) = (0, ''); i < 3; i = i + 1) {
print(i); // Ok
}
var l1 = [
for (final int i = 0; i < 3; i = i + 1) i, // Error
];
var l2 = [
for (final (int i) = 0; i < 3; i = i + 1) i, // Error
];
var l3 = [
for (var (final int i, String s) = (0, ''); i < 3; i = i + 1) i, // Error
];
var l4 = [
for (var (int i, final String s) = (0, ''); i < 3; i = i + 1) i, // Ok
];
}
testForIn() {
for (final int i in [1, 2, 3]) {
i = i + 1; // Error
}
for (final (int i) in [1, 2, 3]) {
i = i + 1; // Error
}
for (var (final int i, String s) in [(1, 'a'), (2, 'b'), (3, 'c')]) {
i = i + 1; // Error
}
for (var (int i, final String s) in [(1, 'a'), (2, 'b'), (3, 'c')]) {
i = i + 1; // Ok
}
var l1 = [
for (final int i in [1, 2, 3]) i = i + 1 // Error
];
var l2 = [
for (final (int i) in [1, 2, 3]) i = i + 1 // Error
];
var l3 = [
for (var (final int i, String s) in [(1, 'a'), (2, 'b'), (3, 'c')])
i = i + 1 // Error
];
var l4 = [
for (var (int i, final String s) in [(1, 'a'), (2, 'b'), (3, 'c')])
i = i + 1 // Ok
];
}