Version 2.12.0-222.0.dev
Merge commit '07fa8a6589d4be392e4566c400ec1d09e06235f2' into 'dev'
diff --git a/pkg/dev_compiler/lib/src/kernel/command.dart b/pkg/dev_compiler/lib/src/kernel/command.dart
index fb3f3c8..8085f69 100644
--- a/pkg/dev_compiler/lib/src/kernel/command.dart
+++ b/pkg/dev_compiler/lib/src/kernel/command.dart
@@ -16,6 +16,7 @@
import 'package:kernel/class_hierarchy.dart';
import 'package:kernel/core_types.dart';
import 'package:kernel/kernel.dart' hide MapEntry;
+import 'package:kernel/ast.dart' show NonNullableByDefaultCompiledMode;
import 'package:kernel/target/targets.dart';
import 'package:kernel/text/ast_to_text.dart' as kernel show Printer;
import 'package:path/path.dart' as p;
@@ -707,7 +708,11 @@
ModuleMetadata _emitMetadata(js_ast.Program program, Component component,
String sourceMapUri, String moduleUri) {
var metadata = ModuleMetadata(
- program.name, loadFunctionName(program.name), sourceMapUri, moduleUri);
+ program.name,
+ loadFunctionName(program.name),
+ sourceMapUri,
+ moduleUri,
+ component.mode == NonNullableByDefaultCompiledMode.Strong);
for (var lib in component.libraries) {
metadata.addLibrary(LibraryMetadata(
diff --git a/pkg/dev_compiler/lib/src/kernel/module_metadata.dart b/pkg/dev_compiler/lib/src/kernel/module_metadata.dart
index 29496ff..deca70b 100644
--- a/pkg/dev_compiler/lib/src/kernel/module_metadata.dart
+++ b/pkg/dev_compiler/lib/src/kernel/module_metadata.dart
@@ -29,7 +29,7 @@
///
/// TODO(annagrin): create metadata package, make version the same as the
/// metadata package version, automate updating with the package update
- static const ModuleMetadataVersion current = ModuleMetadataVersion(1, 0, 0);
+ static const ModuleMetadataVersion current = ModuleMetadataVersion(1, 0, 1);
/// Current metadata version created by the reader
String get version => '$majorVersion.$minorVersion.$patchVersion';
@@ -126,7 +126,12 @@
final Map<String, LibraryMetadata> libraries = {};
+ /// True if the module corresponding to this metadata was compiled with sound
+ /// null safety enabled.
+ final bool soundNullSafety;
+
ModuleMetadata(this.name, this.closureName, this.sourceMapUri, this.moduleUri,
+ this.soundNullSafety,
{this.version}) {
version ??= ModuleMetadataVersion.current.version;
}
@@ -151,7 +156,8 @@
name = json['name'] as String,
closureName = json['closureName'] as String,
sourceMapUri = json['sourceMapUri'] as String,
- moduleUri = json['moduleUri'] as String {
+ moduleUri = json['moduleUri'] as String,
+ soundNullSafety = json['soundNullSafety'] as bool {
var fileVersion = json['version'] as String;
if (!ModuleMetadataVersion.current.isCompatibleWith(version)) {
throw Exception('Unsupported metadata version $fileVersion');
@@ -169,7 +175,8 @@
'closureName': closureName,
'sourceMapUri': sourceMapUri,
'moduleUri': moduleUri,
- 'libraries': [for (var lib in libraries.values) lib.toJson()]
+ 'libraries': [for (var lib in libraries.values) lib.toJson()],
+ 'soundNullSafety': soundNullSafety
};
}
}
diff --git a/pkg/dev_compiler/test/module_metadata_test.dart b/pkg/dev_compiler/test/module_metadata_test.dart
index 2751e94..06054cf 100644
--- a/pkg/dev_compiler/test/module_metadata_test.dart
+++ b/pkg/dev_compiler/test/module_metadata_test.dart
@@ -114,7 +114,7 @@
}
ModuleMetadata createMetadata(String version) => ModuleMetadata(
- 'module', 'closure', 'module.map', 'module.js', version: version)
+ 'module', 'closure', 'module.map', 'module.js', true, version: version)
..addLibrary(LibraryMetadata('library', 'package:library/test.dart',
'file:///source/library/lib/test.dart', ['src/test2.dart']));
@@ -125,6 +125,7 @@
expect(module.closureName, 'closure');
expect(module.sourceMapUri, 'module.map');
expect(module.moduleUri, 'module.js');
+ expect(module.soundNullSafety, true);
var libUri = module.libraries.keys.first;
var lib = module.libraries[libUri];
diff --git a/tools/VERSION b/tools/VERSION
index 2303823..24e845f 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
MAJOR 2
MINOR 12
PATCH 0
-PRERELEASE 221
+PRERELEASE 222
PRERELEASE_PATCH 0
\ No newline at end of file