aboutsummaryrefslogtreecommitdiffstats
path: root/Types.h
diff options
context:
space:
mode:
Diffstat (limited to 'Types.h')
-rw-r--r--Types.h23
1 files changed, 15 insertions, 8 deletions
diff --git a/Types.h b/Types.h
index cca5dde7..11bc3536 100644
--- a/Types.h
+++ b/Types.h
@@ -669,17 +669,19 @@ public:
strings _returnParameterNames = strings(),
Location _location = Location::Internal,
bool _arbitraryParameters = false,
+ Declaration const* _declaration = nullptr,
bool _gasSet = false,
bool _valueSet = false
):
- m_parameterTypes (_parameterTypes),
- m_returnParameterTypes (_returnParameterTypes),
- m_parameterNames (_parameterNames),
- m_returnParameterNames (_returnParameterNames),
- m_location (_location),
- m_arbitraryParameters (_arbitraryParameters),
- m_gasSet (_gasSet),
- m_valueSet (_valueSet)
+ m_parameterTypes(_parameterTypes),
+ m_returnParameterTypes(_returnParameterTypes),
+ m_parameterNames(_parameterNames),
+ m_returnParameterNames(_returnParameterNames),
+ m_location(_location),
+ m_arbitraryParameters(_arbitraryParameters),
+ m_gasSet(_gasSet),
+ m_valueSet(_valueSet),
+ m_declaration(_declaration)
{}
TypePointers const& getParameterTypes() const { return m_parameterTypes; }
@@ -733,6 +735,11 @@ public:
/// of the parameters to fals.
TypePointer copyAndSetGasOrValue(bool _setGas, bool _setValue) const;
+ /// @returns a copy of this function type where all return parameters of dynamic size are removed.
+ /// This is needed if external functions are called internally, as they cannot return dynamic
+ /// values.
+ FunctionTypePointer removeDynamicReturnTypes() const;
+
private:
static TypePointers parseElementaryTypeVector(strings const& _types);