ABI checker: include all kinds of accessors for abstract storage decl and diagnose their missing.

Removing accessors other than getter and setter can be ABI breaking. This
patch starts to formally include all accessor decls in the tree and diagnose
their removal. This change only applies to the ABI checker since we still
exclude accessors other than getter and setter when diagnosing source
compatibility.

Including accessors formally can also allow us to check the missing
of availability attributes for newly added accessors.

rdar://52063421
This commit is contained in:
Xi Ge
2019-06-25 17:19:01 -07:00
parent 82761a3495
commit 5c22fd50e2
15 changed files with 659 additions and 341 deletions

View File

@@ -33,7 +33,6 @@ enum LocalDiagID : uint32_t {
static StringRef getCategoryName(uint32_t ID) {
switch(ID) {
case LocalDiagID::removed_decl:
case LocalDiagID::removed_setter:
return "/* Removed Decls */";
case LocalDiagID::moved_decl:
case LocalDiagID::decl_kind_changed: