fix(transformer): Loggers now are per zone and each transform runs in its own zone

This commit is contained in:
Jacob MacDonald
2015-07-23 09:36:04 -07:00
parent 09226cdd75
commit bd65b63c65
18 changed files with 91 additions and 160 deletions
@@ -45,8 +45,7 @@ class Rewriter {
///
/// This breaks our dependency on dart:mirrors, which enables smaller code
/// size and better performance.
class _RewriterVisitor extends Object
with RecursiveAstVisitor<Object> {
class _RewriterVisitor extends Object with RecursiveAstVisitor<Object> {
final Rewriter _rewriter;
final buf = new StringBuffer();
final reflectionCapabilityAssignments = [];
@@ -30,9 +30,7 @@ class ReflectionRemover extends Transformer {
@override
Future apply(Transform transform) async {
log.init(transform);
try {
await log.initZoned(transform, () async {
var newEntryPoints = options.entryPoints.map((entryPoint) {
return new AssetId(transform.primaryInput.id.package, entryPoint)
.changeExtension(DEPS_EXTENSION);
@@ -54,10 +52,6 @@ class ReflectionRemover extends Transformer {
mirrorMode: mirrorMode, writeStaticInit: writeStaticInit);
transform.addOutput(
new Asset.fromString(transform.primaryInput.id, transformedCode));
} catch (ex, stackTrace) {
log.logger.error('Removing reflection failed.\n'
'Exception: $ex\n'
'Stack Trace: $stackTrace');
}
}, errorMessage: 'Removing reflection failed.');
}
}