swift-module-digester: diagnose self access kind changes for function decls.

This commit is contained in:
Xi Ge
2018-10-04 12:25:15 -07:00
parent f2bdce8251
commit 78271f19a0
11 changed files with 115 additions and 60 deletions

View File

@@ -721,9 +721,17 @@ void swift::ide::api::SDKNodeDeclAbstractFunc::diagnose(SDKNode *Right) {
Diags.diagnose(SourceLoc(), diag::decl_new_attr, getScreenInfo(),
Ctx.buffer("throwing"));
}
if (!isMutating() && R->isMutating()) {
Diags.diagnose(SourceLoc(), diag::decl_new_attr, getScreenInfo(),
Ctx.buffer("mutating"));
}
void swift::ide::api::SDKNodeDeclFunction::diagnose(SDKNode *Right) {
SDKNodeDeclAbstractFunc::diagnose(Right);
auto *R = dyn_cast<SDKNodeDeclFunction>(Right);
if (!R)
return;
auto &Diags = Ctx.getDiags();
if (getSelfAccessKind() != R->getSelfAccessKind()) {
Diags.diagnose(SourceLoc(), diag::func_self_access_change, getScreenInfo(),
getSelfAccessKind(), R->getSelfAccessKind());
}
}