@ -81,18 +81,24 @@ Renderer.prototype.error = function (message, container, opt) {
text = message . innerText
text = message . innerText
}
}
var errLocation = text . match ( /^([^:]*):([0-9]*):(([0-9]*):)? / )
// ^ e.g:
if ( ( ! opt . errFile || ! opt . errCol || ! opt . errLine ) && errLocation ) {
// browser/gm.sol: Warning: Source file does not specify required compiler version! Consider adding "pragma solidity ^0.6.12
errLocation = parseRegExError ( errLocation )
// https://github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v3.2.0/contracts/introspection/IERC1820Registry.sol:3:1: ParserError: Source file requires different compiler version (current compiler is 0.7.4+commit.3f05b770.Emscripten.clang) - note that nightly builds are considered to be strictly less than the released version
opt . errFile = errLocation . errFile
opt . errLine = errLocation . errLine
// extract line / column
opt . errCol = errLocation . errCol
let position = text . match ( /^(.*?):([0-9]*?):([0-9]*?)?/ )
}
opt . errLine = position ? position [ 2 ] : - 1
opt . errCol = position ? position [ 3 ] : - 1
if ( ! opt . noAnnotations && errLocation ) {
// extract file
this . _error ( errLocation . errFile , {
position = text . match ( /^(https:.*?|http:.*?|.*?):/ )
row : errLocation . errLine ,
opt . errFile = position ? position [ 1 ] : ''
column : errLocation . errCol ,
if ( ! opt . noAnnotations && opt . errFile ) {
this . _error ( opt . errFile , {
row : opt . errLine ,
column : opt . errCol ,
text : text ,
text : text ,
type : opt . type
type : opt . type
} )
} )
@ -107,7 +113,7 @@ Renderer.prototype.error = function (message, container, opt) {
$error . click ( ( ev ) => {
$error . click ( ( ev ) => {
if ( opt . click ) {
if ( opt . click ) {
opt . click ( message )
opt . click ( message )
} else if ( opt . errFile && opt . errLine && opt . errCol ) {
} else if ( opt . errFile !== undefined && opt . errLine !== undefined && opt . errCol !== undefined ) {
this . _errorClick ( opt . errFile , opt . errLine , opt . errCol )
this . _errorClick ( opt . errFile , opt . errLine , opt . errCol )
}
}
} )
} )
@ -123,7 +129,7 @@ function parseRegExError (err) {
return {
return {
errFile : err [ 1 ] ,
errFile : err [ 1 ] ,
errLine : parseInt ( err [ 2 ] , 10 ) - 1 ,
errLine : parseInt ( err [ 2 ] , 10 ) - 1 ,
errCol : err [ 4 ] ? parseInt ( err [ 4 ] , 10 ) : 0
errCol : err [ 3 ] ? parseInt ( err [ 3 ] , 10 ) : 0
}
}
}
}