mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
AST/Sema: Resolve AvailabilityDomain in SemanticAvailableAttrRequest.
Look up the AvailabilityDomain given its name during type checking, instead of parsing.
This commit is contained in:
@@ -8270,6 +8270,17 @@ std::optional<SemanticAvailableAttr>
|
||||
SemanticAvailableAttrRequest::evaluate(swift::Evaluator &evaluator,
|
||||
const AvailableAttr *attr,
|
||||
const Decl *decl) const {
|
||||
if (attr->hasCachedDomain())
|
||||
return SemanticAvailableAttr(attr);
|
||||
|
||||
auto string = attr->getDomainString();
|
||||
ASSERT(string);
|
||||
|
||||
auto domain = AvailabilityDomain::builtinDomainForString(*string);
|
||||
if (!domain)
|
||||
return std::nullopt;
|
||||
|
||||
const_cast<AvailableAttr *>(attr)->setCachedDomain(*domain);
|
||||
return SemanticAvailableAttr(attr);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user