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

Unified Diff: pkg/polymer/lib/src/build/script_compactor.dart

Issue 307793002: update polymer, nodebind, and templatebinding (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 6 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
« no previous file with comments | « pkg/polymer/lib/polymer_element.dart ('k') | pkg/polymer/lib/src/declaration.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/polymer/lib/src/build/script_compactor.dart
diff --git a/pkg/polymer/lib/src/build/script_compactor.dart b/pkg/polymer/lib/src/build/script_compactor.dart
index d11b6167149d8391c0bae83eb8ed08976b279ead..8b2d1b560f640fb80fd1e4d7446c8ea3d5495a1c 100644
--- a/pkg/polymer/lib/src/build/script_compactor.dart
+++ b/pkg/polymer/lib/src/build/script_compactor.dart
@@ -224,7 +224,7 @@ class _ScriptCompactor extends PolymerTransformer {
void _extractUsesOfMirrors(_) {
// Generate getters and setters needed to evaluate polymer expressions, and
// extract information about published attributes.
- new _HtmlExtractor(generator, publishedAttributes).visit(document);
+ new _HtmlExtractor(logger, generator, publishedAttributes).visit(document);
// Create a recorder that uses analyzer data to feed data to [generator].
var recorder = new Recorder(generator,
@@ -483,9 +483,11 @@ class _HtmlExtractor extends TreeVisitor {
final Map<String, List<String>> publishedAttributes;
final SmokeCodeGenerator generator;
final _SubExpressionVisitor visitor;
+ final TransformLogger logger;
bool _inTemplate = false;
- _HtmlExtractor(SmokeCodeGenerator generator, this.publishedAttributes)
+ _HtmlExtractor(this.logger, SmokeCodeGenerator generator,
+ this.publishedAttributes)
: generator = generator,
visitor = new _SubExpressionVisitor(generator);
@@ -511,7 +513,7 @@ class _HtmlExtractor extends TreeVisitor {
var bindings = _Mustaches.parse(node.data);
if (bindings == null) return;
for (var e in bindings.expressions) {
- _addExpression(e, false, false);
+ _addExpression(e, false, false, node.sourceSpan);
}
}
@@ -546,20 +548,24 @@ class _HtmlExtractor extends TreeVisitor {
tag == 'textarea' && name == 'value');
}
for (var exp in bindings.expressions) {
- _addExpression(exp, isEvent, isTwoWay);
+ _addExpression(exp, isEvent, isTwoWay, node.sourceSpan);
}
});
}
- void _addExpression(String stringExpression, bool inEvent, bool isTwoWay) {
+ void _addExpression(String stringExpression, bool inEvent, bool isTwoWay,
+ SourceSpan span) {
+
if (inEvent) {
- if (!stringExpression.startsWith("@")) {
- if (stringExpression == '') return;
- generator.addGetter(stringExpression);
- generator.addSymbol(stringExpression);
+ if (stringExpression.startsWith('@')) {
+ logger.warning('event bindings with @ are no longer supported',
+ span: span);
return;
}
- stringExpression = stringExpression.substring(1);
+
+ if (stringExpression == '') return;
+ generator.addGetter(stringExpression);
+ generator.addSymbol(stringExpression);
}
visitor.run(pe.parse(stringExpression), isTwoWay);
}
@@ -741,7 +747,7 @@ List<ClassElement> _visibleClassesOf(LibraryElement lib) {
/// Retrieves all top-level methods that are visible if you were to import
/// [lib]. This includes exported methods from other libraries too.
-List<ClassElement> _visibleTopLevelMethodsOf(LibraryElement lib) {
+List<FunctionElement> _visibleTopLevelMethodsOf(LibraryElement lib) {
var result = [];
result.addAll(lib.units.expand((u) => u.functions));
for (var e in lib.exports) {
« no previous file with comments | « pkg/polymer/lib/polymer_element.dart ('k') | pkg/polymer/lib/src/declaration.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698