blob: 87681311f8c8653e457ca2baa54c9dbefec241f0 [file] [log] [blame]
// Copyright (c) 2014, 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.
library test;
import 'package:expect/expect.dart';
@MirrorsUsed(targets: "Foo")
import 'dart:mirrors';
typedef int Foo(String x);
typedef int Bar();
main() {
LibraryMirror thisLibrary = currentMirrorSystem().findLibrary(#test);
Mirror fooMirror = thisLibrary.declarations[#Foo];
Expect.isTrue(fooMirror != null, 'Foo not found.');
Expect.isTrue(thisLibrary.declarations[#Foo] is TypedefMirror,
'TypedefMirror expected, found $fooMirror');
// The following code does not currently work on the VM, because it does not
// support MirrorsUsed (see dartbug.com/16048).
Mirror barMirror = thisLibrary.declarations[#Bar]; // //# 01: ok
Expect.isTrue(barMirror == null, // //# 01: continued
'Bar should not be emitted due to MirrorsUsed.'); //# 01: continued
}