@@ -39,11 +39,10 @@ class DeclarationContainer
3939public:
4040 using Homonyms = std::vector<std::pair<langutil::SourceLocation const *, std::vector<Declaration const *>>>;
4141
42- explicit DeclarationContainer (
43- ASTNode const * _enclosingNode = nullptr ,
44- DeclarationContainer* _enclosingContainer = nullptr
45- ):
46- m_enclosingNode(_enclosingNode), m_enclosingContainer(_enclosingContainer)
42+ DeclarationContainer () = default ;
43+ explicit DeclarationContainer (ASTNode const * _enclosingNode, DeclarationContainer* _enclosingContainer):
44+ m_enclosingNode(_enclosingNode),
45+ m_enclosingContainer(_enclosingContainer)
4746 {
4847 if (_enclosingContainer)
4948 _enclosingContainer->m_innerContainers .emplace_back (this );
@@ -57,7 +56,12 @@ class DeclarationContainer
5756 bool registerDeclaration (Declaration const & _declaration, ASTString const * _name, langutil::SourceLocation const * _location, bool _invisible, bool _update);
5857 bool registerDeclaration (Declaration const & _declaration, bool _invisible, bool _update);
5958
60- std::vector<Declaration const *> resolveName (ASTString const & _name, bool _recursive = false , bool _alsoInvisible = false ) const ;
59+ std::vector<Declaration const *> resolveName (
60+ ASTString const & _name,
61+ bool _recursive = false ,
62+ bool _alsoInvisible = false ,
63+ bool _onlyVisibleAsUnqualifiedNames = false
64+ ) const ;
6165 ASTNode const * enclosingNode () const { return m_enclosingNode; }
6266 DeclarationContainer const * enclosingContainer () const { return m_enclosingContainer; }
6367 std::map<ASTString, std::vector<Declaration const *>> const & declarations () const { return m_declarations; }
@@ -80,8 +84,8 @@ class DeclarationContainer
8084 void populateHomonyms (std::back_insert_iterator<Homonyms> _it) const ;
8185
8286private:
83- ASTNode const * m_enclosingNode;
84- DeclarationContainer const * m_enclosingContainer;
87+ ASTNode const * m_enclosingNode = nullptr ;
88+ DeclarationContainer const * m_enclosingContainer = nullptr ;
8589 std::vector<DeclarationContainer const *> m_innerContainers;
8690 std::map<ASTString, std::vector<Declaration const *>> m_declarations;
8791 std::map<ASTString, std::vector<Declaration const *>> m_invisibleDeclarations;
0 commit comments