Publish 0.6.2+7 (#59)
* prepare for 0.6.2+7
* dartfmt
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3c7d38e..3f39873 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.6.2+7
+
+* Strong mode fixes.
+
## 0.6.2+6
* Small bug fixes for https://github.com/dart-lang/web-components/issues/54.
diff --git a/analysis_options.yaml b/analysis_options.yaml
new file mode 100644
index 0000000..a10d4c5
--- /dev/null
+++ b/analysis_options.yaml
@@ -0,0 +1,2 @@
+analyzer:
+ strong-mode: true
diff --git a/lib/build/initializer_plugin.dart b/lib/build/initializer_plugin.dart
index cc8a7d2..1a004dd 100644
--- a/lib/build/initializer_plugin.dart
+++ b/lib/build/initializer_plugin.dart
@@ -235,7 +235,7 @@
buffer.write(_evaluateExpression(expression, pluginData));
} else {
libraryPrefixes.putIfAbsent(
- element.library, () => 'i${libraryPrefixes.length}');
+ element.library, () => 'i${libraryPrefixes.length}');
buffer.write('${libraryPrefixes[element.library]}.');
if (element is ClassElement) {
@@ -263,8 +263,7 @@
return buffer.toString();
}
- _evaluateExpression(
- Expression expression, InitializerPluginData pluginData) {
+ _evaluateExpression(Expression expression, InitializerPluginData pluginData) {
var logger = pluginData.logger;
var result = pluginData.resolver.evaluateConstant(
pluginData.initializer.targetElement.library, expression);
diff --git a/lib/src/init_method.dart b/lib/src/init_method.dart
index ebc8f93..1ddb83c 100644
--- a/lib/src/init_method.dart
+++ b/lib/src/init_method.dart
@@ -8,6 +8,7 @@
/// it shouldn't be used directly in annotations, instead use the `initMethod`
/// singleton below.
typedef dynamic _ZeroArg();
+
class _InitMethod implements Initializer<_ZeroArg> {
const _InitMethod();
diff --git a/lib/src/initializer.dart b/lib/src/initializer.dart
index bb50558..1b9f32f 100644
--- a/lib/src/initializer.dart
+++ b/lib/src/initializer.dart
@@ -42,7 +42,9 @@
const LibraryIdentifier(this.name, this.package, this.path);
bool operator ==(dynamic other) =>
- other is LibraryIdentifier && name == other.name && package == other.package &&
+ other is LibraryIdentifier &&
+ name == other.name &&
+ package == other.package &&
path == other.path;
String toString() => '$name: $package:$path';
diff --git a/lib/src/mirror_loader.dart b/lib/src/mirror_loader.dart
index cbd2a60..95da50d 100644
--- a/lib/src/mirror_loader.dart
+++ b/lib/src/mirror_loader.dart
@@ -37,9 +37,7 @@
/// Note: The [from] argument is only supported in the mirror_loader.dart. It
/// is not supported statically.
InitializationCrawler(this.typeFilter, this.customFilter, {Uri from})
- : _rootLibrary = from == null
- ? _root
- : _libs[from] {
+ : _rootLibrary = from == null ? _root : _libs[from] {
if (_rootLibrary == null) throw 'Unable to find library at $from.';
}
@@ -124,10 +122,14 @@
Iterable<DeclarationMirror> _sortedDeclarationsWithMetadata(
LibraryMirror lib) {
return new List()
- ..addAll(_sortDeclarations(lib, lib.declarations.values
- .where((d) => d is MethodMirror && d.metadata.isNotEmpty)))
- ..addAll(_sortDeclarations(lib, lib.declarations.values
- .where((d) => d is ClassMirror && d.metadata.isNotEmpty)));
+ ..addAll(_sortDeclarations(
+ lib,
+ lib.declarations.values
+ .where((d) => d is MethodMirror && d.metadata.isNotEmpty)))
+ ..addAll(_sortDeclarations(
+ lib,
+ lib.declarations.values
+ .where((d) => d is ClassMirror && d.metadata.isNotEmpty)));
}
List<DeclarationMirror> _sortDeclarations(
@@ -202,7 +204,8 @@
throw _TOP_LEVEL_FUNCTIONS_ONLY;
}
annotatedValue = (declaration.owner as ObjectMirror)
- .getField(declaration.simpleName).reflectee;
+ .getField(declaration.simpleName)
+ .reflectee;
} else if (declaration is LibraryMirror) {
var package;
var filePath;
diff --git a/lib/transformer.dart b/lib/transformer.dart
index 25adeef..06ae76e 100644
--- a/lib/transformer.dart
+++ b/lib/transformer.dart
@@ -129,8 +129,7 @@
// [entryPoint].
void _replaceEntryWithBootstrap(Transform transform, dom.Document document,
AssetId entryPoint, AssetId originalDartFile, AssetId newDartFile) {
- var scripts = _getScripts(document)
- .where((script) {
+ var scripts = _getScripts(document).where((script) {
var assetId = uriToAssetId(entryPoint, _getScriptAttribute(script),
transform.logger, script.sourceSpan);
return assetId == originalDartFile;
@@ -258,6 +257,7 @@
'(possibly transitive).');
}
}
+
readSuperClassAnnotations(clazz.supertype);
_readAnnotations(clazz);
}
@@ -285,7 +285,8 @@
if (e is PropertyAccessorElement) {
// 'as dynamic' is because evaluationResult is a property on an impl class, e.g. one that
// isn't supposed to be used externally.
- return _isInitializer((e.variable as dynamic).evaluationResult.value.type);
+ return _isInitializer(
+ (e.variable as dynamic).evaluationResult.value.type);
} else if (e is ConstructorElement) {
return _isInitializer(e.returnType);
}
diff --git a/pubspec.yaml b/pubspec.yaml
index 887267f..f2f354a 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
name: initialize
-version: 0.6.2+6
+version: 0.6.2+7
author: Polymer.dart Authors <web@dartlang.org>
description: Generic building blocks for doing static initialization.
homepage: https://github.com/dart-lang/initialize
diff --git a/test/deferred_library_test.dart b/test/deferred_library_test.dart
index 0bff187..e38542c 100644
--- a/test/deferred_library_test.dart
+++ b/test/deferred_library_test.dart
@@ -24,6 +24,7 @@
expect(InitializeTracker.seen.length, 5);
});
});
- }, skip: 'Should be skipped only in pub-serve mode, blocked on '
- 'https://github.com/dart-lang/test/issues/388.');
+ },
+ skip: 'Should be skipped only in pub-serve mode, blocked on '
+ 'https://github.com/dart-lang/test/issues/388.');
}
diff --git a/test/initializer_custom_filter_test.dart b/test/initializer_custom_filter_test.dart
index 302db1b..1911ee3 100644
--- a/test/initializer_custom_filter_test.dart
+++ b/test/initializer_custom_filter_test.dart
@@ -15,26 +15,34 @@
main() {
test('filter option limits which types of annotations will be ran', () {
var originalSize;
- return runPhase(1).then((_) {
- // Even though Baz extends Bar, only Baz should be run.
- expect(InitializeTracker.seen, [Baz]);
- }).then((_) => runPhase(2)).then((_) {
- expect(InitializeTracker.seen, [Baz, foo]);
- }).then((_) => runPhase(3)).then((_) {
- expect(InitializeTracker.seen, [Baz, foo, Foo]);
- }).then((_) => runPhase(4)).then((_) {
- expect(InitializeTracker.seen, [Baz, foo, Foo, Bar]);
- }).then((_) {
- originalSize = InitializeTracker.seen.length;
- })
+ return runPhase(1)
+ .then((_) {
+ // Even though Baz extends Bar, only Baz should be run.
+ expect(InitializeTracker.seen, [Baz]);
+ })
+ .then((_) => runPhase(2))
+ .then((_) {
+ expect(InitializeTracker.seen, [Baz, foo]);
+ })
+ .then((_) => runPhase(3))
+ .then((_) {
+ expect(InitializeTracker.seen, [Baz, foo, Foo]);
+ })
+ .then((_) => runPhase(4))
+ .then((_) {
+ expect(InitializeTracker.seen, [Baz, foo, Foo, Bar]);
+ })
+ .then((_) {
+ originalSize = InitializeTracker.seen.length;
+ })
.then((_) => runPhase(1))
.then((_) => runPhase(2))
.then((_) => runPhase(3))
.then((_) => runPhase(4))
.then((_) => run())
.then((_) {
- expect(InitializeTracker.seen.length, originalSize);
- });
+ expect(InitializeTracker.seen.length, originalSize);
+ });
});
}
diff --git a/test/initializer_cycle_error_test.dart b/test/initializer_cycle_error_test.dart
index 365e64f..200a8ec 100644
--- a/test/initializer_cycle_error_test.dart
+++ b/test/initializer_cycle_error_test.dart
@@ -15,6 +15,7 @@
main() {
test('super class cycles are not supported', () {
expect(run, throwsUnsupportedError);
- }, skip: 'Should be skipped only in pub-serve mode, blocked on '
- 'https://github.com/dart-lang/test/issues/388.');
+ },
+ skip: 'Should be skipped only in pub-serve mode, blocked on '
+ 'https://github.com/dart-lang/test/issues/388.');
}
diff --git a/test/initializer_from_test.dart b/test/initializer_from_test.dart
index aa7172b..74449a6 100644
--- a/test/initializer_from_test.dart
+++ b/test/initializer_from_test.dart
@@ -29,11 +29,12 @@
expect(InitializeTracker.seen.length, 2);
// Don't know what the path will be, so have to explicitly check fields
// and use an [endsWith] matcher for the path.
- expect(InitializeTracker.seen[1].name,
- #initialize.test.initializer_from_test);
+ expect(
+ InitializeTracker.seen[1].name, #initialize.test.initializer_from_test);
expect(InitializeTracker.seen[1].package, isNull);
expect(
InitializeTracker.seen[1].path, endsWith('initializer_from_test.dart'));
- }, skip: 'Should be skipped only in pub-serve mode, blocked on '
- 'https://github.com/dart-lang/test/issues/388.');
+ },
+ skip: 'Should be skipped only in pub-serve mode, blocked on '
+ 'https://github.com/dart-lang/test/issues/388.');
}
diff --git a/test/initializer_super_test.dart b/test/initializer_super_test.dart
index 512ef51..430d796 100644
--- a/test/initializer_super_test.dart
+++ b/test/initializer_super_test.dart
@@ -15,7 +15,13 @@
// Run all initializers.
return run().then((_) {
test('annotations are seen in post-order with superclasses first', () {
- var expectedNames = [A, C, B, E, D,];
+ var expectedNames = [
+ A,
+ C,
+ B,
+ E,
+ D,
+ ];
expect(InitializeTracker.seen, expectedNames);
});
});
diff --git a/test/initializer_type_filter_test.dart b/test/initializer_type_filter_test.dart
index 87e0196..1cd57d3 100644
--- a/test/initializer_type_filter_test.dart
+++ b/test/initializer_type_filter_test.dart
@@ -20,16 +20,23 @@
});
test('filter option limits which types of annotations will be ran', () {
- return run(typeFilter: const [_Adder]).then((_) {
- expect(total, 2);
- }).then((_) => run(typeFilter: const [_Subtractor])).then((_) {
- expect(total, 0);
- }).then((_) => run(typeFilter: const [_Adder])).then((_) {
- // Sanity check, future calls should be no-ops
- expect(total, 0);
- }).then((_) => run(typeFilter: const [_Subtractor])).then((_) {
- expect(total, 0);
- });
+ return run(typeFilter: const [_Adder])
+ .then((_) {
+ expect(total, 2);
+ })
+ .then((_) => run(typeFilter: const [_Subtractor]))
+ .then((_) {
+ expect(total, 0);
+ })
+ .then((_) => run(typeFilter: const [_Adder]))
+ .then((_) {
+ // Sanity check, future calls should be no-ops
+ expect(total, 0);
+ })
+ .then((_) => run(typeFilter: const [_Subtractor]))
+ .then((_) {
+ expect(total, 0);
+ });
});
}
@@ -48,6 +55,7 @@
@override
initialize(_) => total++;
}
+
const adder = const _Adder();
// Initializer that decrements `total` by one.
@@ -57,4 +65,5 @@
@override
initialize(_) => total--;
}
+
const subtractor = const _Subtractor();
diff --git a/test/transformer_test.dart b/test/transformer_test.dart
index 8342c03..c8e017f 100644
--- a/test/transformer_test.dart
+++ b/test/transformer_test.dart
@@ -19,14 +19,19 @@
}
void htmlEntryPointTests() {
- var phases = [[new InitializeTransformer(['web/*.html'])]];
+ var phases = [
+ [
+ new InitializeTransformer(['web/*.html'])
+ ]
+ ];
testPhases('basic', phases, {
'a|web/index.html': '''
<html><head></head><body>
<script type="application/dart" src="index.dart"></script>
</body></html>
- '''.replaceAll(' ', ''),
+ '''
+ .replaceAll(' ', ''),
'a|web/index.dart': '''
library web_foo;
@@ -77,7 +82,8 @@
<html><head></head><body>
<script type="application/dart" src="index.initialize.dart"></script>
- </body></html>'''.replaceAll(' ', ''),
+ </body></html>'''
+ .replaceAll(' ', ''),
'a|web/index.initialize.dart': formatter.format('''
import 'package:initialize/src/static_loader.dart';
import 'package:initialize/initialize.dart';
@@ -109,7 +115,11 @@
}
void dartEntryPointTests() {
- var phases = [[new InitializeTransformer(['web/index.dart'])]];
+ var phases = [
+ [
+ new InitializeTransformer(['web/index.dart'])
+ ]
+ ];
testPhases('constructor arguments', phases, {
'a|web/index.dart': '''
diff --git a/tool/all_tests.sh b/tool/all_tests.sh
index 312cda2..d5c23c1 100755
--- a/tool/all_tests.sh
+++ b/tool/all_tests.sh
@@ -7,6 +7,8 @@
# Fast fail the script on failures.
set -e
+dartanalyzer --fatal-warnings lib/initialize.dart lib/transformer.dart
+
# Run the un-transformed command-line tests.
dart test/deferred_library_test.dart
dart test/init_method_test.dart