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

Unified Diff: pkg/polymer_expressions/lib/polymer_expressions.dart

Issue 207433002: Changes in polymer-expressions to prepare for codegen in polymer: (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 9 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: pkg/polymer_expressions/lib/polymer_expressions.dart
diff --git a/pkg/polymer_expressions/lib/polymer_expressions.dart b/pkg/polymer_expressions/lib/polymer_expressions.dart
index 36ea3524adbc8d7acfc4d1e2e8598353872a4eb7..ae88ace5fc96838db45c4aad24e9b9fc1cab7580 100644
--- a/pkg/polymer_expressions/lib/polymer_expressions.dart
+++ b/pkg/polymer_expressions/lib/polymer_expressions.dart
@@ -30,7 +30,6 @@ library polymer_expressions;
import 'dart:async';
import 'dart:html';
-import 'package:logging/logging.dart';
import 'package:observe/observe.dart';
import 'package:template_binding/template_binding.dart';
@@ -39,8 +38,6 @@ import 'expression.dart';
import 'parser.dart';
import 'src/globals.dart';
-final Logger _logger = new Logger('polymer_expressions');
-
// TODO(justin): Investigate XSS protection
Object _classAttributeConverter(v) =>
(v is Map) ? v.keys.where((k) => v[k] == true).join(' ') :
@@ -64,8 +61,7 @@ class PolymerExpressions extends BindingDelegate {
* [DEFAULT_GLOBALS] will be used.
*/
PolymerExpressions({Map<String, Object> globals})
- : globals = (globals == null) ?
- new Map<String, Object>.from(DEFAULT_GLOBALS) : globals;
+ : globals = globals == null ? DEFAULT_GLOBALS : globals;
Siggi Cherem (dart-lang) 2014/03/21 01:43:46 I don't copy it here anymore because we now use th
Jennifer Messerly 2014/03/21 20:08:54 Hmmm, the idea here was that users can dynamically
Siggi Cherem (dart-lang) 2014/03/21 21:09:47 Done. Made _PolymerExpressionsWithEventDelegate pu
prepareBinding(String path, name, node) {
if (path == null) return null;
@@ -118,10 +114,11 @@ class _Binding extends Bindable {
static _oneTime(Expression expr, Scope scope, [converter]) {
try {
return _convertValue(eval(expr, scope), scope, converter);
- } on EvalException catch (e) {
- _logger.warning("Error evaluating expression '$expr': ${e.message}");
- return null;
+ } catch (e, s) {
+ new Completer().completeError(
Jennifer Messerly 2014/03/21 20:08:54 nice!
+ "Error evaluating expression '$expr': $e", s);
}
+ return null;
}
_setValue(v) {
@@ -133,12 +130,8 @@ class _Binding extends Bindable {
if (v is Comprehension) {
// convert the Comprehension into a list of scopes with the loop
// variable added to the scope
- return v.iterable.map((i) {
- var vars = new Map();
- vars[v.identifier] = i;
- Scope childScope = new Scope(parent: scope, variables: vars);
- return childScope;
- }).toList(growable: false);
+ return v.iterable.map((i) => scope.childScope(v.identifier, i))
+ .toList(growable: false);
} else {
return converter == null ? v : converter(v);
}
@@ -152,8 +145,9 @@ class _Binding extends Bindable {
set value(v) {
try {
assign(_expr, v, _scope);
- } on EvalException catch (e) {
- _logger.warning("Error evaluating expression '$_expr': ${e.message}");
+ } catch (e, s) {
+ new Completer().completeError(
+ "Error evaluating expression '$_expr': $e", s);
}
}
@@ -163,14 +157,16 @@ class _Binding extends Bindable {
_callback = callback;
final expr = observe(_expr, _scope);
_expr = expr;
- _sub = expr.onUpdate.listen(_setValue)..onError((e) {
- _logger.warning("Error evaluating expression '$_expr': ${e.message}");
+ _sub = expr.onUpdate.listen(_setValue)..onError((e, s) {
+ new Completer().completeError(
+ "Error evaluating expression '$expr': $e", s);
});
try {
update(expr, _scope);
_value = _convertValue(expr.currentValue, _scope, _converter);
- } on EvalException catch (e) {
- _logger.warning("Error evaluating expression '$_expr': ${e.message}");
+ } catch (e, s) {
+ new Completer().completeError(
+ "Error evaluating expression '$expr': $e", s);
}
return _value;
}

Powered by Google App Engine
This is Rietveld 408576698