Allow singleline string writer to be recursively used (#18297)

* Allow singleline string writer to be recursively used

* Add unit test exposing issue

* Fix lints
This commit is contained in:
Wesley Wigham authored and GitHub committed 2017-09-06 21:56:16 -07:00
1 parent 697c4d3353
commit 5c779b1edb
4 files changed
+53 -4

No files matched your search

+2 -4
View File
@@ -32,7 +32,6 @@ namespace ts {
}
const stringWriter = createSingleLineStringWriter();
let stringWriterAcquired = false;
function createSingleLineStringWriter(): StringSymbolWriter {
let str = "";
@@ -62,15 +61,14 @@ namespace ts {
}
export function usingSingleLineStringWriter(action: (writer: StringSymbolWriter) => void): string {
const oldString = stringWriter.string();
try {
Debug.assert(!stringWriterAcquired);
stringWriterAcquired = true;
action(stringWriter);
return stringWriter.string();
}
finally {
stringWriter.clear();
stringWriterAcquired = false;
stringWriter.writeKeyword(oldString);
}
}