diff --git a/libsolidity/AST.cpp b/libsolidity/AST.cpp index 83b0adf36..09f98dca3 100644 --- a/libsolidity/AST.cpp +++ b/libsolidity/AST.cpp @@ -821,6 +821,7 @@ void NewExpression::checkTypeRequirements(TypePointers const*) parameterTypes, TypePointers{contractType}, strings(), + strings(), FunctionType::Location::Creation); } diff --git a/libsolidity/ExpressionCompiler.cpp b/libsolidity/ExpressionCompiler.cpp index ae825be17..76d05bd0a 100644 --- a/libsolidity/ExpressionCompiler.cpp +++ b/libsolidity/ExpressionCompiler.cpp @@ -526,6 +526,7 @@ bool ExpressionCompiler::visit(FunctionCall const& _functionCall) TypePointers{}, TypePointers{}, strings(), + strings(), Location::External, false, true, diff --git a/libsolidity/Types.cpp b/libsolidity/Types.cpp index 40b0dba6f..7a5b309d9 100644 --- a/libsolidity/Types.cpp +++ b/libsolidity/Types.cpp @@ -1143,7 +1143,7 @@ FunctionTypePointer FunctionType::externalFunctionType() const return FunctionTypePointer(); retParamTypes.push_back(type->externalType()); } - return make_shared(paramTypes, retParamTypes, m_parameterNames, m_location, m_arbitraryParameters); + return make_shared(paramTypes, retParamTypes, m_parameterNames, m_returnParameterNames, m_location, m_arbitraryParameters); } MemberList const& FunctionType::getMembers() const @@ -1165,6 +1165,7 @@ MemberList const& FunctionType::getMembers() const parseElementaryTypeVector({"uint"}), TypePointers{copyAndSetGasOrValue(false, true)}, strings(), + strings(), Location::SetValue, false, m_gasSet, @@ -1180,6 +1181,7 @@ MemberList const& FunctionType::getMembers() const parseElementaryTypeVector({"uint"}), TypePointers{copyAndSetGasOrValue(true, false)}, strings(), + strings(), Location::SetGas, false, m_gasSet, @@ -1267,7 +1269,8 @@ TypePointer FunctionType::copyAndSetGasOrValue(bool _setGas, bool _setValue) con return make_shared( m_parameterTypes, m_returnParameterTypes, - strings(), + m_parameterNames, + m_returnParameterNames, m_location, m_arbitraryParameters, m_gasSet || _setGas, diff --git a/libsolidity/Types.h b/libsolidity/Types.h index 49dd436d3..65a6867d6 100644 --- a/libsolidity/Types.h +++ b/libsolidity/Types.h @@ -573,6 +573,7 @@ public: parseElementaryTypeVector(_parameterTypes), parseElementaryTypeVector(_returnParameterTypes), strings(), + strings(), _location, _arbitraryParameters ) @@ -582,6 +583,7 @@ public: TypePointers const& _parameterTypes, TypePointers const& _returnParameterTypes, strings _parameterNames = strings(), + strings _returnParameterNames = strings(), Location _location = Location::Internal, bool _arbitraryParameters = false, bool _gasSet = false, @@ -590,6 +592,7 @@ public: m_parameterTypes (_parameterTypes), m_returnParameterTypes (_returnParameterTypes), m_parameterNames (_parameterNames), + m_returnParameterNames (_returnParameterNames), m_location (_location), m_arbitraryParameters (_arbitraryParameters), m_gasSet (_gasSet),