blob: 8c5c3802637562b44c5f9779cee9520e6c1b1163 [file] [log] [blame]
// 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 Folder {}
class Resource extends Folder {}
Resource getResource(String str) => throw '';
class Foo<T> {
Foo(T t);
}
test() {
// List inside map
var /*@type=Map<String, List<Folder>>*/ map = <String, List<Folder>>{
'pkgA': /*@typeArgs=Folder*/ [getResource('/pkgA/lib/')],
'pkgB': /*@typeArgs=Folder*/ [getResource('/pkgB/lib/')]
};
// Also try map inside list
var /*@type=List<Map<String, Folder>>*/ list = <Map<String, Folder>>[
/*@typeArgs=String, Folder*/ {'pkgA': getResource('/pkgA/lib/')},
/*@typeArgs=String, Folder*/ {'pkgB': getResource('/pkgB/lib/')},
];
// Instance creation too
var /*@type=Foo<List<Folder>>*/ foo =
new Foo<List<Folder>>(/*@typeArgs=Folder*/ [getResource('/pkgA/lib/')]);
}