Skip to content

Commit 4a75f93

Browse files
committed
Merge pull request #4503 from Microsoft/fixClassExpClassfication
Fix classification for class expression
2 parents c9c6d82 + 4c51626 commit 4a75f93

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

src/compiler/binder.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -973,6 +973,10 @@ namespace ts {
973973
else {
974974
let bindingName = node.name ? node.name.text : "__class";
975975
bindAnonymousDeclaration(node, SymbolFlags.Class, bindingName);
976+
// Add name of class expression into the map for semantic classifier
977+
if (node.name) {
978+
classifiableNames[node.name.text] = node.name.text;
979+
}
976980
}
977981

978982
let symbol = node.symbol;
@@ -1062,4 +1066,4 @@ namespace ts {
10621066
: declareSymbolAndAddToSymbolTable(node, symbolFlags, symbolExcludes);
10631067
}
10641068
}
1065-
}
1069+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
/// <reference path="fourslash.ts"/>
2+
3+
//// var x = class /*0*/C {}
4+
//// class /*1*/C {}
5+
//// class /*2*/D extends class /*3*/B{} { }
6+
var c = classification;
7+
verify.semanticClassificationsAre(
8+
c.className("C", test.marker("0").position),
9+
c.className("C", test.marker("1").position),
10+
c.className("D", test.marker("2").position),
11+
c.className("B", test.marker("3").position)
12+
);

0 commit comments

Comments
 (0)