From 250913ad096bd7a7f73c2c869c1404a57faca0be Mon Sep 17 00:00:00 2001 From: Andrew Casey Date: Fri, 8 Jun 2018 18:02:33 -0700 Subject: [PATCH 1/5] Normalize paths in GetEditsForFileRename --- src/server/session.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/server/session.ts b/src/server/session.ts index d24e2addd33..8ec6d357423 100644 --- a/src/server/session.ts +++ b/src/server/session.ts @@ -1700,7 +1700,7 @@ namespace ts.server { private getEditsForFileRename(args: protocol.GetEditsForFileRenameRequestArgs, simplifiedResult: boolean): ReadonlyArray | ReadonlyArray { const { file, project } = this.getFileAndProject(args); - const changes = project.getLanguageService().getEditsForFileRename(args.oldFilePath, args.newFilePath, this.getFormatOptions(file), this.getPreferences(file)); + const changes = project.getLanguageService().getEditsForFileRename(toNormalizedPath(args.oldFilePath), toNormalizedPath(args.newFilePath), this.getFormatOptions(file), this.getPreferences(file)); return simplifiedResult ? this.mapTextChangesToCodeEdits(project, changes) : changes; } From b36d4e799d80371a1fa1a2a16222e0012ad25333 Mon Sep 17 00:00:00 2001 From: csigs Date: Mon, 11 Jun 2018 08:57:38 +0000 Subject: [PATCH 2/5] LEGO: check in for master to temporary branch. --- .../diagnosticMessages.generated.json.lcl | 138 ++++++++++++++++++ 1 file changed, 138 insertions(+) diff --git a/src/loc/lcl/plk/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/plk/diagnosticMessages/diagnosticMessages.generated.json.lcl index 9adcb4e9b65..5a0220002aa 100644 --- a/src/loc/lcl/plk/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/plk/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -476,6 +476,18 @@ + + + + + + + + + + + + @@ -1748,6 +1760,24 @@ + + + + + + + + + + + + + + + + + + @@ -1928,12 +1958,18 @@ + + + + + + @@ -2816,6 +2852,12 @@ + + + + + + @@ -3272,6 +3314,12 @@ + + + + + + @@ -5699,6 +5747,12 @@ + + + + + + @@ -5735,6 +5789,12 @@ + + + + + + @@ -6164,6 +6224,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6173,6 +6275,12 @@ + + + + + + @@ -7208,6 +7316,12 @@ + + + + + + @@ -7226,6 +7340,18 @@ + + + + + + + + + + + + @@ -8834,6 +8960,12 @@ + + + + + + @@ -9383,6 +9515,12 @@ + + + + + + From 986532d36bcef004a41581036e3dcea9341bd9d1 Mon Sep 17 00:00:00 2001 From: Andy Date: Mon, 11 Jun 2018 08:43:17 -0700 Subject: [PATCH 3/5] Fix bug: In findAllReferences, don't crash on static method missing body (#24814) --- src/services/findAllReferences.ts | 18 ++++++++++-------- .../cases/fourslash/findAllRefsDeclareClass.ts | 7 +++++++ 2 files changed, 17 insertions(+), 8 deletions(-) create mode 100644 tests/cases/fourslash/findAllRefsDeclareClass.ts diff --git a/src/services/findAllReferences.ts b/src/services/findAllReferences.ts index 394e487e2f0..e40a1f28161 100644 --- a/src/services/findAllReferences.ts +++ b/src/services/findAllReferences.ts @@ -1035,14 +1035,16 @@ namespace ts.FindAllReferences.Core { if (!(isMethodOrAccessor(member) && hasModifier(member, ModifierFlags.Static))) { continue; } - member.body!.forEachChild(function cb(node) { - if (node.kind === SyntaxKind.ThisKeyword) { - addRef(node); - } - else if (!isFunctionLike(node)) { - node.forEachChild(cb); - } - }); + if (member.body) { + member.body.forEachChild(function cb(node) { + if (node.kind === SyntaxKind.ThisKeyword) { + addRef(node); + } + else if (!isFunctionLike(node)) { + node.forEachChild(cb); + } + }); + } } } diff --git a/tests/cases/fourslash/findAllRefsDeclareClass.ts b/tests/cases/fourslash/findAllRefsDeclareClass.ts new file mode 100644 index 00000000000..9ef813634a5 --- /dev/null +++ b/tests/cases/fourslash/findAllRefsDeclareClass.ts @@ -0,0 +1,7 @@ +/// + +////declare class [|{| "isWriteAccess": true, "isDefinition": true |}C|] { +//// static m(): void; +////} + +verify.singleReferenceGroup("class C"); From 3aacceedab3b00da795355133952fe5631d89367 Mon Sep 17 00:00:00 2001 From: csigs Date: Mon, 11 Jun 2018 16:10:50 +0000 Subject: [PATCH 4/5] LEGO: check in for master to temporary branch. --- .../diagnosticMessages.generated.json.lcl | 150 ++++++++++++++++++ .../diagnosticMessages.generated.json.lcl | 138 ++++++++++++++++ .../diagnosticMessages.generated.json.lcl | 138 ++++++++++++++++ .../diagnosticMessages.generated.json.lcl | 138 ++++++++++++++++ .../diagnosticMessages.generated.json.lcl | 138 ++++++++++++++++ .../diagnosticMessages.generated.json.lcl | 138 ++++++++++++++++ .../diagnosticMessages.generated.json.lcl | 138 ++++++++++++++++ .../diagnosticMessages.generated.json.lcl | 138 ++++++++++++++++ 8 files changed, 1116 insertions(+) diff --git a/src/loc/lcl/chs/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/chs/diagnosticMessages/diagnosticMessages.generated.json.lcl index add223a477e..add68869804 100644 --- a/src/loc/lcl/chs/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/chs/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -483,6 +483,18 @@ + + + + + + + + + + + + @@ -1758,6 +1770,24 @@ + + + + + + + + + + + + + + + + + + @@ -1935,6 +1965,24 @@ + + + + + + + + + + + + + + + + + + @@ -2814,6 +2862,12 @@ + + + + + + @@ -3270,6 +3324,12 @@ + + + + + + @@ -5697,6 +5757,12 @@ + + + + + + @@ -5733,6 +5799,12 @@ + + + + + + @@ -6165,6 +6237,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6174,6 +6288,12 @@ + + + + + + @@ -7209,6 +7329,12 @@ + + + + + + @@ -7227,6 +7353,18 @@ + + + + + + + + + + + + @@ -8835,6 +8973,12 @@ + + + + + + @@ -9384,6 +9528,12 @@ + + + + + + diff --git a/src/loc/lcl/cht/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/cht/diagnosticMessages/diagnosticMessages.generated.json.lcl index 82b7f8e5acf..de96a342067 100644 --- a/src/loc/lcl/cht/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/cht/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -483,6 +483,18 @@ + + + + + + + + + + + + @@ -1758,6 +1770,24 @@ + + + + + + + + + + + + + + + + + + @@ -1938,12 +1968,18 @@ + + + + + + @@ -2826,6 +2862,12 @@ + + + + + + @@ -3282,6 +3324,12 @@ + + + + + + @@ -5709,6 +5757,12 @@ + + + + + + @@ -5745,6 +5799,12 @@ + + + + + + @@ -6177,6 +6237,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6186,6 +6288,12 @@ + + + + + + @@ -7221,6 +7329,12 @@ + + + + + + @@ -7239,6 +7353,18 @@ + + + + + + + + + + + + @@ -8847,6 +8973,12 @@ + + + + + + @@ -9396,6 +9528,12 @@ + + + + + + diff --git a/src/loc/lcl/deu/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/deu/diagnosticMessages/diagnosticMessages.generated.json.lcl index e715164369d..2a1883d8c1e 100644 --- a/src/loc/lcl/deu/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/deu/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -483,6 +483,18 @@ + + + + + + + + + + + + @@ -1755,6 +1767,24 @@ + + + + + + + + + + + + + + + + + + @@ -1935,12 +1965,18 @@ + + + + + + @@ -2823,6 +2859,12 @@ + + + + + + @@ -3279,6 +3321,12 @@ + + + + + + @@ -5706,6 +5754,12 @@ + + + + + + @@ -5742,6 +5796,12 @@ + + + + + + @@ -6171,6 +6231,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6180,6 +6282,12 @@ + + + + + + @@ -7215,6 +7323,12 @@ + + + + + + @@ -7233,6 +7347,18 @@ + + + + + + + + + + + + @@ -8841,6 +8967,12 @@ + + + + + + @@ -9390,6 +9522,12 @@ + + + + + + diff --git a/src/loc/lcl/esn/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/esn/diagnosticMessages/diagnosticMessages.generated.json.lcl index f44525312d3..f723f786b33 100644 --- a/src/loc/lcl/esn/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/esn/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -492,6 +492,18 @@ + + + + + + + + + + + + @@ -1770,6 +1782,24 @@ + + + + + + + + + + + + + + + + + + @@ -1950,12 +1980,18 @@ + + + + + + @@ -2838,6 +2874,12 @@ + + + + + + @@ -3294,6 +3336,12 @@ + + + + + + @@ -5721,6 +5769,12 @@ + + + + + + @@ -5757,6 +5811,12 @@ + + + + + + @@ -6189,6 +6249,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6198,6 +6300,12 @@ + + + + + + @@ -7233,6 +7341,12 @@ + + + + + + @@ -7251,6 +7365,18 @@ + + + + + + + + + + + + @@ -8859,6 +8985,12 @@ + + + + + + @@ -9408,6 +9540,12 @@ + + + + + + diff --git a/src/loc/lcl/fra/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/fra/diagnosticMessages/diagnosticMessages.generated.json.lcl index d13446474d0..8abfd535e1c 100644 --- a/src/loc/lcl/fra/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/fra/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -492,6 +492,18 @@ + + + + + + + + + + + + @@ -1770,6 +1782,24 @@ + + + + + + + + + + + + + + + + + + @@ -1950,12 +1980,18 @@ + + + + + + @@ -2838,6 +2874,12 @@ + + + + + + @@ -3294,6 +3336,12 @@ + + + + + + @@ -5721,6 +5769,12 @@ + + + + + + @@ -5757,6 +5811,12 @@ + + + + + + @@ -6189,6 +6249,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6198,6 +6300,12 @@ + + + + + + @@ -7233,6 +7341,12 @@ + + + + + + @@ -7251,6 +7365,18 @@ + + + + + + + + + + + + @@ -8859,6 +8985,12 @@ + + + + + + @@ -9408,6 +9540,12 @@ + + + + + + diff --git a/src/loc/lcl/jpn/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/jpn/diagnosticMessages/diagnosticMessages.generated.json.lcl index 803851db20c..e77d6f627be 100644 --- a/src/loc/lcl/jpn/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/jpn/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -483,6 +483,18 @@ + + + + + + + + + + + + @@ -1758,6 +1770,24 @@ + + + + + + + + + + + + + + + + + + @@ -1938,12 +1968,18 @@ + + + + + + @@ -2826,6 +2862,12 @@ + + + + + + @@ -3282,6 +3324,12 @@ + + + + + + @@ -5709,6 +5757,12 @@ + + + + + + @@ -5745,6 +5799,12 @@ + + + + + + @@ -6177,6 +6237,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6186,6 +6288,12 @@ + + + + + + @@ -7221,6 +7329,12 @@ + + + + + + @@ -7239,6 +7353,18 @@ + + + + + + + + + + + + @@ -8847,6 +8973,12 @@ + + + + + + @@ -9396,6 +9528,12 @@ + + + + + + diff --git a/src/loc/lcl/kor/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/kor/diagnosticMessages/diagnosticMessages.generated.json.lcl index 591661b36f2..44a886375ac 100644 --- a/src/loc/lcl/kor/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/kor/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -483,6 +483,18 @@ + + + + + + + + + + + + @@ -1758,6 +1770,24 @@ + + + + + + + + + + + + + + + + + + @@ -1938,12 +1968,18 @@ + + + + + + @@ -2826,6 +2862,12 @@ + + + + + + @@ -3282,6 +3324,12 @@ + + + + + + @@ -5709,6 +5757,12 @@ + + + + + + @@ -5745,6 +5799,12 @@ + + + + + + @@ -6177,6 +6237,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6186,6 +6288,12 @@ + + + + + + @@ -7221,6 +7329,12 @@ + + + + + + @@ -7239,6 +7353,18 @@ + + + + + + + + + + + + @@ -8847,6 +8973,12 @@ + + + + + + @@ -9396,6 +9528,12 @@ + + + + + + diff --git a/src/loc/lcl/trk/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/trk/diagnosticMessages/diagnosticMessages.generated.json.lcl index 84040c75f1c..04335da0e83 100644 --- a/src/loc/lcl/trk/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/trk/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -476,6 +476,18 @@ + + + + + + + + + + + + @@ -1751,6 +1763,24 @@ + + + + + + + + + + + + + + + + + + @@ -1931,12 +1961,18 @@ + + + + + + @@ -2819,6 +2855,12 @@ + + + + + + @@ -3275,6 +3317,12 @@ + + + + + + @@ -5702,6 +5750,12 @@ + + + + + + @@ -5738,6 +5792,12 @@ + + + + + + @@ -6170,6 +6230,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6179,6 +6281,12 @@ + + + + + + @@ -7214,6 +7322,12 @@ + + + + + + @@ -7232,6 +7346,18 @@ + + + + + + + + + + + + @@ -8840,6 +8966,12 @@ + + + + + + @@ -9389,6 +9521,12 @@ + + + + + + From 1aad3c627375a17d2423743de8d72e1cadffa17e Mon Sep 17 00:00:00 2001 From: Andy Date: Mon, 11 Jun 2018 10:51:11 -0700 Subject: [PATCH 5/5] addClassStaticThisReferences: Don't cross class boundary (#24860) --- src/services/findAllReferences.ts | 2 +- .../fourslash/findAllRefsClassWithStaticThisAccess.ts | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/services/findAllReferences.ts b/src/services/findAllReferences.ts index e40a1f28161..46dd83851c1 100644 --- a/src/services/findAllReferences.ts +++ b/src/services/findAllReferences.ts @@ -1040,7 +1040,7 @@ namespace ts.FindAllReferences.Core { if (node.kind === SyntaxKind.ThisKeyword) { addRef(node); } - else if (!isFunctionLike(node)) { + else if (!isFunctionLike(node) && !isClassLike(node)) { node.forEachChild(cb); } }); diff --git a/tests/cases/fourslash/findAllRefsClassWithStaticThisAccess.ts b/tests/cases/fourslash/findAllRefsClassWithStaticThisAccess.ts index 4802ca40448..f2c432abc76 100644 --- a/tests/cases/fourslash/findAllRefsClassWithStaticThisAccess.ts +++ b/tests/cases/fourslash/findAllRefsClassWithStaticThisAccess.ts @@ -4,7 +4,12 @@ //// static s() { //// [|this|]; //// } -//// static get f() { return [|this|]; } +//// static get f() { +//// return [|this|]; +//// +//// function inner() { this; } +//// class Inner { x = this; } +//// } ////} const [r0, r1, r2] = test.ranges();