| 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 20d805287fcc472d0d4c662559f97d5fdd5647fc..16bd7c750d2dd916c745086e3e8b6ff14a9d6216 100644
|
| --- a/pkg/polymer/lib/src/build/script_compactor.dart
|
| +++ b/pkg/polymer/lib/src/build/script_compactor.dart
|
| @@ -249,13 +249,19 @@ class _ScriptCompactor extends PolymerTransformer {
|
| // Process all classes and top-level functions to include initializers,
|
| // register custom elements, and include special fields and methods in
|
| // custom element classes.
|
| + var functionsSeen = new Set<FunctionElement>();
|
| + var classesSeen = new Set<ClassElement>();
|
| for (var id in entryLibraries) {
|
| var lib = resolver.getLibrary(id);
|
| for (var fun in _visibleTopLevelMethodsOf(lib)) {
|
| + if (functionsSeen.contains(fun)) continue;
|
| + functionsSeen.add(fun);
|
| _processFunction(fun, id);
|
| }
|
|
|
| for (var cls in _visibleClassesOf(lib)) {
|
| + if (classesSeen.contains(cls)) continue;
|
| + classesSeen.add(cls);
|
| _processClass(cls, id, recorder);
|
| }
|
| }
|
| @@ -824,8 +830,7 @@ List<FunctionElement> _visibleTopLevelMethodsOf(LibraryElement lib) {
|
| var result = [];
|
| result.addAll(lib.units.expand((u) => u.functions));
|
| for (var e in lib.exports) {
|
| - var exported = e.exportedLibrary.units
|
| - .expand((u) => u.functions).toList();
|
| + var exported = e.exportedLibrary.units.expand((u) => u.functions).toList();
|
| _filter(exported, e.combinators);
|
| result.addAll(exported);
|
| }
|
|
|