From 76bc9be701fa71436a2f73419c0c6adb0585b0db Mon Sep 17 00:00:00 2001 From: Tingan Ho Date: Thu, 4 Jun 2015 22:20:46 +0800 Subject: [PATCH] Refactor to-string functions --- src/compiler/checker.ts | 23 +++++++---------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 66898ebcbcd..46405f1f0f4 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -1349,28 +1349,20 @@ module ts { writer.writeSpace(" "); } - function symbolToString(symbol: Symbol, enclosingDeclaration?: Node, meaning?: SymbolFlags): string { - let writer = getSingleLineStringWriter(); - getSymbolDisplayBuilder().buildSymbolDisplay(symbol, writer, enclosingDeclaration, meaning); - - let result = writer.string(); - releaseStringWriter(writer); - - return result; - } - - function getWriteResult(data: T, enclosingDeclaration: Node, flags: TypeFormatFlags, buildDisplay: (data: T, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags) => void) { + function getWriteResult(data: T, enclosingDeclaration: Node, flags: U, buildDisplay: (data: T, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: U) => void): string { let writer = getSingleLineStringWriter(); buildDisplay(data, writer, enclosingDeclaration, flags); let result = writer.string(); releaseStringWriter(writer); - return result; } - + + function symbolToString(symbol: Symbol, enclosingDeclaration?: Node, meaning?: SymbolFlags): string { + return getWriteResult(symbol, enclosingDeclaration, meaning, getSymbolDisplayBuilder().buildSymbolDisplay); + } + function signatureToString(signature: Signature, enclosingDeclaration?: Node, flags?: TypeFormatFlags): stringĀ { - let result = getWriteResult(signature, enclosingDeclaration, flags, getSymbolDisplayBuilder().buildSignatureDisplay); - return result; + return getWriteResult(signature, enclosingDeclaration, flags, getSymbolDisplayBuilder().buildSignatureDisplay); } function typeToString(type: Type, enclosingDeclaration?: Node, flags?: TypeFormatFlags): string { @@ -1379,7 +1371,6 @@ module ts { if (maxLength && result.length >= maxLength) { result = result.substr(0, maxLength - "...".length) + "..."; } - return result; }