@@ -294,8 +294,6 @@ class AttributeChecker : public AttributeVisitor<AttributeChecker> {
294
294
void visitDiscardableResultAttr (DiscardableResultAttr *attr);
295
295
void visitDynamicReplacementAttr (DynamicReplacementAttr *attr);
296
296
void visitTypeEraserAttr (TypeEraserAttr *attr);
297
- void visitInitializesAttr (InitializesAttr *attr);
298
- void visitAccessesAttr (AccessesAttr *attr);
299
297
void visitStorageRestrictionsAttr (StorageRestrictionsAttr *attr);
300
298
void visitImplementsAttr (ImplementsAttr *attr);
301
299
void visitNoMetadataAttr (NoMetadataAttr *attr);
@@ -3573,44 +3571,6 @@ void AttributeChecker::visitTypeEraserAttr(TypeEraserAttr *attr) {
3573
3571
(void )attr->hasViableTypeEraserInit (cast<ProtocolDecl>(D));
3574
3572
}
3575
3573
3576
- void AttributeChecker::visitInitializesAttr (InitializesAttr *attr) {
3577
- auto *accessor = dyn_cast<AccessorDecl>(D);
3578
- if (!accessor || accessor->getAccessorKind () != AccessorKind::Init) {
3579
- diagnose (attr->getLocation (),
3580
- diag::init_accessor_initializes_attribute_on_other_declaration);
3581
- return ;
3582
- }
3583
-
3584
- (void )attr->getPropertyDecls (accessor);
3585
- }
3586
-
3587
- void AttributeChecker::visitAccessesAttr (AccessesAttr *attr) {
3588
- auto *accessor = dyn_cast<AccessorDecl>(D);
3589
- if (!accessor || accessor->getAccessorKind () != AccessorKind::Init) {
3590
- diagnose (attr->getLocation (),
3591
- diag::init_accessor_accesses_attribute_on_other_declaration);
3592
- return ;
3593
- }
3594
-
3595
- // Check whether there are any intersections between initializes(...) and
3596
- // accesses(...) attributes.
3597
-
3598
- llvm::Optional<ArrayRef<VarDecl *>> initializedProperties;
3599
- if (auto *initAttr = D->getAttrs ().getAttribute <InitializesAttr>()) {
3600
- initializedProperties.emplace (initAttr->getPropertyDecls (accessor));
3601
- }
3602
-
3603
- if (initializedProperties) {
3604
- for (auto *property : attr->getPropertyDecls (accessor)) {
3605
- if (llvm::is_contained (*initializedProperties, property)) {
3606
- diagnose (attr->getLocation (),
3607
- diag::init_accessor_property_both_init_and_accessed,
3608
- property->getName ());
3609
- }
3610
- }
3611
- }
3612
- }
3613
-
3614
3574
void AttributeChecker::visitStorageRestrictionsAttr (StorageRestrictionsAttr *attr) {
3615
3575
auto *accessor = dyn_cast<AccessorDecl>(D);
3616
3576
if (!accessor || accessor->getAccessorKind () != AccessorKind::Init) {
0 commit comments