diff --git a/src/app/tabs/compileTab/compileTab.js b/src/app/tabs/compileTab/compileTab.js index 0b46cc6f60..1edbea26f3 100644 --- a/src/app/tabs/compileTab/compileTab.js +++ b/src/app/tabs/compileTab/compileTab.js @@ -46,14 +46,20 @@ class CompileTab { this.compiler.setEvmVersion(this.evmVersion) } + /** + * Set the compiler to using Solidity or Yul (default to Solidity) + * @params lang {'Solidity' | 'Yul'} ... + */ + setLanguage (lang) { + this.compiler.setLanguage(lang) + } + /** * Compile a specific file of the file manager * @param {string} target the path to the file to compile */ compileFile (target) { if (!target) throw new Error('No target provided for compiliation') - if (!/\.sol/.exec(target)) throw new Error(`${target} is not a solidity file. It cannot be compiled with solidity compiler`) - // only compile *.sol file. const provider = this.fileManager.fileProviderOf(target) if (!provider) throw new Error(`cannot compile ${target}. Does not belong to any explorer`) return new Promise((resolve, reject) => { diff --git a/src/app/tabs/compileTab/compilerContainer.js b/src/app/tabs/compileTab/compilerContainer.js index 2ef3b1fdc6..f15c2430bb 100644 --- a/src/app/tabs/compileTab/compilerContainer.js +++ b/src/app/tabs/compileTab/compilerContainer.js @@ -175,6 +175,17 @@ class CompilerContainer { ${this._view.versionSelector} +