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 c7f0e82f7329bd6ec9cb867b835ffdee5c8717f8..eb7fc74a0e4be5072b68b216568875c148f0457b 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,
+        };
     }
 }