Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove deprecated SymbolDisplayBuilder API #25331

Merged
merged 3 commits into from
Jun 30, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
140 changes: 0 additions & 140 deletions src/compiler/checker.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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 => {
Expand Down Expand Up @@ -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);
Expand Down
35 changes: 5 additions & 30 deletions src/compiler/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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[];
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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
Expand All @@ -5334,9 +5311,7 @@ namespace ts {
reportInaccessibleThisError?(): void;
reportPrivateInBaseOfClassExpression?(propertyName: string): void;
reportInaccessibleUniqueSymbolError?(): void;
/* @internal */
moduleResolverHost?: ModuleSpecifierResolutionHost;
/* @internal */
trackReferencedAmbientModule?(decl: ModuleDeclaration): void;
}

Expand Down
25 changes: 0 additions & 25 deletions tests/baselines/reference/api/tsserverlibrary.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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[];
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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;
Expand Down
Loading