aboutsummaryrefslogtreecommitdiff
path: root/lib/compilers/argument-parsers.js
diff options
context:
space:
mode:
authorAustin Morton <apmorton@users.noreply.github.com>2020-09-26 16:59:26 -0400
committerGitHub <noreply@github.com>2020-09-26 16:59:26 -0400
commit044dcfbf8885d0115e64cf75f74a0f40f54e2370 (patch)
tree1dcc3e27139600d8e85004dc2a840bb420ccc835 /lib/compilers/argument-parsers.js
parentbac07fea6d2d4ed5fb7070c51e4cf3e56e3c155a (diff)
downloadcompiler-explorer-044dcfbf8885d0115e64cf75f74a0f40f54e2370.tar.gz
compiler-explorer-044dcfbf8885d0115e64cf75f74a0f40f54e2370.zip
Use ES6 Modules (#2132)
Diffstat (limited to 'lib/compilers/argument-parsers.js')
-rw-r--r--lib/compilers/argument-parsers.js51
1 files changed, 18 insertions, 33 deletions
diff --git a/lib/compilers/argument-parsers.js b/lib/compilers/argument-parsers.js
index 744a1d4ab..66c9b98a8 100644
--- a/lib/compilers/argument-parsers.js
+++ b/lib/compilers/argument-parsers.js
@@ -22,11 +22,12 @@
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
-const _ = require('underscore'),
- logger = require('../logger').logger,
- utils = require('../utils');
+import _ from 'underscore';
-class BaseParser {
+import { logger } from '../logger';
+import * as utils from '../utils';
+
+export class BaseParser {
static hasSupport(options, forOption) {
return _.keys(options).find(option => option.includes(forOption));
}
@@ -79,7 +80,7 @@ class BaseParser {
}
}
-class GCCParser extends BaseParser {
+export class GCCParser extends BaseParser {
static async parse(compiler) {
const results = await Promise.all([
GCCParser.getOptions(compiler, '-fsyntax-only --target-help'),
@@ -91,14 +92,11 @@ class GCCParser extends BaseParser {
logger.debug(`gcc-like compiler options: ${keys.join(' ')}`);
if (BaseParser.hasSupport(options, '-masm=')) {
// -masm= may be available but unsupported by the compiler.
- // eslint-disable-next-line promise/catch-or-return
- compiler.exec(compiler.compiler.exe, ['-fsyntax-only', '--target-help', '-masm=intel'])
- .then(result => {
- if (result.code === 0) {
- compiler.compiler.intelAsm = '-masm=intel';
- compiler.compiler.supportsIntel = true;
- }
- });
+ const res = await compiler.exec(compiler.compiler.exe, ['-fsyntax-only', '--target-help', '-masm=intel']);
+ if (res.code === 0) {
+ compiler.compiler.intelAsm = '-masm=intel';
+ compiler.compiler.supportsIntel = true;
+ }
}
if (BaseParser.hasSupport(options, '-fdiagnostics-color')) {
if (compiler.compiler.options) compiler.compiler.options += ' ';
@@ -121,7 +119,7 @@ class GCCParser extends BaseParser {
}
}
-class ClangParser extends BaseParser {
+export class ClangParser extends BaseParser {
static async parse(compiler) {
const options = await ClangParser.getOptions(compiler, '--help');
logger.debug(`clang-like compiler options: ${_.keys(options).join(' ')}`);
@@ -145,14 +143,14 @@ class ClangParser extends BaseParser {
}
}
-class PascalParser extends BaseParser {
+export class PascalParser extends BaseParser {
static async parse(compiler) {
await PascalParser.getOptions(compiler, '-help');
return compiler;
}
}
-class ISPCParser extends BaseParser {
+export class ISPCParser extends BaseParser {
static async parse(compiler) {
const options = await ISPCParser.getOptions(compiler, '--help');
if (BaseParser.hasSupport(options, '--x86-asm-syntax')) {
@@ -172,14 +170,14 @@ class ISPCParser extends BaseParser {
}
}
-class JavaParser extends BaseParser {
+export class JavaParser extends BaseParser {
static async parse(compiler) {
await JavaParser.getOptions(compiler, '-help');
return compiler;
}
}
-class VCParser extends BaseParser {
+export class VCParser extends BaseParser {
static async parse(compiler) {
await VCParser.getOptions(compiler, '/help');
return compiler;
@@ -250,8 +248,7 @@ class VCParser extends BaseParser {
}
}
-
-class RustParser extends BaseParser {
+export class RustParser extends BaseParser {
static async parse(compiler) {
const results = await Promise.all([
RustParser.getOptions(compiler, '--help'),
@@ -285,21 +282,9 @@ class RustParser extends BaseParser {
}
}
-class NimParser extends BaseParser {
+export class NimParser extends BaseParser {
static async parse(compiler) {
await NimParser.getOptions(compiler, '-help');
return compiler;
}
}
-
-module.exports = {
- Base: BaseParser,
- Clang: ClangParser,
- GCC: GCCParser,
- Java: JavaParser,
- VC: VCParser,
- Pascal: PascalParser,
- ISPC: ISPCParser,
- Rust: RustParser,
- Nim: NimParser,
-};