aboutsummaryrefslogtreecommitdiffstats
path: root/common/compiler
diff options
context:
space:
mode:
authorzelig <viktor.tron@gmail.com>2015-09-15 06:35:22 +0800
committerzelig <viktor.tron@gmail.com>2015-09-15 06:35:22 +0800
commit3a5e7ed9a60c946f3f807422355b0dae83aadcf2 (patch)
treedab2833d24b6d3f9336119716a9abb52c5adb495 /common/compiler
parent071e2cd08e5492b5f4bae4f7dda03c5d47a0cd1d (diff)
downloadgo-tangerine-3a5e7ed9a60c946f3f807422355b0dae83aadcf2.tar
go-tangerine-3a5e7ed9a60c946f3f807422355b0dae83aadcf2.tar.gz
go-tangerine-3a5e7ed9a60c946f3f807422355b0dae83aadcf2.tar.bz2
go-tangerine-3a5e7ed9a60c946f3f807422355b0dae83aadcf2.tar.lz
go-tangerine-3a5e7ed9a60c946f3f807422355b0dae83aadcf2.tar.xz
go-tangerine-3a5e7ed9a60c946f3f807422355b0dae83aadcf2.tar.zst
go-tangerine-3a5e7ed9a60c946f3f807422355b0dae83aadcf2.zip
new solc api:
* use legacy version matcher * optimise just a boolean flag * skipf for messages in tests
Diffstat (limited to 'common/compiler')
-rw-r--r--common/compiler/solidity.go22
-rw-r--r--common/compiler/solidity_test.go6
2 files changed, 14 insertions, 14 deletions
diff --git a/common/compiler/solidity.go b/common/compiler/solidity.go
index 5ded4fc6e..aca3a1fc2 100644
--- a/common/compiler/solidity.go
+++ b/common/compiler/solidity.go
@@ -35,8 +35,8 @@ import (
)
var (
- versionRegExp = regexp.MustCompile("[0-9]+\\.[0-9]+\\.[0-9]+")
- newAPIRegexp = regexp.MustCompile("0\\.1\\.[2-9][0-9]*")
+ versionRegexp = regexp.MustCompile("[0-9]+\\.[0-9]+\\.[0-9]+")
+ legacyRegexp = regexp.MustCompile("0\\.(9\\..*|1\\.[01])")
paramsLegacy = []string{
"--binary", // Request to output the contract in binary (hexadecimal).
"file", //
@@ -50,13 +50,13 @@ var (
"1",
}
paramsNew = []string{
- "--bin", // Request to output the contract in binary (hexadecimal).
- "--abi", // Request to output the contract's JSON ABI interface.
- "--userdoc", // Request to output the contract's Natspec user documentation.
- "--devdoc", // Request to output the contract's Natspec developer documentation.
- "--add-std", // include standard lib contracts
- "--optimize=1", // code optimizer switched on
- "-o", // output directory
+ "--bin", // Request to output the contract in binary (hexadecimal).
+ "--abi", // Request to output the contract's JSON ABI interface.
+ "--userdoc", // Request to output the contract's Natspec user documentation.
+ "--devdoc", // Request to output the contract's Natspec developer documentation.
+ "--add-std", // include standard lib contracts
+ "--optimize", // code optimizer switched on
+ "-o", // output directory
}
)
@@ -102,8 +102,8 @@ func New(solcPath string) (sol *Solidity, err error) {
}
fullVersion := out.String()
- version := versionRegExp.FindString(fullVersion)
- legacy := !newAPIRegexp.MatchString(version)
+ version := versionRegexp.FindString(fullVersion)
+ legacy := legacyRegexp.MatchString(version)
sol = &Solidity{
solcPath: solcPath,
diff --git a/common/compiler/solidity_test.go b/common/compiler/solidity_test.go
index 905a5957c..258a78f52 100644
--- a/common/compiler/solidity_test.go
+++ b/common/compiler/solidity_test.go
@@ -46,9 +46,9 @@ contract test {
func TestCompiler(t *testing.T) {
sol, err := New("")
if err != nil {
- t.Skip("solc not found: skip: %v", err)
+ t.Skipf("solc not found: %v", err)
} else if sol.Version() != solcVersion {
- t.Skip("WARNING: skipping due to a newer version of solc found (%v, expect %v)", sol.Version(), solcVersion)
+ t.Skipf("WARNING: a newer version of solc found (%v, expect %v)", sol.Version(), solcVersion)
}
contracts, err := sol.Compile(source)
if err != nil {
@@ -83,7 +83,7 @@ func TestCompileError(t *testing.T) {
func TestNoCompiler(t *testing.T) {
_, err := New("/path/to/solc")
if err != nil {
- t.Log("solidity quits with error: %v", err)
+ t.Logf("solidity quits with error: %v", err)
} else {
t.Errorf("no solc installed, but got no error")
}