Skip to content

Commit 2b663a8

Browse files
committed
WIP - don't provide a breaking change
1 parent 473f651 commit 2b663a8

File tree

3 files changed

+17
-7
lines changed

3 files changed

+17
-7
lines changed

src/services/classifier2020.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@ namespace ts.classifier.v2020 {
1818
}
1919

2020
/** This is mainly used internally for testing */
21-
export function getSemanticClassifications(program: Program, cancellationToken: CancellationToken, sourceFile: SourceFile, span: TextSpan): ClassifiedSpan[] {
21+
export function getSemanticClassifications(program: Program, cancellationToken: CancellationToken, sourceFile: SourceFile, span: TextSpan): ClassifiedSpan2020[] {
2222
const classifications = getEncodedSemanticClassifications(program, cancellationToken, sourceFile, span);
2323

2424
Debug.assert(classifications.spans.length % 3 === 0);
2525
const dense = classifications.spans;
26-
const result: ClassifiedSpan[] = [];
26+
const result: ClassifiedSpan2020[] = [];
2727
for (let i = 0; i < dense.length; i += 3) {
2828
result.push({
2929
textSpan: createTextSpan(dense[i], dense[i + 1]),

src/services/services.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1797,7 +1797,7 @@ namespace ts {
17971797
return kind === ScriptKind.TS || kind === ScriptKind.TSX;
17981798
}
17991799

1800-
function getSemanticClassifications(fileName: string, span: TextSpan, format?: SemanticClassificationFormat): ClassifiedSpan[] {
1800+
function getSemanticClassifications(fileName: string, span: TextSpan, format?: SemanticClassificationFormat): (ClassifiedSpan| ClassifiedSpan2020)[] {
18011801
if (!isTsOrTsxFile(fileName)) {
18021802
// do not run semantic classification on non-ts-or-tsx files
18031803
return [];
@@ -1829,7 +1829,7 @@ namespace ts {
18291829
}
18301830
}
18311831

1832-
function getSyntacticClassifications(fileName: string, span: TextSpan): ClassifiedSpan[] {
1832+
function getSyntacticClassifications(fileName: string, span: TextSpan, format?: SemanticClassificationFormat): ClassifiedSpan[] | ClassifiedSpan2020[] {
18331833
// doesn't use compiler - no need to synchronize with host
18341834
return ts.getSyntacticClassifications(cancellationToken, syntaxTreeCache.getCurrentSourceFile(fileName), span);
18351835
}

src/services/types.ts

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -380,10 +380,15 @@ namespace ts {
380380
getCompilerOptionsDiagnostics(): Diagnostic[];
381381

382382
/** @deprecated Use getEncodedSyntacticClassifications instead. */
383-
getSyntacticClassifications(fileName: string, span: TextSpan, format?: SemanticClassificationFormat): ClassifiedSpan[];
383+
getSyntacticClassifications(fileName: string, span: TextSpan, format: SemanticClassificationFormat.TwentyTwenty): ClassifiedSpan2020[];
384+
getSyntacticClassifications(fileName: string, span: TextSpan, format: SemanticClassificationFormat.Original): ClassifiedSpan[];
385+
getSyntacticClassifications(fileName: string, span: TextSpan, format?: SemanticClassificationFormat): ClassifiedSpan[] | ClassifiedSpan2020[];
384386

385387
/** @deprecated Use getEncodedSemanticClassifications instead. */
386-
getSemanticClassifications(fileName: string, span: TextSpan, format?: SemanticClassificationFormat): ClassifiedSpan[];
388+
getSemanticClassifications(fileName: string, span: TextSpan, format: SemanticClassificationFormat.TwentyTwenty): ClassifiedSpan2020[];
389+
getSemanticClassifications(fileName: string, span: TextSpan, format: SemanticClassificationFormat.Original): ClassifiedSpan[];
390+
getSemanticClassifications(fileName: string, span: TextSpan, format?: SemanticClassificationFormat): ClassifiedSpan[] | ClassifiedSpan2020[];
391+
387392
/** Encoded as triples of [start, length, ClassificationType]. */
388393
getEncodedSyntacticClassifications(fileName: string, span: TextSpan): Classifications;
389394

@@ -603,7 +608,12 @@ namespace ts {
603608

604609
export interface ClassifiedSpan {
605610
textSpan: TextSpan;
606-
classificationType: ClassificationTypeNames | number;
611+
classificationType: ClassificationTypeNames;
612+
}
613+
614+
export interface ClassifiedSpan2020 {
615+
textSpan: TextSpan;
616+
classificationType: number;
607617
}
608618

609619
/**

0 commit comments

Comments
 (0)