| Index: sdk/lib/_internal/pub/lib/src/barback/transformer_isolate.dart
|
| diff --git a/sdk/lib/_internal/pub/lib/src/barback/transformer_isolate.dart b/sdk/lib/_internal/pub/lib/src/barback/transformer_isolate.dart
|
| index 2cb9e6d7cf70574564c57a5d076b7731acd64391..fde485507a90067889efbaf185297727e91ed2cf 100644
|
| --- a/sdk/lib/_internal/pub/lib/src/barback/transformer_isolate.dart
|
| +++ b/sdk/lib/_internal/pub/lib/src/barback/transformer_isolate.dart
|
| @@ -9,9 +9,12 @@ import 'dart:convert';
|
| import 'dart:isolate';
|
|
|
| import 'package:barback/barback.dart';
|
| +import 'package:source_maps/source_maps.dart';
|
| +import 'package:stack_trace/stack_trace.dart';
|
|
|
| import '../../../asset/dart/serialize.dart';
|
| import '../barback.dart';
|
| +import '../exceptions.dart';
|
| import '../dart.dart' as dart;
|
| import '../log.dart' as log;
|
| import '../utils.dart';
|
| @@ -112,6 +115,18 @@ class TransformerIsolate {
|
| .toSet();
|
| log.fine("Transformers from $config: $transformers");
|
| return transformers;
|
| + }).catchError((error, stackTrace) {
|
| + throw new TransformerLoadError(error, config.span);
|
| });
|
| }
|
| }
|
| +
|
| +/// An error thrown when a transformer fails to load.
|
| +class TransformerLoadError extends SpanException implements WrappedException {
|
| + final CrossIsolateException innerError;
|
| + Chain get innerChain => innerError.stackTrace;
|
| +
|
| + TransformerLoadError(CrossIsolateException error, Span span)
|
| + : innerError = error,
|
| + super("Error loading transformer: ${error.message}", span);
|
| +}
|
|
|