mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
C++ namespace cleanup (except tests).
This commit is contained in:
committed by
Daniel Kirchner
parent
8385256bdc
commit
6b23412fae
@@ -39,10 +39,11 @@
|
||||
#include <utility>
|
||||
|
||||
using namespace std;
|
||||
using namespace langutil;
|
||||
using namespace dev;
|
||||
using namespace dev::eth;
|
||||
using namespace dev::solidity;
|
||||
using namespace solidity;
|
||||
using namespace solidity::evmasm;
|
||||
using namespace solidity::frontend;
|
||||
using namespace solidity::langutil;
|
||||
using namespace solidity::util;
|
||||
|
||||
|
||||
void ExpressionCompiler::compile(Expression const& _expression)
|
||||
@@ -82,7 +83,7 @@ void ExpressionCompiler::appendConstStateVariableAccessor(VariableDeclaration co
|
||||
|
||||
// append return
|
||||
m_context << dupInstruction(_varDecl.annotation().type->sizeOnStack() + 1);
|
||||
m_context.appendJump(eth::AssemblyItem::JumpType::OutOfFunction);
|
||||
m_context.appendJump(evmasm::AssemblyItem::JumpType::OutOfFunction);
|
||||
}
|
||||
|
||||
void ExpressionCompiler::appendStateVariableAccessor(VariableDeclaration const& _varDecl)
|
||||
@@ -216,16 +217,16 @@ void ExpressionCompiler::appendStateVariableAccessor(VariableDeclaration const&
|
||||
errinfo_comment("Stack too deep.")
|
||||
);
|
||||
m_context << dupInstruction(retSizeOnStack + 1);
|
||||
m_context.appendJump(eth::AssemblyItem::JumpType::OutOfFunction);
|
||||
m_context.appendJump(evmasm::AssemblyItem::JumpType::OutOfFunction);
|
||||
}
|
||||
|
||||
bool ExpressionCompiler::visit(Conditional const& _condition)
|
||||
{
|
||||
CompilerContext::LocationSetter locationSetter(m_context, _condition);
|
||||
_condition.condition().accept(*this);
|
||||
eth::AssemblyItem trueTag = m_context.appendConditionalJump();
|
||||
evmasm::AssemblyItem trueTag = m_context.appendConditionalJump();
|
||||
acceptAndConvert(_condition.falseExpression(), *_condition.annotation().type);
|
||||
eth::AssemblyItem endTag = m_context.appendJumpToNew();
|
||||
evmasm::AssemblyItem endTag = m_context.appendJumpToNew();
|
||||
m_context << trueTag;
|
||||
int offset = _condition.annotation().type->sizeOnStack();
|
||||
m_context.adjustStackOffset(-offset);
|
||||
@@ -554,7 +555,7 @@ bool ExpressionCompiler::visit(FunctionCall const& _functionCall)
|
||||
// Calling convention: Caller pushes return address and arguments
|
||||
// Callee removes them and pushes return values
|
||||
|
||||
eth::AssemblyItem returnLabel = m_context.pushNewTag();
|
||||
evmasm::AssemblyItem returnLabel = m_context.pushNewTag();
|
||||
for (unsigned i = 0; i < arguments.size(); ++i)
|
||||
acceptAndConvert(*arguments[i], *function.parameterTypes()[i]);
|
||||
|
||||
@@ -593,7 +594,7 @@ bool ExpressionCompiler::visit(FunctionCall const& _functionCall)
|
||||
// Extract the runtime part.
|
||||
m_context << ((u256(1) << 32) - 1) << Instruction::AND;
|
||||
|
||||
m_context.appendJump(eth::AssemblyItem::JumpType::IntoFunction);
|
||||
m_context.appendJump(evmasm::AssemblyItem::JumpType::IntoFunction);
|
||||
m_context << returnLabel;
|
||||
|
||||
unsigned returnParametersSize = CompilerUtils::sizeOnStack(function.returnParameterTypes());
|
||||
@@ -683,7 +684,7 @@ bool ExpressionCompiler::visit(FunctionCall const& _functionCall)
|
||||
_functionCall.expression().accept(*this);
|
||||
// Provide the gas stipend manually at first because we may send zero ether.
|
||||
// Will be zeroed if we send more than zero ether.
|
||||
m_context << u256(eth::GasCosts::callStipend);
|
||||
m_context << u256(evmasm::GasCosts::callStipend);
|
||||
acceptAndConvert(*arguments.front(), *function.parameterTypes().front(), true);
|
||||
// gas <- gas * !value
|
||||
m_context << Instruction::SWAP1 << Instruction::DUP2;
|
||||
@@ -819,7 +820,7 @@ bool ExpressionCompiler::visit(FunctionCall const& _functionCall)
|
||||
}
|
||||
if (!event.isAnonymous())
|
||||
{
|
||||
m_context << u256(h256::Arith(dev::keccak256(function.externalSignature())));
|
||||
m_context << u256(h256::Arith(keccak256(function.externalSignature())));
|
||||
++numIndexed;
|
||||
}
|
||||
solAssert(numIndexed <= 4, "Too many indexed arguments.");
|
||||
@@ -1109,7 +1110,7 @@ bool ExpressionCompiler::visit(FunctionCall const& _functionCall)
|
||||
// hash the signature
|
||||
if (auto const* stringType = dynamic_cast<StringLiteralType const*>(selectorType))
|
||||
{
|
||||
FixedHash<4> hash(dev::keccak256(stringType->value()));
|
||||
FixedHash<4> hash(keccak256(stringType->value()));
|
||||
m_context << (u256(FixedHash<4>::Arith(hash)) << (256 - 32));
|
||||
dataOnStack = TypeProvider::fixedBytes(4);
|
||||
}
|
||||
@@ -1836,7 +1837,7 @@ void ExpressionCompiler::appendAndOrOperatorCode(BinaryOperation const& _binaryO
|
||||
m_context << Instruction::DUP1;
|
||||
if (c_op == Token::And)
|
||||
m_context << Instruction::ISZERO;
|
||||
eth::AssemblyItem endLabel = m_context.appendConditionalJump();
|
||||
evmasm::AssemblyItem endLabel = m_context.appendConditionalJump();
|
||||
m_context << Instruction::POP;
|
||||
_binaryOperation.rightExpression().accept(*this);
|
||||
m_context << endLabel;
|
||||
@@ -2234,11 +2235,11 @@ void ExpressionCompiler::appendExternalFunctionCall(
|
||||
{
|
||||
// send all gas except the amount needed to execute "SUB" and "CALL"
|
||||
// @todo this retains too much gas for now, needs to be fine-tuned.
|
||||
u256 gasNeededByCaller = eth::GasCosts::callGas(m_context.evmVersion()) + 10;
|
||||
u256 gasNeededByCaller = evmasm::GasCosts::callGas(m_context.evmVersion()) + 10;
|
||||
if (_functionType.valueSet())
|
||||
gasNeededByCaller += eth::GasCosts::callValueTransferGas;
|
||||
gasNeededByCaller += evmasm::GasCosts::callValueTransferGas;
|
||||
if (!existenceChecked)
|
||||
gasNeededByCaller += eth::GasCosts::callNewAccountGas; // we never know
|
||||
gasNeededByCaller += evmasm::GasCosts::callNewAccountGas; // we never know
|
||||
m_context << gasNeededByCaller << Instruction::GAS << Instruction::SUB;
|
||||
}
|
||||
// Order is important here, STATICCALL might overlap with DELEGATECALL.
|
||||
@@ -2255,7 +2256,7 @@ void ExpressionCompiler::appendExternalFunctionCall(
|
||||
(_functionType.gasSet() ? 1 : 0) +
|
||||
(!_functionType.isBareCall() ? 1 : 0);
|
||||
|
||||
eth::AssemblyItem endTag = m_context.newTag();
|
||||
evmasm::AssemblyItem endTag = m_context.newTag();
|
||||
|
||||
if (!returnSuccessConditionAndReturndata && !_tryCall)
|
||||
{
|
||||
@@ -2326,7 +2327,7 @@ void ExpressionCompiler::appendExternalFunctionCall(
|
||||
solAssert(retSize > 0, "");
|
||||
// Always use the actual return length, and not our calculated expected length, if returndatacopy is supported.
|
||||
// This ensures it can catch badly formatted input from external calls.
|
||||
m_context << (haveReturndatacopy ? eth::AssemblyItem(Instruction::RETURNDATASIZE) : u256(retSize));
|
||||
m_context << (haveReturndatacopy ? evmasm::AssemblyItem(Instruction::RETURNDATASIZE) : u256(retSize));
|
||||
// Stack: return_data_start return_data_size
|
||||
if (needToUpdateFreeMemoryPtr)
|
||||
m_context.appendInlineAssembly(R"({
|
||||
|
||||
Reference in New Issue
Block a user