aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorchriseth <c@ethdev.com>2015-02-09 19:02:17 +0800
committerchriseth <c@ethdev.com>2015-02-09 19:02:17 +0800
commitd84d9d3ecd18bea9eef04fde806bf07065183a5a (patch)
tree0dfceb707f1f0ee77a5356374dde299d0cc3a66a
parent75a5c20f541a7dc41f80bdb3b4fe3478d18ad4fe (diff)
parent106cda74f8f017d1a463a4bbb8f1309d7647a5d1 (diff)
downloaddexon-solidity-d84d9d3ecd18bea9eef04fde806bf07065183a5a.tar
dexon-solidity-d84d9d3ecd18bea9eef04fde806bf07065183a5a.tar.gz
dexon-solidity-d84d9d3ecd18bea9eef04fde806bf07065183a5a.tar.bz2
dexon-solidity-d84d9d3ecd18bea9eef04fde806bf07065183a5a.tar.lz
dexon-solidity-d84d9d3ecd18bea9eef04fde806bf07065183a5a.tar.xz
dexon-solidity-d84d9d3ecd18bea9eef04fde806bf07065183a5a.tar.zst
dexon-solidity-d84d9d3ecd18bea9eef04fde806bf07065183a5a.zip
Merge pull request #981 from chriseth/sol_cleanup
Small cleanup.
-rw-r--r--AST.cpp20
-rw-r--r--Types.cpp2
-rw-r--r--Types.h2
3 files changed, 10 insertions, 14 deletions
diff --git a/AST.cpp b/AST.cpp
index 79d724fc..b408681c 100644
--- a/AST.cpp
+++ b/AST.cpp
@@ -486,7 +486,7 @@ void FunctionCall::checkTypeRequirements()
if (m_arguments.size() != 1)
BOOST_THROW_EXCEPTION(createTypeError("More than one argument for explicit type conversion."));
if (!m_names.empty())
- BOOST_THROW_EXCEPTION(createTypeError("Type conversion can't allow named arguments."));
+ BOOST_THROW_EXCEPTION(createTypeError("Type conversion cannot allow named arguments."));
if (!m_arguments.front()->getType()->isExplicitlyConvertibleTo(*type.getActualType()))
BOOST_THROW_EXCEPTION(createTypeError("Explicit type conversion not allowed."));
m_type = type.getActualType();
@@ -504,24 +504,22 @@ void FunctionCall::checkTypeRequirements()
{
for (size_t i = 0; i < m_arguments.size(); ++i)
if (functionType->getLocation() != FunctionType::Location::SHA3 &&
- !m_arguments[i]->getType()->isImplicitlyConvertibleTo(*parameterTypes[i]))
- BOOST_THROW_EXCEPTION(createTypeError("Invalid type for argument in function call."));
+ !m_arguments[i]->getType()->isImplicitlyConvertibleTo(*parameterTypes[i]))
+ BOOST_THROW_EXCEPTION(m_arguments[i]->createTypeError("Invalid type for argument in function call."));
}
- else if (functionType->getLocation() == FunctionType::Location::SHA3)
- BOOST_THROW_EXCEPTION(createTypeError("Named arguments can't be used for SHA3."));
else
{
+ if (functionType->getLocation() == FunctionType::Location::SHA3)
+ BOOST_THROW_EXCEPTION(createTypeError("Named arguments cannnot be used for SHA3."));
auto const& parameterNames = functionType->getParameterNames();
if (parameterNames.size() != m_names.size())
BOOST_THROW_EXCEPTION(createTypeError("Some argument names are missing."));
// check duplicate names
- for (size_t i = 0; i < m_names.size(); i++) {
- for (size_t j = i + 1; j < m_names.size(); j++) {
+ for (size_t i = 0; i < m_names.size(); i++)
+ for (size_t j = i + 1; j < m_names.size(); j++)
if (*m_names[i] == *m_names[j])
- BOOST_THROW_EXCEPTION(createTypeError("Duplicate named argument."));
- }
- }
+ BOOST_THROW_EXCEPTION(m_arguments[i]->createTypeError("Duplicate named argument."));
for (size_t i = 0; i < m_names.size(); i++) {
bool found = false;
@@ -536,7 +534,7 @@ void FunctionCall::checkTypeRequirements()
}
}
if (!found)
- BOOST_THROW_EXCEPTION(createTypeError("Named argument doesn't match function declaration."));
+ BOOST_THROW_EXCEPTION(createTypeError("Named argument does not match function declaration."));
}
}
diff --git a/Types.cpp b/Types.cpp
index 7a7672c6..f30085ec 100644
--- a/Types.cpp
+++ b/Types.cpp
@@ -360,7 +360,7 @@ u256 IntegerConstantType::literalValue(Literal const*) const
TypePointer IntegerConstantType::getRealType() const
{
auto intType = getIntegerType();
- solAssert(!!intType, std::string("getRealType called with invalid integer constant") + toString());
+ solAssert(!!intType, "getRealType called with invalid integer constant " + toString());
return intType;
}
diff --git a/Types.h b/Types.h
index 7118f746..80a77794 100644
--- a/Types.h
+++ b/Types.h
@@ -177,7 +177,6 @@ public:
virtual MemberList const& getMembers() const { return isAddress() ? AddressMemberList : EmptyMemberList; }
virtual std::string toString() const override;
- virtual TypePointer getRealType() const { return std::make_shared<IntegerType>(m_bits, m_modifier); }
int getNumBits() const { return m_bits; }
bool isHash() const { return m_modifier == Modifier::HASH || m_modifier == Modifier::ADDRESS; }
@@ -248,7 +247,6 @@ public:
virtual std::string toString() const override { return "string" + dev::toString(m_bytes); }
virtual u256 literalValue(Literal const* _literal) const override;
- virtual TypePointer getRealType() const override { return std::make_shared<StaticStringType>(m_bytes); }
int getNumBytes() const { return m_bytes; }