blob: a9e013e3e37d00fb7143382a38fc0d70476d6fe8 [file] [log] [blame] [edit]
// 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.
/// @assertion
/// It is a compile-time error if a variable pattern in a declaration context is
/// marked with var or final
///
/// @description Checks that it is a compile-time error if a variable pattern in
/// a declaration context is marked with var, final
/// @author sgrekhov22@gmail.com
import "patterns_lib.dart";
main() {
var (var v1) = 42;
// ^^^
// [analyzer] unspecified
// [cfe] unspecified
var (final v2) = 42;
// ^^^^^
// [analyzer] unspecified
// [cfe] unspecified
var (final int v3) = 42;
// ^^^^^
// [analyzer] unspecified
// [cfe] unspecified
final (var v4) = 42;
// ^^^
// [analyzer] unspecified
// [cfe] unspecified
final (final v5) = 42;
// ^^^^^
// [analyzer] unspecified
// [cfe] unspecified
final (final int v6) = 42;
// ^^^^^
// [analyzer] unspecified
// [cfe] unspecified
var [var v7, ...] = [1, 2];
// ^^^
// [analyzer] unspecified
// [cfe] unspecified
final [var v8, ...] = [1, 2];
// ^^^
// [analyzer] unspecified
// [cfe] unspecified
var [final v9, ...] = [1, 2];
// ^^^^^
// [analyzer] unspecified
// [cfe] unspecified
final [final v10, ...] = [1, 2];
// ^^^^^
// [analyzer] unspecified
// [cfe] unspecified
var [final int v11, ...] = [1, 2];
// ^^^^^
// [analyzer] unspecified
// [cfe] unspecified
final [final int v12, ...] = [1, 2];
// ^^^^^
// [analyzer] unspecified
// [cfe] unspecified
var {"key1": var v13} = {"key1": 1};
// ^^^
// [analyzer] unspecified
// [cfe] unspecified
final {"key1": var v14} = {"key1": 1};
// ^^^
// [analyzer] unspecified
// [cfe] unspecified
var {"key1": final v15} = {"key1": 1};
// ^^^^^
// [analyzer] unspecified
// [cfe] unspecified
final {"key1": final v16} = {"key1": 1};
// ^^^^^
// [analyzer] unspecified
// [cfe] unspecified
var {"key1": final int v17} = {"key1": 1};
// ^^^^^
// [analyzer] unspecified
// [cfe] unspecified
final {"key1": final int v18} = {"key1": 1};
// ^^^^^
// [analyzer] unspecified
// [cfe] unspecified
var (var v19, name: s1) = (1, name: "one");
// ^^^
// [analyzer] unspecified
// [cfe] unspecified
final (var v20, name: s2) = (1, name: "one");
// ^^^
// [analyzer] unspecified
// [cfe] unspecified
var (final v21, name: s3) = (1, name: "one");
// ^^^^^
// [analyzer] unspecified
// [cfe] unspecified
final (final v22, name: s4) = (1, name: "one");
// ^^^^^
// [analyzer] unspecified
// [cfe] unspecified
var (final int v23, name: s5) = (1, name: "one");
// ^^^^^
// [analyzer] unspecified
// [cfe] unspecified
final (final int v24, name: s6) = (1, name: "one");
// ^^^^^
// [analyzer] unspecified
// [cfe] unspecified
var (a1, name: var v25) = (1, name: "one");
// ^^^
// [analyzer] unspecified
// [cfe] unspecified
final (a2, name: var v26) = (1, name: "one");
// ^^^
// [analyzer] unspecified
// [cfe] unspecified
var (a3, name: final v27) = (1, name: "one");
// ^^^^^
// [analyzer] unspecified
// [cfe] unspecified
final (a4, name: final v28) = (1, name: "one");
// ^^^^^
// [analyzer] unspecified
// [cfe] unspecified
var (a5, name: final String v29) = (1, name: "one");
// ^^^^^
// [analyzer] unspecified
// [cfe] unspecified
final (a6, name: final String v30) = (1, name: "one");
// ^^^^^
// [analyzer] unspecified
// [cfe] unspecified
var Square(areaAsInt: var v31) = Square(2);
// ^^^
// [analyzer] unspecified
// [cfe] unspecified
final Square(areaAsInt: var v32) = Square(2);
// ^^^
// [analyzer] unspecified
// [cfe] unspecified
var Square(areaAsInt: final v33) = Square(2);
// ^^^^^
// [analyzer] unspecified
// [cfe] unspecified
final Square(areaAsInt: final v34) = Square(2);
// ^^^^^
// [analyzer] unspecified
// [cfe] unspecified
var Square(areaAsInt: final int v35) = Square(2);
// ^^^^^
// [analyzer] unspecified
// [cfe] unspecified
final Square(areaAsInt: final int v36) = Square(2);
// ^^^^^
// [analyzer] unspecified
// [cfe] unspecified
{
var Square(:var areaAsInt) = Square(2);
// ^^^
// [analyzer] unspecified
// [cfe] unspecified
}
{
final Square(:var areaAsInt) = Square(2);
// ^^^
// [analyzer] unspecified
// [cfe] unspecified
}
{
var Square(:final areaAsInt) = Square(2);
// ^^^^^
// [analyzer] unspecified
// [cfe] unspecified
}
{
final Square(:final areaAsInt) = Square(2);
// ^^^^^
// [analyzer] unspecified
// [cfe] unspecified
}
{
var Square(:final int areaAsInt) = Square(2);
// ^^^^^
// [analyzer] unspecified
// [cfe] unspecified
}
{
final Square(:final int areaAsInt) = Square(2);
// ^^^^^
// [analyzer] unspecified
// [cfe] unspecified
}
}