Skip to content

Commit fc6055b

Browse files
Merge pull request #2348 from Microsoft/doNotRenameParameters
use Value meaning as a filter when resolving names to prevent skipping o...
2 parents 62cbe97 + 64fa7fb commit fc6055b

File tree

4 files changed

+81
-1
lines changed

4 files changed

+81
-1
lines changed

src/compiler/checker.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11072,7 +11072,7 @@ module ts {
1107211072

1107311073
var symbol = declarationSymbol ||
1107411074
getNodeLinks(n).resolvedSymbol ||
11075-
resolveName(n, n.text, SymbolFlags.BlockScopedVariable | SymbolFlags.Alias, /*nodeNotFoundMessage*/ undefined, /*nameArg*/ undefined);
11075+
resolveName(n, n.text, SymbolFlags.Value | SymbolFlags.Alias, /*nodeNotFoundMessage*/ undefined, /*nameArg*/ undefined);
1107611076

1107711077
var isLetOrConst =
1107811078
symbol &&
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
//// [letConstMatchingParameterNames.ts]
2+
let parent = true;
3+
const parent2 = true;
4+
declare function use(a: any);
5+
6+
function a() {
7+
8+
let parent = 1;
9+
const parent2 = 2;
10+
11+
function b(parent: string, parent2: number) {
12+
use(parent);
13+
use(parent2);
14+
}
15+
}
16+
17+
18+
//// [letConstMatchingParameterNames.js]
19+
var parent = true;
20+
var parent2 = true;
21+
function a() {
22+
var _parent = 1;
23+
var _parent2 = 2;
24+
function b(parent, parent2) {
25+
use(parent);
26+
use(parent2);
27+
}
28+
}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
=== tests/cases/compiler/letConstMatchingParameterNames.ts ===
2+
let parent = true;
3+
>parent : boolean
4+
5+
const parent2 = true;
6+
>parent2 : boolean
7+
8+
declare function use(a: any);
9+
>use : (a: any) => any
10+
>a : any
11+
12+
function a() {
13+
>a : () => void
14+
15+
let parent = 1;
16+
>parent : number
17+
18+
const parent2 = 2;
19+
>parent2 : number
20+
21+
function b(parent: string, parent2: number) {
22+
>b : (parent: string, parent2: number) => void
23+
>parent : string
24+
>parent2 : number
25+
26+
use(parent);
27+
>use(parent) : any
28+
>use : (a: any) => any
29+
>parent : string
30+
31+
use(parent2);
32+
>use(parent2) : any
33+
>use : (a: any) => any
34+
>parent2 : number
35+
}
36+
}
37+
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
// @target: es5
2+
let parent = true;
3+
const parent2 = true;
4+
declare function use(a: any);
5+
6+
function a() {
7+
8+
let parent = 1;
9+
const parent2 = 2;
10+
11+
function b(parent: string, parent2: number) {
12+
use(parent);
13+
use(parent2);
14+
}
15+
}

0 commit comments

Comments
 (0)