mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
fix
This commit is contained in:
1 parent
79177de80b
commit
7eb162c0df
3 files changed
+60
-35
No files matched your search
@@ -84,6 +84,9 @@ bool NameAndTypeResolver::resolveNamesAndTypes(ContractDefinition& _contract)
|
||||
importInheritedScope(*base);
|
||||
}
|
||||
|
||||
if (!success)
|
||||
return false;
|
||||
|
||||
for (ASTPointer<StructDefinition> const& structDef: _contract.definedStructs())
|
||||
if (!resolver.resolve(*structDef))
|
||||
success = false;
|
||||
@@ -97,6 +100,8 @@ bool NameAndTypeResolver::resolveNamesAndTypes(ContractDefinition& _contract)
|
||||
if (!resolver.resolve(*event))
|
||||
success = false;
|
||||
// these can contain code, only resolve parameters for now
|
||||
if (!success)
|
||||
return false;
|
||||
for (ASTPointer<ModifierDefinition> const& modifier: _contract.functionModifiers())
|
||||
{
|
||||
m_currentScope = &m_scopes[modifier.get()];
|
||||
@@ -104,19 +109,24 @@ bool NameAndTypeResolver::resolveNamesAndTypes(ContractDefinition& _contract)
|
||||
if (!resolver.resolve(*modifier))
|
||||
success = false;
|
||||
}
|
||||
|
||||
if (!success)
|
||||
return false;
|
||||
for (ASTPointer<FunctionDefinition> const& function: _contract.definedFunctions())
|
||||
{
|
||||
m_currentScope = &m_scopes[function.get()];
|
||||
ReferencesResolver referencesResolver(
|
||||
if (! ReferencesResolver(
|
||||
m_errors,
|
||||
*this,
|
||||
&_contract,
|
||||
function->returnParameterList().get()
|
||||
);
|
||||
if (!resolver.resolve(*function))
|
||||
).resolve(*function))
|
||||
success = false;
|
||||
}
|
||||
|
||||
if (!success)
|
||||
return false;
|
||||
|
||||
m_currentScope = &m_scopes[&_contract];
|
||||
|
||||
// now resolve references inside the code
|
||||
@@ -127,17 +137,19 @@ bool NameAndTypeResolver::resolveNamesAndTypes(ContractDefinition& _contract)
|
||||
if (!resolver.resolve(*modifier))
|
||||
success = false;
|
||||
}
|
||||
|
||||
if (!success)
|
||||
return false;
|
||||
for (ASTPointer<FunctionDefinition> const& function: _contract.definedFunctions())
|
||||
{
|
||||
m_currentScope = &m_scopes[function.get()];
|
||||
ReferencesResolver referencesResolver(
|
||||
if (! ReferencesResolver(
|
||||
m_errors,
|
||||
*this,
|
||||
&_contract,
|
||||
function->returnParameterList().get(),
|
||||
true
|
||||
);
|
||||
if (!resolver.resolve(*function))
|
||||
).resolve(*function))
|
||||
success = false;
|
||||
}
|
||||
if (!success)
|
||||
|
||||
Reference in new issue
Block a user