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