Browse Source

changed the position of 'anonymous' keyword: event <name>() anonymous.

- style changes
cl-refactor
Liana Husikyan 10 years ago
parent
commit
7fe63e36e9
  1. 17
      libsolidity/AST.h
  2. 2
      libsolidity/ExpressionCompiler.cpp
  3. 12
      libsolidity/Parser.cpp
  4. 2
      test/SolidityEndToEndTest.cpp

17
libsolidity/AST.h

@ -553,12 +553,17 @@ private:
class EventDefinition: public Declaration, public VariableScope, public Documented class EventDefinition: public Declaration, public VariableScope, public Documented
{ {
public: public:
EventDefinition(SourceLocation const& _location, EventDefinition(
ASTPointer<ASTString> const& _name, SourceLocation const& _location,
ASTPointer<ASTString> const& _documentation, ASTPointer<ASTString> const& _name,
ASTPointer<ParameterList> const& _parameters, ASTPointer<ASTString> const& _documentation,
bool _anonymous = false): ASTPointer<ParameterList> const& _parameters,
Declaration(_location, _name), Documented(_documentation), m_parameters(_parameters) , m_anonymous(_anonymous){} bool _anonymous = false
):
Declaration(_location, _name),
Documented(_documentation),
m_parameters(_parameters),
m_anonymous(_anonymous){}
virtual void accept(ASTVisitor& _visitor) override; virtual void accept(ASTVisitor& _visitor) override;
virtual void accept(ASTConstVisitor& _visitor) const override; virtual void accept(ASTConstVisitor& _visitor) const override;

2
libsolidity/ExpressionCompiler.cpp

@ -547,7 +547,7 @@ bool ExpressionCompiler::visit(FunctionCall const& _functionCall)
m_context << u256(h256::Arith(dev::sha3(function.getCanonicalSignature(event.getName())))); m_context << u256(h256::Arith(dev::sha3(function.getCanonicalSignature(event.getName()))));
++numIndexed; ++numIndexed;
} }
solAssert(numIndexed <= 4 - (event.IsAnonymous() ? 1 : 0), "Too many indexed arguments."); solAssert(numIndexed <= 4, "Too many indexed arguments.");
// Copy all non-indexed arguments to memory (data) // Copy all non-indexed arguments to memory (data)
m_context << u256(0); m_context << u256(0);
for (unsigned arg = 0; arg < arguments.size(); ++arg) for (unsigned arg = 0; arg < arguments.size(); ++arg)

12
libsolidity/Parser.cpp

@ -388,18 +388,18 @@ ASTPointer<EventDefinition> Parser::parseEventDefinition()
docstring = make_shared<ASTString>(m_scanner->getCurrentCommentLiteral()); docstring = make_shared<ASTString>(m_scanner->getCurrentCommentLiteral());
expectToken(Token::Event); expectToken(Token::Event);
bool anonymous = false;
if (m_scanner->getCurrentToken() == Token::Anonymous)
{
anonymous = true;
m_scanner->next();
}
ASTPointer<ASTString> name(expectIdentifierToken()); ASTPointer<ASTString> name(expectIdentifierToken());
ASTPointer<ParameterList> parameters; ASTPointer<ParameterList> parameters;
if (m_scanner->getCurrentToken() == Token::LParen) if (m_scanner->getCurrentToken() == Token::LParen)
parameters = parseParameterList(true, true); parameters = parseParameterList(true, true);
else else
parameters = createEmptyParameterList(); parameters = createEmptyParameterList();
bool anonymous = false;
if (m_scanner->getCurrentToken() == Token::Anonymous)
{
anonymous = true;
m_scanner->next();
}
nodeFactory.markEndPosition(); nodeFactory.markEndPosition();
expectToken(Token::Semicolon); expectToken(Token::Semicolon);
return nodeFactory.createNode<EventDefinition>(name, docstring, parameters, anonymous); return nodeFactory.createNode<EventDefinition>(name, docstring, parameters, anonymous);

2
test/SolidityEndToEndTest.cpp

@ -2206,7 +2206,7 @@ BOOST_AUTO_TEST_CASE(event_anonymous)
{ {
char const* sourceCode = R"( char const* sourceCode = R"(
contract ClientReceipt { contract ClientReceipt {
event anonymous Deposit(); event Deposit() anonymous;
function deposit() { function deposit() {
Deposit(); Deposit();
} }

Loading…
Cancel
Save