File tree Expand file tree Collapse file tree 4 files changed +14
-3
lines changed
test/api-digester/Outputs Expand file tree Collapse file tree 4 files changed +14
-3
lines changed Original file line number Diff line number Diff line change @@ -4686,6 +4686,10 @@ class AbstractStorageDecl : public ValueDecl {
4686
4686
// / To ensure an accessor is always returned, use getSynthesizedAccessor().
4687
4687
AccessorDecl *getOpaqueAccessor (AccessorKind kind) const ;
4688
4688
4689
+ // / Collect all opaque accessors.
4690
+ ArrayRef<AccessorDecl*>
4691
+ getOpaqueAccessors (llvm::SmallVectorImpl<AccessorDecl*> &scratch) const ;
4692
+
4689
4693
// / Return an accessor that was written in source. Returns null if the
4690
4694
// / accessor was not explicitly defined by the user.
4691
4695
AccessorDecl *getParsedAccessor (AccessorKind kind) const ;
Original file line number Diff line number Diff line change @@ -2225,6 +2225,12 @@ AccessorDecl *AbstractStorageDecl::getOpaqueAccessor(AccessorKind kind) const {
2225
2225
return getSynthesizedAccessor (kind);
2226
2226
}
2227
2227
2228
+ ArrayRef<AccessorDecl*> AbstractStorageDecl::getOpaqueAccessors (
2229
+ llvm::SmallVectorImpl<AccessorDecl*> &scratch) const {
2230
+ visitOpaqueAccessors ([&](AccessorDecl *D) { scratch.push_back (D); });
2231
+ return scratch;
2232
+ }
2233
+
2228
2234
bool AbstractStorageDecl::hasParsedAccessors () const {
2229
2235
for (auto *accessor : getAllAccessors ())
2230
2236
if (!accessor->isImplicit ())
Original file line number Diff line number Diff line change @@ -12,7 +12,6 @@ cake: Accessor RemoveSetters.Value.Modify() has been removed
12
12
cake: Accessor RemoveSetters.Value.Set() has been removed
13
13
cake: Accessor RemoveSetters.subscript(_:).Modify() has been removed
14
14
cake: Accessor RemoveSetters.subscript(_:).Set() has been removed
15
- cake: Accessor fixedLayoutStruct.height.Read() has been removed
16
15
cake: AssociatedType RequiementChanges.removedType has been removed
17
16
cake: Class C3 has been removed
18
17
cake: Constructor Somestruct2.init(_:) has been removed
Original file line number Diff line number Diff line change @@ -1694,7 +1694,8 @@ SwiftDeclCollector::constructVarNode(ValueDecl *VD) {
1694
1694
Info.IsImplicitlyUnwrappedOptional = VD->isImplicitlyUnwrappedOptional ();
1695
1695
Var->addChild (constructTypeNode (VD->getInterfaceType (), Info));
1696
1696
if (auto VAD = dyn_cast<AbstractStorageDecl>(VD)) {
1697
- for (auto *AC: VAD->getAllAccessors ()) {
1697
+ llvm::SmallVector<AccessorDecl*, 4 > scratch;
1698
+ for (auto *AC: VAD->getOpaqueAccessors (scratch)) {
1698
1699
if (!Ctx.shouldIgnore (AC, VAD)) {
1699
1700
Var->addAccessor (constructFunctionNode (AC, SDKNodeKind::DeclAccessor));
1700
1701
}
@@ -1728,7 +1729,8 @@ SwiftDeclCollector::constructSubscriptDeclNode(SubscriptDecl *SD) {
1728
1729
for (auto *Node: createParameterNodes (SD->getIndices ())) {
1729
1730
Subs->addChild (Node);
1730
1731
}
1731
- for (auto *AC: SD->getAllAccessors ()) {
1732
+ llvm::SmallVector<AccessorDecl*, 4 > scratch;
1733
+ for (auto *AC: SD->getOpaqueAccessors (scratch)) {
1732
1734
if (!Ctx.shouldIgnore (AC, SD)) {
1733
1735
Subs->addAccessor (constructFunctionNode (AC, SDKNodeKind::DeclAccessor));
1734
1736
}
You can’t perform that action at this time.
0 commit comments