Skip to content

Commit d535509

Browse files
committed
remove fix-all
1 parent 4b7b3fe commit d535509

14 files changed

+346
-188
lines changed

src/compiler/diagnosticMessages.json

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7122,13 +7122,9 @@
71227122
"category": "Message",
71237123
"code": 95166
71247124
},
7125-
"Add 'undefined' to all optional properties": {
7126-
"category": "Message",
7127-
"code": 95167
7128-
},
71297125
"Add 'undefined' to optional property type": {
71307126
"category": "Message",
7131-
"code": 95168
7127+
"code": 95167
71327128
},
71337129

71347130
"No value exists in scope for the shorthand property '{0}'. Either declare one or provide an initializer.": {

src/services/codefixes/addOptionalPropertyUndefined.ts

Lines changed: 1 addition & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -17,31 +17,9 @@ namespace ts.codefix {
1717
return undefined;
1818
}
1919
const changes = textChanges.ChangeTracker.with(context, t => addUndefinedToOptionalProperty(t, toAdd));
20-
return [createCodeFixAction(addOptionalPropertyUndefined, changes, Diagnostics.Add_undefined_to_optional_property_type, addOptionalPropertyUndefined, Diagnostics.Add_undefined_to_all_optional_properties)];
20+
return [createCodeFixActionWithoutFixAll(addOptionalPropertyUndefined, changes, Diagnostics.Add_undefined_to_optional_property_type)];
2121
},
2222
fixIds: [addOptionalPropertyUndefined],
23-
getAllCodeActions: context => {
24-
const { program } = context;
25-
const checker = program.getTypeChecker();
26-
const seen = new Map<number, true>();
27-
return createCombinedCodeActions(textChanges.ChangeTracker.with(context, changes => {
28-
eachDiagnostic(context, errorCodes, diag => {
29-
const toAdd = getPropertiesToAdd(diag.file, diag, checker);
30-
if (!toAdd.length) {
31-
return;
32-
}
33-
let untouched = true;
34-
for (const add of toAdd) {
35-
if (!addToSeen(seen, getSymbolId(add))) {
36-
untouched = false;
37-
}
38-
}
39-
if (untouched) {
40-
addUndefinedToOptionalProperty(changes, toAdd);
41-
}
42-
});
43-
}));
44-
},
4523
});
4624

4725
function getPropertiesToAdd(file: SourceFile, span: TextSpan, checker: TypeChecker): Symbol[] {
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
/// <reference path='fourslash.ts'/>
2+
3+
// @strictNullChecks: true
4+
// @exactOptionalPropertyTypes: true
5+
//// interface IF {
6+
//// a?: number
7+
//// }
8+
//// interface J {
9+
//// a?: number | undefined
10+
//// }
11+
//// declare var j: J
12+
//// function fi(if_: IF) { return if_ }
13+
//// fi(j/**/)
14+
verify.codeFixAvailable([
15+
{ description: ts.Diagnostics.Add_undefined_to_optional_property_type.message }
16+
]);
17+
18+
verify.codeFix({
19+
description: ts.Diagnostics.Add_undefined_to_optional_property_type.message,
20+
index: 0,
21+
newFileContent:
22+
`interface IF {
23+
a?: number | undefined
24+
}
25+
interface J {
26+
a?: number | undefined
27+
}
28+
declare var j: J
29+
function fi(if_: IF) { return if_ }
30+
fi(j)`,
31+
});
32+
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
/// <reference path='fourslash.ts'/>
2+
3+
// @strictNullChecks: true
4+
// @exactOptionalPropertyTypes: true
5+
//// interface IC {
6+
//// a?: number
7+
//// }
8+
//// interface J {
9+
//// a?: number | undefined
10+
//// }
11+
//// declare var j: J
12+
//// class C {
13+
//// ic: IC
14+
//// m() { this.ic/**/ = j }
15+
//// }
16+
verify.codeFixAvailable([
17+
{ description: ts.Diagnostics.Add_undefined_to_optional_property_type.message }
18+
]);
19+
20+
verify.codeFix({
21+
description: ts.Diagnostics.Add_undefined_to_optional_property_type.message,
22+
index: 0,
23+
newFileContent:
24+
`interface IC {
25+
a?: number | undefined
26+
}
27+
interface J {
28+
a?: number | undefined
29+
}
30+
declare var j: J
31+
class C {
32+
ic: IC
33+
m() { this.ic = j }
34+
}`,
35+
});
36+
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
/// <reference path='fourslash.ts'/>
2+
3+
// @strictNullChecks: true
4+
// @exactOptionalPropertyTypes: true
5+
//// interface IC2 {
6+
//// a?: number
7+
//// }
8+
//// interface J {
9+
//// a?: number | undefined
10+
//// }
11+
//// declare var j: J
12+
//// class C {
13+
//// ic2: IC2
14+
//// }
15+
//// var c = new C()
16+
//// c.ic2/**/ = j
17+
verify.codeFixAvailable([
18+
{ description: ts.Diagnostics.Add_undefined_to_optional_property_type.message }
19+
]);
20+
21+
verify.codeFix({
22+
description: ts.Diagnostics.Add_undefined_to_optional_property_type.message,
23+
index: 0,
24+
newFileContent:
25+
`interface IC2 {
26+
a?: number | undefined
27+
}
28+
interface J {
29+
a?: number | undefined
30+
}
31+
declare var j: J
32+
class C {
33+
ic2: IC2
34+
}
35+
var c = new C()
36+
c.ic2 = j`,
37+
});
38+
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
/// <reference path='fourslash.ts'/>
2+
3+
// @strictNullChecks: true
4+
// @exactOptionalPropertyTypes: true
5+
//// interface ICP {
6+
//// a?: number
7+
//// }
8+
//// interface J {
9+
//// a?: number | undefined
10+
//// }
11+
//// declare var j: J
12+
//// class CP {
13+
//// #icp: ICP
14+
//// m() { this.#icp/**/ = j; console.log(this.#icp) }
15+
//// }
16+
verify.codeFixAvailable([
17+
{ description: ts.Diagnostics.Add_undefined_to_optional_property_type.message }
18+
]);
19+
20+
verify.codeFix({
21+
description: ts.Diagnostics.Add_undefined_to_optional_property_type.message,
22+
index: 0,
23+
newFileContent:
24+
`interface ICP {
25+
a?: number | undefined
26+
}
27+
interface J {
28+
a?: number | undefined
29+
}
30+
declare var j: J
31+
class CP {
32+
#icp: ICP
33+
m() { this.#icp = j; console.log(this.#icp) }
34+
}`,
35+
});
36+
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
/// <reference path='fourslash.ts'/>
2+
3+
// @strictNullChecks: true
4+
// @exactOptionalPropertyTypes: true
5+
//// interface ID {
6+
//// a?: number
7+
//// }
8+
//// interface J {
9+
//// a?: number | undefined
10+
//// }
11+
//// declare var j: J
12+
//// declare var id: ID
13+
//// ({ id/**/ } = { id: j })
14+
verify.codeFixAvailable([
15+
{ description: ts.Diagnostics.Add_undefined_to_optional_property_type.message }
16+
]);
17+
18+
verify.codeFix({
19+
description: ts.Diagnostics.Add_undefined_to_optional_property_type.message,
20+
index: 0,
21+
newFileContent:
22+
`interface ID {
23+
a?: number | undefined
24+
}
25+
interface J {
26+
a?: number | undefined
27+
}
28+
declare var j: J
29+
declare var id: ID
30+
({ id } = { id: j })`,
31+
});
32+
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
/// <reference path='fourslash.ts'/>
2+
3+
// @strictNullChecks: true
4+
// @exactOptionalPropertyTypes: true
5+
//// interface More {
6+
//// a?: number
7+
//// b?: number
8+
//// }
9+
//// interface J {
10+
//// a?: number | undefined
11+
//// }
12+
//// declare var j: J
13+
//// declare var more: More
14+
//// more/**/ = j
15+
verify.codeFixAvailable([
16+
{ description: ts.Diagnostics.Add_undefined_to_optional_property_type.message }
17+
]);
18+
19+
verify.codeFix({
20+
description: ts.Diagnostics.Add_undefined_to_optional_property_type.message,
21+
index: 0,
22+
newFileContent:
23+
`interface More {
24+
a?: number | undefined
25+
b?: number | undefined
26+
}
27+
interface J {
28+
a?: number | undefined
29+
}
30+
declare var j: J
31+
declare var more: More
32+
more = j`,
33+
});
34+
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
/// <reference path='fourslash.ts'/>
2+
3+
// @strictNullChecks: true
4+
// @exactOptionalPropertyTypes: true
5+
//// interface Assignment {
6+
//// a?: number
7+
//// }
8+
//// interface J {
9+
//// a?: number | undefined
10+
//// }
11+
//// declare var j: J
12+
//// var assignment/**/: Assignment = j
13+
verify.codeFixAvailable([
14+
{ description: ts.Diagnostics.Add_undefined_to_optional_property_type.message }
15+
]);
16+
17+
verify.codeFix({
18+
description: ts.Diagnostics.Add_undefined_to_optional_property_type.message,
19+
index: 0,
20+
newFileContent:
21+
`interface Assignment {
22+
a?: number | undefined
23+
}
24+
interface J {
25+
a?: number | undefined
26+
}
27+
declare var j: J
28+
var assignment: Assignment = j`,
29+
});
30+
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
/// <reference path='fourslash.ts'/>
2+
3+
// @strictNullChecks: true
4+
// @exactOptionalPropertyTypes: true
5+
//// interface PropertyAssignment {
6+
//// a?: number
7+
//// }
8+
//// interface J {
9+
//// a?: number | undefined
10+
//// }
11+
//// declare var j: J
12+
//// var opa/**/: { pa: PropertyAssignment } = { pa: j }
13+
verify.codeFixAvailable([
14+
{ description: ts.Diagnostics.Add_undefined_to_optional_property_type.message }
15+
]);
16+
17+
verify.codeFix({
18+
description: ts.Diagnostics.Add_undefined_to_optional_property_type.message,
19+
index: 0,
20+
newFileContent:
21+
`interface PropertyAssignment {
22+
a?: number | undefined
23+
}
24+
interface J {
25+
a?: number | undefined
26+
}
27+
declare var j: J
28+
var opa: { pa: PropertyAssignment } = { pa: j }`,
29+
});
30+
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
/// <reference path='fourslash.ts'/>
2+
3+
// @strictNullChecks: true
4+
// @exactOptionalPropertyTypes: true
5+
//// interface ShorthandPropertyAssignment {
6+
//// a?: number
7+
//// }
8+
//// interface J {
9+
//// a?: number | undefined
10+
//// }
11+
//// declare var j: J
12+
//// var ospa/**/: { j: ShorthandPropertyAssignment } = { j }
13+
verify.codeFixAvailable([
14+
{ description: ts.Diagnostics.Add_undefined_to_optional_property_type.message }
15+
]);
16+
17+
verify.codeFix({
18+
description: ts.Diagnostics.Add_undefined_to_optional_property_type.message,
19+
index: 0,
20+
newFileContent:
21+
`interface ShorthandPropertyAssignment {
22+
a?: number | undefined
23+
}
24+
interface J {
25+
a?: number | undefined
26+
}
27+
declare var j: J
28+
var ospa: { j: ShorthandPropertyAssignment } = { j }`,
29+
});
30+
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
/// <reference path='fourslash.ts'/>
2+
3+
// @strictNullChecks: true
4+
// @exactOptionalPropertyTypes: true
5+
//// interface FPA {
6+
//// a?: number
7+
//// }
8+
//// interface J {
9+
//// a?: number | undefined
10+
//// }
11+
//// declare var j: J
12+
//// declare function fpa(fpa: { fpa: FPA }): void
13+
//// fpa({ fpa: j }/**/)
14+
verify.codeFixAvailable([
15+
{ description: ts.Diagnostics.Add_undefined_to_optional_property_type.message }
16+
]);
17+
18+
verify.codeFix({
19+
description: ts.Diagnostics.Add_undefined_to_optional_property_type.message,
20+
index: 0,
21+
newFileContent:
22+
`interface FPA {
23+
a?: number | undefined
24+
}
25+
interface J {
26+
a?: number | undefined
27+
}
28+
declare var j: J
29+
declare function fpa(fpa: { fpa: FPA }): void
30+
fpa({ fpa: j })`,
31+
});
32+

0 commit comments

Comments
 (0)