Index: sdk/lib/_internal/pub/lib/src/barback/excluding_transformer.dart |
diff --git a/sdk/lib/_internal/pub/lib/src/barback/excluding_transformer.dart b/sdk/lib/_internal/pub/lib/src/barback/excluding_transformer.dart |
index 0d9a9651cca857dd2050cb84b2ea3f25dc5c207c..9182ec6d48a3ee4efba22646dffb275a649e0619 100644 |
--- a/sdk/lib/_internal/pub/lib/src/barback/excluding_transformer.dart |
+++ b/sdk/lib/_internal/pub/lib/src/barback/excluding_transformer.dart |
@@ -19,7 +19,15 @@ class ExcludingTransformer extends Transformer { |
Set<String> excludes) { |
if (includes == null && excludes == null) return inner; |
- return new ExcludingTransformer._(inner, includes, excludes); |
+ if (inner is LazyTransformer) { |
+ return new _LazyExcludingTransformer( |
+ inner as LazyTransformer, includes, excludes); |
+ } else if (inner is DeclaringTransformer) { |
+ return new _DeclaringExcludingTransformer( |
+ inner as DeclaringTransformer, includes, excludes); |
Bob Nystrom
2014/05/27 17:40:19
Based on my reading of the spec, these "as" expres
nweiz
2014/05/27 20:36:50
Done.
|
+ } else { |
+ return new ExcludingTransformer._(inner, includes, excludes); |
+ } |
} |
final Transformer _inner; |
@@ -56,3 +64,20 @@ class ExcludingTransformer extends Transformer { |
String toString() => _inner.toString(); |
} |
+ |
+class _DeclaringExcludingTransformer extends ExcludingTransformer |
+ implements DeclaringTransformer { |
+ _DeclaringExcludingTransformer(DeclaringTransformer inner, |
+ Set<String> includes, Set<String> excludes) |
+ : super._(inner as Transformer, includes, excludes); |
Bob Nystrom
2014/05/27 17:40:19
I know we discussed this, but I can't recall the d
nweiz
2014/05/27 20:36:50
I don't remember our original reason for not makin
|
+ |
+ Future declareOutputs(DeclaringTransform transform) => |
+ (_inner as DeclaringTransformer).declareOutputs(transform); |
+} |
+ |
+class _LazyExcludingTransformer extends _DeclaringExcludingTransformer |
+ implements LazyTransformer { |
+ _LazyExcludingTransformer(DeclaringTransformer inner, |
+ Set<String> includes, Set<String> excludes) |
+ : super(inner, includes, excludes); |
+} |