Index: lib/transformer.dart |
diff --git a/lib/transformer.dart b/lib/transformer.dart |
index 5f4d7404c69703dcf4bf38f65628e2ffe3d7b900..d304b17099edce54d5288fdfee51072231ae5531 100644 |
--- a/lib/transformer.dart |
+++ b/lib/transformer.dart |
@@ -14,10 +14,11 @@ import 'package:path/path.dart' as path; |
/// Removes the mirror-based initialization logic and replaces it with static |
/// logic. |
class InitializeTransformer extends Transformer { |
- final BarbackSettings _settings; |
final Resolvers _resolvers; |
+ final String _entryPoint; |
+ final String _newEntryPoint; |
- InitializeTransformer.asPlugin(this._settings) |
+ InitializeTransformer(this._entryPoint, this._newEntryPoint) |
: _resolvers = new Resolvers.fromMock({ |
// The list of types below is derived from: |
// * types that are used internally by the resolver (see |
@@ -58,11 +59,13 @@ class InitializeTransformer extends Transformer { |
''', |
}); |
- String get _entryPoint => _settings.configuration['entryPoint']; |
- String get _newEntryPoint { |
- var val = _settings.configuration['newEntryPoint']; |
- if (val == null) val = _entryPoint.replaceFirst('.dart', '.bootstrap.dart'); |
- return val; |
+ factory InitializeTransformer.asPlugin(BarbackSettings settings) { |
+ var entryPoint = settings.configuration['entryPoint']; |
+ var newEntryPoint = settings.configuration['newEntryPoint']; |
+ if (newEntryPoint == null) { |
+ newEntryPoint = entryPoint.replaceFirst('.dart', '.bootstrap.dart'); |
+ } |
+ return new InitializeTransformer(entryPoint, newEntryPoint); |
} |
bool isPrimary(AssetId id) => _entryPoint == id.path; |
@@ -105,8 +108,8 @@ class _BootstrapFileBuilder { |
_BootstrapFileBuilder( |
this._resolver, this._transform, this._entryPoint, this._newEntryPoint) { |
_logger = _transform.logger; |
- _initializeLibrary = _resolver |
- .getLibrary(new AssetId('initialize', 'lib/initialize.dart')); |
+ _initializeLibrary = |
+ _resolver.getLibrary(new AssetId('initialize', 'lib/initialize.dart')); |
_initializer = _initializeLibrary.getType('Initializer'); |
} |
@@ -183,8 +186,8 @@ class _BootstrapFileBuilder { |
var libraryPrefixes = new Map<LibraryElement, String>(); |
// Import the static_loader and original entry point. |
- importsBuffer.writeln( |
- "import 'package:initialize/src/static_loader.dart';"); |
+ importsBuffer |
+ .writeln("import 'package:initialize/src/static_loader.dart';"); |
_maybeWriteImport(entryLib, libraryPrefixes, importsBuffer); |
initializersBuffer.writeln(' initializers.addAll(['); |