| // Copyright (c) 2013, 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.9 |
| |
| library test.library_declarations_test; |
| |
| import 'dart:mirrors'; |
| import 'package:expect/expect.dart'; |
| |
| import 'stringify.dart'; |
| import 'declarations_model.dart' as declarations_model; |
| |
| main() { |
| LibraryMirror lm = |
| currentMirrorSystem().findLibrary(#test.declarations_model); |
| |
| Expect.setEquals([ |
| 'Variable(s(_libraryVariable)' |
| ' in s(test.declarations_model), private, top-level, static)', |
| 'Variable(s(libraryVariable)' |
| ' in s(test.declarations_model), top-level, static)' |
| ], lm.declarations.values.where((dm) => dm is VariableMirror).map(stringify), |
| 'variables'); |
| |
| // dart2js stops testing here. |
| return; // //# 01: ok |
| |
| Expect.setEquals( |
| [ |
| 'Method(s(_libraryGetter)' |
| ' in s(test.declarations_model), private, top-level, static, getter)', |
| 'Method(s(libraryGetter)' |
| ' in s(test.declarations_model), top-level, static, getter)' |
| ], |
| lm.declarations.values |
| .where((dm) => dm is MethodMirror && dm.isGetter) |
| .map(stringify), |
| 'getters'); |
| |
| Expect.setEquals( |
| [ |
| 'Method(s(_librarySetter=)' |
| ' in s(test.declarations_model), private, top-level, static, setter)', |
| 'Method(s(librarySetter=)' |
| ' in s(test.declarations_model), top-level, static, setter)' |
| ], |
| lm.declarations.values |
| .where((dm) => dm is MethodMirror && dm.isSetter) |
| .map(stringify), |
| 'setters'); |
| |
| Expect.setEquals( |
| [ |
| 'Method(s(_libraryMethod)' |
| ' in s(test.declarations_model), private, top-level, static)', |
| 'Method(s(libraryMethod)' |
| ' in s(test.declarations_model), top-level, static)' |
| ], |
| lm.declarations.values |
| .where((dm) => dm is MethodMirror && dm.isRegularMethod) |
| .map(stringify), |
| 'regular methods'); |
| |
| Expect.setEquals([ |
| 'Class(s(Class) in s(test.declarations_model), top-level)', |
| 'Class(s(ConcreteClass) in s(test.declarations_model), top-level)', |
| 'Class(s(Interface) in s(test.declarations_model), top-level)', |
| 'Class(s(Mixin) in s(test.declarations_model), top-level)', |
| 'Class(s(Superclass) in s(test.declarations_model), top-level)', |
| 'Class(s(_PrivateClass)' |
| ' in s(test.declarations_model), private, top-level)' |
| ], lm.declarations.values.where((dm) => dm is ClassMirror).map(stringify), |
| 'classes'); |
| |
| Expect.setEquals([ |
| 'Class(s(Class) in s(test.declarations_model), top-level)', |
| 'Class(s(ConcreteClass) in s(test.declarations_model), top-level)', |
| 'Class(s(Interface) in s(test.declarations_model), top-level)', |
| 'Class(s(Mixin) in s(test.declarations_model), top-level)', |
| 'Type(s(Predicate) in s(test.declarations_model), top-level)', |
| 'Class(s(Superclass) in s(test.declarations_model), top-level)', |
| 'Class(s(_PrivateClass)' |
| ' in s(test.declarations_model), private, top-level)' |
| ], lm.declarations.values.where((dm) => dm is TypeMirror).map(stringify), |
| 'types'); |
| |
| Expect.setEquals([ |
| 'Class(s(Class) in s(test.declarations_model), top-level)', |
| 'Class(s(ConcreteClass) in s(test.declarations_model), top-level)', |
| 'Class(s(Interface) in s(test.declarations_model), top-level)', |
| 'Class(s(Mixin) in s(test.declarations_model), top-level)', |
| 'Type(s(Predicate) in s(test.declarations_model), top-level)', |
| 'Class(s(Superclass) in s(test.declarations_model), top-level)', |
| 'Method(s(libraryGetter)' |
| ' in s(test.declarations_model), top-level, static, getter)', |
| 'Method(s(libraryMethod)' |
| ' in s(test.declarations_model), top-level, static)', |
| 'Method(s(librarySetter=)' |
| ' in s(test.declarations_model), top-level, static, setter)', |
| 'Variable(s(libraryVariable)' |
| ' in s(test.declarations_model), top-level, static)' |
| ], lm.declarations.values.where((dm) => !dm.isPrivate).map(stringify), |
| 'public'); |
| |
| Expect.setEquals([ |
| 'Class(s(Class) in s(test.declarations_model), top-level)', |
| 'Class(s(ConcreteClass) in s(test.declarations_model), top-level)', |
| 'Class(s(Interface) in s(test.declarations_model), top-level)', |
| 'Class(s(Mixin) in s(test.declarations_model), top-level)', |
| 'Type(s(Predicate) in s(test.declarations_model), top-level)', |
| 'Class(s(Superclass) in s(test.declarations_model), top-level)', |
| 'Class(s(_PrivateClass) in s(test.declarations_model), private, top-level)', |
| 'Method(s(_libraryGetter)' |
| ' in s(test.declarations_model), private, top-level, static, getter)', |
| 'Method(s(_libraryMethod)' |
| ' in s(test.declarations_model), private, top-level, static)', |
| 'Method(s(_librarySetter=)' |
| ' in s(test.declarations_model), private, top-level, static, setter)', |
| 'Variable(s(_libraryVariable)' |
| ' in s(test.declarations_model), private, top-level, static)', |
| 'Method(s(libraryGetter)' |
| ' in s(test.declarations_model), top-level, static, getter)', |
| 'Method(s(libraryMethod) in s(test.declarations_model), top-level, static)', |
| 'Method(s(librarySetter=)' |
| ' in s(test.declarations_model), top-level, static, setter)', |
| 'Variable(s(libraryVariable)' |
| ' in s(test.declarations_model), top-level, static)' |
| ], lm.declarations.values.map(stringify), 'all declarations'); |
| } |