IRGenerationContext::internalDispatch(): Don't use asCallableFunction() to get internal function type

This commit is contained in:
Kamil Śliwak 2020-05-19 18:00:50 +02:00
parent a05e8c1a0e
commit b0ae85b6b0

View File

@ -153,7 +153,7 @@ string IRGenerationContext::internalDispatch(size_t _in, size_t _out)
for (auto const& contract: mostDerivedContract().annotation().linearizedBaseContracts) for (auto const& contract: mostDerivedContract().annotation().linearizedBaseContracts)
for (FunctionDefinition const* function: contract->definedFunctions()) for (FunctionDefinition const* function: contract->definedFunctions())
if ( if (
FunctionType const* functionType = TypeProvider::function(*function)->asCallableFunction(false); FunctionType const* functionType = TypeProvider::function(*function, FunctionType::Kind::Internal);
!function->isConstructor() && !function->isConstructor() &&
TupleType(functionType->parameterTypes()).sizeOnStack() == _in && TupleType(functionType->parameterTypes()).sizeOnStack() == _in &&
TupleType(functionType->returnParameterTypes()).sizeOnStack() == _out TupleType(functionType->returnParameterTypes()).sizeOnStack() == _out