style fixes

This commit is contained in:
Liana Husikyan 2015-03-27 17:07:32 +01:00
parent 4227be6e12
commit 37a0234c4a
2 changed files with 11 additions and 6 deletions

View File

@ -337,7 +337,7 @@ void FunctionDefinition::checkTypeRequirements()
{
if (!var->getType()->canLiveOutsideStorage())
BOOST_THROW_EXCEPTION(var->createTypeError("Type is required to live outside storage."));
if (!(var->getType()->externalType()) && getVisibility() >= Visibility::Public)
if (getVisibility() >= Visibility::Public && !(var->getType()->externalType()))
BOOST_THROW_EXCEPTION(var->createTypeError("Internal type is not allowed for function with external visibility"));
}
for (ASTPointer<ModifierInvocation> const& modifier: m_functionModifiers)

View File

@ -1103,11 +1103,16 @@ TypePointer FunctionType::externalType() const
TypePointers paramTypes;
TypePointers retParamTypes;
for (auto it = m_parameterTypes.cbegin(); it != m_parameterTypes.cend(); ++it)
paramTypes.push_back((*it)->externalType());
for (auto it = m_returnParameterTypes.cbegin(); it != m_returnParameterTypes.cend(); ++it)
retParamTypes.push_back((*it)->externalType());
for(auto type: m_parameterTypes)
{
solAssert(!!type->externalType(), "To be included in external type of the function, the argument should have external type.");
paramTypes.push_back(type->externalType());
}
for(auto param: m_returnParameterTypes)
{
solAssert(!!param->externalType(), "To be included in external type of the function, the argument should have external type.");
retParamTypes.push_back(param->externalType());
}
return make_shared<FunctionType>(paramTypes, retParamTypes, m_location, m_arbitraryParameters);
}