fix line that crashes the ide when compile is done

pull/5370/head
Joseph Izang 1 year ago
parent 4ded1ca0b3
commit 2dd0cb501f
  1. 51
      apps/vyper/src/app/components/CompilerButton.tsx

@ -24,7 +24,7 @@ function CompilerButton({contract, setOutput, compilerUrl, resetCompilerState}:
async function compileContract() { async function compileContract() {
resetCompilerState() resetCompilerState()
try { try {
// await remixClient.discardHighlight() await remixClient.discardHighlight()
let _contract: any let _contract: any
try { try {
_contract = await remixClient.getContract() _contract = await remixClient.getContract()
@ -44,26 +44,26 @@ function CompilerButton({contract, setOutput, compilerUrl, resetCompilerState}:
setOutput(_contract.name, {status: 'failed', message: e.message}) setOutput(_contract.name, {status: 'failed', message: e.message})
return return
} }
console.log({ output }) // console.log({ output })
const compileReturnType = () => { // const compileReturnType = () => {
const t: any = toStandardOutput(contract, output) // const t: any = toStandardOutput(contract, output)
const temp = _.merge(t['contracts'][contract]) // const temp = _.merge(t['contracts'][contract])
const normal = normalizeContractPath(contract)[2] // const normal = normalizeContractPath(contract)[2]
const abi = temp[normal]['abi'] // const abi = temp[normal]['abi']
const evm = _.merge(temp[normal]['evm']) // const evm = _.merge(temp[normal]['evm'])
const dpb = evm.deployedBytecode // const dpb = evm.deployedBytecode
const runtimeBytecode = evm.bytecode // const runtimeBytecode = evm.bytecode
const result = { // const result = {
contractName: normal, // contractName: normal,
abi: abi, // abi: abi,
bytecode: dpb, // bytecode: dpb,
runtimeBytecode: runtimeBytecode, // runtimeBytecode: runtimeBytecode,
ir: '' // ir: ''
} // }
return result // return result
} // }
setOutput(_contract.name, compileReturnType()) // setOutput(_contract.name, compileReturnType())
// ERROR // ERROR
if (isCompilationError(output)) { if (isCompilationError(output)) {
@ -73,7 +73,7 @@ function CompilerButton({contract, setOutput, compilerUrl, resetCompilerState}:
start: {line: line - 1, column: 10}, start: {line: line - 1, column: 10},
end: {line: line - 1, column: 10} end: {line: line - 1, column: 10}
} }
// remixClient.highlight(lineColumnPos as any, _contract.name, '#e0b4b4') remixClient.highlight(lineColumnPos as any, _contract.name, '#e0b4b4')
} else { } else {
const regex = output?.message?.match(/line ((\d+):(\d+))+/g) const regex = output?.message?.match(/line ((\d+):(\d+))+/g)
const errors = output?.message?.split(/line ((\d+):(\d+))+/g) // extract error message const errors = output?.message?.split(/line ((\d+):(\d+))+/g) // extract error message
@ -93,7 +93,7 @@ function CompilerButton({contract, setOutput, compilerUrl, resetCompilerState}:
start: {line: parseInt(location[0]) - 1, column: 10}, start: {line: parseInt(location[0]) - 1, column: 10},
end: {line: parseInt(location[0]) - 1, column: 10} end: {line: parseInt(location[0]) - 1, column: 10}
} }
// remixClient.highlight(lineColumnPos as any, _contract.name, message) remixClient.highlight(lineColumnPos as any, _contract.name, message)
} }
}) })
} }
@ -101,7 +101,7 @@ function CompilerButton({contract, setOutput, compilerUrl, resetCompilerState}:
throw new Error(output.message) throw new Error(output.message)
} }
// SUCCESS // SUCCESS
// remixClient.discardHighlight() remixClient.discardHighlight()
remixClient.changeStatus({ remixClient.changeStatus({
key: 'succeed', key: 'succeed',
type: 'success', type: 'success',
@ -109,10 +109,7 @@ function CompilerButton({contract, setOutput, compilerUrl, resetCompilerState}:
}) })
const data = toStandardOutput(_contract.name, output) const data = toStandardOutput(_contract.name, output)
remixClient.compilationFinish(_contract.name, _contract.content, data) remixClient.compilationFinish(_contract.name, _contract.content, data)
// remixClient.call('compilationDetails' as any, 'showDetails', data)
//map data to compilation details shape
remixClient.call('compilationDetails' as any, 'showDetails', data)
} catch (err: any) { } catch (err: any) {
remixClient.changeStatus({ remixClient.changeStatus({
key: 'failed', key: 'failed',

Loading…
Cancel
Save