aboutsummaryrefslogtreecommitdiff
path: root/lib/compilers/rust.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/compilers/rust.js')
-rw-r--r--lib/compilers/rust.js28
1 files changed, 14 insertions, 14 deletions
diff --git a/lib/compilers/rust.js b/lib/compilers/rust.js
index 8b11d2dfe..311eb86c9 100644
--- a/lib/compilers/rust.js
+++ b/lib/compilers/rust.js
@@ -22,29 +22,29 @@
// 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;
+ }
+
+ 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) {
+ if (!userRequestedEmit) {
options = options.concat('--emit', 'asm');
}
if (filters.intel) options = options.concat('-Cllvm-args=--x86-asm-syntax=intel');
}
options = options.concat(['--crate-type', 'rlib']);
return options;
- };
- return compiler.initialise();
+ }
}
-module.exports = compileRust;
+module.exports = RustCompiler;