From 6c6401ff8aeec0ac7d88f37e671b22b17d8f05fe Mon Sep 17 00:00:00 2001 From: yann300 Date: Tue, 5 Mar 2019 09:38:26 +0100 Subject: [PATCH] ensure vyper compilation result is forwarded --- src/app/components/plugin-manager-proxy.js | 24 ++++++++++++++-------- src/remixAppManager.js | 4 ++-- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/src/app/components/plugin-manager-proxy.js b/src/app/components/plugin-manager-proxy.js index c5fea01c10..6fd2828590 100644 --- a/src/app/components/plugin-manager-proxy.js +++ b/src/app/components/plugin-manager-proxy.js @@ -8,20 +8,26 @@ class PluginManagerProxy { constructor () { this.event = new EventManager() + this._listeners = {} + this._listeners['vyper'] = (data) => { + registry.get('compilersartefacts').api['__last'] = new CompilerAbstract(data.language, data, data.content) + this.event.trigger('sendCompilationResult', [data.title, data.content, data.language, data.result]) + } + this._listeners['solidity'] = (file, source, languageVersion, data) => { + registry.get('compilersartefacts').api['__last'] = new CompilerAbstract(languageVersion, data, source) + this.event.trigger('sendCompilationResult', [file, source, languageVersion, data]) + } } - register (instance) { - var event = this.event - this._listener = (file, source, languageVersion, data) => { - registry.get('compilersartefacts').api['__last'] = new CompilerAbstract(languageVersion, data, source) - event.trigger('sendCompilationResult', [file, source, languageVersion, data]) + register (name, instance) { + if (this._listeners[name]) { + instance.events.on('compilationFinished', this._listeners[name]) } - instance.events.on('compilationFinished', this._listener) } - unregister (instance) { - if (!this._listener) { - instance.events.off('compilationFinished', this._listener) + unregister (name, instance) { + if (this._listeners[name]) { + instance.events.off('compilationFinished', this._listeners[name]) } } diff --git a/src/remixAppManager.js b/src/remixAppManager.js index 80c085f24e..29deeec87e 100644 --- a/src/remixAppManager.js +++ b/src/remixAppManager.js @@ -26,8 +26,8 @@ export class RemixAppManager extends AppManagerApi { setActive (name, isActive) { const entity = this.getEntity(name) // temp - if (entity && name === 'solidity') { - isActive ? this.data.proxy.register(entity.api) : this.data.proxy.unregister(entity.api) + if (entity && (name === 'solidity' || name === 'vyper')) { + isActive ? this.data.proxy.register(name, entity.api) : this.data.proxy.unregister(name, entity.api) } isActive ? this.store.activate(name) : this.store.deactivate(name) if (!isActive) {