Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
baas-ide
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
guxukai
baas-ide
Commits
287aa115
Unverified
Commit
287aa115
authored
Feb 01, 2018
by
yann300
Committed by
GitHub
Feb 01, 2018
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #677 from ethereum/compiler_wrapper
Move compiler code from browser-solidity
parents
5443892b
a4bb8eab
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
111 additions
and
7 deletions
+111
-7
index.js
remix-solidity/index.js
+5
-1
package.json
remix-solidity/package.json
+5
-2
compiler-input.js
remix-solidity/src/compiler/compiler-input.js
+21
-0
compiler-worker.js
remix-solidity/src/compiler/compiler-worker.js
+45
-0
compiler.js
remix-solidity/src/compiler/compiler.js
+0
-0
txHelper.js
remix-solidity/src/compiler/txHelper.js
+33
-0
staticAnalysisIntegration-test.js
...-solidity/test/analysis/staticAnalysisIntegration-test.js
+1
-2
staticAnalysisIssues-test.js
remix-solidity/test/analysis/staticAnalysisIssues-test.js
+1
-2
No files found.
remix-solidity/index.js
View file @
287aa115
...
@@ -3,11 +3,15 @@ var SolidityProxy = require('./src/decoder/solidityProxy')
...
@@ -3,11 +3,15 @@ var SolidityProxy = require('./src/decoder/solidityProxy')
var
localDecoder
=
require
(
'./src/decoder/localDecoder'
)
var
localDecoder
=
require
(
'./src/decoder/localDecoder'
)
var
stateDecoder
=
require
(
'./src/decoder/stateDecoder'
)
var
stateDecoder
=
require
(
'./src/decoder/stateDecoder'
)
var
CodeAnalysis
=
require
(
'./src/analysis/staticAnalysisRunner'
)
var
CodeAnalysis
=
require
(
'./src/analysis/staticAnalysisRunner'
)
var
Compiler
=
require
(
'./src/compiler/compiler'
)
var
CompilerInput
=
require
(
'./src/compiler/compiler-input'
)
module
.
exports
=
{
module
.
exports
=
{
InternalCallTree
:
InternalCallTree
,
InternalCallTree
:
InternalCallTree
,
SolidityProxy
:
SolidityProxy
,
SolidityProxy
:
SolidityProxy
,
localDecoder
:
localDecoder
,
localDecoder
:
localDecoder
,
stateDecoder
:
stateDecoder
,
stateDecoder
:
stateDecoder
,
CodeAnalysis
:
CodeAnalysis
CodeAnalysis
:
CodeAnalysis
,
Compiler
:
Compiler
,
CompilerInput
:
CompilerInput
}
}
remix-solidity/package.json
View file @
287aa115
...
@@ -23,13 +23,16 @@
...
@@ -23,13 +23,16 @@
"fast-async"
:
"^6.1.2"
,
"fast-async"
:
"^6.1.2"
,
"remix-core"
:
"latest"
,
"remix-core"
:
"latest"
,
"remix-lib"
:
"latest"
,
"remix-lib"
:
"latest"
,
"solc"
:
"^0.4.13"
,
"webworkify"
:
"^1.2.1"
,
"solc"
:
"https://github.com/ethereum/solc-js"
,
"npm-run-all"
:
"^4.0.2"
,
"standard"
:
"^7.0.1"
,
"standard"
:
"^7.0.1"
,
"tape"
:
"^4.6.0"
"tape"
:
"^4.6.0"
},
},
"scripts"
:
{
"scripts"
:
{
"test"
:
"standard && npm run downloadsolc && tape ./test/tests.js"
,
"test"
:
"standard && npm run downloadsolc && tape ./test/tests.js"
,
"downloadsolc"
:
"test -e soljson.js || wget https://ethereum.github.io/solc-bin/soljson.js"
"downloadsolc"
:
"cd node_modules/solc && (test -e soljson.js || wget https://ethereum.github.io/solc-bin/soljson.js) && cd .."
,
"prepublish"
:
"mkdirp build; npm-run-all -ls downloadsolc"
},
},
"standard"
:
{
"standard"
:
{
"ignore"
:
[
"ignore"
:
[
...
...
remix-solidity/src/compiler/compiler-input.js
0 → 100644
View file @
287aa115
'use strict'
module
.
exports
=
(
sources
,
opts
)
=>
{
return
JSON
.
stringify
({
language
:
'Solidity'
,
sources
:
sources
,
settings
:
{
optimizer
:
{
enabled
:
opts
.
optimize
===
true
||
opts
.
optimize
===
1
,
runs
:
200
},
libraries
:
opts
.
libraries
,
outputSelection
:
{
'*'
:
{
''
:
[
'legacyAST'
],
'*'
:
[
'abi'
,
'metadata'
,
'devdoc'
,
'userdoc'
,
'evm.legacyAssembly'
,
'evm.bytecode'
,
'evm.deployedBytecode'
,
'evm.methodIdentifiers'
,
'evm.gasEstimates'
]
}
}
}
})
}
remix-solidity/src/compiler/compiler-worker.js
0 → 100644
View file @
287aa115
'use strict'
var
solc
=
require
(
'solc/wrapper'
)
var
compileJSON
=
function
()
{
return
''
}
var
missingInputs
=
[]
module
.
exports
=
function
(
self
)
{
self
.
addEventListener
(
'message'
,
function
(
e
)
{
var
data
=
e
.
data
switch
(
data
.
cmd
)
{
case
'loadVersion'
:
delete
self
.
Module
// NOTE: workaround some browsers?
self
.
Module
=
undefined
compileJSON
=
null
self
.
importScripts
(
data
.
data
)
var
compiler
=
solc
(
self
.
Module
)
compileJSON
=
function
(
input
)
{
try
{
return
compiler
.
compileStandardWrapper
(
input
,
function
(
path
)
{
missingInputs
.
push
(
path
)
return
{
'error'
:
'Deferred import'
}
})
}
catch
(
exception
)
{
return
JSON
.
stringify
({
error
:
'Uncaught JavaScript exception:
\
n'
+
exception
})
}
}
self
.
postMessage
({
cmd
:
'versionLoaded'
,
data
:
compiler
.
version
()
})
break
case
'compile'
:
missingInputs
.
length
=
0
self
.
postMessage
({
cmd
:
'compiled'
,
job
:
data
.
job
,
data
:
compileJSON
(
data
.
input
),
missingInputs
:
missingInputs
})
break
}
},
false
)
}
remix-solidity/src/compiler/compiler.js
0 → 100644
View file @
287aa115
This diff is collapsed.
Click to expand it.
remix-solidity/src/compiler/txHelper.js
0 → 100644
View file @
287aa115
'use strict'
module
.
exports
=
{
/**
* return the contract obj of the given @arg name. Uses last compilation result.
* return null if not found
* @param {String} name - contract name
* @returns contract obj and associated file: { contract, file } or null
*/
getContract
:
(
contractName
,
contracts
)
=>
{
for
(
var
file
in
contracts
)
{
if
(
contracts
[
file
][
contractName
])
{
return
{
object
:
contracts
[
file
][
contractName
],
file
:
file
}
}
}
return
null
},
/**
* call the given @arg cb (function) for all the contracts. Uses last compilation result
* stop visiting when cb return true
* @param {Function} cb - callback
*/
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
}
}
}
}
remix-solidity/test/analysis/staticAnalysisIntegration-test.js
View file @
287aa115
...
@@ -4,8 +4,7 @@ var remixLib = require('remix-lib')
...
@@ -4,8 +4,7 @@ var remixLib = require('remix-lib')
var
StatRunner
=
require
(
'../../src/analysis/staticAnalysisRunner'
)
var
StatRunner
=
require
(
'../../src/analysis/staticAnalysisRunner'
)
var
compilerInput
=
remixLib
.
helpers
.
compiler
.
compilerInput
var
compilerInput
=
remixLib
.
helpers
.
compiler
.
compilerInput
var
solc
=
require
(
'solc/wrapper'
)
var
compiler
=
require
(
'solc'
)
var
compiler
=
solc
(
require
(
'../../soljson'
))
var
fs
=
require
(
'fs'
)
var
fs
=
require
(
'fs'
)
var
path
=
require
(
'path'
)
var
path
=
require
(
'path'
)
...
...
remix-solidity/test/analysis/staticAnalysisIssues-test.js
View file @
287aa115
...
@@ -4,8 +4,7 @@ var remixLib = require('remix-lib')
...
@@ -4,8 +4,7 @@ var remixLib = require('remix-lib')
var
StatRunner
=
require
(
'../../src/analysis/staticAnalysisRunner'
)
var
StatRunner
=
require
(
'../../src/analysis/staticAnalysisRunner'
)
var
compilerInput
=
remixLib
.
helpers
.
compiler
.
compilerInput
var
compilerInput
=
remixLib
.
helpers
.
compiler
.
compilerInput
var
solc
=
require
(
'solc/wrapper'
)
var
compiler
=
require
(
'solc'
)
var
compiler
=
solc
(
require
(
'../../soljson'
))
var
fs
=
require
(
'fs'
)
var
fs
=
require
(
'fs'
)
var
path
=
require
(
'path'
)
var
path
=
require
(
'path'
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment