Sema: Use a request to compute AbstractStorageDecl::is{Getter,Setter}Mutating()

This commit is contained in:
Slava Pestov
2019-06-18 22:31:30 -04:00
parent 7913d30236
commit 4df9543ee8
6 changed files with 160 additions and 51 deletions

View File

@@ -2056,6 +2056,18 @@ void AbstractStorageDecl::computeIsValidKeyPathComponent() {
setIsValidKeyPathComponent(::isValidKeyPathComponent(this));
}
bool AbstractStorageDecl::isGetterMutating() const {
ASTContext &ctx = getASTContext();
return evaluateOrDefault(ctx.evaluator,
IsGetterMutatingRequest{const_cast<AbstractStorageDecl *>(this)}, {});
}
bool AbstractStorageDecl::isSetterMutating() const {
ASTContext &ctx = getASTContext();
return evaluateOrDefault(ctx.evaluator,
IsSetterMutatingRequest{const_cast<AbstractStorageDecl *>(this)}, {});
}
bool ValueDecl::isInstanceMember() const {
DeclContext *DC = getDeclContext();
if (!DC->isTypeContext())