diff --git a/src/compiler/program.ts b/src/compiler/program.ts index 857ac30656a..334c054a8fb 100644 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -2366,7 +2366,7 @@ namespace ts { } function verifyCompilerOptions() { - if (options.strictPropertyInitialization && !options.strictNullChecks) { + if (options.strictPropertyInitialization && !getStrictOptionValue(options, "strictNullChecks")) { createDiagnosticForOptionName(Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "strictPropertyInitialization", "strictNullChecks"); } diff --git a/tests/baselines/reference/optionsStrictPropertyInitializationStrict.js b/tests/baselines/reference/optionsStrictPropertyInitializationStrict.js new file mode 100644 index 00000000000..ee255ea52eb --- /dev/null +++ b/tests/baselines/reference/optionsStrictPropertyInitializationStrict.js @@ -0,0 +1,7 @@ +//// [optionsStrictPropertyInitializationStrict.ts] +var x; + + +//// [optionsStrictPropertyInitializationStrict.js] +"use strict"; +var x; diff --git a/tests/baselines/reference/optionsStrictPropertyInitializationStrict.symbols b/tests/baselines/reference/optionsStrictPropertyInitializationStrict.symbols new file mode 100644 index 00000000000..00636220b9c --- /dev/null +++ b/tests/baselines/reference/optionsStrictPropertyInitializationStrict.symbols @@ -0,0 +1,4 @@ +=== tests/cases/compiler/optionsStrictPropertyInitializationStrict.ts === +var x; +>x : Symbol(x, Decl(optionsStrictPropertyInitializationStrict.ts, 0, 3)) + diff --git a/tests/baselines/reference/optionsStrictPropertyInitializationStrict.types b/tests/baselines/reference/optionsStrictPropertyInitializationStrict.types new file mode 100644 index 00000000000..7c7c9bd2a72 --- /dev/null +++ b/tests/baselines/reference/optionsStrictPropertyInitializationStrict.types @@ -0,0 +1,4 @@ +=== tests/cases/compiler/optionsStrictPropertyInitializationStrict.ts === +var x; +>x : any + diff --git a/tests/cases/compiler/optionsStrictPropertyInitializationStrict.ts b/tests/cases/compiler/optionsStrictPropertyInitializationStrict.ts new file mode 100644 index 00000000000..acef5e44165 --- /dev/null +++ b/tests/cases/compiler/optionsStrictPropertyInitializationStrict.ts @@ -0,0 +1,4 @@ +// @strict: true +// @strictPropertyInitialization: true + +var x;