dart-sdk/tests/lib/mirrors/closurization_equivalence_test.dart
Ryan Macnak 00b2e580a3 [test] Fork mirrors tests.
Bug: https://github.com/dart-lang/sdk/issues/40045
Change-Id: I597259b38684de87016f1e136723d24f4ac05420
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/132440
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2020-01-22 18:46:23 +00:00

26 lines
849 B
Dart

// Copyright (c) 2015, 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.
import 'dart:mirrors';
import 'package:expect/expect.dart';
topLevelMethod() {}
class C {
static staticMethod() {}
instanceMethod() {}
}
main() {
LibraryMirror thisLibrary = reflectClass(C).owner as LibraryMirror;
Expect.equals(thisLibrary.declarations[#topLevelMethod],
(reflect(topLevelMethod) as ClosureMirror).function, "topLevel");
Expect.equals(reflectClass(C).declarations[#staticMethod],
(reflect(C.staticMethod) as ClosureMirror).function, "static");
Expect.equals(reflectClass(C).declarations[#instanceMethod],
(reflect(new C().instanceMethod) as ClosureMirror).function, "instance");
}