diff options
author | Alex Beregszaszi <alex@rtfs.hu> | 2017-08-29 07:34:39 +0800 |
---|---|---|
committer | Alex Beregszaszi <alex@rtfs.hu> | 2017-08-29 20:43:55 +0800 |
commit | c86181787575d8cb18eebc824bf323b63b0b5484 (patch) | |
tree | ba718a397fc797c41556f9ff08effab45d03f773 | |
parent | 2d39a42d37cd03e62d0295e8137f2c411b9b1b9f (diff) | |
download | dexon-solidity-c86181787575d8cb18eebc824bf323b63b0b5484.tar.gz dexon-solidity-c86181787575d8cb18eebc824bf323b63b0b5484.tar.zst dexon-solidity-c86181787575d8cb18eebc824bf323b63b0b5484.zip |
Add header for jsonCompiler
-rw-r--r-- | solc/jsonCompiler.cpp | 10 | ||||
-rw-r--r-- | solc/jsonCompiler.h | 42 | ||||
-rw-r--r-- | test/fuzzer.cpp | 8 | ||||
-rw-r--r-- | test/libsolidity/JSONCompiler.cpp | 11 |
4 files changed, 47 insertions, 24 deletions
diff --git a/solc/jsonCompiler.cpp b/solc/jsonCompiler.cpp index 684d49e4..7e797a62 100644 --- a/solc/jsonCompiler.cpp +++ b/solc/jsonCompiler.cpp @@ -20,24 +20,20 @@ * JSON interface for the solidity compiler to be used from Javascript. */ -#include <string> +#include <solc/jsonCompiler.h> #include <libdevcore/Common.h> #include <libdevcore/JSON.h> #include <libsolidity/interface/StandardCompiler.h> #include <libsolidity/interface/Version.h> +#include <string> + #include "license.h" using namespace std; using namespace dev; using namespace solidity; -extern "C" { -/// Callback used to retrieve additional source files. "Returns" two pointers that should be -/// heap-allocated and are free'd by the caller. -typedef void (*CStyleReadFileCallback)(char const* _path, char** o_contents, char** o_error); -} - namespace { diff --git a/solc/jsonCompiler.h b/solc/jsonCompiler.h new file mode 100644 index 00000000..c392ce93 --- /dev/null +++ b/solc/jsonCompiler.h @@ -0,0 +1,42 @@ +/* + This file is part of solidity. + + solidity is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + solidity is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with solidity. If not, see <http://www.gnu.org/licenses/>. +*/ +/** + * @author Christian <c@ethdev.com> + * @date 2014 + * JSON interface for the solidity compiler to be used from Javascript. + */ + +#include <stdbool.h> + +#ifdef __cplusplus +extern "C" { +#endif + +/// Callback used to retrieve additional source files. "Returns" two pointers that should be +/// heap-allocated and are free'd by the caller. +typedef void (*CStyleReadFileCallback)(char const* _path, char** o_contents, char** o_error); + +char const* license(); +char const* version(); +char const* compileJSON(char const* _input, bool _optimize); +char const* compileJSONMulti(char const* _input, bool _optimize); +char const* compileJSONCallback(char const* _input, bool _optimize, CStyleReadFileCallback _readCallback); +char const* compileStandard(char const* _input, CStyleReadFileCallback _readCallback); + +#ifdef __cplusplus +} +#endif diff --git a/test/fuzzer.cpp b/test/fuzzer.cpp index c3a321f7..2c39dde2 100644 --- a/test/fuzzer.cpp +++ b/test/fuzzer.cpp @@ -20,6 +20,7 @@ #include <libevmasm/Assembly.h> #include <libevmasm/ConstantOptimiser.h> +#include <solc/jsonCompiler.h> #include <json/json.h> @@ -33,13 +34,6 @@ using namespace dev; using namespace dev::eth; namespace po = boost::program_options; -extern "C" -{ -extern char const* compileJSON(char const* _input, bool _optimize); -typedef void (*CStyleReadFileCallback)(char const* _path, char** o_contents, char** o_error); -extern char const* compileStandard(char const* _input, CStyleReadFileCallback _readCallback); -} - namespace { diff --git a/test/libsolidity/JSONCompiler.cpp b/test/libsolidity/JSONCompiler.cpp index 541cfbf0..7dc4808b 100644 --- a/test/libsolidity/JSONCompiler.cpp +++ b/test/libsolidity/JSONCompiler.cpp @@ -23,22 +23,13 @@ #include <boost/test/unit_test.hpp> #include <libdevcore/JSON.h> #include <libsolidity/interface/Version.h> +#include <solc/jsonCompiler.h> #include "../Metadata.h" #include "../TestHelper.h" using namespace std; -extern "C" -{ -extern char const* version(); -extern char const* license(); -extern char const* compileJSON(char const* _input, bool _optimize); -extern char const* compileJSONMulti(char const* _input, bool _optimize); -extern char const* compileJSONCallback(char const* _input, bool _optimize, void* _readCallback); -extern char const* compileStandard(char const* _input, void* _readCallback); -} - namespace dev { namespace solidity |