aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian <c@ethdev.com>2015-01-14 18:01:42 +0800
committerChristian <c@ethdev.com>2015-01-14 18:01:42 +0800
commitd1e05ac416c68d65112e9dd1427b8b009802afef (patch)
treead37b5d5e947d288b4216a5d4710cf7cef541d34
parent22f0a4fde1a641e36945c60c67d96559f7ab5981 (diff)
downloaddexon-solidity-d1e05ac416c68d65112e9dd1427b8b009802afef.tar
dexon-solidity-d1e05ac416c68d65112e9dd1427b8b009802afef.tar.gz
dexon-solidity-d1e05ac416c68d65112e9dd1427b8b009802afef.tar.bz2
dexon-solidity-d1e05ac416c68d65112e9dd1427b8b009802afef.tar.lz
dexon-solidity-d1e05ac416c68d65112e9dd1427b8b009802afef.tar.xz
dexon-solidity-d1e05ac416c68d65112e9dd1427b8b009802afef.tar.zst
dexon-solidity-d1e05ac416c68d65112e9dd1427b8b009802afef.zip
Remove redundancy in FunctionType::getSizeOnStack.
-rw-r--r--Types.cpp20
-rw-r--r--Types.h11
2 files changed, 8 insertions, 23 deletions
diff --git a/Types.cpp b/Types.cpp
index ea2da0b6..6a1b120c 100644
--- a/Types.cpp
+++ b/Types.cpp
@@ -546,7 +546,8 @@ u256 StructType::getStorageOffsetOfMember(string const& _name) const
BOOST_THROW_EXCEPTION(InternalCompilerError() << errinfo_comment("Storage offset of non-existing member requested."));
}
-FunctionType::FunctionType(FunctionDefinition const& _function, bool _isInternal)
+FunctionType::FunctionType(FunctionDefinition const& _function, bool _isInternal):
+ m_location(_isInternal ? Location::INTERNAL : Location::EXTERNAL)
{
TypePointers params;
TypePointers retParams;
@@ -558,22 +559,6 @@ FunctionType::FunctionType(FunctionDefinition const& _function, bool _isInternal
retParams.push_back(var->getType());
swap(params, m_parameterTypes);
swap(retParams, m_returnParameterTypes);
- m_location = _isInternal ? Location::INTERNAL : Location::EXTERNAL;
-}
-
-FunctionType::FunctionType(TypePointers const& _parameterTypes, TypePointers const& _returnParameterTypes,
- FunctionType::Location _location, bool _gasSet, bool _valueSet):
- m_parameterTypes(_parameterTypes), m_returnParameterTypes(_returnParameterTypes),
- m_location(_location), m_gasSet(_gasSet), m_valueSet(_valueSet)
-{
- if (m_location == Location::EXTERNAL)
- m_sizeOnStack = 2;
- else if (m_location == Location::INTERNAL || m_location == Location::BARE)
- m_sizeOnStack = 1;
- if (m_gasSet)
- m_sizeOnStack++;
- if (m_valueSet)
- m_sizeOnStack++;
}
bool FunctionType::operator==(Type const& _other) const
@@ -680,7 +665,6 @@ TypePointer FunctionType::copyAndSetGasOrValue(bool _setGas, bool _setValue) con
m_gasSet || _setGas, m_valueSet || _setValue);
}
-
bool MappingType::operator==(Type const& _other) const
{
if (_other.getCategory() != getCategory())
diff --git a/Types.h b/Types.h
index c0ffe864..158d58eb 100644
--- a/Types.h
+++ b/Types.h
@@ -365,7 +365,9 @@ public:
_location) {}
FunctionType(TypePointers const& _parameterTypes, TypePointers const& _returnParameterTypes,
Location _location = Location::INTERNAL,
- bool _gasSet = false, bool _valueSet = false);
+ bool _gasSet = false, bool _valueSet = false):
+ m_parameterTypes(_parameterTypes), m_returnParameterTypes(_returnParameterTypes),
+ m_location(_location), m_gasSet(_gasSet), m_valueSet(_valueSet) {}
TypePointers const& getParameterTypes() const { return m_parameterTypes; }
TypePointers const& getReturnParameterTypes() const { return m_returnParameterTypes; }
@@ -393,10 +395,9 @@ private:
TypePointers m_parameterTypes;
TypePointers m_returnParameterTypes;
- Location m_location;
- unsigned m_sizeOnStack = 0;
- bool m_gasSet = false; ///< true iff the gas value to be used is on the stack
- bool m_valueSet = false; ///< true iff the value to be sent is on the stack
+ Location const m_location;
+ bool const m_gasSet = false; ///< true iff the gas value to be used is on the stack
+ bool const m_valueSet = false; ///< true iff the value to be sent is on the stack
mutable std::unique_ptr<MemberList> m_members;
};