From 2b5de93c6a2b18c942133e897554a768e06f81e2 Mon Sep 17 00:00:00 2001 From: Matt Godbolt <matt@godbolt.org> Date: Thu, 1 Dec 2022 21:32:08 -0600 Subject: [PATCH] Port fortran.js to typescript (#4381) * Port fortran.js to typescript * @jeremy-rifkin suggestions --- lib/compilers/{fortran.js => fortran.ts} | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) rename lib/compilers/{fortran.js => fortran.ts} (80%) diff --git a/lib/compilers/fortran.js b/lib/compilers/fortran.ts similarity index 80% rename from lib/compilers/fortran.js rename to lib/compilers/fortran.ts index c7f0e82f7..eb7fc74a0 100644 --- a/lib/compilers/fortran.js +++ b/lib/compilers/fortran.ts @@ -24,6 +24,7 @@ import path from 'path'; +import {CompilationResult, ExecutionOptions} from '../../types/compilation/compilation.interfaces'; import {BaseCompiler} from '../base-compiler'; import * as utils from '../utils'; @@ -32,7 +33,12 @@ export class FortranCompiler extends BaseCompiler { return 'fortran'; } - async runCompiler(compiler, options, inputFilename, execOptions) { + override async runCompiler( + compiler: string, + options: string[], + inputFilename: string, + execOptions: ExecutionOptions, + ): Promise<CompilationResult> { if (!execOptions) { execOptions = this.getDefaultExecOptions(); } @@ -41,10 +47,12 @@ export class FortranCompiler extends BaseCompiler { execOptions.customCwd = path.dirname(inputFilename); const result = await this.exec(compiler, options, execOptions); - result.inputFilename = inputFilename; const baseFilename = './' + path.basename(inputFilename); - result.stdout = utils.parseOutput(result.stdout, baseFilename); - result.stderr = utils.parseOutput(result.stderr, baseFilename); - return result; + return { + ...result, + stdout: utils.parseOutput(result.stdout, baseFilename), + stderr: utils.parseOutput(result.stderr, baseFilename), + inputFilename: inputFilename, + }; } } -- GitLab