Use fully qualified name of super in message

This commit is contained in:
Federico Bond authored and Alex Beregszaszi committed 2017-08-11 22:45:25 +01:00
1 parent a5ceaac8df
commit ff5bb54e3c
3 files changed
+13 -4

No files matched your search

+9
View File
@@ -371,6 +371,15 @@ string FunctionDefinition::externalSignature() const
return FunctionType(*this).externalSignature();
}
string FunctionDefinition::fullyQualifiedName() const
{
auto const* contract = dynamic_cast<ContractDefinition const*>(scope());
solAssert(contract, "Enclosing scope of function definition was not set.");
auto fname = name().empty() ? "<fallback>" : name();
return sourceUnitName() + ":" + contract->name() + "." + fname;
}
FunctionDefinitionAnnotation& FunctionDefinition::annotation() const
{
if (!m_annotation)
+1
View File
@@ -613,6 +613,7 @@ public:
std::vector<ASTPointer<ModifierInvocation>> const& modifiers() const { return m_functionModifiers; }
std::vector<ASTPointer<VariableDeclaration>> const& returnParameters() const { return m_returnParameters->parameters(); }
Block const& body() const { solAssert(m_body, ""); return *m_body; }
std::string fullyQualifiedName() const;
virtual bool isVisibleInContract() const override
{
return Declaration::isVisibleInContract() && !isConstructor() && !isFallback();