mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-05 16:38:05 -06:00
Remove deprecated SymbolDisplayBuilder API (#25331)
* Remove deprecated API * Accept API baseline updates
This commit is contained in:
parent
e7543d6d81
commit
313a0b8990
@ -182,7 +182,6 @@ namespace ts {
|
||||
writeTypePredicate: (predicate, enclosingDeclaration, flags, writer) => {
|
||||
return typePredicateToString(predicate, getParseTreeNode(enclosingDeclaration), flags, writer);
|
||||
},
|
||||
getSymbolDisplayBuilder, // TODO (weswigham): Remove once deprecation process is complete
|
||||
getAugmentedPropertiesOfType,
|
||||
getRootSymbols,
|
||||
getContextualType: nodeIn => {
|
||||
@ -655,145 +654,6 @@ namespace ts {
|
||||
|
||||
return checker;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
function getSymbolDisplayBuilder(): SymbolDisplayBuilder {
|
||||
return {
|
||||
buildTypeDisplay(type, writer, enclosingDeclaration?, flags?) {
|
||||
typeToString(type, enclosingDeclaration, flags, emitTextWriterWrapper(writer));
|
||||
},
|
||||
buildSymbolDisplay(symbol, writer, enclosingDeclaration?, meaning?, flags = SymbolFormatFlags.None) {
|
||||
symbolToString(symbol, enclosingDeclaration, meaning, flags | SymbolFormatFlags.AllowAnyNodeKind, emitTextWriterWrapper(writer));
|
||||
},
|
||||
buildSignatureDisplay(signature, writer, enclosing?, flags?, kind?) {
|
||||
signatureToString(signature, enclosing, flags, kind, emitTextWriterWrapper(writer));
|
||||
},
|
||||
buildIndexSignatureDisplay(info, writer, kind, enclosing?, flags?) {
|
||||
const sig = nodeBuilder.indexInfoToIndexSignatureDeclaration(info, kind, enclosing, toNodeBuilderFlags(flags) | NodeBuilderFlags.IgnoreErrors, writer);
|
||||
const printer = createPrinter({ removeComments: true });
|
||||
printer.writeNode(EmitHint.Unspecified, sig, getSourceFileOfNode(getParseTreeNode(enclosing)), emitTextWriterWrapper(writer));
|
||||
},
|
||||
buildParameterDisplay(symbol, writer, enclosing?, flags?) {
|
||||
const node = nodeBuilder.symbolToParameterDeclaration(symbol, enclosing, toNodeBuilderFlags(flags) | NodeBuilderFlags.IgnoreErrors, writer);
|
||||
const printer = createPrinter({ removeComments: true });
|
||||
printer.writeNode(EmitHint.Unspecified, node!, getSourceFileOfNode(getParseTreeNode(enclosing)), emitTextWriterWrapper(writer)); // TODO: GH#18217
|
||||
},
|
||||
buildTypeParameterDisplay(tp, writer, enclosing?, flags?) {
|
||||
const node = nodeBuilder.typeParameterToDeclaration(tp, enclosing, toNodeBuilderFlags(flags) | NodeBuilderFlags.IgnoreErrors | NodeBuilderFlags.OmitParameterModifiers, writer);
|
||||
const printer = createPrinter({ removeComments: true });
|
||||
printer.writeNode(EmitHint.Unspecified, node!, getSourceFileOfNode(getParseTreeNode(enclosing)), emitTextWriterWrapper(writer)); // TODO: GH#18217
|
||||
},
|
||||
buildTypePredicateDisplay(predicate, writer, enclosing?, flags?) {
|
||||
typePredicateToString(predicate, enclosing, flags, emitTextWriterWrapper(writer));
|
||||
},
|
||||
buildTypeParameterDisplayFromSymbol(symbol, writer, enclosing?, flags?) {
|
||||
const nodes = nodeBuilder.symbolToTypeParameterDeclarations(symbol, enclosing, toNodeBuilderFlags(flags) | NodeBuilderFlags.IgnoreErrors, writer);
|
||||
const printer = createPrinter({ removeComments: true });
|
||||
printer.writeList(ListFormat.TypeParameters, nodes, getSourceFileOfNode(getParseTreeNode(enclosing)), emitTextWriterWrapper(writer));
|
||||
},
|
||||
buildDisplayForParametersAndDelimiters(thisParameter, parameters, writer, enclosing?, originalFlags?) {
|
||||
const printer = createPrinter({ removeComments: true });
|
||||
const flags = NodeBuilderFlags.OmitParameterModifiers | NodeBuilderFlags.IgnoreErrors | toNodeBuilderFlags(originalFlags);
|
||||
const thisParameterArray = thisParameter ? [nodeBuilder.symbolToParameterDeclaration(thisParameter, enclosing, flags)!] : []; // TODO: GH#18217
|
||||
const params = createNodeArray([...thisParameterArray, ...map(parameters, param => nodeBuilder.symbolToParameterDeclaration(param, enclosing, flags)!)]); // TODO: GH#18217
|
||||
printer.writeList(ListFormat.CallExpressionArguments, params, getSourceFileOfNode(getParseTreeNode(enclosing)), emitTextWriterWrapper(writer));
|
||||
},
|
||||
buildDisplayForTypeParametersAndDelimiters(typeParameters, writer, enclosing?, flags?) {
|
||||
const printer = createPrinter({ removeComments: true });
|
||||
const args = createNodeArray(map(typeParameters, p => nodeBuilder.typeParameterToDeclaration(p, enclosing, toNodeBuilderFlags(flags))!)); // TODO: GH#18217
|
||||
printer.writeList(ListFormat.TypeParameters, args, getSourceFileOfNode(getParseTreeNode(enclosing)), emitTextWriterWrapper(writer));
|
||||
},
|
||||
buildReturnTypeDisplay(signature, writer, enclosing?, flags?) {
|
||||
writer.writePunctuation(":");
|
||||
writer.writeSpace(" ");
|
||||
const predicate = getTypePredicateOfSignature(signature);
|
||||
if (predicate) {
|
||||
return typePredicateToString(predicate, enclosing, flags, emitTextWriterWrapper(writer));
|
||||
}
|
||||
const node = nodeBuilder.typeToTypeNode(getReturnTypeOfSignature(signature), enclosing, toNodeBuilderFlags(flags) | NodeBuilderFlags.IgnoreErrors, writer);
|
||||
const printer = createPrinter({ removeComments: true });
|
||||
printer.writeNode(EmitHint.Unspecified, node!, getSourceFileOfNode(getParseTreeNode(enclosing)), emitTextWriterWrapper(writer)); // TODO: GH#18217
|
||||
}
|
||||
};
|
||||
|
||||
function emitTextWriterWrapper(underlying: SymbolWriter): EmitTextWriter {
|
||||
return {
|
||||
write: noop,
|
||||
writeTextOfNode: noop,
|
||||
writeLine: noop,
|
||||
increaseIndent() {
|
||||
return underlying.increaseIndent();
|
||||
},
|
||||
decreaseIndent() {
|
||||
return underlying.decreaseIndent();
|
||||
},
|
||||
getText() {
|
||||
return "";
|
||||
},
|
||||
rawWrite: noop,
|
||||
writeLiteral(s) {
|
||||
return underlying.writeStringLiteral(s);
|
||||
},
|
||||
getTextPos() {
|
||||
return 0;
|
||||
},
|
||||
getLine() {
|
||||
return 0;
|
||||
},
|
||||
getColumn() {
|
||||
return 0;
|
||||
},
|
||||
getIndent() {
|
||||
return 0;
|
||||
},
|
||||
isAtStartOfLine() {
|
||||
return false;
|
||||
},
|
||||
clear() {
|
||||
return underlying.clear();
|
||||
},
|
||||
|
||||
writeKeyword(text) {
|
||||
return underlying.writeKeyword(text);
|
||||
},
|
||||
writeOperator(text) {
|
||||
return underlying.writeOperator(text);
|
||||
},
|
||||
writePunctuation(text) {
|
||||
return underlying.writePunctuation(text);
|
||||
},
|
||||
writeSpace(text) {
|
||||
return underlying.writeSpace(text);
|
||||
},
|
||||
writeStringLiteral(text) {
|
||||
return underlying.writeStringLiteral(text);
|
||||
},
|
||||
writeParameter(text) {
|
||||
return underlying.writeParameter(text);
|
||||
},
|
||||
writeProperty(text) {
|
||||
return underlying.writeProperty(text);
|
||||
},
|
||||
writeSymbol(text, symbol) {
|
||||
return underlying.writeSymbol(text, symbol);
|
||||
},
|
||||
trackSymbol(symbol, enclosing?, meaning?) {
|
||||
return underlying.trackSymbol && underlying.trackSymbol(symbol, enclosing, meaning);
|
||||
},
|
||||
reportInaccessibleThisError() {
|
||||
return underlying.reportInaccessibleThisError && underlying.reportInaccessibleThisError();
|
||||
},
|
||||
reportPrivateInBaseOfClassExpression(name) {
|
||||
return underlying.reportPrivateInBaseOfClassExpression && underlying.reportPrivateInBaseOfClassExpression(name);
|
||||
},
|
||||
reportInaccessibleUniqueSymbolError() {
|
||||
return underlying.reportInaccessibleUniqueSymbolError && underlying.reportInaccessibleUniqueSymbolError();
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
function getJsxNamespace(location: Node | undefined): __String {
|
||||
if (location) {
|
||||
const file = getSourceFileOfNode(location);
|
||||
|
||||
@ -2949,11 +2949,6 @@ namespace ts {
|
||||
/* @internal */ writeSymbol(symbol: Symbol, enclosingDeclaration?: Node, meaning?: SymbolFlags, flags?: SymbolFormatFlags, writer?: EmitTextWriter): string;
|
||||
/* @internal */ writeTypePredicate(predicate: TypePredicate, enclosingDeclaration?: Node, flags?: TypeFormatFlags, writer?: EmitTextWriter): string;
|
||||
|
||||
/**
|
||||
* @deprecated Use the createX factory functions or XToY typechecker methods and `createPrinter` or the `xToString` methods instead
|
||||
* This will be removed in a future version.
|
||||
*/
|
||||
getSymbolDisplayBuilder(): SymbolDisplayBuilder;
|
||||
getFullyQualifiedName(symbol: Symbol): string;
|
||||
getAugmentedPropertiesOfType(type: Type): Symbol[];
|
||||
getRootSymbols(symbol: Symbol): Symbol[];
|
||||
@ -3204,27 +3199,9 @@ namespace ts {
|
||||
walkSymbol(root: Symbol): { visitedTypes: ReadonlyArray<Type>, visitedSymbols: ReadonlyArray<Symbol> };
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
export interface SymbolDisplayBuilder {
|
||||
/** @deprecated */ buildTypeDisplay(type: Type, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
|
||||
/** @deprecated */ buildSymbolDisplay(symbol: Symbol, writer: SymbolWriter, enclosingDeclaration?: Node, meaning?: SymbolFlags, flags?: SymbolFormatFlags): void;
|
||||
/** @deprecated */ buildSignatureDisplay(signature: Signature, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags, kind?: SignatureKind): void;
|
||||
/** @deprecated */ buildIndexSignatureDisplay(info: IndexInfo, writer: SymbolWriter, kind: IndexKind, enclosingDeclaration?: Node, globalFlags?: TypeFormatFlags, symbolStack?: Symbol[]): void;
|
||||
/** @deprecated */ buildParameterDisplay(parameter: Symbol, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
|
||||
/** @deprecated */ buildTypeParameterDisplay(tp: TypeParameter, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
|
||||
/** @deprecated */ buildTypePredicateDisplay(predicate: TypePredicate, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
|
||||
/** @deprecated */ buildTypeParameterDisplayFromSymbol(symbol: Symbol, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
|
||||
/** @deprecated */ buildDisplayForParametersAndDelimiters(thisParameter: Symbol, parameters: Symbol[], writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
|
||||
/** @deprecated */ buildDisplayForTypeParametersAndDelimiters(typeParameters: TypeParameter[], writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
|
||||
/** @deprecated */ buildReturnTypeDisplay(signature: Signature, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated Migrate to other methods of generating symbol names, ex symbolToEntityName + a printer or symbolToString
|
||||
*/
|
||||
export interface SymbolWriter extends SymbolTracker {
|
||||
// This was previously deprecated in our public API, but is still used internally
|
||||
/* @internal */
|
||||
interface SymbolWriter extends SymbolTracker {
|
||||
writeKeyword(text: string): void;
|
||||
writeOperator(text: string): void;
|
||||
writePunctuation(text: string): void;
|
||||
@ -5324,8 +5301,8 @@ namespace ts {
|
||||
getSourceFiles?(): ReadonlyArray<SourceFile>; // Used for cached resolutions to find symlinks without traversing the fs (again)
|
||||
}
|
||||
|
||||
/** @deprecated See comment on SymbolWriter */
|
||||
// Note: this has non-deprecated internal uses.
|
||||
// Note: this used to be deprecated in our public API, but is still used internally
|
||||
/* @internal */
|
||||
export interface SymbolTracker {
|
||||
// Called when the symbol writer encounters a symbol to write. Currently only used by the
|
||||
// declaration emitter to help determine if it should patch up the final declaration file
|
||||
@ -5334,9 +5311,7 @@ namespace ts {
|
||||
reportInaccessibleThisError?(): void;
|
||||
reportPrivateInBaseOfClassExpression?(propertyName: string): void;
|
||||
reportInaccessibleUniqueSymbolError?(): void;
|
||||
/* @internal */
|
||||
moduleResolverHost?: ModuleSpecifierResolutionHost;
|
||||
/* @internal */
|
||||
trackReferencedAmbientModule?(decl: ModuleDeclaration): void;
|
||||
}
|
||||
|
||||
|
||||
@ -2631,11 +2631,6 @@ declare namespace ts {
|
||||
writeType(type: Type, enclosingDeclaration?: Node, flags?: TypeFormatFlags, writer?: EmitTextWriter): string;
|
||||
writeSymbol(symbol: Symbol, enclosingDeclaration?: Node, meaning?: SymbolFlags, flags?: SymbolFormatFlags, writer?: EmitTextWriter): string;
|
||||
writeTypePredicate(predicate: TypePredicate, enclosingDeclaration?: Node, flags?: TypeFormatFlags, writer?: EmitTextWriter): string;
|
||||
/**
|
||||
* @deprecated Use the createX factory functions or XToY typechecker methods and `createPrinter` or the `xToString` methods instead
|
||||
* This will be removed in a future version.
|
||||
*/
|
||||
getSymbolDisplayBuilder(): SymbolDisplayBuilder;
|
||||
getFullyQualifiedName(symbol: Symbol): string;
|
||||
getAugmentedPropertiesOfType(type: Type): Symbol[];
|
||||
getRootSymbols(symbol: Symbol): Symbol[];
|
||||
@ -2823,25 +2818,6 @@ declare namespace ts {
|
||||
visitedSymbols: ReadonlyArray<Symbol>;
|
||||
};
|
||||
}
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
interface SymbolDisplayBuilder {
|
||||
/** @deprecated */ buildTypeDisplay(type: Type, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
|
||||
/** @deprecated */ buildSymbolDisplay(symbol: Symbol, writer: SymbolWriter, enclosingDeclaration?: Node, meaning?: SymbolFlags, flags?: SymbolFormatFlags): void;
|
||||
/** @deprecated */ buildSignatureDisplay(signature: Signature, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags, kind?: SignatureKind): void;
|
||||
/** @deprecated */ buildIndexSignatureDisplay(info: IndexInfo, writer: SymbolWriter, kind: IndexKind, enclosingDeclaration?: Node, globalFlags?: TypeFormatFlags, symbolStack?: Symbol[]): void;
|
||||
/** @deprecated */ buildParameterDisplay(parameter: Symbol, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
|
||||
/** @deprecated */ buildTypeParameterDisplay(tp: TypeParameter, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
|
||||
/** @deprecated */ buildTypePredicateDisplay(predicate: TypePredicate, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
|
||||
/** @deprecated */ buildTypeParameterDisplayFromSymbol(symbol: Symbol, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
|
||||
/** @deprecated */ buildDisplayForParametersAndDelimiters(thisParameter: Symbol, parameters: Symbol[], writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
|
||||
/** @deprecated */ buildDisplayForTypeParametersAndDelimiters(typeParameters: TypeParameter[], writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
|
||||
/** @deprecated */ buildReturnTypeDisplay(signature: Signature, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
|
||||
}
|
||||
/**
|
||||
* @deprecated Migrate to other methods of generating symbol names, ex symbolToEntityName + a printer or symbolToString
|
||||
*/
|
||||
interface SymbolWriter extends SymbolTracker {
|
||||
writeKeyword(text: string): void;
|
||||
writeOperator(text: string): void;
|
||||
@ -4511,7 +4487,6 @@ declare namespace ts {
|
||||
readFile?(path: string): string | undefined;
|
||||
getSourceFiles?(): ReadonlyArray<SourceFile>;
|
||||
}
|
||||
/** @deprecated See comment on SymbolWriter */
|
||||
interface SymbolTracker {
|
||||
trackSymbol?(symbol: Symbol, enclosingDeclaration?: Node, meaning?: SymbolFlags): void;
|
||||
reportInaccessibleThisError?(): void;
|
||||
|
||||
45
tests/baselines/reference/api/typescript.d.ts
vendored
45
tests/baselines/reference/api/typescript.d.ts
vendored
@ -1893,11 +1893,6 @@ declare namespace ts {
|
||||
typeToString(type: Type, enclosingDeclaration?: Node, flags?: TypeFormatFlags): string;
|
||||
symbolToString(symbol: Symbol, enclosingDeclaration?: Node, meaning?: SymbolFlags, flags?: SymbolFormatFlags): string;
|
||||
typePredicateToString(predicate: TypePredicate, enclosingDeclaration?: Node, flags?: TypeFormatFlags): string;
|
||||
/**
|
||||
* @deprecated Use the createX factory functions or XToY typechecker methods and `createPrinter` or the `xToString` methods instead
|
||||
* This will be removed in a future version.
|
||||
*/
|
||||
getSymbolDisplayBuilder(): SymbolDisplayBuilder;
|
||||
getFullyQualifiedName(symbol: Symbol): string;
|
||||
getAugmentedPropertiesOfType(type: Type): Symbol[];
|
||||
getRootSymbols(symbol: Symbol): Symbol[];
|
||||
@ -1996,39 +1991,6 @@ declare namespace ts {
|
||||
AllowAnyNodeKind = 4,
|
||||
UseAliasDefinedOutsideCurrentScope = 8
|
||||
}
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
interface SymbolDisplayBuilder {
|
||||
/** @deprecated */ buildTypeDisplay(type: Type, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
|
||||
/** @deprecated */ buildSymbolDisplay(symbol: Symbol, writer: SymbolWriter, enclosingDeclaration?: Node, meaning?: SymbolFlags, flags?: SymbolFormatFlags): void;
|
||||
/** @deprecated */ buildSignatureDisplay(signature: Signature, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags, kind?: SignatureKind): void;
|
||||
/** @deprecated */ buildIndexSignatureDisplay(info: IndexInfo, writer: SymbolWriter, kind: IndexKind, enclosingDeclaration?: Node, globalFlags?: TypeFormatFlags, symbolStack?: Symbol[]): void;
|
||||
/** @deprecated */ buildParameterDisplay(parameter: Symbol, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
|
||||
/** @deprecated */ buildTypeParameterDisplay(tp: TypeParameter, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
|
||||
/** @deprecated */ buildTypePredicateDisplay(predicate: TypePredicate, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
|
||||
/** @deprecated */ buildTypeParameterDisplayFromSymbol(symbol: Symbol, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
|
||||
/** @deprecated */ buildDisplayForParametersAndDelimiters(thisParameter: Symbol, parameters: Symbol[], writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
|
||||
/** @deprecated */ buildDisplayForTypeParametersAndDelimiters(typeParameters: TypeParameter[], writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
|
||||
/** @deprecated */ buildReturnTypeDisplay(signature: Signature, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
|
||||
}
|
||||
/**
|
||||
* @deprecated Migrate to other methods of generating symbol names, ex symbolToEntityName + a printer or symbolToString
|
||||
*/
|
||||
interface SymbolWriter extends SymbolTracker {
|
||||
writeKeyword(text: string): void;
|
||||
writeOperator(text: string): void;
|
||||
writePunctuation(text: string): void;
|
||||
writeSpace(text: string): void;
|
||||
writeStringLiteral(text: string): void;
|
||||
writeParameter(text: string): void;
|
||||
writeProperty(text: string): void;
|
||||
writeSymbol(text: string, symbol: Symbol): void;
|
||||
writeLine(): void;
|
||||
increaseIndent(): void;
|
||||
decreaseIndent(): void;
|
||||
clear(): void;
|
||||
}
|
||||
enum TypePredicateKind {
|
||||
This = 0,
|
||||
Identifier = 1
|
||||
@ -2941,13 +2903,6 @@ declare namespace ts {
|
||||
directoryExists?(directoryName: string): boolean;
|
||||
getCurrentDirectory?(): string;
|
||||
}
|
||||
/** @deprecated See comment on SymbolWriter */
|
||||
interface SymbolTracker {
|
||||
trackSymbol?(symbol: Symbol, enclosingDeclaration?: Node, meaning?: SymbolFlags): void;
|
||||
reportInaccessibleThisError?(): void;
|
||||
reportPrivateInBaseOfClassExpression?(propertyName: string): void;
|
||||
reportInaccessibleUniqueSymbolError?(): void;
|
||||
}
|
||||
interface TextSpan {
|
||||
start: number;
|
||||
length: number;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user