diff options
author | Austin Morton <apmorton@users.noreply.github.com> | 2020-09-26 16:59:26 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-26 16:59:26 -0400 |
commit | 044dcfbf8885d0115e64cf75f74a0f40f54e2370 (patch) | |
tree | 1dcc3e27139600d8e85004dc2a840bb420ccc835 /lib/compilers/argument-parsers.js | |
parent | bac07fea6d2d4ed5fb7070c51e4cf3e56e3c155a (diff) | |
download | compiler-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.js | 51 |
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, -}; |