mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Move all references to scope into annotation
This commit is contained in:
parent
69fd185903
commit
6679f92c8a
@ -639,7 +639,7 @@ void DeclarationRegistrationHelper::endVisit(FunctionDefinition&)
|
||||
|
||||
bool DeclarationRegistrationHelper::visit(TryCatchClause& _tryCatchClause)
|
||||
{
|
||||
_tryCatchClause.setScope(m_currentScope);
|
||||
_tryCatchClause.annotation().scope = m_currentScope;
|
||||
enterNewSubScope(_tryCatchClause);
|
||||
return true;
|
||||
}
|
||||
@ -675,7 +675,7 @@ void DeclarationRegistrationHelper::endVisit(FunctionTypeName&)
|
||||
|
||||
bool DeclarationRegistrationHelper::visit(Block& _block)
|
||||
{
|
||||
_block.setScope(m_currentScope);
|
||||
_block.annotation().scope = m_currentScope;
|
||||
enterNewSubScope(_block);
|
||||
return true;
|
||||
}
|
||||
@ -687,7 +687,7 @@ void DeclarationRegistrationHelper::endVisit(Block&)
|
||||
|
||||
bool DeclarationRegistrationHelper::visit(ForStatement& _for)
|
||||
{
|
||||
_for.setScope(m_currentScope);
|
||||
_for.annotation().scope = m_currentScope;
|
||||
enterNewSubScope(_for);
|
||||
return true;
|
||||
}
|
||||
@ -761,7 +761,7 @@ void DeclarationRegistrationHelper::registerDeclaration(Declaration& _declaratio
|
||||
|
||||
registerDeclaration(*m_scopes[m_currentScope], _declaration, nullptr, nullptr, warnAboutShadowing, inactive, m_errorReporter);
|
||||
|
||||
_declaration.setScope(m_currentScope);
|
||||
_declaration.annotation().scope = m_currentScope;
|
||||
if (_opensScope)
|
||||
enterNewSubScope(_declaration);
|
||||
}
|
||||
|
@ -159,8 +159,7 @@ public:
|
||||
virtual ~Scopable() = default;
|
||||
/// @returns the scope this declaration resides in. Can be nullptr if it is the global scope.
|
||||
/// Available only after name and type resolution step.
|
||||
ASTNode const* scope() const { return m_scope; }
|
||||
void setScope(ASTNode const* _scope) { m_scope = _scope; }
|
||||
ASTNode const* scope() const { return annotation().scope; }
|
||||
|
||||
/// @returns the source unit this scopable is present in.
|
||||
SourceUnit const& sourceUnit() const;
|
||||
@ -172,8 +171,7 @@ public:
|
||||
/// Can be combined with annotation().canonicalName (if present) to form a globally unique name.
|
||||
std::string sourceUnitName() const;
|
||||
|
||||
protected:
|
||||
ASTNode const* m_scope = nullptr;
|
||||
virtual ScopableAnnotation& annotation() const = 0;
|
||||
};
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user