mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Review changes.
This commit is contained in:
parent
e2b21e1c96
commit
69413ae32a
@ -60,8 +60,9 @@ public:
|
||||
/// Append a label reference.
|
||||
virtual void appendLabelReference(size_t _labelId) = 0;
|
||||
/// Generate a new unique label.
|
||||
virtual size_t newLabel() = 0;
|
||||
virtual size_t newLabelId() = 0;
|
||||
/// Append a reference to a to-be-linked symobl.
|
||||
/// Currently, we assume that the value is always a 20 byte number.
|
||||
virtual void appendLinkerSymbol(std::string const& _name) = 0;
|
||||
};
|
||||
|
||||
|
@ -87,7 +87,7 @@ public:
|
||||
{
|
||||
m_assembly.append(eth::AssemblyItem(eth::PushTag, _labelId));
|
||||
}
|
||||
virtual size_t newLabel() override
|
||||
virtual size_t newLabelId() override
|
||||
{
|
||||
return assemblyTagToIdentifier(m_assembly.newTag());
|
||||
}
|
||||
@ -241,7 +241,7 @@ public:
|
||||
}
|
||||
void operator()(FunctionalAssignment const& _assignment)
|
||||
{
|
||||
size_t height = m_assembly.stackHeight();
|
||||
int height = m_assembly.stackHeight();
|
||||
boost::apply_visitor(*this, *_assignment.value);
|
||||
expectDeposit(1, height);
|
||||
m_assembly.setSourceLocation(_assignment.location);
|
||||
@ -250,7 +250,7 @@ public:
|
||||
}
|
||||
void operator()(assembly::VariableDeclaration const& _varDecl)
|
||||
{
|
||||
size_t height = m_assembly.stackHeight();
|
||||
int height = m_assembly.stackHeight();
|
||||
boost::apply_visitor(*this, *_varDecl.value);
|
||||
expectDeposit(1, height);
|
||||
auto& var = boost::get<Scope::Variable>(m_scope.identifiers.at(_varDecl.variable.name));
|
||||
@ -291,9 +291,9 @@ private:
|
||||
/// Determines the stack height difference to the given variables. Automatically generates
|
||||
/// errors if it is not yet in scope or the height difference is too large. Returns 0 on
|
||||
/// errors and the (positive) stack height difference otherwise.
|
||||
size_t variableHeightDiff(Scope::Variable const& _var, SourceLocation const& _location, bool _forSwap)
|
||||
int variableHeightDiff(Scope::Variable const& _var, SourceLocation const& _location, bool _forSwap)
|
||||
{
|
||||
size_t heightDiff = m_assembly.stackHeight() - _var.stackHeight;
|
||||
int heightDiff = m_assembly.stackHeight() - _var.stackHeight;
|
||||
if (heightDiff <= (_forSwap ? 1 : 0) || heightDiff > (_forSwap ? 17 : 16))
|
||||
{
|
||||
//@TODO move this to analysis phase.
|
||||
@ -326,7 +326,7 @@ private:
|
||||
void assignLabelIdIfUnset(Scope::Label& _label)
|
||||
{
|
||||
if (!_label.id)
|
||||
_label.id.reset(m_assembly.newLabel());
|
||||
_label.id.reset(m_assembly.newLabelId());
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user