Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(40)

Unified Diff: pkg/front_end/testcases/inference/infer_list_literal_nested_in_map_literal.dart

Issue 2846103002: Generated front_end/testcases/inference test files from Analyzer tests. (Closed)
Patch Set: Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: pkg/front_end/testcases/inference/infer_list_literal_nested_in_map_literal.dart
diff --git a/pkg/front_end/testcases/inference/infer_list_literal_nested_in_map_literal.dart b/pkg/front_end/testcases/inference/infer_list_literal_nested_in_map_literal.dart
new file mode 100644
index 0000000000000000000000000000000000000000..969f512c34fbe64ba4393a6ec3c8bbbf05f5244c
--- /dev/null
+++ b/pkg/front_end/testcases/inference/infer_list_literal_nested_in_map_literal.dart
@@ -0,0 +1,42 @@
+// Copyright (c) 2017, 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.
+
+/*@testedFeatures=inference*/
+library test;
+
+class Resource {}
+
+class Folder extends Resource {}
+
+Resource getResource(String str) => null;
+
+class Foo<T> {
+ Foo(T t);
+}
+
+main() {
+ // List inside map
+ var /*@type=Map<String, List<Folder>>*/ map = <String, List<Folder>>{
+ 'pkgA': /*@typeArgs=Folder*/ [
+ /*info:DOWN_CAST_IMPLICIT*/ getResource('/pkgA/lib/')
+ ],
+ 'pkgB': /*@typeArgs=Folder*/ [
+ /*info:DOWN_CAST_IMPLICIT*/ getResource('/pkgB/lib/')
+ ]
+ };
+ // Also try map inside list
+ var /*@type=List<Map<String, Folder>>*/ list = <Map<String, Folder>>[
+ /*@typeArgs=String, Folder*/ {
+ 'pkgA': /*info:DOWN_CAST_IMPLICIT*/ getResource('/pkgA/lib/')
+ },
+ /*@typeArgs=String, Folder*/ {
+ 'pkgB': /*info:DOWN_CAST_IMPLICIT*/ getResource('/pkgB/lib/')
+ },
+ ];
+ // Instance creation too
+ var /*@type=Foo<List<Folder>>*/ foo = new Foo<List<Folder>>(
+ /*@typeArgs=Folder*/ [
+ /*info:DOWN_CAST_IMPLICIT*/ getResource('/pkgA/lib/')
+ ]);
+}

Powered by Google App Engine
This is Rietveld 408576698