mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
LValues and state variables of value type.
This commit is contained in:
@@ -39,7 +39,7 @@ string IRGenerationContext::addLocalVariable(VariableDeclaration const& _varDecl
|
||||
return m_localVariables[&_varDecl] = "vloc_" + _varDecl.name() + "_" + to_string(_varDecl.id());
|
||||
}
|
||||
|
||||
string IRGenerationContext::variableName(VariableDeclaration const& _varDecl)
|
||||
string IRGenerationContext::localVariableName(VariableDeclaration const& _varDecl)
|
||||
{
|
||||
solAssert(
|
||||
m_localVariables.count(&_varDecl),
|
||||
@@ -48,6 +48,15 @@ string IRGenerationContext::variableName(VariableDeclaration const& _varDecl)
|
||||
return m_localVariables[&_varDecl];
|
||||
}
|
||||
|
||||
void IRGenerationContext::addStateVariable(
|
||||
VariableDeclaration const& _declaration,
|
||||
u256 _storageOffset,
|
||||
unsigned _byteOffset
|
||||
)
|
||||
{
|
||||
m_stateVariables[&_declaration] = make_pair(move(_storageOffset), _byteOffset);
|
||||
}
|
||||
|
||||
string IRGenerationContext::functionName(FunctionDefinition const& _function)
|
||||
{
|
||||
// @TODO previously, we had to distinguish creation context and runtime context,
|
||||
@@ -128,3 +137,8 @@ string IRGenerationContext::internalDispatch(size_t _in, size_t _out)
|
||||
return templ.render();
|
||||
});
|
||||
}
|
||||
|
||||
YulUtilFunctions IRGenerationContext::utils()
|
||||
{
|
||||
return YulUtilFunctions(m_evmVersion, m_functions);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user