function onInternalCompilerLoaded (setVersionText) { if (worker === null) { var compiler = solc(window.Module); compilerAcceptsMultipleFiles = compiler.supportsMulti; compileJSON = function (source, optimize, cb) { var missingInputs = []; var missingInputsCallback = function (path) { missingInputs.push(path); return { error: 'Deferred import' }; }; var result; try { result = compiler.compile(source, optimize, missingInputsCallback); } catch (exception) { result = { error: 'Uncaught JavaScript exception:\n' + exception }; } compilationFinished(result, missingInputs); }; onCompilerLoaded(setVersionText, compiler.version()); } }
function onInternalCompilerLoaded () { if (worker === null) { var compiler = solc(window.Module) compileJSON = function (source, optimize, cb) { var missingInputs = [] var missingInputsCallback = function (path) { missingInputs.push(path) return { error: 'Deferred import' } } var result try { var input = compilerInput(source.sources, {optimize: optimize, target: source.target}) result = compiler.compileStandardWrapper(input, missingInputsCallback) result = JSON.parse(result) } catch (exception) { result = { error: 'Uncaught JavaScript exception:\n' + exception } } compilationFinished(result, missingInputs, source) } onCompilerLoaded(compiler.version()) } }
'use strict' var fs = require('fs') var solc = require('solc/wrapper') var soljson = require('../soljson') var compiler = solc(soljson) var compilerInput = require('../src/app/compiler/compiler-input') var compilationResult = {} gatherCompilationResults('./test-browser/tests/', compilationResult) gatherCompilationResults('./test-browser/tests/units/', compilationResult) replaceSolCompiler(compilationResult) function gatherCompilationResults (dir, compilationResult, callback) { var filenames = fs.readdirSync(dir, 'utf8') filenames.map(function (item, i) { if (item.endsWith('.js')) { var testDef = require('.' + dir + item) if ('@sources' in testDef) { var sources = testDef['@sources']() for (var files in sources) { compile(sources[files], true, function (result) { compilationResult[result.key] = result }) compile(sources[files], false, function (result) { compilationResult[result.key] = result }) } } } })
var test = require('tape') var StatRunner = require('../../src/app/staticanalysis/staticAnalysisRunner') // const util = require('util') var solc = require('solc/wrapper') var compiler = solc(require('../../soljson')) var fs = require('fs') var path = require('path') var testFiles = [ 'KingOfTheEtherThrone.sol', 'assembly.sol', 'ballot.sol', 'ballot_reentrant.sol', 'ballot_withoutWarnings.sol', 'cross_contract.sol', 'inheritance.sol', 'modifier1.sol', 'modifier2.sol', 'notReentrant.sol', 'structReentrant.sol', 'thisLocal.sol', 'globals.sol', 'library.sol', 'transfer.sol', 'ctor.sol' ] var testFileAsts = {}