aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian <c@ethdev.com>2014-11-22 02:14:56 +0800
committerChristian <c@ethdev.com>2014-11-24 04:28:45 +0800
commit6cb0d1baa0b690ece371d35cf4898a199d32c8fd (patch)
tree3b7442c83968aa7d391b0ff933bf903fb3013e88
parentc5a012cdca3ca02bce3946945acbd610a928b7eb (diff)
downloaddexon-solidity-6cb0d1baa0b690ece371d35cf4898a199d32c8fd.tar
dexon-solidity-6cb0d1baa0b690ece371d35cf4898a199d32c8fd.tar.gz
dexon-solidity-6cb0d1baa0b690ece371d35cf4898a199d32c8fd.tar.bz2
dexon-solidity-6cb0d1baa0b690ece371d35cf4898a199d32c8fd.tar.lz
dexon-solidity-6cb0d1baa0b690ece371d35cf4898a199d32c8fd.tar.xz
dexon-solidity-6cb0d1baa0b690ece371d35cf4898a199d32c8fd.tar.zst
dexon-solidity-6cb0d1baa0b690ece371d35cf4898a199d32c8fd.zip
Magic variables.
-rw-r--r--solidityCompiler.cpp2
-rw-r--r--solidityEndToEndTest.cpp2
-rw-r--r--solidityNameAndTypeResolution.cpp20
-rw-r--r--solidityParser.cpp20
4 files changed, 22 insertions, 22 deletions
diff --git a/solidityCompiler.cpp b/solidityCompiler.cpp
index 1767a0f3..3e86919a 100644
--- a/solidityCompiler.cpp
+++ b/solidityCompiler.cpp
@@ -52,7 +52,7 @@ bytes compileContract(const string& _sourceCode)
BOOST_REQUIRE_NO_THROW(resolver.resolveNamesAndTypes(*contract));
Compiler compiler;
- compiler.compileContract(*contract);
+ compiler.compileContract(*contract, {});
// debug
//compiler.streamAssembly(cout);
return compiler.getAssembledBytecode();
diff --git a/solidityEndToEndTest.cpp b/solidityEndToEndTest.cpp
index a7c6357b..46081a63 100644
--- a/solidityEndToEndTest.cpp
+++ b/solidityEndToEndTest.cpp
@@ -725,7 +725,7 @@ BOOST_AUTO_TEST_CASE(constructor)
BOOST_AUTO_TEST_CASE(balance)
{
char const* sourceCode = "contract test {\n"
- " function getBalance() returns (u256 balance) {\n"
+ " function getBalance() returns (uint256 balance) {\n"
" return address(this).balance;\n"
" }\n"
"}\n";
diff --git a/solidityNameAndTypeResolution.cpp b/solidityNameAndTypeResolution.cpp
index 61aabb34..a19e7450 100644
--- a/solidityNameAndTypeResolution.cpp
+++ b/solidityNameAndTypeResolution.cpp
@@ -224,6 +224,26 @@ BOOST_AUTO_TEST_CASE(type_inference_explicit_conversion)
BOOST_CHECK_NO_THROW(parseTextAndResolveNames(text));
}
+BOOST_AUTO_TEST_CASE(balance)
+{
+ char const* text = "contract test {\n"
+ " function fun() {\n"
+ " uint256 x = address(0).balance;\n"
+ " }\n"
+ "}\n";
+ BOOST_CHECK_NO_THROW(parseTextAndResolveNames(text));
+}
+
+BOOST_AUTO_TEST_CASE(balance_invalid)
+{
+ char const* text = "contract test {\n"
+ " function fun() {\n"
+ " address(0).balance = 7;\n"
+ " }\n"
+ "}\n";
+ BOOST_CHECK_THROW(parseTextAndResolveNames(text), TypeError);
+}
+
BOOST_AUTO_TEST_SUITE_END()
}
diff --git a/solidityParser.cpp b/solidityParser.cpp
index 0ee88b26..9319a02c 100644
--- a/solidityParser.cpp
+++ b/solidityParser.cpp
@@ -221,26 +221,6 @@ BOOST_AUTO_TEST_CASE(statement_starting_with_type_conversion)
BOOST_CHECK_NO_THROW(parseText(text));
}
-BOOST_AUTO_TEST_CASE(blockchain_access)
-{
- char const* text = "contract test {\n"
- " function fun() {\n"
- " u256 x = address(0).balance;\n"
- " }\n"
- "}\n";
- BOOST_CHECK_NO_THROW(parseText(text));
-}
-
-BOOST_AUTO_TEST_CASE(blockchain_access_invalid)
-{
- char const* text = "contract test {\n"
- " function fun() {\n"
- " address(0).balance = 7;\n"
- " }\n"
- "}\n";
- BOOST_CHECK_THROW(parseText(text), TypeError);
-}
-
BOOST_AUTO_TEST_SUITE_END()
}