aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity
diff options
context:
space:
mode:
authorgubatron <gubatron@gmail.com>2017-08-10 10:55:57 +0800
committerAlex Beregszaszi <alex@rtfs.hu>2017-08-11 00:04:40 +0800
commitad7a63f8908241ead63be8687e5ec457cc56d1e8 (patch)
treebea40f791197f4c6d85273f6eb5084318cb2db6d /libsolidity
parent1b32cdcf21d284eec68c298b81d1c3b02a137ab3 (diff)
downloaddexon-solidity-ad7a63f8908241ead63be8687e5ec457cc56d1e8.tar.gz
dexon-solidity-ad7a63f8908241ead63be8687e5ec457cc56d1e8.tar.zst
dexon-solidity-ad7a63f8908241ead63be8687e5ec457cc56d1e8.zip
FunctionType operator== boolean refactor
Diffstat (limited to 'libsolidity')
-rw-r--r--libsolidity/ast/Types.cpp29
1 files changed, 12 insertions, 17 deletions
diff --git a/libsolidity/ast/Types.cpp b/libsolidity/ast/Types.cpp
index 892814ba..8af60317 100644
--- a/libsolidity/ast/Types.cpp
+++ b/libsolidity/ast/Types.cpp
@@ -2236,27 +2236,22 @@ bool FunctionType::operator==(Type const& _other) const
{
if (_other.category() != category())
return false;
- FunctionType const& other = dynamic_cast<FunctionType const&>(_other);
-
- if (m_kind != other.m_kind)
- return false;
-
- if (m_isConstant != other.isConstant())
- return false;
- if (m_isPayable != other.isPayable())
+ FunctionType const& other = dynamic_cast<FunctionType const&>(_other);
+ if (
+ m_kind != other.m_kind ||
+ m_isConstant != other.isConstant() ||
+ m_isPayable != other.isPayable() ||
+ m_parameterTypes.size() != other.m_parameterTypes.size() ||
+ m_returnParameterTypes.size() != other.m_returnParameterTypes.size()
+ )
return false;
- if (m_parameterTypes.size() != other.m_parameterTypes.size() ||
- m_returnParameterTypes.size() != other.m_returnParameterTypes.size())
- return false;
auto typeCompare = [](TypePointer const& _a, TypePointer const& _b) -> bool { return *_a == *_b; };
-
- if (!equal(m_parameterTypes.cbegin(), m_parameterTypes.cend(),
- other.m_parameterTypes.cbegin(), typeCompare))
- return false;
- if (!equal(m_returnParameterTypes.cbegin(), m_returnParameterTypes.cend(),
- other.m_returnParameterTypes.cbegin(), typeCompare))
+ if (
+ !equal(m_parameterTypes.cbegin(), m_parameterTypes.cend(), other.m_parameterTypes.cbegin(), typeCompare) ||
+ !equal(m_returnParameterTypes.cbegin(), m_returnParameterTypes.cend(), other.m_returnParameterTypes.cbegin(), typeCompare)
+ )
return false;
//@todo this is ugly, but cannot be prevented right now
if (m_gasSet != other.m_gasSet || m_valueSet != other.m_valueSet)