Skip to content

Commit 76bc9be

Browse files
committed
Refactor to-string functions
1 parent f8dc6bb commit 76bc9be

File tree

1 file changed

+6
-15
lines changed

1 file changed

+6
-15
lines changed

src/compiler/checker.ts

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1349,28 +1349,20 @@ module ts {
13491349
writer.writeSpace(" ");
13501350
}
13511351

1352-
function symbolToString(symbol: Symbol, enclosingDeclaration?: Node, meaning?: SymbolFlags): string {
1352+
function getWriteResult<T, U>(data: T, enclosingDeclaration: Node, flags: U, buildDisplay: (data: T, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: U) => void): string {
13531353
let writer = getSingleLineStringWriter();
1354-
getSymbolDisplayBuilder().buildSymbolDisplay(symbol, writer, enclosingDeclaration, meaning);
1355-
1354+
buildDisplay(data, writer, enclosingDeclaration, flags);
13561355
let result = writer.string();
13571356
releaseStringWriter(writer);
1358-
13591357
return result;
13601358
}
13611359

1362-
function getWriteResult<T>(data: T, enclosingDeclaration: Node, flags: TypeFormatFlags, buildDisplay: (data: T, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags) => void) {
1363-
let writer = getSingleLineStringWriter();
1364-
buildDisplay(data, writer, enclosingDeclaration, flags);
1365-
let result = writer.string();
1366-
releaseStringWriter(writer);
1367-
1368-
return result;
1360+
function symbolToString(symbol: Symbol, enclosingDeclaration?: Node, meaning?: SymbolFlags): string {
1361+
return getWriteResult(symbol, enclosingDeclaration, meaning, getSymbolDisplayBuilder().buildSymbolDisplay);
13691362
}
1370-
1363+
13711364
function signatureToString(signature: Signature, enclosingDeclaration?: Node, flags?: TypeFormatFlags): string {
1372-
let result = getWriteResult(signature, enclosingDeclaration, flags, getSymbolDisplayBuilder().buildSignatureDisplay);
1373-
return result;
1365+
return getWriteResult(signature, enclosingDeclaration, flags, getSymbolDisplayBuilder().buildSignatureDisplay);
13741366
}
13751367

13761368
function typeToString(type: Type, enclosingDeclaration?: Node, flags?: TypeFormatFlags): string {
@@ -1379,7 +1371,6 @@ module ts {
13791371
if (maxLength && result.length >= maxLength) {
13801372
result = result.substr(0, maxLength - "...".length) + "...";
13811373
}
1382-
13831374
return result;
13841375
}
13851376

0 commit comments

Comments
 (0)