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
261
261
friend class Initializer ; // uses setParent
262
262
friend class AutoClosureExpr ; // uses setParent
263
263
friend class AbstractClosureExpr ; // uses setParent
264
-
264
+ friend class Decl ; // uses setParent
265
+
265
266
template <class A , class B , class C >
266
267
friend struct ::llvm::CastInfo;
267
268
Original file line number Diff line number Diff line change @@ -767,6 +767,9 @@ void Decl::setInvalid() {
767
767
768
768
void Decl::setDeclContext (DeclContext *DC) {
769
769
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);
770
773
}
771
774
772
775
bool Decl::isUserAccessible () const {
You can’t perform that action at this time.
0 commit comments