mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Split Instruction and FunctionalInstruction in Julia
This commit is contained in:
@@ -125,11 +125,11 @@ void CodeTransform::operator()(FunctionCall const& _call)
|
||||
void CodeTransform::operator()(FunctionalInstruction const& _instruction)
|
||||
{
|
||||
if (m_evm15 && (
|
||||
_instruction.instruction.instruction == solidity::Instruction::JUMP ||
|
||||
_instruction.instruction.instruction == solidity::Instruction::JUMPI
|
||||
_instruction.instruction == solidity::Instruction::JUMP ||
|
||||
_instruction.instruction == solidity::Instruction::JUMPI
|
||||
))
|
||||
{
|
||||
bool const isJumpI = _instruction.instruction.instruction == solidity::Instruction::JUMPI;
|
||||
bool const isJumpI = _instruction.instruction == solidity::Instruction::JUMPI;
|
||||
if (isJumpI)
|
||||
{
|
||||
solAssert(_instruction.arguments.size() == 2, "");
|
||||
@@ -150,7 +150,8 @@ void CodeTransform::operator()(FunctionalInstruction const& _instruction)
|
||||
{
|
||||
for (auto const& arg: _instruction.arguments | boost::adaptors::reversed)
|
||||
visitExpression(arg);
|
||||
(*this)(_instruction.instruction);
|
||||
m_assembly.setSourceLocation(_instruction.location);
|
||||
m_assembly.appendInstruction(_instruction.instruction);
|
||||
}
|
||||
checkStackHeight(&_instruction);
|
||||
}
|
||||
|
||||
@@ -31,9 +31,10 @@ using namespace dev;
|
||||
using namespace dev::julia;
|
||||
|
||||
|
||||
Statement ASTCopier::operator()(Instruction const& _instruction)
|
||||
Statement ASTCopier::operator()(Instruction const&)
|
||||
{
|
||||
return _instruction;
|
||||
solAssert(false, "Invalid operation.");
|
||||
return {};
|
||||
}
|
||||
|
||||
Statement ASTCopier::operator()(VariableDeclaration const& _varDecl)
|
||||
|
||||
Reference in New Issue
Block a user