Code generator for external function calls.

This commit is contained in:
chriseth
2019-05-09 18:55:12 +02:00
parent 8e3d394803
commit e047c8d4d9
6 changed files with 249 additions and 3 deletions
@@ -101,6 +101,14 @@ string IRGenerationContext::variable(Expression const& _expression)
return YulUtilFunctions::suffixedVariableNameList(move(var) + "_", 1, 1 + size);
}
string IRGenerationContext::variablePart(Expression const& _expression, size_t _part)
{
size_t numVars = _expression.annotation().type->sizeOnStack();
solAssert(numVars > 1, "");
solAssert(1 <= _part && _part <= numVars, "");
return "expr_" + to_string(_expression.id()) + "_" + to_string(_part);
}
string IRGenerationContext::internalDispatch(size_t _in, size_t _out)
{
// TODO can we limit the generated functions to only those visited