mirror of
https://github.com/dart-lang/sdk
synced 2024-09-15 22:19:49 +00:00
a4352d09e1
This should bring parsing of record literals up-to-date with v1.6 of https://github.com/dart-lang/language/blob/master/working/0546-patterns/records-feature-specification.md Change-Id: If39bb1834137da55ef8bd1923106bbc614ea319b Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/256461 Commit-Queue: Jens Johansen <jensj@google.com> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com> Reviewed-by: Johnni Winther <johnniwinther@google.com>
35 lines
833 B
Dart
35 lines
833 B
Dart
// Copyright (c) 2022, 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.
|
|
|
|
// SharedOptions=--enable-experiment=records
|
|
|
|
main() {
|
|
var record1 = (1, 2, a: 3, b: 4);
|
|
print(record1);
|
|
|
|
// With ending comma.
|
|
var record2 = (42, 42, 42, );
|
|
print(record2);
|
|
var record3 = (foo: 42, bar: 42, 42, baz: 42, );
|
|
print(record3);
|
|
|
|
// Nested.
|
|
var record4 = ((42, 42), 42);
|
|
print(record4);
|
|
|
|
// With function inside.
|
|
var record5 = ((foo, bar) => 42, 42);
|
|
print(record5);
|
|
|
|
// 1 record entry with trailing comma.
|
|
var record6 = (42, );
|
|
print(record6);
|
|
|
|
// Const records.
|
|
var record7 = const (42, );
|
|
print(record7);
|
|
var record8 = const (42, foo: "bar");
|
|
print(record8);
|
|
}
|