Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(13)

Unified Diff: third_party/pkg/angular/lib/change_detection/dirty_checking_change_detector_static.dart

Issue 257423008: Update all Angular libs (run update_all.sh). (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/pkg/angular/lib/change_detection/dirty_checking_change_detector_static.dart
diff --git a/third_party/pkg/angular/lib/change_detection/dirty_checking_change_detector_static.dart b/third_party/pkg/angular/lib/change_detection/dirty_checking_change_detector_static.dart
new file mode 100644
index 0000000000000000000000000000000000000000..66bd245f72cd74251026de663764af5995cdf55a
--- /dev/null
+++ b/third_party/pkg/angular/lib/change_detection/dirty_checking_change_detector_static.dart
@@ -0,0 +1,32 @@
+library dirty_checking_change_detector_static;
+
+import 'package:angular/change_detection/change_detection.dart';
+
+class StaticFieldGetterFactory implements FieldGetterFactory {
+ final isMethodInvoke = false;
+ Map<String, FieldGetter> getters;
+
+ StaticFieldGetterFactory(this.getters);
+
+ bool isMethod(Object object, String name) {
+ // We need to know if we are referring to method or field which is a
+ // function. We can find out by calling it twice and seeing if we get
+ // the same value. Methods create a new closure each time.
+ FieldGetter getterFn = getter(object, name);
+ dynamic property = getterFn(object);
+ return (property is Function) &&
+ (!identical(property, getterFn(object)));
+ }
+
+ FieldGetter getter(Object object, String name) {
+ var getter = getters[name];
+ if (getter == null) throw "Missing getter: (o) => o.$name";
+ return getter;
+ }
+
+ Function method(Object object, String name) {
+ var method = getters[name];
+ if (method == null) throw "Missing method: $name";
+ return method;
+ }
+}

Powered by Google App Engine
This is Rietveld 408576698