remix-analyzer/src/solidity-analyzer/modules/gasCosts.js
function visitContracts (contracts, cb) {
  for (var file in contracts) {
    for (var name in contracts[file]) {
      if (cb({ name: name, object: contracts[file][name], file: file })) return
    }
  }
}
function visitContracts (contracts, cb) {
  for (var file in contracts) {
    for (var name in contracts[file]) {
      if (cb({ name: name, object: contracts[file][name], file: file })) return
    }
  }
}
function visitContracts ( contracts , cb ) { for ( var file in contracts ) { for ( var name in contracts [ file ] ) { if ( cb ( { name : name , object : contracts [ file ] [ name ] , file : file } ) ) return } } }
call the given @arg cb (function) for all the contracts. Uses last compilation result
stop visiting when cb return true
@param {Function} cb    - callback
 @TODO has been copied from remix-ide repo ! should fix that soon !
call the given