File tree Expand file tree Collapse file tree 2 files changed +5
-1
lines changed
Expand file tree Collapse file tree 2 files changed +5
-1
lines changed Original file line number Diff line number Diff line change @@ -261,7 +261,8 @@ class alignas(1 << DeclContextAlignInBits) DeclContext
261261 friend class Initializer ; // uses setParent
262262 friend class AutoClosureExpr ; // uses setParent
263263 friend class AbstractClosureExpr ; // uses setParent
264-
264+ friend class Decl ; // uses setParent
265+
265266 template <class A , class B , class C >
266267 friend struct ::llvm::CastInfo;
267268
Original file line number Diff line number Diff line change @@ -767,6 +767,9 @@ void Decl::setInvalid() {
767767
768768void Decl::setDeclContext (DeclContext *DC) {
769769 Context = DC;
770+ // If this Decl is also a DeclContext, we need to update its parent too.
771+ if (auto *thisDC = dyn_cast<DeclContext>(this ))
772+ thisDC->setParent (DC);
770773}
771774
772775bool Decl::isUserAccessible () const {
You can’t perform that action at this time.
0 commit comments