mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Rename Assignment to StackAssignment
This commit is contained in:
parent
e9b106cd0e
commit
f15d6ea45f
@ -160,7 +160,7 @@ bool AsmAnalyzer::operator()(FunctionalInstruction const& _instr)
|
||||
return success;
|
||||
}
|
||||
|
||||
bool AsmAnalyzer::operator()(assembly::Assignment const& _assignment)
|
||||
bool AsmAnalyzer::operator()(assembly::StackAssignment const& _assignment)
|
||||
{
|
||||
bool success = checkAssignment(_assignment.variableName, size_t(-1));
|
||||
m_info.stackHeightInfo[&_assignment] = m_stackHeight;
|
||||
|
@ -44,7 +44,7 @@ struct FunctionalAssignment;
|
||||
struct VariableDeclaration;
|
||||
struct Instruction;
|
||||
struct Identifier;
|
||||
struct Assignment;
|
||||
struct StackAssignment;
|
||||
struct FunctionDefinition;
|
||||
struct FunctionCall;
|
||||
|
||||
@ -73,7 +73,7 @@ public:
|
||||
bool operator()(assembly::Identifier const&);
|
||||
bool operator()(assembly::FunctionalInstruction const& _functionalInstruction);
|
||||
bool operator()(assembly::Label const& _label);
|
||||
bool operator()(assembly::Assignment const&);
|
||||
bool operator()(assembly::StackAssignment const&);
|
||||
bool operator()(assembly::FunctionalAssignment const& _functionalAssignment);
|
||||
bool operator()(assembly::VariableDeclaration const& _variableDeclaration);
|
||||
bool operator()(assembly::FunctionDefinition const& _functionDefinition);
|
||||
|
@ -40,13 +40,13 @@ struct FunctionalAssignment;
|
||||
struct VariableDeclaration;
|
||||
struct Instruction;
|
||||
struct Identifier;
|
||||
struct Assignment;
|
||||
struct StackAssignment;
|
||||
struct FunctionDefinition;
|
||||
struct FunctionCall;
|
||||
|
||||
struct Scope;
|
||||
|
||||
using Statement = boost::variant<Instruction, Literal, Label, Assignment, Identifier, FunctionalAssignment, FunctionCall, FunctionalInstruction, VariableDeclaration, FunctionDefinition, Block>;
|
||||
using Statement = boost::variant<Instruction, Literal, Label, StackAssignment, Identifier, FunctionalAssignment, FunctionCall, FunctionalInstruction, VariableDeclaration, FunctionDefinition, Block>;
|
||||
|
||||
struct AsmAnalysisInfo
|
||||
{
|
||||
|
@ -233,7 +233,7 @@ public:
|
||||
m_assembly.appendLabel(*label.id);
|
||||
checkStackHeight(&_label);
|
||||
}
|
||||
void operator()(assembly::Assignment const& _assignment)
|
||||
void operator()(assembly::StackAssignment const& _assignment)
|
||||
{
|
||||
m_assembly.setSourceLocation(_assignment.location);
|
||||
generateAssignment(_assignment.variableName, _assignment.location);
|
||||
|
@ -50,14 +50,14 @@ struct Identifier { SourceLocation location; std::string name; };
|
||||
struct FunctionalInstruction;
|
||||
/// Jump label ("name:")
|
||||
struct Label { SourceLocation location; std::string name; };
|
||||
/// Assignemnt (":= x", moves stack top into x, potentially multiple slots)
|
||||
struct Assignment { SourceLocation location; Identifier variableName; };
|
||||
/// Assignment from stack (":= x", moves stack top into x, potentially multiple slots)
|
||||
struct StackAssignment { SourceLocation location; Identifier variableName; };
|
||||
struct FunctionalAssignment;
|
||||
struct VariableDeclaration;
|
||||
struct FunctionDefinition;
|
||||
struct FunctionCall;
|
||||
struct Block;
|
||||
using Statement = boost::variant<Instruction, Literal, Label, Assignment, Identifier, FunctionalAssignment, FunctionCall, FunctionalInstruction, VariableDeclaration, FunctionDefinition, Block>;
|
||||
using Statement = boost::variant<Instruction, Literal, Label, StackAssignment, Identifier, FunctionalAssignment, FunctionCall, FunctionalInstruction, VariableDeclaration, FunctionDefinition, Block>;
|
||||
/// Functional assignment ("x := mload(20:u256)", expects push-1-expression on the right hand
|
||||
/// side and requires x to occupy exactly one stack slot.
|
||||
struct FunctionalAssignment { SourceLocation location; Identifier variableName; std::shared_ptr<Statement> value; };
|
||||
|
@ -71,7 +71,7 @@ assembly::Statement Parser::parseStatement()
|
||||
{
|
||||
if (m_julia)
|
||||
break;
|
||||
assembly::Assignment assignment = createWithLocation<assembly::Assignment>();
|
||||
assembly::StackAssignment assignment = createWithLocation<assembly::StackAssignment>();
|
||||
m_scanner->next();
|
||||
expectToken(Token::Colon);
|
||||
assignment.variableName.location = location();
|
||||
|
@ -108,7 +108,7 @@ string AsmPrinter::operator()(assembly::Label const& _label)
|
||||
return _label.name + ":";
|
||||
}
|
||||
|
||||
string AsmPrinter::operator()(assembly::Assignment const& _assignment)
|
||||
string AsmPrinter::operator()(assembly::StackAssignment const& _assignment)
|
||||
{
|
||||
solAssert(!m_julia, "");
|
||||
return "=: " + (*this)(_assignment.variableName);
|
||||
|
@ -35,7 +35,7 @@ struct Literal;
|
||||
struct Identifier;
|
||||
struct FunctionalInstruction;
|
||||
struct Label;
|
||||
struct Assignment;
|
||||
struct StackAssignment;
|
||||
struct FunctionalAssignment;
|
||||
struct VariableDeclaration;
|
||||
struct FunctionDefinition;
|
||||
@ -52,7 +52,7 @@ public:
|
||||
std::string operator()(assembly::Identifier const& _identifier);
|
||||
std::string operator()(assembly::FunctionalInstruction const& _functionalInstruction);
|
||||
std::string operator()(assembly::Label const& _label);
|
||||
std::string operator()(assembly::Assignment const& _assignment);
|
||||
std::string operator()(assembly::StackAssignment const& _assignment);
|
||||
std::string operator()(assembly::FunctionalAssignment const& _functionalAssignment);
|
||||
std::string operator()(assembly::VariableDeclaration const& _variableDeclaration);
|
||||
std::string operator()(assembly::FunctionDefinition const& _functionDefinition);
|
||||
|
@ -43,7 +43,7 @@ struct FunctionalAssignment;
|
||||
struct VariableDeclaration;
|
||||
struct Instruction;
|
||||
struct Identifier;
|
||||
struct Assignment;
|
||||
struct StackAssignment;
|
||||
struct FunctionDefinition;
|
||||
struct FunctionCall;
|
||||
|
||||
@ -64,7 +64,7 @@ public:
|
||||
bool operator()(assembly::Identifier const&) { return true; }
|
||||
bool operator()(assembly::FunctionalInstruction const&) { return true; }
|
||||
bool operator()(assembly::Label const& _label);
|
||||
bool operator()(assembly::Assignment const&) { return true; }
|
||||
bool operator()(assembly::StackAssignment const&) { return true; }
|
||||
bool operator()(assembly::FunctionalAssignment const&) { return true; }
|
||||
bool operator()(assembly::VariableDeclaration const& _variableDeclaration);
|
||||
bool operator()(assembly::FunctionDefinition const& _functionDefinition);
|
||||
|
Loading…
Reference in New Issue
Block a user