mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Fix scoping of event arguments.
This commit is contained in:
parent
6c8b5cabdc
commit
4e440b6e5d
2
AST.h
2
AST.h
@ -471,7 +471,7 @@ private:
|
|||||||
/**
|
/**
|
||||||
* Definition of a (loggable) event.
|
* Definition of a (loggable) event.
|
||||||
*/
|
*/
|
||||||
class EventDefinition: public Declaration, public Documented
|
class EventDefinition: public Declaration, public VariableScope, public Documented
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
EventDefinition(Location const& _location,
|
EventDefinition(Location const& _location,
|
||||||
|
@ -263,10 +263,15 @@ bool DeclarationRegistrationHelper::visit(VariableDeclaration& _declaration)
|
|||||||
|
|
||||||
bool DeclarationRegistrationHelper::visit(EventDefinition& _event)
|
bool DeclarationRegistrationHelper::visit(EventDefinition& _event)
|
||||||
{
|
{
|
||||||
registerDeclaration(_event, false);
|
registerDeclaration(_event, true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void DeclarationRegistrationHelper::endVisit(EventDefinition&)
|
||||||
|
{
|
||||||
|
closeCurrentScope();
|
||||||
|
}
|
||||||
|
|
||||||
void DeclarationRegistrationHelper::enterNewSubScope(Declaration const& _declaration)
|
void DeclarationRegistrationHelper::enterNewSubScope(Declaration const& _declaration)
|
||||||
{
|
{
|
||||||
map<ASTNode const*, DeclarationContainer>::iterator iter;
|
map<ASTNode const*, DeclarationContainer>::iterator iter;
|
||||||
|
@ -94,17 +94,18 @@ public:
|
|||||||
DeclarationRegistrationHelper(std::map<ASTNode const*, DeclarationContainer>& _scopes, ASTNode& _astRoot);
|
DeclarationRegistrationHelper(std::map<ASTNode const*, DeclarationContainer>& _scopes, ASTNode& _astRoot);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool visit(ContractDefinition& _contract);
|
bool visit(ContractDefinition& _contract) override;
|
||||||
void endVisit(ContractDefinition& _contract);
|
void endVisit(ContractDefinition& _contract) override;
|
||||||
bool visit(StructDefinition& _struct);
|
bool visit(StructDefinition& _struct) override;
|
||||||
void endVisit(StructDefinition& _struct);
|
void endVisit(StructDefinition& _struct) override;
|
||||||
bool visit(FunctionDefinition& _function);
|
bool visit(FunctionDefinition& _function) override;
|
||||||
void endVisit(FunctionDefinition& _function);
|
void endVisit(FunctionDefinition& _function) override;
|
||||||
bool visit(ModifierDefinition& _modifier);
|
bool visit(ModifierDefinition& _modifier) override;
|
||||||
void endVisit(ModifierDefinition& _modifier);
|
void endVisit(ModifierDefinition& _modifier) override;
|
||||||
void endVisit(VariableDefinition& _variableDefinition);
|
void endVisit(VariableDefinition& _variableDefinition) override;
|
||||||
bool visit(VariableDeclaration& _declaration);
|
bool visit(VariableDeclaration& _declaration) override;
|
||||||
bool visit(EventDefinition& _event);
|
bool visit(EventDefinition& _event) override;
|
||||||
|
void endVisit(EventDefinition& _event) override;
|
||||||
|
|
||||||
void enterNewSubScope(Declaration const& _declaration);
|
void enterNewSubScope(Declaration const& _declaration);
|
||||||
void closeCurrentScope();
|
void closeCurrentScope();
|
||||||
|
Loading…
Reference in New Issue
Block a user