| // Copyright (c) 2018, 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. |
| |
| // @dart = 2.7 |
| // dart2jsOptions=--omit-implicit-checks |
| |
| import 'package:expect/expect.dart'; |
| import 'dart:_internal' show extractTypeArguments; |
| |
| class CC<A, B, C, D, E> {} |
| |
| class X {} |
| |
| main() { |
| test(new CC<X, X, X, X, int>(), int); |
| test(new CC<X, X, X, X, String>(), String); |
| } |
| |
| test(dynamic a, T) { |
| Expect.equals(T, extractTypeArguments<CC>(a, <_1, _2, _3, _4, T>() => T)); |
| } |