Skip to content

Commit 6f6b1f8

Browse files
alexmarkovcommit-bot@chromium.org
authored andcommitted
[vm] Rename --null-safety option to --sound-null-safety
Deprecated option --null-safety still remains in order to allow graceful migration. Fixes #41853 Change-Id: Ie47b1bebc9dd6532658a60743ecb85dc7fdc108c Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/153660 Reviewed-by: Siva Annamalai <[email protected]> Reviewed-by: Régis Crelier <[email protected]> Commit-Queue: Alexander Markov <[email protected]>
1 parent 7a87766 commit 6f6b1f8

24 files changed

+97
-83
lines changed

pkg/front_end/test/fasta/testing/suite.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -574,7 +574,7 @@ class Run extends Step<ComponentResult, int, FastaContext> {
574574
if (experimentalFlags[ExperimentalFlag.nonNullable]) {
575575
args.add("--enable-experiment=non-nullable");
576576
if (!context.weak) {
577-
args.add("--null-safety");
577+
args.add("--sound-null-safety");
578578
}
579579
}
580580
args.add(generated.path);

pkg/frontend_server/lib/frontend_server.dart

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -154,9 +154,12 @@ ArgParser argParser = ArgParser(allowTrailingOptions: true)
154154
help: 'Include only bytecode into the output file', defaultsTo: true)
155155
..addFlag('enable-asserts',
156156
help: 'Whether asserts will be enabled.', defaultsTo: false)
157+
..addFlag('sound-null-safety',
158+
help: 'Respect the nullability of types at runtime.', defaultsTo: null)
159+
// TODO(alexmarkov) Remove obsolete --null-safety option.
157160
..addFlag('null-safety',
158-
help:
159-
'Respect the nullability of types at runtime in casts and instance checks.',
161+
help: 'Deprecated. Please use --sound-null-safety instead.',
162+
hide: true,
160163
defaultsTo: null)
161164
..addMultiOption('enable-experiment',
162165
help: 'Comma separated list of experimental features, eg set-literals.',
@@ -407,6 +410,8 @@ class FrontendCompiler implements CompilerInterface {
407410
final String platformKernelDill =
408411
options['platform'] ?? 'platform_strong.dill';
409412
final String packagesOption = _options['packages'];
413+
final bool nullSafety =
414+
_options['sound-null-safety'] ?? _options['null-safety'];
410415
final CompilerOptions compilerOptions = CompilerOptions()
411416
..sdkRoot = sdkRoot
412417
..fileSystem = _fileSystem
@@ -418,8 +423,7 @@ class FrontendCompiler implements CompilerInterface {
418423
..experimentalFlags = parseExperimentalFlags(
419424
parseExperimentalArguments(options['enable-experiment']),
420425
onError: (msg) => errors.add(msg))
421-
..nnbdMode =
422-
(options['null-safety'] == true) ? NnbdMode.Strong : NnbdMode.Weak
426+
..nnbdMode = (nullSafety == true) ? NnbdMode.Strong : NnbdMode.Weak
423427
..onDiagnostic = _onDiagnostic;
424428

425429
if (options.wasParsed('libraries-spec')) {
@@ -469,7 +473,7 @@ class FrontendCompiler implements CompilerInterface {
469473
}
470474
}
471475

472-
if (options['null-safety'] == null &&
476+
if (nullSafety == null &&
473477
compilerOptions.experimentalFlags[ExperimentalFlag.nonNullable]) {
474478
await autoDetectNullSafetyMode(_mainSource, compilerOptions);
475479
}

pkg/vm/bin/kernel_service.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -84,10 +84,10 @@ bool allowDartInternalImport = false;
8484
// Null Safety command line options
8585
//
8686
// Note: The values of these constants must match the
87-
// values of flag null_safety in ../../../../runtime/vm/flag_list.h.
88-
// 0 - No null_safety option specified on the command line.
89-
// 1 - '--no-null-safety' specified on the command line.
90-
// 2 - '--null-safety' option specified on the command line.
87+
// values of flag sound_null_safety in ../../../../runtime/vm/flag_list.h.
88+
// 0 - No --[no-]sound-null-safety option specified on the command line.
89+
// 1 - '--no-sound-null-safety' specified on the command line.
90+
// 2 - '--sound-null-safety' option specified on the command line.
9191
const int kNullSafetyOptionUnspecified = 0;
9292
const int kNullSafetyOptionWeak = 1;
9393
const int kNullSafetyOptionStrong = 2;

pkg/vm/lib/kernel_front_end.dart

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -118,9 +118,12 @@ void declareCompilerOptions(ArgParser args) {
118118
help: 'The values for the environment constants (e.g. -Dkey=value).');
119119
args.addFlag('enable-asserts',
120120
help: 'Whether asserts will be enabled.', defaultsTo: false);
121+
args.addFlag('sound-null-safety',
122+
help: 'Respect the nullability of types at runtime.', defaultsTo: null);
123+
// TODO(alexmarkov) Remove obsolete --null-safety option.
121124
args.addFlag('null-safety',
122-
help:
123-
'Respect the nullability of types at runtime in casts and instance checks.',
125+
help: 'Deprecated. Please use --sound-null-safety instead.',
126+
hide: true,
124127
defaultsTo: null);
125128
args.addFlag('split-output-by-packages',
126129
help:
@@ -189,7 +192,8 @@ Future<int> runCompiler(ArgResults options, String usage) async {
189192
final bool genBytecode = options['gen-bytecode'];
190193
final bool dropAST = options['drop-ast'];
191194
final bool enableAsserts = options['enable-asserts'];
192-
final bool nullSafety = options['null-safety'];
195+
final bool nullSafety =
196+
options['sound-null-safety'] ?? options['null-safety'];
193197
final bool useProtobufTreeShaker = options['protobuf-tree-shaker'];
194198
final bool useProtobufTreeShakerV2 = options['protobuf-tree-shaker-v2'];
195199
final bool splitOutputByPackages = options['split-output-by-packages'];

pkg/vm/tool/precompiler2

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ for arg in "$@"; do
2626
PACKAGES="$arg"
2727
;;
2828
--enable-asserts | \
29-
--null-safety | \
30-
--no-null-safety | \
29+
--sound-null-safety | \
30+
--no-sound-null-safety | \
3131
--enable-experiment=*)
3232
GEN_KERNEL_OPTIONS+=("$arg")
3333
OPTIONS+=("$arg")

runtime/bin/BUILD.gn

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -551,7 +551,7 @@ gen_snapshot_action("generate_snapshot_bin") {
551551
]
552552
args = [
553553
"--enable-experiment=non-nullable",
554-
"--null-safety",
554+
"--sound-null-safety",
555555
"--deterministic",
556556
"--snapshot_kind=" + dart_core_snapshot_kind,
557557
"--vm_snapshot_data=" + rebase_path(vm_snapshot_data, root_build_dir),

runtime/tests/vm/dart/run_appended_aot_snapshot_test.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ Future<void> main(List<String> args) async {
2929
final extraGenKernelOptions = Platform.executableArguments
3030
.where((arg) =>
3131
arg.startsWith('--enable-experiment=') ||
32-
arg == '--null-safety' ||
33-
arg == '--no-null-safety')
32+
arg == '--sound-null-safety' ||
33+
arg == '--no-sound-null-safety')
3434
.toList();
3535

3636
{

runtime/tests/vm/dart/split_aot_kernel_generation_test.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ Future<void> runSplitAOTKernelGenerationTest(Uri testScriptUri) async {
2020
final extraGenKernelOptions = Platform.executableArguments
2121
.where((arg) =>
2222
arg.startsWith('--enable-experiment=') ||
23-
arg == '--null-safety' ||
24-
arg == '--no-null-safety')
23+
arg == '--sound-null-safety' ||
24+
arg == '--no-sound-null-safety')
2525
.toList();
2626

2727
await runGenKernel('BUILD INTERMEDIATE DILL FILE', [

runtime/tests/vm/dart/type_casts_with_null_safety_autodetection_test.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ runTest(String script, String output, String temp) async {
2020
File.fromUri(Platform.script.resolve(script)).copySync(scriptInTemp);
2121

2222
// Do not add Platform.executableArguments into arguments to avoid passing
23-
// --null-safety / --no-null-safety arguments.
23+
// --sound-null-safety / --no-sound-null-safety arguments.
2424
final result = await runBinary("RUN $script", Platform.executable, [
2525
'--enable-experiment=non-nullable',
2626
'--deterministic',

runtime/tests/vm/dart/v8_snapshot_profile_writer_test.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -245,8 +245,8 @@ main() async {
245245
platformDill,
246246
...Platform.executableArguments.where((arg) =>
247247
arg.startsWith('--enable-experiment=') ||
248-
arg == '--null-safety' ||
249-
arg == '--no-null-safety'),
248+
arg == '--sound-null-safety' ||
249+
arg == '--no-sound-null-safety'),
250250
'-o',
251251
dillPath,
252252
_thisTestPath

0 commit comments

Comments
 (0)