Files
sdk/tests/language/control_flow_collections/syntax_error_test.dart
T
Robert Nystrom a4b09ac192 Migrate language_2/control_flow_collections to NNBD.
Change-Id: I8b9b7d70abc47d672c68db65bc67d08beb7d41a7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/142089
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Erik Ernst <eernst@google.com>
2020-04-04 00:04:27 +00:00

41 lines
1.3 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.
void main() {
// No then element.
var _ = [if (true)]; //# 00: syntax error
// No then element with else.
var _ = [if (true) else 0]; //# 01: syntax error
// No else element.
var _ = [if (true) 0 else]; //# 02: syntax error
// Spread if.
var _ = [...if (true) 0]; //# 03: syntax error
// Spread for.
var _ = [...for (; false;) 0]; //# 04: syntax error
// Use if in map entry.
var _ = {if (true) 1: 1: 2}; //# 05: syntax error
var _ = {1: if (true) 2: 2}; //# 06: syntax error
// Use for in map entry.
var _ = {for (; false;) 1: 1: 2}; //# 07: syntax error
var _ = {1: for (; false;) 2: 2}; //# 08: syntax error
// Use for variable out of scope.
var _ = [for (var i = 0; false;) 1, i]; //# 09: compile-time error
// Use for-in variable out of scope.
var _ = [for (var i in [1]; false;) 1, i]; //# 10: syntax error
// Use for variable in own initializer.
var _ = [for (var i = i; false;) 1]; //# 11: compile-time error
// Use for-in variable in own initializer.
var _ = [for (var i in [i]) 1]; //# 12: compile-time error
}