* Initial import of the vscode semantic highlight code * Adds the ability to test modern semantic classification via strings instead of numbers * Adds existing tests * Port over the semantic classification tests * Update baselines * Update src/harness/fourslashImpl.ts Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com> * Handle feedback from #39119 * Consistent formatting in the 2020 classifier * Update baselines * Apply suggestions from code review Co-authored-by: Daniel Rosenwasser <DanielRosenwasser@users.noreply.github.com> * Update src/harness/fourslashImpl.ts Co-authored-by: Daniel Rosenwasser <DanielRosenwasser@users.noreply.github.com> * Reafactor after comments * Use 2020 everywhere * Handle feedback * WIP - don't provide a breaking change * Fix all build errors * Update baselines * Update src/services/classifier2020.ts Co-authored-by: Sheetal Nandi <shkamat@microsoft.com> * Addresses Ron's feedback Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com> Co-authored-by: Daniel Rosenwasser <DanielRosenwasser@users.noreply.github.com> Co-authored-by: Sheetal Nandi <shkamat@microsoft.com>
24 lines
857 B
TypeScript
24 lines
857 B
TypeScript
//// class A {
|
|
//// static x = 9;
|
|
//// f = 9;
|
|
//// async m() { return A.x + await this.m(); };
|
|
//// get s() { return this.f;
|
|
//// static t() { return new A().f; };
|
|
//// constructor() {}
|
|
//// }
|
|
|
|
const c2 = classification("2020");
|
|
verify.semanticClassificationsAre("2020",
|
|
c2.semanticToken("class.declaration", "A"),
|
|
c2.semanticToken("property.declaration.static", "x"),
|
|
c2.semanticToken("property.declaration", "f"),
|
|
c2.semanticToken("member.declaration.async", "m"),
|
|
c2.semanticToken("class", "A"),
|
|
c2.semanticToken("property.static", "x"),
|
|
c2.semanticToken("member.async", "m"),
|
|
c2.semanticToken("property.declaration", "s"),
|
|
c2.semanticToken("property", "f"),
|
|
c2.semanticToken("member.declaration.static", "t"),
|
|
c2.semanticToken("class", "A"),
|
|
c2.semanticToken("property", "f"),
|
|
);; |