Skip to content

[Evaluator Ergonomics] Add Request Signatures #27041

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Sep 5, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions include/swift/AST/AccessRequests.h
Original file line number Diff line number Diff line change
Expand Up @@ -75,14 +75,15 @@ class SetterAccessLevelRequest :
void cacheResult(AccessLevel value) const;
};

using DefaultAndMax = std::pair<AccessLevel, AccessLevel>;

/// Request the Default and Max AccessLevels of the given ExtensionDecl.
class DefaultAndMaxAccessLevelRequest :
public SimpleRequest<DefaultAndMaxAccessLevelRequest,
std::pair<AccessLevel, AccessLevel>(ExtensionDecl *),
DefaultAndMax(ExtensionDecl *),
CacheKind::SeparatelyCached> {
public:
using SimpleRequest::SimpleRequest;
using DefaultAndMax = std::pair<AccessLevel, AccessLevel>;
private:
friend SimpleRequest;

Expand All @@ -104,7 +105,7 @@ class DefaultAndMaxAccessLevelRequest :
#undef SWIFT_TYPEID_HEADER

// Set up reporting of evaluated requests.
#define SWIFT_REQUEST(Zone, RequestType) \
#define SWIFT_REQUEST(Zone, RequestType, Sig, Caching) \
template<> \
inline void reportEvaluatedRequest(UnifiedStatsReporter &stats, \
const RequestType &request) { \
Expand Down
9 changes: 6 additions & 3 deletions include/swift/AST/AccessTypeIDZone.def
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@
//
//===----------------------------------------------------------------------===//

SWIFT_REQUEST(AccessControl, AccessLevelRequest)
SWIFT_REQUEST(AccessControl, DefaultAndMaxAccessLevelRequest)
SWIFT_REQUEST(AccessControl, SetterAccessLevelRequest)
SWIFT_REQUEST(AccessControl, AccessLevelRequest, AccessLevel(ValueDecl *),
SeparatelyCached)
SWIFT_REQUEST(AccessControl, DefaultAndMaxAccessLevelRequest,
DefaultAndMax(ExtensionDecl *), SeparatelyCached)
SWIFT_REQUEST(AccessControl, SetterAccessLevelRequest,
AccessLevel(AbstractStorageDecl *), SeparatelyCached)
2 changes: 1 addition & 1 deletion include/swift/AST/NameLookupRequests.h
Original file line number Diff line number Diff line change
Expand Up @@ -265,7 +265,7 @@ template<typename Request>
void reportEvaluatedRequest(UnifiedStatsReporter &stats,
const Request &request);

#define SWIFT_REQUEST(Zone, RequestType) \
#define SWIFT_REQUEST(Zone, RequestType, Sig, Caching) \
template<> \
inline void reportEvaluatedRequest(UnifiedStatsReporter &stats, \
const RequestType &request) { \
Expand Down
28 changes: 19 additions & 9 deletions include/swift/AST/NameLookupTypeIDZone.def
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,22 @@
//
//===----------------------------------------------------------------------===//

SWIFT_REQUEST(NameLookup, CustomAttrNominalRequest)
SWIFT_REQUEST(NameLookup, ExtendedNominalRequest)
SWIFT_REQUEST(NameLookup, GetDestructorRequest)
SWIFT_REQUEST(NameLookup, InheritedDeclsReferencedRequest)
SWIFT_REQUEST(NameLookup, SelfBoundsFromWhereClauseRequest)
SWIFT_REQUEST(NameLookup, SuperclassDeclRequest)
SWIFT_REQUEST(NameLookup, TypeDeclsFromWhereClauseRequest)
SWIFT_REQUEST(NameLookup, UnderlyingTypeDeclsReferencedRequest)

SWIFT_REQUEST(NameLookup, CustomAttrNominalRequest,
NominalTypeDecl *(CustomAttr *, DeclContext *), Cached)
SWIFT_REQUEST(NameLookup, ExtendedNominalRequest,
NominalTypeDecl *(ExtensionDecl *), SeparatelyCached)
SWIFT_REQUEST(NameLookup, GetDestructorRequest, DestructorDecl *(ClassDecl *),
SeparatelyCached)
SWIFT_REQUEST(NameLookup, InheritedDeclsReferencedRequest,
DirectlyReferencedTypeDecls(
llvm::PointerUnion<TypeDecl *, ExtensionDecl *>, unsigned),
Uncached)
SWIFT_REQUEST(NameLookup, SelfBoundsFromWhereClauseRequest,
SelfBounds(llvm::PointerUnion<TypeDecl *, ExtensionDecl *>),
Uncached)
SWIFT_REQUEST(NameLookup, SuperclassDeclRequest, ClassDecl *(NominalTypeDecl *),
SeparatelyCached)
SWIFT_REQUEST(NameLookup, TypeDeclsFromWhereClauseRequest,
DirectlyReferencedTypeDecls(ExtensionDecl *), Uncached)
SWIFT_REQUEST(NameLookup, UnderlyingTypeDeclsReferencedRequest,
DirectlyReferencedTypeDecls(TypeAliasDecl *), Uncached)
2 changes: 1 addition & 1 deletion include/swift/AST/ParseRequests.h
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ class ParseAbstractFunctionBodyRequest :
#undef SWIFT_TYPEID_HEADER

// Set up reporting of evaluated requests.
#define SWIFT_REQUEST(Zone, RequestType) \
#define SWIFT_REQUEST(Zone, RequestType, Sig, Caching) \
template<> \
inline void reportEvaluatedRequest(UnifiedStatsReporter &stats, \
const RequestType &request) { \
Expand Down
6 changes: 4 additions & 2 deletions include/swift/AST/ParseTypeIDZone.def
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,7 @@
//
//===----------------------------------------------------------------------===//

SWIFT_REQUEST(Parse, ParseMembersRequest)
SWIFT_REQUEST(Parse, ParseAbstractFunctionBodyRequest)
SWIFT_REQUEST(Parse, ParseMembersRequest,
ArrayRef<Decl *>(IterableDeclContext *), Cached)
SWIFT_REQUEST(Parse, ParseAbstractFunctionBodyRequest,
BraceStmt *(AbstractFunctionDecl *), SeparatelyCached)
18 changes: 9 additions & 9 deletions include/swift/AST/TypeCheckRequests.h
Original file line number Diff line number Diff line change
Expand Up @@ -138,10 +138,10 @@ class EnumRawTypeRequest :

/// Request to determine the set of declarations that were are overridden
/// by the given declaration.
class OverriddenDeclsRequest
: public SimpleRequest<OverriddenDeclsRequest,
llvm::TinyPtrVector<ValueDecl *>(ValueDecl *),
CacheKind::SeparatelyCached> {
class OverriddenDeclsRequest :
public SimpleRequest<OverriddenDeclsRequest,
llvm::TinyPtrVector<ValueDecl *>(ValueDecl *),
CacheKind::SeparatelyCached> {
public:
using SimpleRequest::SimpleRequest;

Expand Down Expand Up @@ -183,7 +183,7 @@ class IsObjCRequest :
void simple_display(llvm::raw_ostream &out, CtorInitializerKind initKind);

/// Computes the kind of initializer for a given \c ConstructorDecl
class InitKindRequest:
class InitKindRequest :
public SimpleRequest<InitKindRequest,
CtorInitializerKind(ConstructorDecl *),
CacheKind::Cached> {
Expand All @@ -203,7 +203,7 @@ class InitKindRequest:
};

/// Determine whether the given protocol declaration is class-bounded.
class ProtocolRequiresClassRequest:
class ProtocolRequiresClassRequest :
public SimpleRequest<ProtocolRequiresClassRequest,
bool(ProtocolDecl *),
CacheKind::SeparatelyCached> {
Expand All @@ -229,7 +229,7 @@ class ProtocolRequiresClassRequest:

/// Determine whether an existential conforming to a protocol can be matched
/// with a generic type parameter constrained to that protocol.
class ExistentialConformsToSelfRequest:
class ExistentialConformsToSelfRequest :
public SimpleRequest<ExistentialConformsToSelfRequest,
bool(ProtocolDecl *),
CacheKind::SeparatelyCached> {
Expand All @@ -255,7 +255,7 @@ class ExistentialConformsToSelfRequest:

/// Determine whether we are allowed to refer to an existential type conforming
/// to this protocol.
class ExistentialTypeSupportedRequest:
class ExistentialTypeSupportedRequest :
public SimpleRequest<ExistentialTypeSupportedRequest,
bool(ProtocolDecl *),
CacheKind::SeparatelyCached> {
Expand Down Expand Up @@ -1195,7 +1195,7 @@ void simple_display(llvm::raw_ostream &out, const TypeRepr *TyR);
#undef SWIFT_TYPEID_HEADER

// Set up reporting of evaluated requests.
#define SWIFT_REQUEST(Zone, RequestType) \
#define SWIFT_REQUEST(Zone, RequestType, Sig, Caching) \
template<> \
inline void reportEvaluatedRequest(UnifiedStatsReporter &stats, \
const RequestType &request) { \
Expand Down
148 changes: 101 additions & 47 deletions include/swift/AST/TypeCheckerTypeIDZone.def
Original file line number Diff line number Diff line change
Expand Up @@ -15,50 +15,104 @@
//
//===----------------------------------------------------------------------===//

SWIFT_REQUEST(TypeChecker, AbstractGenericSignatureRequest)
SWIFT_REQUEST(TypeChecker, AttachedFunctionBuilderRequest)
SWIFT_REQUEST(TypeChecker, AttachedPropertyWrapperTypeRequest)
SWIFT_REQUEST(TypeChecker, AttachedPropertyWrappersRequest)
SWIFT_REQUEST(TypeChecker, ClassAncestryFlagsRequest)
SWIFT_REQUEST(TypeChecker, DefaultDefinitionTypeRequest)
SWIFT_REQUEST(TypeChecker, DefaultTypeRequest)
SWIFT_REQUEST(TypeChecker, EmittedMembersRequest)
SWIFT_REQUEST(TypeChecker, EnumRawTypeRequest)
SWIFT_REQUEST(TypeChecker, ExistentialConformsToSelfRequest)
SWIFT_REQUEST(TypeChecker, ExistentialTypeSupportedRequest)
SWIFT_REQUEST(TypeChecker, ExtendedTypeRequest)
SWIFT_REQUEST(TypeChecker, FunctionBuilderTypeRequest)
SWIFT_REQUEST(TypeChecker, FunctionOperatorRequest)
SWIFT_REQUEST(TypeChecker, InferredGenericSignatureRequest)
SWIFT_REQUEST(TypeChecker, InheritedTypeRequest)
SWIFT_REQUEST(TypeChecker, InitKindRequest)
SWIFT_REQUEST(TypeChecker, IsAccessorTransparentRequest)
SWIFT_REQUEST(TypeChecker, IsDynamicRequest)
SWIFT_REQUEST(TypeChecker, IsFinalRequest)
SWIFT_REQUEST(TypeChecker, IsGetterMutatingRequest)
SWIFT_REQUEST(TypeChecker, IsImplicitlyUnwrappedOptionalRequest)
SWIFT_REQUEST(TypeChecker, IsObjCRequest)
SWIFT_REQUEST(TypeChecker, IsSetterMutatingRequest)
SWIFT_REQUEST(TypeChecker, LazyStoragePropertyRequest)
SWIFT_REQUEST(TypeChecker, MangleLocalTypeDeclRequest)
SWIFT_REQUEST(TypeChecker, OpaqueReadOwnershipRequest)
SWIFT_REQUEST(TypeChecker, OverriddenDeclsRequest)
SWIFT_REQUEST(TypeChecker, PropertyWrapperBackingPropertyInfoRequest)
SWIFT_REQUEST(TypeChecker, PropertyWrapperBackingPropertyTypeRequest)
SWIFT_REQUEST(TypeChecker, PropertyWrapperMutabilityRequest)
SWIFT_REQUEST(TypeChecker, PropertyWrapperTypeInfoRequest)
SWIFT_REQUEST(TypeChecker, ProtocolRequiresClassRequest)
SWIFT_REQUEST(TypeChecker, RequirementRequest)
SWIFT_REQUEST(TypeChecker, RequirementSignatureRequest)
SWIFT_REQUEST(TypeChecker, RequiresOpaqueAccessorsRequest)
SWIFT_REQUEST(TypeChecker, RequiresOpaqueModifyCoroutineRequest)
SWIFT_REQUEST(TypeChecker, ResilienceExpansionRequest)
SWIFT_REQUEST(TypeChecker, SelfAccessKindRequest)
SWIFT_REQUEST(TypeChecker, StorageImplInfoRequest)
SWIFT_REQUEST(TypeChecker, StoredPropertiesAndMissingMembersRequest)
SWIFT_REQUEST(TypeChecker, StoredPropertiesRequest)
SWIFT_REQUEST(TypeChecker, StructuralTypeRequest)
SWIFT_REQUEST(TypeChecker, SuperclassTypeRequest)
SWIFT_REQUEST(TypeChecker, SynthesizeAccessorRequest)
SWIFT_REQUEST(TypeChecker, TypeCheckFunctionBodyUntilRequest)
SWIFT_REQUEST(TypeChecker, USRGenerationRequest)
SWIFT_REQUEST(TypeChecker, AbstractGenericSignatureRequest,
GenericSignature *(GenericSignature *,
SmallVector<GenericTypeParamType *, 2>,
SmallVector<Requirement, 2>),
Cached)
SWIFT_REQUEST(TypeChecker, AttachedFunctionBuilderRequest,
CustomAttr *(ValueDecl *), Cached)
SWIFT_REQUEST(TypeChecker, AttachedPropertyWrapperTypeRequest,
Type(VarDecl *, unsigned), Cached)
SWIFT_REQUEST(TypeChecker, AttachedPropertyWrappersRequest,
llvm::TinyPtrVector<CustomAttr *>(VarDecl *), Cached)
SWIFT_REQUEST(TypeChecker, ClassAncestryFlagsRequest,
AncestryFlags(ClassDecl *), Cached)
SWIFT_REQUEST(TypeChecker, DefaultDefinitionTypeRequest,
Type(AssociatedTypeDecl *), Cached)
SWIFT_REQUEST(TypeChecker, DefaultTypeRequest,
Type(KnownProtocolKind, const DeclContext *), SeparatelyCached)
SWIFT_REQUEST(TypeChecker, EmittedMembersRequest, DeclRange(ClassDecl *),
SeparatelyCached)
SWIFT_REQUEST(TypeChecker, EnumRawTypeRequest,
Type(EnumDecl *, TypeResolutionStage), SeparatelyCached)
SWIFT_REQUEST(TypeChecker, ExistentialConformsToSelfRequest,
bool(ProtocolDecl *), SeparatelyCached)
SWIFT_REQUEST(TypeChecker, ExistentialTypeSupportedRequest,
bool(ProtocolDecl *), SeparatelyCached)
SWIFT_REQUEST(TypeChecker, ExtendedTypeRequest, Type(ExtensionDecl *), Cached)
SWIFT_REQUEST(TypeChecker, FunctionBuilderTypeRequest, Type(ValueDecl *),
Cached)
SWIFT_REQUEST(TypeChecker, FunctionOperatorRequest, OperatorDecl *(FuncDecl *),
Cached)
SWIFT_REQUEST(TypeChecker, InferredGenericSignatureRequest,
GenericSignature *(ModuleDecl *, GenericSignature *,
SmallVector<GenericParamList *, 2>,
SmallVector<Requirement, 2>,
SmallVector<TypeLoc, 2>, bool),
CacheKind::Cached)
SWIFT_REQUEST(TypeChecker, InheritedTypeRequest,
Type(llvm::PointerUnion<TypeDecl *, ExtensionDecl *>, unsigned,
TypeResolutionStage),
SeparatelyCached)
SWIFT_REQUEST(TypeChecker, InitKindRequest,
CtorInitializerKind(ConstructorDecl *), Cached)
SWIFT_REQUEST(TypeChecker, IsAccessorTransparentRequest, bool(AccessorDecl *),
SeparatelyCached)
SWIFT_REQUEST(TypeChecker, IsDynamicRequest, bool(ValueDecl *),
SeparatelyCached)
SWIFT_REQUEST(TypeChecker, IsFinalRequest, bool(ValueDecl *), SeparatelyCached)
SWIFT_REQUEST(TypeChecker, IsGetterMutatingRequest, bool(AbstractStorageDecl *),
SeparatelyCached)
SWIFT_REQUEST(TypeChecker, IsImplicitlyUnwrappedOptionalRequest,
bool(ValueDecl *), SeparatelyCached)
SWIFT_REQUEST(TypeChecker, IsObjCRequest, bool(ValueDecl *), SeparatelyCached)
SWIFT_REQUEST(TypeChecker, IsSetterMutatingRequest, bool(AbstractStorageDecl *),
SeparatelyCached)
SWIFT_REQUEST(TypeChecker, LazyStoragePropertyRequest, VarDecl *(VarDecl *),
Cached)
SWIFT_REQUEST(TypeChecker, MangleLocalTypeDeclRequest,
std::string(const TypeDecl *), Cached)
SWIFT_REQUEST(TypeChecker, OpaqueReadOwnershipRequest,
OpaqueReadOwnership(AbstractStorageDecl *), SeparatelyCached)
SWIFT_REQUEST(TypeChecker, OverriddenDeclsRequest,
llvm::TinyPtrVector<ValueDecl *>(ValueDecl *), SeparatelyCached)
SWIFT_REQUEST(TypeChecker, PropertyWrapperBackingPropertyInfoRequest,
PropertyWrapperBackingPropertyInfo(VarDecl *), Cached)
SWIFT_REQUEST(TypeChecker, PropertyWrapperBackingPropertyTypeRequest,
Type(VarDecl *), Cached)
SWIFT_REQUEST(TypeChecker, PropertyWrapperMutabilityRequest,
Optional<PropertyWrapperMutability>(VarDecl *), Cached)
SWIFT_REQUEST(TypeChecker, PropertyWrapperTypeInfoRequest,
PropertyWrapperTypeInfo(NominalTypeDecl *), Cached)
SWIFT_REQUEST(TypeChecker, ProtocolRequiresClassRequest, bool(ProtocolDecl *),
SeparatelyCached)
SWIFT_REQUEST(TypeChecker, RequirementRequest,
Requirement(WhereClauseOwner, unsigned, TypeResolutionStage),
SeparatelyCached)
SWIFT_REQUEST(TypeChecker, RequirementSignatureRequest,
ArrayRef<Requirement>(ProtocolDecl *), SeparatelyCached)
SWIFT_REQUEST(TypeChecker, RequiresOpaqueAccessorsRequest, bool(VarDecl *),
SeparatelyCached)
SWIFT_REQUEST(TypeChecker, RequiresOpaqueModifyCoroutineRequest,
bool(AbstractStorageDecl *), SeparatelyCached)
SWIFT_REQUEST(TypeChecker, ResilienceExpansionRequest,
ResilienceExpansion(DeclContext *), Cached)
SWIFT_REQUEST(TypeChecker, SelfAccessKindRequest, SelfAccessKind(FuncDecl *),
SeparatelyCached)
SWIFT_REQUEST(TypeChecker, StorageImplInfoRequest,
StorageImplInfo(AbstractStorageDecl *), SeparatelyCached)
SWIFT_REQUEST(TypeChecker, StoredPropertiesAndMissingMembersRequest,
ArrayRef<Decl *>(NominalTypeDecl *), Cached)
SWIFT_REQUEST(TypeChecker, StoredPropertiesRequest,
ArrayRef<VarDecl *>(NominalTypeDecl *), Cached)
SWIFT_REQUEST(TypeChecker, StructuralTypeRequest, Type(TypeAliasDecl *), Cached)
SWIFT_REQUEST(TypeChecker, SuperclassTypeRequest,
Type(NominalTypeDecl *, TypeResolutionStage), SeparatelyCached)
SWIFT_REQUEST(TypeChecker, SynthesizeAccessorRequest,
AccessorDecl *(AbstractStorageDecl *, AccessorKind),
SeparatelyCached)
SWIFT_REQUEST(TypeChecker, TypeCheckFunctionBodyUntilRequest,
bool(AbstractFunctionDecl *, SourceLoc), Cached)
SWIFT_REQUEST(TypeChecker, USRGenerationRequest, std::string(const ValueDecl *),
Cached)
2 changes: 1 addition & 1 deletion include/swift/Basic/DefineTypeIDZone.h
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@

// Define a TypeID where the type name and internal name are the same.
#define SWIFT_TYPEID(Type) SWIFT_TYPEID_NAMED(Type, Type)
#define SWIFT_REQUEST(Zone, Type) SWIFT_TYPEID_NAMED(Type, Type)
#define SWIFT_REQUEST(Zone, Type, Sig, Caching) SWIFT_TYPEID_NAMED(Type, Type)

// First pass: put all of the names into an enum so we get values for them.
template<> struct TypeIDZoneTypes<Zone::SWIFT_TYPEID_ZONE> {
Expand Down
2 changes: 1 addition & 1 deletion include/swift/Basic/ImplementTypeIDZone.h
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
#endif

// Define a TypeID where the type name and internal name are the same.
#define SWIFT_REQUEST(Zone, Type) SWIFT_TYPEID_NAMED(Type, Type)
#define SWIFT_REQUEST(Zone, Type, Sig, Caching) SWIFT_TYPEID_NAMED(Type, Type)
#define SWIFT_TYPEID(Type) SWIFT_TYPEID_NAMED(Type, Type)

// Out-of-line definitions.
Expand Down
4 changes: 2 additions & 2 deletions include/swift/Basic/Statistics.def
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ FRONTEND_STATISTIC(Parse, NumFunctionsParsed)
/// Number of full braced decl list parsed.
FRONTEND_STATISTIC(Parse, NumIterableDeclContextParsed)

#define SWIFT_REQUEST(ZONE, NAME) FRONTEND_STATISTIC(Parse, NAME)
#define SWIFT_REQUEST(ZONE, NAME, SIG, CACHE) FRONTEND_STATISTIC(Parse, NAME)
#include "swift/AST/ParseTypeIDZone.def"
#undef SWIFT_REQUEST

Expand Down Expand Up @@ -285,7 +285,7 @@ FRONTEND_STATISTIC(Sema, NumUnloadedLazyIterableDeclContexts)
/// Number of lookups into a module and its imports.

/// All type check requests go into the Sema area.
#define SWIFT_REQUEST(ZONE, NAME) FRONTEND_STATISTIC(Sema, NAME)
#define SWIFT_REQUEST(ZONE, NAME, Sig, Caching) FRONTEND_STATISTIC(Sema, NAME)
#include "swift/AST/AccessTypeIDZone.def"
#include "swift/AST/NameLookupTypeIDZone.def"
#include "swift/AST/TypeCheckerTypeIDZone.def"
Expand Down
15 changes: 10 additions & 5 deletions include/swift/IDE/IDERequestIDZone.def
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,13 @@
//
//===----------------------------------------------------------------------===//

SWIFT_REQUEST(IDE, CollectOverriddenDeclsRequest)
SWIFT_REQUEST(IDE, CursorInfoRequest)
SWIFT_REQUEST(IDE, ProvideDefaultImplForRequest)
SWIFT_REQUEST(IDE, RangeInfoRequest)
SWIFT_REQUEST(IDE, ResolveProtocolNameRequest)
SWIFT_REQUEST(IDE, CollectOverriddenDeclsRequest,
ArrayRef<ValueDecl *>(OverridenDeclsOwner), CacheKind::Cached)
SWIFT_REQUEST(IDE, CursorInfoRequest, ide::ResolvedCursorInfo(CursorInfoOwner),
CacheKind::Cached)
SWIFT_REQUEST(IDE, ProvideDefaultImplForRequest,
ArrayRef<ValueDecl *>(ValueDecl *), CacheKind::Cached)
SWIFT_REQUEST(IDE, RangeInfoRequest, ide::ResolvedRangeInfo(RangeInfoOwner),
CacheKind::Cached)
SWIFT_REQUEST(IDE, ResolveProtocolNameRequest,
ProtocolDecl *(ProtocolNameOwner), CacheKind::Cached)
2 changes: 1 addition & 1 deletion include/swift/IDE/IDERequests.h
Original file line number Diff line number Diff line change
Expand Up @@ -289,7 +289,7 @@ class ResolveProtocolNameRequest:
#undef SWIFT_TYPEID_HEADER

// Set up reporting of evaluated requests.
#define SWIFT_REQUEST(Zone, RequestType) \
#define SWIFT_REQUEST(Zone, RequestType, Sig, Caching) \
template<> \
inline void reportEvaluatedRequest(UnifiedStatsReporter &stats, \
const RequestType &request) { \
Expand Down
15 changes: 10 additions & 5 deletions include/swift/Sema/IDETypeCheckingRequestIDZone.def
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,13 @@
//
//===----------------------------------------------------------------------===//

SWIFT_REQUEST(IDETypeChecking, HasDynamicMemberLookupAttributeRequest)
SWIFT_REQUEST(IDETypeChecking, IsDeclApplicableRequest)
SWIFT_REQUEST(IDETypeChecking, RootAndResultTypeOfKeypathDynamicMemberRequest)
SWIFT_REQUEST(IDETypeChecking, RootTypeOfKeypathDynamicMemberRequest)
SWIFT_REQUEST(IDETypeChecking, TypeRelationCheckRequest)
SWIFT_REQUEST(IDETypeChecking, HasDynamicMemberLookupAttributeRequest,
bool(TypeBase *), Cached)
SWIFT_REQUEST(IDETypeChecking, IsDeclApplicableRequest,
bool(DeclApplicabilityOwner), Cached)
SWIFT_REQUEST(IDETypeChecking, RootAndResultTypeOfKeypathDynamicMemberRequest,
TypePair(SubscriptDecl *), Cached)
SWIFT_REQUEST(IDETypeChecking, RootTypeOfKeypathDynamicMemberRequest,
Type(SubscriptDecl *), Uncached)
SWIFT_REQUEST(IDETypeChecking, TypeRelationCheckRequest,
bool(TypeRelationCheckInput), Cached)
Loading