| // 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. |
| |
| /// @assertion A for element: |
| /// |
| /// These are disallowed in constant collections |
| /// |
| /// @description Checks that a 'for' element is disallowed in a constant |
| /// collections |
| /// @author sgrekhov@unipro.ru |
| |
| |
| main() { |
| List<int> list1 = const [for (var i = 1; i < 4; i++) i]; |
| // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| // [analyzer] unspecified |
| // [cfe] unspecified |
| const List<int> list2 = [for (var i = 1; i < 4; i++) i]; |
| // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| // [analyzer] unspecified |
| // [cfe] unspecified |
| var list3 = const [for (var i = 1; i < 4; i++) i]; |
| // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| // [analyzer] unspecified |
| // [cfe] unspecified |
| var list4 = const <int>[for (var i = 1; i < 4; i++) i]; |
| // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| // [analyzer] unspecified |
| // [cfe] unspecified |
| const list5 = [for (var i = 1; i < 4; i++) i]; |
| // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| // [analyzer] unspecified |
| // [cfe] unspecified |
| List<int> list6 = const [for (var i in [1, 2, 3]) i]; |
| // ^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| // [analyzer] COMPILE_TIME_ERROR.NON_CONSTANT_LIST_ELEMENT |
| // [cfe] 'for' is not supported in constant expressions. |
| const List<int> list7 = [for (var i in [1, 2, 3]) i]; |
| // ^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| // [analyzer] unspecified |
| // [cfe] unspecified |
| var list8 = const [for (var i in [1, 2, 3]) i]; |
| // ^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| // [analyzer] COMPILE_TIME_ERROR.NON_CONSTANT_LIST_ELEMENT |
| // [cfe] 'for' is not supported in constant expressions. |
| var list9 = const <int>[for (var i in [1, 2, 3]) i]; |
| // ^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| // [analyzer] COMPILE_TIME_ERROR.NON_CONSTANT_LIST_ELEMENT |
| // [cfe] 'for' is not supported in constant expressions. |
| const list10 = [for (var i in [1, 2, 3]) i]; |
| // ^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| // [analyzer] unspecified |
| // [cfe] unspecified |
| |
| Set<int> set1 = const {for (var i = 1; i < 4; i++) i}; |
| // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| // [analyzer] unspecified |
| // [cfe] unspecified |
| const Set<int> set2 = {for (var i = 1; i < 4; i++) i}; |
| // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| // [analyzer] unspecified |
| // [cfe] unspecified |
| var set3 = const {for (var i = 1; i < 4; i++) i}; |
| // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| // [analyzer] unspecified |
| // [cfe] unspecified |
| var set4 = const <int>{for (var i = 1; i < 4; i++) i}; |
| // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| // [analyzer] unspecified |
| // [cfe] unspecified |
| const set5 = {for (var i = 1; i < 4; i++) i}; |
| // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| // [analyzer] unspecified |
| // [cfe] unspecified |
| Set<int> set6 = const {for (var i in [1, 2, 3]) i}; |
| // ^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| // [analyzer] COMPILE_TIME_ERROR.NON_CONSTANT_SET_ELEMENT |
| // [cfe] 'for' is not supported in constant expressions. |
| const Set<int> set7 = {for (for (var i in [1, 2, 3]) i}; |
| // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| // [analyzer] unspecified |
| // [cfe] unspecified |
| var set8 = const {for (for (var i in [1, 2, 3]) i}; |
| // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| // [analyzer] unspecified |
| // [cfe] unspecified |
| var set9 = const <int>{for (for (var i in [1, 2, 3]) i}; |
| // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| // [analyzer] unspecified |
| // [cfe] unspecified |
| const set10 = {for (for (var i in [1, 2, 3]) i}; |
| // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| // [analyzer] unspecified |
| // [cfe] unspecified |
| |
| Map<int, String> map1 = const {for (var i = 1; i < 4; i++) i: "x"}; |
| // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| // [analyzer] unspecified |
| // [cfe] unspecified |
| const Map<int, String> map2 = {for (var i = 1; i < 4; i++) i: "x"}; |
| // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| // [analyzer] unspecified |
| // [cfe] unspecified |
| var map3 = const {for (var i = 1; i < 4; i++) i: i}; |
| // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| // [analyzer] unspecified |
| // [cfe] unspecified |
| var map4 = const <int, String>{for (var i = 1; i < 4; i++) i: "x"}; |
| // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| // [analyzer] unspecified |
| // [cfe] unspecified |
| const map5 = {for (var i = 1; i < 4; i++) i: i}; |
| // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| // [analyzer] unspecified |
| // [cfe] unspecified |
| Map<int, String> map6 = const {for (var i in [1, 2, 3]) i: "x"}; |
| // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| // [analyzer] unspecified |
| // [cfe] unspecified |
| const Map<int, String> map7 = {for (var i in [1, 2, 3]) i: "x"}; |
| // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| // [analyzer] unspecified |
| // [cfe] unspecified |
| var map8 = const {for (var i in [1, 2, 3]) i: i}; |
| // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| // [analyzer] unspecified |
| // [cfe] unspecified |
| var map9 = const <int, String>{for (var i in [1, 2, 3]) i: "x"}; |
| // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| // [analyzer] unspecified |
| // [cfe] unspecified |
| const map10 = {for (var i in [1, 2, 3]) i: i}; |
| // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| // [analyzer] unspecified |
| // [cfe] unspecified |
| |
| } |