Fix function calls with named arguments for overloaded functions

This commit is contained in:
Mathias Baumann
2019-03-20 14:54:41 +01:00
parent b021f015f9
commit 84b68006ba
13 changed files with 163 additions and 25 deletions
+7 -3
View File
@@ -23,8 +23,11 @@
#pragma once
#include <libsolidity/ast/ASTForward.h>
#include <libsolidity/ast/ASTEnums.h>
#include <libsolidity/ast/ExperimentalFeatures.h>
#include <boost/optional.hpp>
#include <map>
#include <memory>
#include <set>
@@ -176,9 +179,10 @@ struct ExpressionAnnotation: ASTAnnotation
bool isLValue = false;
/// Whether the expression is used in a context where the LValue is actually required.
bool lValueRequested = false;
/// Types of arguments if the expression is a function that is called - used
/// for overload resolution.
std::shared_ptr<std::vector<TypePointer>> argumentTypes;
/// Types and - if given - names of arguments if the expr. is a function
/// that is called, used for overload resoultion
boost::optional<FuncCallArguments> arguments;
};
struct IdentifierAnnotation: ExpressionAnnotation