aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Beregszaszi <alex@rtfs.hu>2017-05-02 23:47:14 +0800
committerGitHub <noreply@github.com>2017-05-02 23:47:14 +0800
commitc09f071ff693f52a2a1434cfd6963b2d1818776e (patch)
treeae903de41b1d063a046951090de4b2562e44b0a8
parentacab525fefe37f2c02478c79399d5c79e211434e (diff)
parented3ab3506a8acb83bda9477f733d2cb07125a74a (diff)
downloaddexon-solidity-c09f071ff693f52a2a1434cfd6963b2d1818776e.tar
dexon-solidity-c09f071ff693f52a2a1434cfd6963b2d1818776e.tar.gz
dexon-solidity-c09f071ff693f52a2a1434cfd6963b2d1818776e.tar.bz2
dexon-solidity-c09f071ff693f52a2a1434cfd6963b2d1818776e.tar.lz
dexon-solidity-c09f071ff693f52a2a1434cfd6963b2d1818776e.tar.xz
dexon-solidity-c09f071ff693f52a2a1434cfd6963b2d1818776e.tar.zst
dexon-solidity-c09f071ff693f52a2a1434cfd6963b2d1818776e.zip
Merge pull request #2211 from ethereum/jsonio-fixes
Follow the JSON I/O spec closely
-rw-r--r--docs/using-the-compiler.rst2
-rw-r--r--libsolidity/interface/StandardCompiler.cpp6
-rw-r--r--test/libsolidity/StandardCompiler.cpp12
3 files changed, 10 insertions, 10 deletions
diff --git a/docs/using-the-compiler.rst b/docs/using-the-compiler.rst
index 890604b1..7aa997f8 100644
--- a/docs/using-the-compiler.rst
+++ b/docs/using-the-compiler.rst
@@ -221,7 +221,7 @@ Output Description
// Assembly (string)
assembly: "",
// Old-style assembly (object)
- legacyAssembly: [],
+ legacyAssembly: {},
// Bytecode and related details.
bytecode: {
// The bytecode as a hex string.
diff --git a/libsolidity/interface/StandardCompiler.cpp b/libsolidity/interface/StandardCompiler.cpp
index db0cbd16..223cc15d 100644
--- a/libsolidity/interface/StandardCompiler.cpp
+++ b/libsolidity/interface/StandardCompiler.cpp
@@ -391,10 +391,10 @@ Json::Value StandardCompiler::compileInternal(Json::Value const& _input)
// ABI, documentation and metadata
Json::Value contractData(Json::objectValue);
- contractData["abi"] = dev::jsonCompactPrint(m_compilerStack.metadata(contractName, DocumentationType::ABIInterface));
+ contractData["abi"] = m_compilerStack.metadata(contractName, DocumentationType::ABIInterface);
contractData["metadata"] = m_compilerStack.onChainMetadata(contractName);
- contractData["userdoc"] = dev::jsonCompactPrint(m_compilerStack.metadata(contractName, DocumentationType::NatspecUser));
- contractData["devdoc"] = dev::jsonCompactPrint(m_compilerStack.metadata(contractName, DocumentationType::NatspecDev));
+ contractData["userdoc"] = m_compilerStack.metadata(contractName, DocumentationType::NatspecUser);
+ contractData["devdoc"] = m_compilerStack.metadata(contractName, DocumentationType::NatspecDev);
// EVM
Json::Value evmData(Json::objectValue);
diff --git a/test/libsolidity/StandardCompiler.cpp b/test/libsolidity/StandardCompiler.cpp
index f480ba6f..ffb0e2c6 100644
--- a/test/libsolidity/StandardCompiler.cpp
+++ b/test/libsolidity/StandardCompiler.cpp
@@ -235,12 +235,12 @@ BOOST_AUTO_TEST_CASE(basic_compilation)
BOOST_CHECK(containsAtMostWarnings(result));
Json::Value contract = getContractResult(result, "fileA", "A");
BOOST_CHECK(contract.isObject());
- BOOST_CHECK(contract["abi"].isString());
- BOOST_CHECK(contract["abi"].asString() == "[]");
- BOOST_CHECK(contract["devdoc"].isString());
- BOOST_CHECK(contract["devdoc"].asString() == "{\"methods\":{}}");
- BOOST_CHECK(contract["userdoc"].isString());
- BOOST_CHECK(contract["userdoc"].asString() == "{\"methods\":{}}");
+ BOOST_CHECK(contract["abi"].isArray());
+ BOOST_CHECK(dev::jsonCompactPrint(contract["abi"]) == "[]");
+ BOOST_CHECK(contract["devdoc"].isObject());
+ BOOST_CHECK(dev::jsonCompactPrint(contract["devdoc"]) == "{\"methods\":{}}");
+ BOOST_CHECK(contract["userdoc"].isObject());
+ BOOST_CHECK(dev::jsonCompactPrint(contract["userdoc"]) == "{\"methods\":{}}");
BOOST_CHECK(contract["evm"].isObject());
/// @TODO check evm.methodIdentifiers, legacyAssembly, bytecode, deployedBytecode
BOOST_CHECK(contract["evm"]["bytecode"].isObject());