Skip to content

Commit d33a9ac

Browse files
authored
Merge pull request microsoft#18950 from amcasey/MissingMemberFormatting
Improve AddMissingMember formatting
2 parents 927ffef + 4cf289e commit d33a9ac

File tree

5 files changed

+16
-16
lines changed

5 files changed

+16
-16
lines changed

src/services/codefixes/fixAddMissingMember.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ namespace ts.codefix {
9292
classDeclarationSourceFile,
9393
classDeclaration,
9494
staticInitialization,
95-
{ suffix: context.newLineCharacter });
95+
{ prefix: context.newLineCharacter, suffix: context.newLineCharacter });
9696
const initializeStaticAction = {
9797
description: formatStringFromArgs(getLocaleSpecificMessage(Diagnostics.Initialize_static_property_0), [tokenName]),
9898
changes: staticInitializationChangeTracker.getChanges()
@@ -112,11 +112,11 @@ namespace ts.codefix {
112112
createIdentifier("undefined")));
113113

114114
const propertyInitializationChangeTracker = textChanges.ChangeTracker.fromContext(context);
115-
propertyInitializationChangeTracker.insertNodeAt(
115+
propertyInitializationChangeTracker.insertNodeBefore(
116116
classDeclarationSourceFile,
117-
classConstructor.body.getEnd() - 1,
117+
classConstructor.body.getLastToken(),
118118
propertyInitialization,
119-
{ prefix: context.newLineCharacter, suffix: context.newLineCharacter });
119+
{ suffix: context.newLineCharacter });
120120

121121
const initializeAction = {
122122
description: formatStringFromArgs(getLocaleSpecificMessage(Diagnostics.Initialize_property_0_in_the_constructor), [tokenName]),

tests/cases/fourslash/codeFixAddMissingMember4.ts

+3-4
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,11 @@
1515
verify.codeFix({
1616
description: "Initialize property 'foo' in the constructor.",
1717
index: 0,
18-
// TODO: GH#18741 and GH#18445
18+
// TODO: GH#18445
1919
newFileContent: `class C {
2020
constructor() {
21-
\r
22-
this.foo = undefined;\r
23-
}
21+
this.foo = undefined;\r
22+
}
2423
method() {
2524
this.foo === 10;
2625
}

tests/cases/fourslash/codeFixAddMissingMember5.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,12 @@
1313
verify.codeFix({
1414
description: "Initialize static property 'foo'.",
1515
index: 0,
16-
// TODO: GH#18743 and GH#18445
16+
// TODO: GH#18445
1717
newFileContent: `class C {
1818
static method() {
1919
()=>{ this.foo === 10 };
2020
}
21-
}C.foo = undefined;\r
21+
}\r
22+
C.foo = undefined;\r
2223
`
2324
});

tests/cases/fourslash/codeFixAddMissingMember6.ts

+3-4
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,11 @@
1313
verify.codeFix({
1414
description: "Initialize property 'foo' in the constructor.",
1515
index: 0,
16-
// TODO: GH#18741 and GH#18445
16+
// TODO: GH#18445
1717
newFileContent: `class C {
1818
constructor() {
19-
\r
20-
this.foo = undefined;\r
21-
}
19+
this.foo = undefined;\r
20+
}
2221
prop = ()=>{ this.foo === 10 };
2322
}`
2423
});

tests/cases/fourslash/codeFixAddMissingMember7.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,10 @@
1111
verify.codeFix({
1212
description: "Initialize static property 'foo'.",
1313
index: 2,
14-
// TODO: GH#18743 and GH#18445
14+
// TODO: GH#18445
1515
newFileContent: `class C {
1616
static p = ()=>{ this.foo === 10 };
17-
}C.foo = undefined;\r
17+
}\r
18+
C.foo = undefined;\r
1819
`
1920
});

0 commit comments

Comments
 (0)