diff options
author | Matt Godbolt <matt@godbolt.org> | 2020-01-21 21:59:07 -0600 |
---|---|---|
committer | Matt Godbolt <matt@godbolt.org> | 2020-01-21 21:59:07 -0600 |
commit | 0670f5792c0eb6794f2207cd073987b558aed2ff (patch) | |
tree | c0ca25321fad2cd7fdb85c892ac3c9727ce9426a /lib/compilers/nim.js | |
parent | cb08b7b5c07ea2969a08dd4c5a99d99ab1a17edb (diff) | |
download | compiler-explorer-0670f5792c0eb6794f2207cd073987b558aed2ff.tar.gz compiler-explorer-0670f5792c0eb6794f2207cd073987b558aed2ff.zip |
Asyncify nim
Diffstat (limited to 'lib/compilers/nim.js')
-rw-r--r-- | lib/compilers/nim.js | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/lib/compilers/nim.js b/lib/compilers/nim.js index b9de53645..de920d9d7 100644 --- a/lib/compilers/nim.js +++ b/lib/compilers/nim.js @@ -91,22 +91,21 @@ class NimCompiler extends BaseCompiler { return path.join(cacheDir, resultName); } - postProcess(result, outputFilename, filters) { - let options = result.compilationOptions; - let setup = Promise.resolve(""); + async postProcess(result, outputFilename, filters) { + const options = result.compilationOptions; const cacheDir = this.cacheDir(outputFilename); - const cleanup = () => fs.remove(cacheDir); - - if (_.intersection(options, ["js", "check"]).length) - filters.binary = false; - else { - filters.binary = true; - const objFile = this.getCacheFile(options, result.inputFilename, cacheDir); - setup = fs.move(objFile, outputFilename); + try { + if (_.intersection(options, ["js", "check"]).length) + filters.binary = false; + else { + filters.binary = true; + const objFile = this.getCacheFile(options, result.inputFilename, cacheDir); + await fs.move(objFile, outputFilename); + } + return super.postProcess(result, outputFilename, filters); + } finally { + await fs.remove(cacheDir); } - - const postProcess = () => super.postProcess(result, outputFilename, filters); - return setup.then(postProcess).finally(cleanup); } getSharedLibraryPathsAsArguments(/*libraries*/) { |