X Tutup
Skip to content

Commit 68a581a

Browse files
author
Tim Blasi
committed
fix(dart/transform): Remove malfunctioning zone error handler
Remove `onError` zone callback which is consuming exceptions thrown by the `Transformer`s and can cause `pub` to become unresponsive. Closes #3368
1 parent 7b834e0 commit 68a581a

File tree

9 files changed

+19
-25
lines changed

9 files changed

+19
-25
lines changed

modules/angular2/src/transform/bind_generator/transformer.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,6 @@ class BindGenerator extends Transformer {
3232
var transformedCode = await createNgSettersAndGetters(reader, id);
3333
transform.addOutput(new Asset.fromString(
3434
id, formatter.format(transformedCode, uri: id.path)));
35-
}, errorMessage: 'Creating ng setters/getters failed.');
35+
});
3636
}
3737
}

modules/angular2/src/transform/common/logging.dart

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -11,20 +11,11 @@ typedef _SimpleCallback();
1111
final _key = #loggingZonedLoggerKey;
1212

1313
/// Executes {@link fn} inside a new {@link Zone} with its own logger.
14-
dynamic initZoned(Transform t, _SimpleCallback fn, {String errorMessage: ''}) =>
15-
setZoned(new BuildLogger(t), fn, errorMessage: errorMessage);
14+
dynamic initZoned(Transform t, _SimpleCallback fn) =>
15+
setZoned(new BuildLogger(t), fn);
1616

17-
dynamic setZoned(BuildLogger logger, _SimpleCallback fn,
18-
{String errorMessage}) {
19-
var onError;
20-
if (errorMessage != null) {
21-
onError = (e, stackTrace) {
22-
logger.error('$errorMessage\n'
23-
'Exception: $e\n'
24-
'Stack Trace: $stackTrace');
25-
};
26-
}
27-
return runZoned(fn, zoneValues: {_key: logger}, onError: onError);
17+
dynamic setZoned(BuildLogger logger, _SimpleCallback fn) {
18+
return runZoned(fn, zoneValues: {_key: logger});
2819
}
2920

3021
/// The logger for the current {@link Zone}.

modules/angular2/src/transform/deferred_rewriter/transformer.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ class DeferredRewriter extends Transformer {
3232
transform.addOutput(
3333
new Asset.fromString(transform.primaryInput.id, transformedCode));
3434
}
35-
}, errorMessage: 'Rewritting deferred libraries failed.');
35+
});
3636
}
3737
}
3838

modules/angular2/src/transform/directive_linker/transformer.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ class DirectiveLinker extends Transformer {
3131
var formattedCode = formatter.format(transformedCode, uri: assetPath);
3232
transform.addOutput(new Asset.fromString(assetId, formattedCode));
3333
}
34-
}, errorMessage: 'Linking ng directives failed.');
34+
});
3535
}
3636
}
3737

@@ -50,6 +50,6 @@ class EmptyNgDepsRemover extends Transformer {
5050
if (!(await isNecessary(reader, transform.primaryInput.id))) {
5151
transform.consumePrimary();
5252
}
53-
}, errorMessage: 'Removing unnecessary ng deps failed.');
53+
});
5454
}
5555
}

modules/angular2/src/transform/directive_metadata_extractor/transformer.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ class DirectiveMetadataExtractor extends Transformer {
3333
transform.addOutput(new Asset.fromString(
3434
_outputAssetId(fromAssetId), _encoder.convert(ngMeta.toJson())));
3535
}
36-
}, errorMessage: 'Extracting ng metadata failed.');
36+
});
3737
}
3838
}
3939

modules/angular2/src/transform/directive_processor/transformer.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,6 @@ class DirectiveProcessor extends Transformer {
5353
transform.addOutput(new Asset.fromString(ngAliasesId,
5454
new JsonEncoder.withIndent(" ").convert(ngMeta.toJson())));
5555
}
56-
}, errorMessage: 'Processing ng directives failed.');
56+
});
5757
}
5858
}

modules/angular2/src/transform/reflection_remover/transformer.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,6 @@ class ReflectionRemover extends Transformer {
5252
mirrorMode: mirrorMode, writeStaticInit: writeStaticInit);
5353
transform.addOutput(
5454
new Asset.fromString(transform.primaryInput.id, transformedCode));
55-
}, errorMessage: 'Removing reflection failed.');
55+
});
5656
}
5757
}

modules/angular2/src/transform/template_compiler/generator.dart

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@ Future<String> processTemplates(AssetReader reader, AssetId entryPoint,
3535
{bool generateRegistrations: true,
3636
bool generateChangeDetectors: true}) async {
3737
var viewDefResults = await createViewDefinitions(reader, entryPoint);
38-
var extractor = new _TemplateExtractor(new DomElementSchemaRegistry(), new XhrImpl(reader, entryPoint));
38+
var extractor = new _TemplateExtractor(
39+
new DomElementSchemaRegistry(), new XhrImpl(reader, entryPoint));
3940

4041
var registrations = new reg.Codegen();
4142
var changeDetectorClasses = new change.Codegen();
@@ -112,9 +113,11 @@ class _TemplateExtractor {
112113

113114
var pipeline = new CompilePipeline(_factory.createSteps(viewDef));
114115

115-
var compileElements =
116-
pipeline.processElements(DOM.createTemplate(templateAndStyles.template), ViewType.COMPONENT, viewDef);
117-
var protoViewDto = compileElements[0].inheritedProtoView.build(_schemaRegistry);
116+
var compileElements = pipeline.processElements(
117+
DOM.createTemplate(templateAndStyles.template), ViewType.COMPONENT,
118+
viewDef);
119+
var protoViewDto =
120+
compileElements[0].inheritedProtoView.build(_schemaRegistry);
118121

119122
reflector.reflectionCapabilities = savedReflectionCapabilities;
120123

modules/angular2/src/transform/template_compiler/transformer.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,6 @@ class TemplateCompiler extends Transformer {
3535
var transformedCode = formatter.format(await processTemplates(reader, id,
3636
generateChangeDetectors: options.generateChangeDetectors));
3737
transform.addOutput(new Asset.fromString(id, transformedCode));
38-
}, errorMessage: 'Parsing ng templates failed.');
38+
});
3939
}
4040
}

0 commit comments

Comments
 (0)
X Tutup