| // 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. | |
| /// Calls to [console.log] and to [log] from other modules don't work if the | |
| /// js-interop annotations are not preserved. However, calls via [log2] and | |
| /// [log3] do work because the annotation is available when compiling this | |
| /// module. | |
| @JS() | |
| library log; | |
| import 'package:js/js.dart'; | |
| @JS() | |
| class Class { | |
| external Class(); | |
| } | |
| @JS() | |
| class Console { | |
| @JS() | |
| external void log(arg); | |
| } | |
| @JS('console') | |
| external Console get console; | |
| @JS('console.log') | |
| external void log(String s); | |
| void log2(String s) => log(s); | |
| void log3(String s) => console.log(s); |