mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Corrected indentation.
This commit is contained in:
parent
0a1ebe4f51
commit
c3faa433ef
4
AST.h
4
AST.h
@ -200,8 +200,8 @@ public:
|
||||
class Block : public Statement
|
||||
{
|
||||
public:
|
||||
explicit Block(Location const& _location)
|
||||
: Statement(_location)
|
||||
explicit Block(Location const& _location, vecptr<Statement> const& _statements)
|
||||
: Statement(_location), m_statements(_statements)
|
||||
{}
|
||||
private:
|
||||
vecptr<Statement> m_statements;
|
||||
|
22
Parser.cpp
22
Parser.cpp
@ -231,15 +231,33 @@ ptr<ParameterList> Parser::parseParameterList()
|
||||
|
||||
ptr<Block> Parser::parseBlock()
|
||||
{
|
||||
|
||||
ASTNodeFactory nodeFactory(*this);
|
||||
expectToken(Token::LBRACE);
|
||||
vecptr<Statement> statements;
|
||||
while (m_scanner->getCurrentToken() != Token::RBRACE) {
|
||||
m_scanner->next();
|
||||
// @todo
|
||||
statements.push_back(parseStatement());
|
||||
}
|
||||
nodeFactory.markEndPosition();
|
||||
expectToken(Token::RBRACE);
|
||||
return nodeFactory.createNode<Block>();
|
||||
return nodeFactory.createNode<Block>(statements);
|
||||
}
|
||||
|
||||
ptr<Statement> Parser::parseStatement()
|
||||
{
|
||||
|
||||
switch (m_scanner->getCurrentToken()) {
|
||||
case Token::IF:
|
||||
return parseIfStatement();
|
||||
case Token::WHILE:
|
||||
return parseWhileStatement();
|
||||
case Token::LBRACE:
|
||||
return parseBlock();
|
||||
// starting from here, all statements must be terminated by a semicolon
|
||||
case Token::CONTINUE: // all following
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
void Parser::expectToken(Token::Value _value)
|
||||
|
Loading…
Reference in New Issue
Block a user