Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(608)

Unified Diff: lib/transformer.dart

Issue 859043003: add basic constructor that doesn't take BarbackSettings (Closed) Base URL: git@github.com:dart-lang/static-init.git@master
Patch Set: rebase Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | test/transformer_test.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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([');
« no previous file with comments | « no previous file | test/transformer_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698