Skip to content

Commit 313a0b8

Browse files
authored
Remove deprecated SymbolDisplayBuilder API (microsoft#25331)
* Remove deprecated API * Accept API baseline updates
1 parent e7543d6 commit 313a0b8

File tree

4 files changed

+5
-240
lines changed

4 files changed

+5
-240
lines changed

src/compiler/checker.ts

Lines changed: 0 additions & 140 deletions
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,6 @@ namespace ts {
182182
writeTypePredicate: (predicate, enclosingDeclaration, flags, writer) => {
183183
return typePredicateToString(predicate, getParseTreeNode(enclosingDeclaration), flags, writer);
184184
},
185-
getSymbolDisplayBuilder, // TODO (weswigham): Remove once deprecation process is complete
186185
getAugmentedPropertiesOfType,
187186
getRootSymbols,
188187
getContextualType: nodeIn => {
@@ -655,145 +654,6 @@ namespace ts {
655654

656655
return checker;
657656

658-
/**
659-
* @deprecated
660-
*/
661-
function getSymbolDisplayBuilder(): SymbolDisplayBuilder {
662-
return {
663-
buildTypeDisplay(type, writer, enclosingDeclaration?, flags?) {
664-
typeToString(type, enclosingDeclaration, flags, emitTextWriterWrapper(writer));
665-
},
666-
buildSymbolDisplay(symbol, writer, enclosingDeclaration?, meaning?, flags = SymbolFormatFlags.None) {
667-
symbolToString(symbol, enclosingDeclaration, meaning, flags | SymbolFormatFlags.AllowAnyNodeKind, emitTextWriterWrapper(writer));
668-
},
669-
buildSignatureDisplay(signature, writer, enclosing?, flags?, kind?) {
670-
signatureToString(signature, enclosing, flags, kind, emitTextWriterWrapper(writer));
671-
},
672-
buildIndexSignatureDisplay(info, writer, kind, enclosing?, flags?) {
673-
const sig = nodeBuilder.indexInfoToIndexSignatureDeclaration(info, kind, enclosing, toNodeBuilderFlags(flags) | NodeBuilderFlags.IgnoreErrors, writer);
674-
const printer = createPrinter({ removeComments: true });
675-
printer.writeNode(EmitHint.Unspecified, sig, getSourceFileOfNode(getParseTreeNode(enclosing)), emitTextWriterWrapper(writer));
676-
},
677-
buildParameterDisplay(symbol, writer, enclosing?, flags?) {
678-
const node = nodeBuilder.symbolToParameterDeclaration(symbol, enclosing, toNodeBuilderFlags(flags) | NodeBuilderFlags.IgnoreErrors, writer);
679-
const printer = createPrinter({ removeComments: true });
680-
printer.writeNode(EmitHint.Unspecified, node!, getSourceFileOfNode(getParseTreeNode(enclosing)), emitTextWriterWrapper(writer)); // TODO: GH#18217
681-
},
682-
buildTypeParameterDisplay(tp, writer, enclosing?, flags?) {
683-
const node = nodeBuilder.typeParameterToDeclaration(tp, enclosing, toNodeBuilderFlags(flags) | NodeBuilderFlags.IgnoreErrors | NodeBuilderFlags.OmitParameterModifiers, writer);
684-
const printer = createPrinter({ removeComments: true });
685-
printer.writeNode(EmitHint.Unspecified, node!, getSourceFileOfNode(getParseTreeNode(enclosing)), emitTextWriterWrapper(writer)); // TODO: GH#18217
686-
},
687-
buildTypePredicateDisplay(predicate, writer, enclosing?, flags?) {
688-
typePredicateToString(predicate, enclosing, flags, emitTextWriterWrapper(writer));
689-
},
690-
buildTypeParameterDisplayFromSymbol(symbol, writer, enclosing?, flags?) {
691-
const nodes = nodeBuilder.symbolToTypeParameterDeclarations(symbol, enclosing, toNodeBuilderFlags(flags) | NodeBuilderFlags.IgnoreErrors, writer);
692-
const printer = createPrinter({ removeComments: true });
693-
printer.writeList(ListFormat.TypeParameters, nodes, getSourceFileOfNode(getParseTreeNode(enclosing)), emitTextWriterWrapper(writer));
694-
},
695-
buildDisplayForParametersAndDelimiters(thisParameter, parameters, writer, enclosing?, originalFlags?) {
696-
const printer = createPrinter({ removeComments: true });
697-
const flags = NodeBuilderFlags.OmitParameterModifiers | NodeBuilderFlags.IgnoreErrors | toNodeBuilderFlags(originalFlags);
698-
const thisParameterArray = thisParameter ? [nodeBuilder.symbolToParameterDeclaration(thisParameter, enclosing, flags)!] : []; // TODO: GH#18217
699-
const params = createNodeArray([...thisParameterArray, ...map(parameters, param => nodeBuilder.symbolToParameterDeclaration(param, enclosing, flags)!)]); // TODO: GH#18217
700-
printer.writeList(ListFormat.CallExpressionArguments, params, getSourceFileOfNode(getParseTreeNode(enclosing)), emitTextWriterWrapper(writer));
701-
},
702-
buildDisplayForTypeParametersAndDelimiters(typeParameters, writer, enclosing?, flags?) {
703-
const printer = createPrinter({ removeComments: true });
704-
const args = createNodeArray(map(typeParameters, p => nodeBuilder.typeParameterToDeclaration(p, enclosing, toNodeBuilderFlags(flags))!)); // TODO: GH#18217
705-
printer.writeList(ListFormat.TypeParameters, args, getSourceFileOfNode(getParseTreeNode(enclosing)), emitTextWriterWrapper(writer));
706-
},
707-
buildReturnTypeDisplay(signature, writer, enclosing?, flags?) {
708-
writer.writePunctuation(":");
709-
writer.writeSpace(" ");
710-
const predicate = getTypePredicateOfSignature(signature);
711-
if (predicate) {
712-
return typePredicateToString(predicate, enclosing, flags, emitTextWriterWrapper(writer));
713-
}
714-
const node = nodeBuilder.typeToTypeNode(getReturnTypeOfSignature(signature), enclosing, toNodeBuilderFlags(flags) | NodeBuilderFlags.IgnoreErrors, writer);
715-
const printer = createPrinter({ removeComments: true });
716-
printer.writeNode(EmitHint.Unspecified, node!, getSourceFileOfNode(getParseTreeNode(enclosing)), emitTextWriterWrapper(writer)); // TODO: GH#18217
717-
}
718-
};
719-
720-
function emitTextWriterWrapper(underlying: SymbolWriter): EmitTextWriter {
721-
return {
722-
write: noop,
723-
writeTextOfNode: noop,
724-
writeLine: noop,
725-
increaseIndent() {
726-
return underlying.increaseIndent();
727-
},
728-
decreaseIndent() {
729-
return underlying.decreaseIndent();
730-
},
731-
getText() {
732-
return "";
733-
},
734-
rawWrite: noop,
735-
writeLiteral(s) {
736-
return underlying.writeStringLiteral(s);
737-
},
738-
getTextPos() {
739-
return 0;
740-
},
741-
getLine() {
742-
return 0;
743-
},
744-
getColumn() {
745-
return 0;
746-
},
747-
getIndent() {
748-
return 0;
749-
},
750-
isAtStartOfLine() {
751-
return false;
752-
},
753-
clear() {
754-
return underlying.clear();
755-
},
756-
757-
writeKeyword(text) {
758-
return underlying.writeKeyword(text);
759-
},
760-
writeOperator(text) {
761-
return underlying.writeOperator(text);
762-
},
763-
writePunctuation(text) {
764-
return underlying.writePunctuation(text);
765-
},
766-
writeSpace(text) {
767-
return underlying.writeSpace(text);
768-
},
769-
writeStringLiteral(text) {
770-
return underlying.writeStringLiteral(text);
771-
},
772-
writeParameter(text) {
773-
return underlying.writeParameter(text);
774-
},
775-
writeProperty(text) {
776-
return underlying.writeProperty(text);
777-
},
778-
writeSymbol(text, symbol) {
779-
return underlying.writeSymbol(text, symbol);
780-
},
781-
trackSymbol(symbol, enclosing?, meaning?) {
782-
return underlying.trackSymbol && underlying.trackSymbol(symbol, enclosing, meaning);
783-
},
784-
reportInaccessibleThisError() {
785-
return underlying.reportInaccessibleThisError && underlying.reportInaccessibleThisError();
786-
},
787-
reportPrivateInBaseOfClassExpression(name) {
788-
return underlying.reportPrivateInBaseOfClassExpression && underlying.reportPrivateInBaseOfClassExpression(name);
789-
},
790-
reportInaccessibleUniqueSymbolError() {
791-
return underlying.reportInaccessibleUniqueSymbolError && underlying.reportInaccessibleUniqueSymbolError();
792-
}
793-
};
794-
}
795-
}
796-
797657
function getJsxNamespace(location: Node | undefined): __String {
798658
if (location) {
799659
const file = getSourceFileOfNode(location);

src/compiler/types.ts

Lines changed: 5 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -2949,11 +2949,6 @@ namespace ts {
29492949
/* @internal */ writeSymbol(symbol: Symbol, enclosingDeclaration?: Node, meaning?: SymbolFlags, flags?: SymbolFormatFlags, writer?: EmitTextWriter): string;
29502950
/* @internal */ writeTypePredicate(predicate: TypePredicate, enclosingDeclaration?: Node, flags?: TypeFormatFlags, writer?: EmitTextWriter): string;
29512951

2952-
/**
2953-
* @deprecated Use the createX factory functions or XToY typechecker methods and `createPrinter` or the `xToString` methods instead
2954-
* This will be removed in a future version.
2955-
*/
2956-
getSymbolDisplayBuilder(): SymbolDisplayBuilder;
29572952
getFullyQualifiedName(symbol: Symbol): string;
29582953
getAugmentedPropertiesOfType(type: Type): Symbol[];
29592954
getRootSymbols(symbol: Symbol): Symbol[];
@@ -3204,27 +3199,9 @@ namespace ts {
32043199
walkSymbol(root: Symbol): { visitedTypes: ReadonlyArray<Type>, visitedSymbols: ReadonlyArray<Symbol> };
32053200
}
32063201

3207-
/**
3208-
* @deprecated
3209-
*/
3210-
export interface SymbolDisplayBuilder {
3211-
/** @deprecated */ buildTypeDisplay(type: Type, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
3212-
/** @deprecated */ buildSymbolDisplay(symbol: Symbol, writer: SymbolWriter, enclosingDeclaration?: Node, meaning?: SymbolFlags, flags?: SymbolFormatFlags): void;
3213-
/** @deprecated */ buildSignatureDisplay(signature: Signature, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags, kind?: SignatureKind): void;
3214-
/** @deprecated */ buildIndexSignatureDisplay(info: IndexInfo, writer: SymbolWriter, kind: IndexKind, enclosingDeclaration?: Node, globalFlags?: TypeFormatFlags, symbolStack?: Symbol[]): void;
3215-
/** @deprecated */ buildParameterDisplay(parameter: Symbol, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
3216-
/** @deprecated */ buildTypeParameterDisplay(tp: TypeParameter, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
3217-
/** @deprecated */ buildTypePredicateDisplay(predicate: TypePredicate, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
3218-
/** @deprecated */ buildTypeParameterDisplayFromSymbol(symbol: Symbol, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
3219-
/** @deprecated */ buildDisplayForParametersAndDelimiters(thisParameter: Symbol, parameters: Symbol[], writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
3220-
/** @deprecated */ buildDisplayForTypeParametersAndDelimiters(typeParameters: TypeParameter[], writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
3221-
/** @deprecated */ buildReturnTypeDisplay(signature: Signature, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
3222-
}
3223-
3224-
/**
3225-
* @deprecated Migrate to other methods of generating symbol names, ex symbolToEntityName + a printer or symbolToString
3226-
*/
3227-
export interface SymbolWriter extends SymbolTracker {
3202+
// This was previously deprecated in our public API, but is still used internally
3203+
/* @internal */
3204+
interface SymbolWriter extends SymbolTracker {
32283205
writeKeyword(text: string): void;
32293206
writeOperator(text: string): void;
32303207
writePunctuation(text: string): void;
@@ -5324,8 +5301,8 @@ namespace ts {
53245301
getSourceFiles?(): ReadonlyArray<SourceFile>; // Used for cached resolutions to find symlinks without traversing the fs (again)
53255302
}
53265303

5327-
/** @deprecated See comment on SymbolWriter */
5328-
// Note: this has non-deprecated internal uses.
5304+
// Note: this used to be deprecated in our public API, but is still used internally
5305+
/* @internal */
53295306
export interface SymbolTracker {
53305307
// Called when the symbol writer encounters a symbol to write. Currently only used by the
53315308
// declaration emitter to help determine if it should patch up the final declaration file
@@ -5334,9 +5311,7 @@ namespace ts {
53345311
reportInaccessibleThisError?(): void;
53355312
reportPrivateInBaseOfClassExpression?(propertyName: string): void;
53365313
reportInaccessibleUniqueSymbolError?(): void;
5337-
/* @internal */
53385314
moduleResolverHost?: ModuleSpecifierResolutionHost;
5339-
/* @internal */
53405315
trackReferencedAmbientModule?(decl: ModuleDeclaration): void;
53415316
}
53425317

tests/baselines/reference/api/tsserverlibrary.d.ts

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -2631,11 +2631,6 @@ declare namespace ts {
26312631
writeType(type: Type, enclosingDeclaration?: Node, flags?: TypeFormatFlags, writer?: EmitTextWriter): string;
26322632
writeSymbol(symbol: Symbol, enclosingDeclaration?: Node, meaning?: SymbolFlags, flags?: SymbolFormatFlags, writer?: EmitTextWriter): string;
26332633
writeTypePredicate(predicate: TypePredicate, enclosingDeclaration?: Node, flags?: TypeFormatFlags, writer?: EmitTextWriter): string;
2634-
/**
2635-
* @deprecated Use the createX factory functions or XToY typechecker methods and `createPrinter` or the `xToString` methods instead
2636-
* This will be removed in a future version.
2637-
*/
2638-
getSymbolDisplayBuilder(): SymbolDisplayBuilder;
26392634
getFullyQualifiedName(symbol: Symbol): string;
26402635
getAugmentedPropertiesOfType(type: Type): Symbol[];
26412636
getRootSymbols(symbol: Symbol): Symbol[];
@@ -2823,25 +2818,6 @@ declare namespace ts {
28232818
visitedSymbols: ReadonlyArray<Symbol>;
28242819
};
28252820
}
2826-
/**
2827-
* @deprecated
2828-
*/
2829-
interface SymbolDisplayBuilder {
2830-
/** @deprecated */ buildTypeDisplay(type: Type, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
2831-
/** @deprecated */ buildSymbolDisplay(symbol: Symbol, writer: SymbolWriter, enclosingDeclaration?: Node, meaning?: SymbolFlags, flags?: SymbolFormatFlags): void;
2832-
/** @deprecated */ buildSignatureDisplay(signature: Signature, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags, kind?: SignatureKind): void;
2833-
/** @deprecated */ buildIndexSignatureDisplay(info: IndexInfo, writer: SymbolWriter, kind: IndexKind, enclosingDeclaration?: Node, globalFlags?: TypeFormatFlags, symbolStack?: Symbol[]): void;
2834-
/** @deprecated */ buildParameterDisplay(parameter: Symbol, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
2835-
/** @deprecated */ buildTypeParameterDisplay(tp: TypeParameter, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
2836-
/** @deprecated */ buildTypePredicateDisplay(predicate: TypePredicate, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
2837-
/** @deprecated */ buildTypeParameterDisplayFromSymbol(symbol: Symbol, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
2838-
/** @deprecated */ buildDisplayForParametersAndDelimiters(thisParameter: Symbol, parameters: Symbol[], writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
2839-
/** @deprecated */ buildDisplayForTypeParametersAndDelimiters(typeParameters: TypeParameter[], writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
2840-
/** @deprecated */ buildReturnTypeDisplay(signature: Signature, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
2841-
}
2842-
/**
2843-
* @deprecated Migrate to other methods of generating symbol names, ex symbolToEntityName + a printer or symbolToString
2844-
*/
28452821
interface SymbolWriter extends SymbolTracker {
28462822
writeKeyword(text: string): void;
28472823
writeOperator(text: string): void;
@@ -4511,7 +4487,6 @@ declare namespace ts {
45114487
readFile?(path: string): string | undefined;
45124488
getSourceFiles?(): ReadonlyArray<SourceFile>;
45134489
}
4514-
/** @deprecated See comment on SymbolWriter */
45154490
interface SymbolTracker {
45164491
trackSymbol?(symbol: Symbol, enclosingDeclaration?: Node, meaning?: SymbolFlags): void;
45174492
reportInaccessibleThisError?(): void;

0 commit comments

Comments
 (0)