aboutsummaryrefslogtreecommitdiff
path: root/lib/compilers/rust.js
diff options
context:
space:
mode:
authorRabsRincon <rubrinbla@gmail.com>2018-01-18 19:43:10 +0100
committerRabsRincon <rubrinbla@gmail.com>2018-01-18 19:43:10 +0100
commita54faefb4c8668d9c9f93c78bd6bc639d1f0c219 (patch)
tree6465bf3e1d8e270cc53e67c04277c5773b16f7d6 /lib/compilers/rust.js
parent7bd30b4c4b10f93f26db81fbbe492149b8d487eb (diff)
downloadcompiler-explorer-a54faefb4c8668d9c9f93c78bd6bc639d1f0c219.tar.gz
compiler-explorer-a54faefb4c8668d9c9f93c78bd6bc639d1f0c219.zip
ES6fy compilers inheritance
Diffstat (limited to 'lib/compilers/rust.js')
-rw-r--r--lib/compilers/rust.js28
1 files changed, 15 insertions, 13 deletions
diff --git a/lib/compilers/rust.js b/lib/compilers/rust.js
index 8b11d2dfe..c7f16bc1f 100644
--- a/lib/compilers/rust.js
+++ b/lib/compilers/rust.js
@@ -22,18 +22,21 @@
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
-var Compile = require('../base-compiler'),
+const BaseCompiler = require('../base-compiler'),
_ = require('underscore-node');
-function compileRust(info, env) {
- var compiler = new Compile(info, env);
- compiler.compiler.supportsIntel = true;
- compiler.optionsForFilter = function (filters, outputFilename, userOptions) {
- var options = ['-C', 'debuginfo=1', '-o', this.filename(outputFilename)];
-
- var userRequestedEmit = _.any(userOptions, function(opt) {
- return opt.indexOf("--emit") > -1;
- });
+class RustCompiler extends BaseCompiler {
+ constructor(info, env) {
+ super(info, env);
+ this.compiler.supportsIntel = true;
+
+ return this.initialise();
+ }
+
+ optionsForFilter(filters, outputFilename, userOptions) {
+ let options = ['-C', 'debuginfo=1', '-o', this.filename(outputFilename)];
+
+ let userRequestedEmit = _.any(userOptions, opt => opt.indexOf("--emit") > -1);
//TODO: Binary not supported (?)
if (!filters.binary) {
if(!userRequestedEmit) {
@@ -43,8 +46,7 @@ function compileRust(info, env) {
}
options = options.concat(['--crate-type', 'rlib']);
return options;
- };
- return compiler.initialise();
+ }
}
-module.exports = compileRust;
+module.exports = RustCompiler;