d810c7d0c0
This commit was generated by the following steps: - Manually change the SDK constraint in `pkg/front_end/pubspec.yaml` - Run `gclient sync` - Run `find pkg/front_end/benchmarks pkg/front_end/lib pkg/front_end/presubmit_helper.dart pkg/front_end/presubmit_helper_spawn.dart pkg/front_end/test pkg/front_end/tool -iname '*.dart' | xargs tools/sdks/dart-sdk/bin/dart format` - Manually fix remaining long lines and add dead code ignore comments. - Fix coverage by running `dart --enable-asserts pkg/front_end/test/coverage_suite.dart --tasks=5 --add-and-remove-comments` - Fix `pkg/front_end/test/coverage_merger/assert_message_auto_ignored` by running `dart pkg/front_end/test/unit_test_suites.dart -p pkg/front_end/test/coverage_merger/assert_message_auto_ignored -DupdateExpectations=true` The diff is large because the version bump causes the formatter to switch into "tall mode". Change-Id: I6a6a696410da8b168060acfe0e4d6e91e294c4f0 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/447628 Auto-Submit: Paul Berry <paulberry@google.com> Reviewed-by: Johnni Winther <johnniwinther@google.com> Commit-Queue: Johnni Winther <johnniwinther@google.com>
153 lines
4.8 KiB
Dart
153 lines
4.8 KiB
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.
|
|
|
|
import 'package:expect/legacy/minitest.dart'; // ignore: deprecated_member_use
|
|
|
|
import 'package:front_end/src/api_prototype/expression_compilation_tools.dart';
|
|
|
|
void main() {
|
|
// null value.
|
|
expect(parseDefinitionTypes(["null"]), [new ParsedType.nullType()]);
|
|
|
|
// String, kNonNullable
|
|
expect(parseDefinitionTypes(["dart:core", "_OneByteString", "1", "0"]), [
|
|
new ParsedType.interface("dart:core", "_OneByteString", 1),
|
|
]);
|
|
|
|
// List<something it can't represent which thus becomes an explicit
|
|
// dynamic/null>, kNonNullable.
|
|
expect(parseDefinitionTypes(["dart:core", "List", "1", "1", "null"]), [
|
|
new ParsedType.interface("dart:core", "List", 1)
|
|
..arguments!.add(new ParsedType.nullType()),
|
|
]);
|
|
|
|
// List<int>, kNonNullable
|
|
expect(
|
|
parseDefinitionTypes([
|
|
"dart:core",
|
|
"_GrowableList",
|
|
"1",
|
|
"1",
|
|
"dart:core",
|
|
"int",
|
|
"1",
|
|
"0",
|
|
]),
|
|
[
|
|
new ParsedType.interface("dart:core", "_GrowableList", 1)
|
|
..arguments!.add(new ParsedType.interface("dart:core", "int", 1)),
|
|
],
|
|
);
|
|
|
|
// Map<int, int>, kNonNullable
|
|
expect(
|
|
parseDefinitionTypes([
|
|
"dart:core",
|
|
"Map",
|
|
"1",
|
|
"2",
|
|
"dart:core",
|
|
"int",
|
|
"1",
|
|
"0",
|
|
"dart:core",
|
|
"int",
|
|
"1",
|
|
"0",
|
|
]),
|
|
[
|
|
new ParsedType.interface("dart:core", "Map", 1)
|
|
..arguments!.add(new ParsedType.interface("dart:core", "int", 1))
|
|
..arguments!.add(new ParsedType.interface("dart:core", "int", 1)),
|
|
],
|
|
);
|
|
|
|
// [0] = String
|
|
// [1] = int
|
|
// [2] = List<String>
|
|
// [3] = Bar
|
|
// [4] = null
|
|
// [5] = HashMap<Map<int, List<int>>, List<String>>
|
|
expect(
|
|
parseDefinitionTypes([
|
|
// String, kNonNullable, no arguments
|
|
"dart:core", "_OneByteString", "1", "0",
|
|
// Int, kNonNullable, no arguments
|
|
"dart:core", "_Smi", "1", "0",
|
|
// List, kNonNullable, 1 argument
|
|
"dart:core", "_GrowableList", "1", "1",
|
|
// -> String, kNonNullable (i.e. the above is List<String>)
|
|
/**/ "dart:core", "String", "1", "0",
|
|
// "Bar", kNonNullable, no arguments
|
|
"file://wherever/t.dart", "Bar", "1", "0",
|
|
// null value
|
|
"null",
|
|
// HashMap, kNonNullable, 2 arguments
|
|
"dart:collection", "_InternalLinkedHashMap", "1", "2",
|
|
// -> Map, kNonNullable, 2 arguments
|
|
/**/ "dart:core", "Map", "1", "2",
|
|
// -> -> int, kNonNullable, no arguments
|
|
/*/**/*/ "dart:core", "int", "1", "0",
|
|
// -> -> List, kNonNullable, 1 argument
|
|
/*/**/*/ "dart:core", "List", "1", "1",
|
|
// -> -> -> int, kNonNullable, no arguments
|
|
/*/*/**/*/*/ "dart:core", "int", "1", "0",
|
|
// -> List, kNonNullable, 1 argument
|
|
"dart:core", "List", "1", "1",
|
|
// -> -> String, kNonNullable, no arguments
|
|
"dart:core", "String", "1", "0",
|
|
]),
|
|
<ParsedType>[
|
|
// String
|
|
new ParsedType.interface("dart:core", "_OneByteString", 1),
|
|
// int
|
|
new ParsedType.interface("dart:core", "_Smi", 1),
|
|
// List<String>
|
|
new ParsedType.interface("dart:core", "_GrowableList", 1)
|
|
..arguments!.addAll([
|
|
new ParsedType.interface("dart:core", "String", 1),
|
|
]),
|
|
// Bar
|
|
new ParsedType.interface("file://wherever/t.dart", "Bar", 1),
|
|
// null value
|
|
new ParsedType.nullType(),
|
|
// HashMap<Map<int, List<int>>, List<String>>
|
|
new ParsedType.interface("dart:collection", "_InternalLinkedHashMap", 1)
|
|
..arguments!.addAll([
|
|
new ParsedType.interface("dart:core", "Map", 1)
|
|
..arguments!.addAll([
|
|
new ParsedType.interface("dart:core", "int", 1),
|
|
new ParsedType.interface("dart:core", "List", 1)
|
|
..arguments!.addAll([
|
|
new ParsedType.interface("dart:core", "int", 1),
|
|
]),
|
|
]),
|
|
new ParsedType.interface("dart:core", "List", 1)
|
|
..arguments!.addAll([
|
|
new ParsedType.interface("dart:core", "String", 1),
|
|
]),
|
|
]),
|
|
],
|
|
);
|
|
|
|
// Set<(int, {int foo})>, kNonNullable
|
|
expect(
|
|
parseDefinitionTypes([
|
|
//
|
|
/**/ "dart:_compact_hash", "_Set", "1", "1",
|
|
/* */ "record", "1", "2", "1", "foo",
|
|
/* */ "dart:core", "int", "1", "0",
|
|
/* */ "dart:core", "int", "1", "0",
|
|
]),
|
|
[
|
|
new ParsedType.interface("dart:_compact_hash", "_Set", 1)
|
|
..arguments!.add(
|
|
new ParsedType.record(1, [null, "foo"])
|
|
..arguments!.add(new ParsedType.interface("dart:core", "int", 1))
|
|
..arguments!.add(new ParsedType.interface("dart:core", "int", 1)),
|
|
),
|
|
],
|
|
);
|
|
}
|