From 1caccc410a65acb2b85b1fbfd50184aa5c1a1c53 Mon Sep 17 00:00:00 2001 From: Tim Blasi Date: Wed, 21 Oct 2015 12:21:13 -0700 Subject: [PATCH] refactor(dart/transform): Simplify logging class Use `TransformLogger` for the transformer rather than `BuildLogger`, which has additional funtionality (and complexity) that is unused. --- .../lib/src/transform/common/logging.dart | 27 +++++++++---------- .../transform/common/recording_logger.dart | 16 ++++------- .../directive_processor/all_tests.dart | 3 +-- 3 files changed, 19 insertions(+), 27 deletions(-) diff --git a/modules_dart/transform/lib/src/transform/common/logging.dart b/modules_dart/transform/lib/src/transform/common/logging.dart index 57e2a8f015..326e8c4d61 100644 --- a/modules_dart/transform/lib/src/transform/common/logging.dart +++ b/modules_dart/transform/lib/src/transform/common/logging.dart @@ -4,7 +4,6 @@ import 'dart:async'; import 'package:analyzer/analyzer.dart'; import 'package:barback/barback.dart'; -import 'package:code_transformers/messages/build_logger.dart'; import 'package:source_span/source_span.dart'; typedef _SimpleCallback(); @@ -14,9 +13,9 @@ final _key = #loggingZonedLoggerKey; /// Executes {@link fn} inside a new {@link Zone} with its own logger. Future initZoned(Transform t, _SimpleCallback fn) => - setZoned(new BuildLogger(t), fn); + setZoned(t.logger, fn); -Future setZoned(BuildLogger logger, _SimpleCallback fn) async { +Future setZoned(TransformLogger logger, _SimpleCallback fn) async { return runZoned(() async { try { return await fn(); @@ -46,8 +45,8 @@ Future setZoned(BuildLogger logger, _SimpleCallback fn) async { } /// The logger for the current {@link Zone}. -BuildLogger get logger { - var current = Zone.current[_key] as BuildLogger; +TransformLogger get logger { + var current = Zone.current[_key] as TransformLogger; return current == null ? new PrintLogger() : current; } @@ -69,25 +68,25 @@ Future logElapsedAsync(Future asyncOperation(), return result; } -class PrintLogger implements BuildLogger { - @override - final String detailsUri = ''; - @override - final bool convertErrorsToWarnings = false; - +class PrintLogger implements TransformLogger { void _printWithPrefix(prefix, msg) => print('$prefix: $msg'); + + @override void info(msg, {AssetId asset, SourceSpan span}) => _printWithPrefix('INFO', msg); + + @override void fine(msg, {AssetId asset, SourceSpan span}) => _printWithPrefix('FINE', msg); + + @override void warning(msg, {AssetId asset, SourceSpan span}) => _printWithPrefix('WARN', msg); + + @override void error(msg, {AssetId asset, SourceSpan span}) { throw new PrintLoggerError(msg, asset, span); } - - Future writeOutput() => null; - Future addLogFilesFromAsset(AssetId id, [int nextNumber = 1]) => null; } class PrintLoggerError extends Error { diff --git a/modules_dart/transform/test/transform/common/recording_logger.dart b/modules_dart/transform/test/transform/common/recording_logger.dart index 05ee32e694..b506e39d47 100644 --- a/modules_dart/transform/test/transform/common/recording_logger.dart +++ b/modules_dart/transform/test/transform/common/recording_logger.dart @@ -1,33 +1,27 @@ library angular2.test.transform.common.read_file; import 'package:barback/barback.dart'; -import 'package:code_transformers/messages/build_logger.dart'; import 'package:source_span/source_span.dart'; -class RecordingLogger implements BuildLogger { - @override - final String detailsUri = ''; - @override - final bool convertErrorsToWarnings = false; - +class RecordingLogger implements TransformLogger { bool hasErrors = false; List logs = []; void _record(prefix, msg) => logs.add('$prefix: $msg'); + @override void info(msg, {AssetId asset, SourceSpan span}) => _record('INFO', msg); + @override void fine(msg, {AssetId asset, SourceSpan span}) => _record('FINE', msg); + @override void warning(msg, {AssetId asset, SourceSpan span}) => _record('WARN', msg); + @override void error(msg, {AssetId asset, SourceSpan span}) { hasErrors = true; _record('ERROR', msg); } - - Future writeOutput() => throw new UnimplementedError(); - Future addLogFilesFromAsset(AssetId id, [int nextNumber = 1]) => - throw new UnimplementedError(); } diff --git a/modules_dart/transform/test/transform/directive_processor/all_tests.dart b/modules_dart/transform/test/transform/directive_processor/all_tests.dart index 644296ed5a..19270dabee 100644 --- a/modules_dart/transform/test/transform/directive_processor/all_tests.dart +++ b/modules_dart/transform/test/transform/directive_processor/all_tests.dart @@ -13,7 +13,6 @@ import 'package:angular2/src/transform/common/logging.dart' as log; import 'package:angular2/src/transform/common/model/reflection_info_model.pb.dart'; import 'package:angular2/src/transform/common/ng_meta.dart'; import 'package:barback/barback.dart'; -import 'package:code_transformers/messages/build_logger.dart'; import 'package:dart_style/dart_style.dart'; import 'package:guinness/guinness.dart'; import '../common/read_file.dart'; @@ -427,7 +426,7 @@ Future _testCreateModel(String inputPath, {List customDescriptors: const [], AssetId assetId, AssetReader reader, - BuildLogger logger}) { + TransformLogger logger}) { if (logger == null) logger = new RecordingLogger(); return log.setZoned(logger, () async { var inputId = _assetIdForPath(inputPath);