| // Copyright (c) 2019, 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. |
| |
| /// @assertion The static type of a member invocation on an extension application |
| /// is the return type of the extension member with the corresponding member name |
| /// of the invocation, with the explicit or inferred type arguments of the |
| /// extension application replacing the type parameters bound by the extension, |
| /// and the explicit or inferred type arguments of the invoked member replacing |
| /// the type parameters bound by the member |
| /// |
| /// @description Check static type of the extension member |
| /// @author sgrekhov@unipro.ru |
| |
| |
| |
| class C { |
| } |
| |
| extension Ext on C { |
| int bar() => 42; |
| } |
| |
| void foo(String s) {} |
| |
| main() { |
| C c = C(); |
| foo(Ext(c).bar()); |
| // ^^^^^^^^^^^^ |
| // [analyzer] unspecified |
| // [cfe] unspecified |
| } |