Index: test_reflectable/test/meta_reflectors_test.dart |
diff --git a/test_reflectable/test/meta_reflectors_test.dart b/test_reflectable/test/meta_reflectors_test.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..3ebf33472c8efff8a0a0c720776c6e451191be45 |
--- /dev/null |
+++ b/test_reflectable/test/meta_reflectors_test.dart |
@@ -0,0 +1,39 @@ |
+// Copyright (c) 2015, the Dart Team. All rights reserved. Use of this |
+// source code is governed by a BSD-style license that can be found in |
+// the LICENSE file. |
+ |
+// File being transformed by the reflectable transformer. |
+// Creates a `MetaReflector` which may be used to reflect on the set of |
+// reflectors themselves. |
+// |
+// Independence: This is the only library in this program where both the |
+// reflector classes and the domain classes are seen together. The program |
+// as a whole illustrates a number of ways in which it is possible to make |
+// reflection, usage of reflection, and application specific classes (here |
+// known as 'domain classes') independent of each other, statically and |
+// dynamically. |
+ |
+library test_reflectable.test.meta_reflectors_test; |
+ |
+@GlobalQuantifyCapability(r"\.(M1|M2|M3|A|B|C|D)$", const Reflector()) |
+@GlobalQuantifyCapability(r"\.(M1|M2|M3|B|C|D)$", const Reflector2()) |
+@GlobalQuantifyCapability(r"\.(C|D)$", const ReflectorUpwardsClosed()) |
+@GlobalQuantifyCapability(r"\.(C|D)$", const ReflectorUpwardsClosedToA()) |
+@GlobalQuantifyCapability(r"\.(C|D)$", const ReflectorUpwardsClosedUntilA()) |
+import "package:reflectable/reflectable.dart"; |
+import "meta_reflectors_domain_definer.dart"; |
+import "meta_reflectors_definer.dart"; |
+import "meta_reflectors_scoping.dart"; |
+import "meta_reflectors_user.dart"; |
+ |
+Map<String, Iterable<Reflectable>> scopeMap = <String, Iterable<Reflectable>>{ |
sigurdm
2015/10/09 07:52:04
While this is a perfectly valid approach, I still
eernst
2015/10/09 10:09:05
Why don't you write that as an extra test case? ;)
sigurdm
2015/10/09 10:47:20
Good idea!
|
+ "polymer": <Reflectable>[const Reflector(), const ReflectorUpwardsClosed()], |
+ "observe": <Reflectable>[const Reflector2(), const ReflectorUpwardsClosed()] |
+}; |
+ |
+@ScopeMetaReflector() |
+Iterable<Reflectable> reflectablesOfScope(String scope) => scopeMap[scope]; |
+ |
+main() { |
+ doit(); |
+} |