feat(dart/transform) Allow ctor stubs to be tree shaken

Change the method used to discover Directive annotated classes to ensure
that the Dart code can be tree shaken.

Closes #497

Closes $\x23736
This commit is contained in:
Tim Blasi
2015-02-21 18:20:05 +00:00
committed by Misko Hevery
parent 0c4fbfc8e2
commit fb49946160
20 changed files with 461 additions and 142 deletions
@@ -0,0 +1,24 @@
library angular2.src.transform.logging;
import 'package:barback/barback.dart';
import 'package:code_transformers/messages/build_logger.dart';
BuildLogger _logger;
/// Prepares [logger] for use throughout the transformer.
void init(Transform t) {
if (_logger == null) {
_logger = new BuildLogger(t);
} else {
_logger.fine('Attempted to initialize logger multiple times.',
asset: t.primaryInput.id);
}
}
/// The logger the transformer should use for messaging.
BuildLogger get logger {
if (_logger == null) {
throw new StateError('Logger never initialized.');
}
return _logger;
}