| Index: pkg/compiler/lib/src/compiler.dart
|
| diff --git a/pkg/compiler/lib/src/compiler.dart b/pkg/compiler/lib/src/compiler.dart
|
| index 342f35aa5aa0cd8c41b259611847bb84cefca888..4671212ffad60e10fdac870bc96917479810655b 100644
|
| --- a/pkg/compiler/lib/src/compiler.dart
|
| +++ b/pkg/compiler/lib/src/compiler.dart
|
| @@ -1058,9 +1058,17 @@ abstract class Compiler implements DiagnosticListener {
|
| globalDependencies =
|
| new CodegenRegistry(this, new TreeElementMapping(null));
|
|
|
| + SourceInformationFactory sourceInformationFactory =
|
| + const SourceInformationFactory();
|
| + if (generateSourceMap) {
|
| + sourceInformationFactory =
|
| + const bool.fromEnvironment('USE_NEW_SOURCE_INFO', defaultValue: false)
|
| + ? const PositionSourceInformationFactory()
|
| + : const StartEndSourceInformationFactory();
|
| + }
|
| if (emitJavaScript) {
|
| - js_backend.JavaScriptBackend jsBackend =
|
| - new js_backend.JavaScriptBackend(this, generateSourceMap);
|
| + js_backend.JavaScriptBackend jsBackend = new js_backend.JavaScriptBackend(
|
| + this, sourceInformationFactory, generateSourceMap: generateSourceMap);
|
| backend = jsBackend;
|
| } else {
|
| backend = new dart_backend.DartBackend(this, strips,
|
| @@ -1079,7 +1087,7 @@ abstract class Compiler implements DiagnosticListener {
|
| resolver = new ResolverTask(this, backend.constantCompilerTask),
|
| closureToClassMapper = new closureMapping.ClosureTask(this),
|
| checker = new TypeCheckerTask(this),
|
| - irBuilder = new IrBuilderTask(this),
|
| + irBuilder = new IrBuilderTask(this, sourceInformationFactory),
|
| typesTask = new ti.TypesTask(this),
|
| constants = backend.constantCompilerTask,
|
| deferredLoadTask = new DeferredLoadTask(this),
|
|
|