aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Beregszaszi <alex@rtfs.hu>2017-08-29 21:07:08 +0800
committerGitHub <noreply@github.com>2017-08-29 21:07:08 +0800
commite77e5941202df8363344b6c21a4ba813423ed889 (patch)
treeba718a397fc797c41556f9ff08effab45d03f773
parent2d39a42d37cd03e62d0295e8137f2c411b9b1b9f (diff)
parentc86181787575d8cb18eebc824bf323b63b0b5484 (diff)
downloaddexon-solidity-e77e5941202df8363344b6c21a4ba813423ed889.tar.gz
dexon-solidity-e77e5941202df8363344b6c21a4ba813423ed889.tar.zst
dexon-solidity-e77e5941202df8363344b6c21a4ba813423ed889.zip
Merge pull request #2844 from ethereum/jsoncompiler
Add header for jsonCompiler
-rw-r--r--solc/jsonCompiler.cpp10
-rw-r--r--solc/jsonCompiler.h42
-rw-r--r--test/fuzzer.cpp8
-rw-r--r--test/libsolidity/JSONCompiler.cpp11
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