Skip to content

Commit 7a51cfc

Browse files
committed
[Evaluator Ergonomics] Add Request Signatures
Also add their caching kinds. This information will be used to remove the need to define classes at all.
1 parent 1a38032 commit 7a51cfc

23 files changed

+184
-101
lines changed

include/swift/AST/AccessRequests.h

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,14 +75,15 @@ class SetterAccessLevelRequest :
7575
void cacheResult(AccessLevel value) const;
7676
};
7777

78+
using DefaultAndMax = std::pair<AccessLevel, AccessLevel>;
79+
7880
/// Request the Default and Max AccessLevels of the given ExtensionDecl.
7981
class DefaultAndMaxAccessLevelRequest :
8082
public SimpleRequest<DefaultAndMaxAccessLevelRequest,
81-
std::pair<AccessLevel, AccessLevel>(ExtensionDecl *),
83+
DefaultAndMax(ExtensionDecl *),
8284
CacheKind::SeparatelyCached> {
8385
public:
8486
using SimpleRequest::SimpleRequest;
85-
using DefaultAndMax = std::pair<AccessLevel, AccessLevel>;
8687
private:
8788
friend SimpleRequest;
8889

@@ -104,7 +105,7 @@ class DefaultAndMaxAccessLevelRequest :
104105
#undef SWIFT_TYPEID_HEADER
105106

106107
// Set up reporting of evaluated requests.
107-
#define SWIFT_REQUEST(Zone, RequestType) \
108+
#define SWIFT_REQUEST(Zone, RequestType, Sig, Caching) \
108109
template<> \
109110
inline void reportEvaluatedRequest(UnifiedStatsReporter &stats, \
110111
const RequestType &request) { \

include/swift/AST/AccessTypeIDZone.def

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@
1515
//
1616
//===----------------------------------------------------------------------===//
1717

18-
SWIFT_REQUEST(AccessControl, AccessLevelRequest)
19-
SWIFT_REQUEST(AccessControl, DefaultAndMaxAccessLevelRequest)
20-
SWIFT_REQUEST(AccessControl, SetterAccessLevelRequest)
18+
SWIFT_REQUEST(AccessControl, AccessLevelRequest, AccessLevel(ValueDecl *),
19+
SeparatelyCached)
20+
SWIFT_REQUEST(AccessControl, DefaultAndMaxAccessLevelRequest,
21+
DefaultAndMax(ExtensionDecl *), SeparatelyCached)
22+
SWIFT_REQUEST(AccessControl, SetterAccessLevelRequest,
23+
AccessLevel(AbstractStorageDecl *), SeparatelyCached)

include/swift/AST/NameLookupRequests.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ template<typename Request>
265265
void reportEvaluatedRequest(UnifiedStatsReporter &stats,
266266
const Request &request);
267267

268-
#define SWIFT_REQUEST(Zone, RequestType) \
268+
#define SWIFT_REQUEST(Zone, RequestType, Sig, Caching) \
269269
template<> \
270270
inline void reportEvaluatedRequest(UnifiedStatsReporter &stats, \
271271
const RequestType &request) { \

include/swift/AST/NameLookupTypeIDZone.def

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,22 @@
1515
//
1616
//===----------------------------------------------------------------------===//
1717

18-
SWIFT_REQUEST(NameLookup, CustomAttrNominalRequest)
19-
SWIFT_REQUEST(NameLookup, ExtendedNominalRequest)
20-
SWIFT_REQUEST(NameLookup, GetDestructorRequest)
21-
SWIFT_REQUEST(NameLookup, InheritedDeclsReferencedRequest)
22-
SWIFT_REQUEST(NameLookup, SelfBoundsFromWhereClauseRequest)
23-
SWIFT_REQUEST(NameLookup, SuperclassDeclRequest)
24-
SWIFT_REQUEST(NameLookup, TypeDeclsFromWhereClauseRequest)
25-
SWIFT_REQUEST(NameLookup, UnderlyingTypeDeclsReferencedRequest)
26-
18+
SWIFT_REQUEST(NameLookup, CustomAttrNominalRequest,
19+
NominalTypeDecl *(CustomAttr *, DeclContext *), Cached)
20+
SWIFT_REQUEST(NameLookup, ExtendedNominalRequest,
21+
NominalTypeDecl *(ExtensionDecl *), SeparatelyCached)
22+
SWIFT_REQUEST(NameLookup, GetDestructorRequest, DestructorDecl *(ClassDecl *),
23+
SeparatelyCached)
24+
SWIFT_REQUEST(NameLookup, InheritedDeclsReferencedRequest,
25+
DirectlyReferencedTypeDecls(
26+
llvm::PointerUnion<TypeDecl *, ExtensionDecl *>, unsigned),
27+
Uncached)
28+
SWIFT_REQUEST(NameLookup, SelfBoundsFromWhereClauseRequest,
29+
SelfBounds(llvm::PointerUnion<TypeDecl *, ExtensionDecl *>),
30+
Uncached)
31+
SWIFT_REQUEST(NameLookup, SuperclassDeclRequest, ClassDecl *(NominalTypeDecl *),
32+
SeparatelyCached)
33+
SWIFT_REQUEST(NameLookup, TypeDeclsFromWhereClauseRequest,
34+
DirectlyReferencedTypeDecls(ExtensionDecl *), Uncached)
35+
SWIFT_REQUEST(NameLookup, UnderlyingTypeDeclsReferencedRequest,
36+
DirectlyReferencedTypeDecls(TypeAliasDecl *), Uncached)

include/swift/AST/ParseRequests.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ class ParseAbstractFunctionBodyRequest :
7878
#undef SWIFT_TYPEID_HEADER
7979

8080
// Set up reporting of evaluated requests.
81-
#define SWIFT_REQUEST(Zone, RequestType) \
81+
#define SWIFT_REQUEST(Zone, RequestType, Sig, Caching) \
8282
template<> \
8383
inline void reportEvaluatedRequest(UnifiedStatsReporter &stats, \
8484
const RequestType &request) { \

include/swift/AST/ParseTypeIDZone.def

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,7 @@
1414
//
1515
//===----------------------------------------------------------------------===//
1616

17-
SWIFT_REQUEST(Parse, ParseMembersRequest)
18-
SWIFT_REQUEST(Parse, ParseAbstractFunctionBodyRequest)
17+
SWIFT_REQUEST(Parse, ParseMembersRequest,
18+
ArrayRef<Decl *>(IterableDeclContext *), Cached)
19+
SWIFT_REQUEST(Parse, ParseAbstractFunctionBodyRequest,
20+
BraceStmt *(AbstractFunctionDecl *), SeparatelyCached)

include/swift/AST/TypeCheckRequests.h

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -138,10 +138,10 @@ class EnumRawTypeRequest :
138138

139139
/// Request to determine the set of declarations that were are overridden
140140
/// by the given declaration.
141-
class OverriddenDeclsRequest
142-
: public SimpleRequest<OverriddenDeclsRequest,
143-
llvm::TinyPtrVector<ValueDecl *>(ValueDecl *),
144-
CacheKind::SeparatelyCached> {
141+
class OverriddenDeclsRequest :
142+
public SimpleRequest<OverriddenDeclsRequest,
143+
llvm::TinyPtrVector<ValueDecl *>(ValueDecl *),
144+
CacheKind::SeparatelyCached> {
145145
public:
146146
using SimpleRequest::SimpleRequest;
147147

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

185185
/// Computes the kind of initializer for a given \c ConstructorDecl
186-
class InitKindRequest:
186+
class InitKindRequest :
187187
public SimpleRequest<InitKindRequest,
188188
CtorInitializerKind(ConstructorDecl *),
189189
CacheKind::Cached> {
@@ -203,7 +203,7 @@ class InitKindRequest:
203203
};
204204

205205
/// Determine whether the given protocol declaration is class-bounded.
206-
class ProtocolRequiresClassRequest:
206+
class ProtocolRequiresClassRequest :
207207
public SimpleRequest<ProtocolRequiresClassRequest,
208208
bool(ProtocolDecl *),
209209
CacheKind::SeparatelyCached> {
@@ -229,7 +229,7 @@ class ProtocolRequiresClassRequest:
229229

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

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

11971197
// Set up reporting of evaluated requests.
1198-
#define SWIFT_REQUEST(Zone, RequestType) \
1198+
#define SWIFT_REQUEST(Zone, RequestType, Sig, Caching) \
11991199
template<> \
12001200
inline void reportEvaluatedRequest(UnifiedStatsReporter &stats, \
12011201
const RequestType &request) { \

include/swift/AST/TypeCheckerTypeIDZone.def

Lines changed: 101 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -15,50 +15,104 @@
1515
//
1616
//===----------------------------------------------------------------------===//
1717

18-
SWIFT_REQUEST(TypeChecker, AbstractGenericSignatureRequest)
19-
SWIFT_REQUEST(TypeChecker, AttachedFunctionBuilderRequest)
20-
SWIFT_REQUEST(TypeChecker, AttachedPropertyWrapperTypeRequest)
21-
SWIFT_REQUEST(TypeChecker, AttachedPropertyWrappersRequest)
22-
SWIFT_REQUEST(TypeChecker, ClassAncestryFlagsRequest)
23-
SWIFT_REQUEST(TypeChecker, DefaultDefinitionTypeRequest)
24-
SWIFT_REQUEST(TypeChecker, DefaultTypeRequest)
25-
SWIFT_REQUEST(TypeChecker, EmittedMembersRequest)
26-
SWIFT_REQUEST(TypeChecker, EnumRawTypeRequest)
27-
SWIFT_REQUEST(TypeChecker, ExistentialConformsToSelfRequest)
28-
SWIFT_REQUEST(TypeChecker, ExistentialTypeSupportedRequest)
29-
SWIFT_REQUEST(TypeChecker, ExtendedTypeRequest)
30-
SWIFT_REQUEST(TypeChecker, FunctionBuilderTypeRequest)
31-
SWIFT_REQUEST(TypeChecker, FunctionOperatorRequest)
32-
SWIFT_REQUEST(TypeChecker, InferredGenericSignatureRequest)
33-
SWIFT_REQUEST(TypeChecker, InheritedTypeRequest)
34-
SWIFT_REQUEST(TypeChecker, InitKindRequest)
35-
SWIFT_REQUEST(TypeChecker, IsAccessorTransparentRequest)
36-
SWIFT_REQUEST(TypeChecker, IsDynamicRequest)
37-
SWIFT_REQUEST(TypeChecker, IsFinalRequest)
38-
SWIFT_REQUEST(TypeChecker, IsGetterMutatingRequest)
39-
SWIFT_REQUEST(TypeChecker, IsImplicitlyUnwrappedOptionalRequest)
40-
SWIFT_REQUEST(TypeChecker, IsObjCRequest)
41-
SWIFT_REQUEST(TypeChecker, IsSetterMutatingRequest)
42-
SWIFT_REQUEST(TypeChecker, LazyStoragePropertyRequest)
43-
SWIFT_REQUEST(TypeChecker, MangleLocalTypeDeclRequest)
44-
SWIFT_REQUEST(TypeChecker, OpaqueReadOwnershipRequest)
45-
SWIFT_REQUEST(TypeChecker, OverriddenDeclsRequest)
46-
SWIFT_REQUEST(TypeChecker, PropertyWrapperBackingPropertyInfoRequest)
47-
SWIFT_REQUEST(TypeChecker, PropertyWrapperBackingPropertyTypeRequest)
48-
SWIFT_REQUEST(TypeChecker, PropertyWrapperMutabilityRequest)
49-
SWIFT_REQUEST(TypeChecker, PropertyWrapperTypeInfoRequest)
50-
SWIFT_REQUEST(TypeChecker, ProtocolRequiresClassRequest)
51-
SWIFT_REQUEST(TypeChecker, RequirementRequest)
52-
SWIFT_REQUEST(TypeChecker, RequirementSignatureRequest)
53-
SWIFT_REQUEST(TypeChecker, RequiresOpaqueAccessorsRequest)
54-
SWIFT_REQUEST(TypeChecker, RequiresOpaqueModifyCoroutineRequest)
55-
SWIFT_REQUEST(TypeChecker, ResilienceExpansionRequest)
56-
SWIFT_REQUEST(TypeChecker, SelfAccessKindRequest)
57-
SWIFT_REQUEST(TypeChecker, StorageImplInfoRequest)
58-
SWIFT_REQUEST(TypeChecker, StoredPropertiesAndMissingMembersRequest)
59-
SWIFT_REQUEST(TypeChecker, StoredPropertiesRequest)
60-
SWIFT_REQUEST(TypeChecker, StructuralTypeRequest)
61-
SWIFT_REQUEST(TypeChecker, SuperclassTypeRequest)
62-
SWIFT_REQUEST(TypeChecker, SynthesizeAccessorRequest)
63-
SWIFT_REQUEST(TypeChecker, TypeCheckFunctionBodyUntilRequest)
64-
SWIFT_REQUEST(TypeChecker, USRGenerationRequest)
18+
SWIFT_REQUEST(TypeChecker, AbstractGenericSignatureRequest,
19+
GenericSignature *(GenericSignature *,
20+
SmallVector<GenericTypeParamType *, 2>,
21+
SmallVector<Requirement, 2>),
22+
Cached)
23+
SWIFT_REQUEST(TypeChecker, AttachedFunctionBuilderRequest,
24+
CustomAttr *(ValueDecl *), Cached)
25+
SWIFT_REQUEST(TypeChecker, AttachedPropertyWrapperTypeRequest,
26+
Type(VarDecl *, unsigned), Cached)
27+
SWIFT_REQUEST(TypeChecker, AttachedPropertyWrappersRequest,
28+
llvm::TinyPtrVector<CustomAttr *>(VarDecl *), Cached)
29+
SWIFT_REQUEST(TypeChecker, ClassAncestryFlagsRequest,
30+
AncestryFlags(ClassDecl *), Cached)
31+
SWIFT_REQUEST(TypeChecker, DefaultDefinitionTypeRequest,
32+
Type(AssociatedTypeDecl *), Cached)
33+
SWIFT_REQUEST(TypeChecker, DefaultTypeRequest,
34+
Type(KnownProtocolKind, const DeclContext *), SeparatelyCached)
35+
SWIFT_REQUEST(TypeChecker, EmittedMembersRequest, DeclRange(ClassDecl *),
36+
SeparatelyCached)
37+
SWIFT_REQUEST(TypeChecker, EnumRawTypeRequest,
38+
Type(EnumDecl *, TypeResolutionStage), SeparatelyCached)
39+
SWIFT_REQUEST(TypeChecker, ExistentialConformsToSelfRequest,
40+
bool(ProtocolDecl *), SeparatelyCached)
41+
SWIFT_REQUEST(TypeChecker, ExistentialTypeSupportedRequest,
42+
bool(ProtocolDecl *), SeparatelyCached)
43+
SWIFT_REQUEST(TypeChecker, ExtendedTypeRequest, Type(ExtensionDecl *), Cached)
44+
SWIFT_REQUEST(TypeChecker, FunctionBuilderTypeRequest, Type(ValueDecl *),
45+
Cached)
46+
SWIFT_REQUEST(TypeChecker, FunctionOperatorRequest, OperatorDecl *(FuncDecl *),
47+
Cached)
48+
SWIFT_REQUEST(TypeChecker, InferredGenericSignatureRequest,
49+
GenericSignature *(ModuleDecl *, GenericSignature *,
50+
SmallVector<GenericParamList *, 2>,
51+
SmallVector<Requirement, 2>,
52+
SmallVector<TypeLoc, 2>, bool),
53+
CacheKind::Cached)
54+
SWIFT_REQUEST(TypeChecker, InheritedTypeRequest,
55+
Type(llvm::PointerUnion<TypeDecl *, ExtensionDecl *>, unsigned,
56+
TypeResolutionStage),
57+
SeparatelyCached)
58+
SWIFT_REQUEST(TypeChecker, InitKindRequest,
59+
CtorInitializerKind(ConstructorDecl *), Cached)
60+
SWIFT_REQUEST(TypeChecker, IsAccessorTransparentRequest, bool(AccessorDecl *),
61+
SeparatelyCached)
62+
SWIFT_REQUEST(TypeChecker, IsDynamicRequest, bool(ValueDecl *),
63+
SeparatelyCached)
64+
SWIFT_REQUEST(TypeChecker, IsFinalRequest, bool(ValueDecl *), SeparatelyCached)
65+
SWIFT_REQUEST(TypeChecker, IsGetterMutatingRequest, bool(AbstractStorageDecl *),
66+
SeparatelyCached)
67+
SWIFT_REQUEST(TypeChecker, IsImplicitlyUnwrappedOptionalRequest,
68+
bool(ValueDecl *), SeparatelyCached)
69+
SWIFT_REQUEST(TypeChecker, IsObjCRequest, bool(ValueDecl *), SeparatelyCached)
70+
SWIFT_REQUEST(TypeChecker, IsSetterMutatingRequest, bool(AbstractStorageDecl *),
71+
SeparatelyCached)
72+
SWIFT_REQUEST(TypeChecker, LazyStoragePropertyRequest, VarDecl *(VarDecl *),
73+
Cached)
74+
SWIFT_REQUEST(TypeChecker, MangleLocalTypeDeclRequest,
75+
std::string(const TypeDecl *), Cached)
76+
SWIFT_REQUEST(TypeChecker, OpaqueReadOwnershipRequest,
77+
OpaqueReadOwnership(AbstractStorageDecl *), SeparatelyCached)
78+
SWIFT_REQUEST(TypeChecker, OverriddenDeclsRequest,
79+
llvm::TinyPtrVector<ValueDecl *>(ValueDecl *), SeparatelyCached)
80+
SWIFT_REQUEST(TypeChecker, PropertyWrapperBackingPropertyInfoRequest,
81+
PropertyWrapperBackingPropertyInfo(VarDecl *), Cached)
82+
SWIFT_REQUEST(TypeChecker, PropertyWrapperBackingPropertyTypeRequest,
83+
Type(VarDecl *), Cached)
84+
SWIFT_REQUEST(TypeChecker, PropertyWrapperMutabilityRequest,
85+
Optional<PropertyWrapperMutability>(VarDecl *), Cached)
86+
SWIFT_REQUEST(TypeChecker, PropertyWrapperTypeInfoRequest,
87+
PropertyWrapperTypeInfo(NominalTypeDecl *), Cached)
88+
SWIFT_REQUEST(TypeChecker, ProtocolRequiresClassRequest, bool(ProtocolDecl *),
89+
SeparatelyCached)
90+
SWIFT_REQUEST(TypeChecker, RequirementRequest,
91+
Requirement(WhereClauseOwner, unsigned, TypeResolutionStage),
92+
SeparatelyCached)
93+
SWIFT_REQUEST(TypeChecker, RequirementSignatureRequest,
94+
ArrayRef<Requirement>(ProtocolDecl *), SeparatelyCached)
95+
SWIFT_REQUEST(TypeChecker, RequiresOpaqueAccessorsRequest, bool(VarDecl *),
96+
SeparatelyCached)
97+
SWIFT_REQUEST(TypeChecker, RequiresOpaqueModifyCoroutineRequest,
98+
bool(AbstractStorageDecl *), SeparatelyCached)
99+
SWIFT_REQUEST(TypeChecker, ResilienceExpansionRequest,
100+
ResilienceExpansion(DeclContext *), Cached)
101+
SWIFT_REQUEST(TypeChecker, SelfAccessKindRequest, SelfAccessKind(FuncDecl *),
102+
SeparatelyCached)
103+
SWIFT_REQUEST(TypeChecker, StorageImplInfoRequest,
104+
StorageImplInfo(AbstractStorageDecl *), SeparatelyCached)
105+
SWIFT_REQUEST(TypeChecker, StoredPropertiesAndMissingMembersRequest,
106+
ArrayRef<Decl *>(NominalTypeDecl *), Cached)
107+
SWIFT_REQUEST(TypeChecker, StoredPropertiesRequest,
108+
ArrayRef<VarDecl *>(NominalTypeDecl *), Cached)
109+
SWIFT_REQUEST(TypeChecker, StructuralTypeRequest, Type(TypeAliasDecl *), Cached)
110+
SWIFT_REQUEST(TypeChecker, SuperclassTypeRequest,
111+
Type(NominalTypeDecl *, TypeResolutionStage), SeparatelyCached)
112+
SWIFT_REQUEST(TypeChecker, SynthesizeAccessorRequest,
113+
AccessorDecl *(AbstractStorageDecl *, AccessorKind),
114+
SeparatelyCached)
115+
SWIFT_REQUEST(TypeChecker, TypeCheckFunctionBodyUntilRequest,
116+
bool(AbstractFunctionDecl *, SourceLoc), Cached)
117+
SWIFT_REQUEST(TypeChecker, USRGenerationRequest, std::string(const ValueDecl *),
118+
Cached)

include/swift/Basic/DefineTypeIDZone.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333

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

3838
// First pass: put all of the names into an enum so we get values for them.
3939
template<> struct TypeIDZoneTypes<Zone::SWIFT_TYPEID_ZONE> {

include/swift/Basic/ImplementTypeIDZone.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
#endif
3434

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

3939
// Out-of-line definitions.

include/swift/Basic/Statistics.def

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ FRONTEND_STATISTIC(Parse, NumFunctionsParsed)
195195
/// Number of full braced decl list parsed.
196196
FRONTEND_STATISTIC(Parse, NumIterableDeclContextParsed)
197197

198-
#define SWIFT_REQUEST(ZONE, NAME) FRONTEND_STATISTIC(Parse, NAME)
198+
#define SWIFT_REQUEST(ZONE, NAME, SIG, CACHE) FRONTEND_STATISTIC(Parse, NAME)
199199
#include "swift/AST/ParseTypeIDZone.def"
200200
#undef SWIFT_REQUEST
201201

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

287287
/// All type check requests go into the Sema area.
288-
#define SWIFT_REQUEST(ZONE, NAME) FRONTEND_STATISTIC(Sema, NAME)
288+
#define SWIFT_REQUEST(ZONE, NAME, Sig, Caching) FRONTEND_STATISTIC(Sema, NAME)
289289
#include "swift/AST/AccessTypeIDZone.def"
290290
#include "swift/AST/NameLookupTypeIDZone.def"
291291
#include "swift/AST/TypeCheckerTypeIDZone.def"

include/swift/IDE/IDERequestIDZone.def

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,13 @@
1515
//
1616
//===----------------------------------------------------------------------===//
1717

18-
SWIFT_REQUEST(IDE, CollectOverriddenDeclsRequest)
19-
SWIFT_REQUEST(IDE, CursorInfoRequest)
20-
SWIFT_REQUEST(IDE, ProvideDefaultImplForRequest)
21-
SWIFT_REQUEST(IDE, RangeInfoRequest)
22-
SWIFT_REQUEST(IDE, ResolveProtocolNameRequest)
18+
SWIFT_REQUEST(IDE, CollectOverriddenDeclsRequest,
19+
ArrayRef<ValueDecl *>(OverridenDeclsOwner), CacheKind::Cached)
20+
SWIFT_REQUEST(IDE, CursorInfoRequest, ide::ResolvedCursorInfo(CursorInfoOwner),
21+
CacheKind::Cached)
22+
SWIFT_REQUEST(IDE, ProvideDefaultImplForRequest,
23+
ArrayRef<ValueDecl *>(ValueDecl *), CacheKind::Cached)
24+
SWIFT_REQUEST(IDE, RangeInfoRequest, ide::ResolvedRangeInfo(RangeInfoOwner),
25+
CacheKind::Cached)
26+
SWIFT_REQUEST(IDE, ResolveProtocolNameRequest,
27+
ProtocolDecl *(ProtocolNameOwner), CacheKind::Cached)

include/swift/IDE/IDERequests.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -289,7 +289,7 @@ class ResolveProtocolNameRequest:
289289
#undef SWIFT_TYPEID_HEADER
290290

291291
// Set up reporting of evaluated requests.
292-
#define SWIFT_REQUEST(Zone, RequestType) \
292+
#define SWIFT_REQUEST(Zone, RequestType, Sig, Caching) \
293293
template<> \
294294
inline void reportEvaluatedRequest(UnifiedStatsReporter &stats, \
295295
const RequestType &request) { \

include/swift/Sema/IDETypeCheckingRequestIDZone.def

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,13 @@
1515
//
1616
//===----------------------------------------------------------------------===//
1717

18-
SWIFT_REQUEST(IDETypeChecking, HasDynamicMemberLookupAttributeRequest)
19-
SWIFT_REQUEST(IDETypeChecking, IsDeclApplicableRequest)
20-
SWIFT_REQUEST(IDETypeChecking, RootAndResultTypeOfKeypathDynamicMemberRequest)
21-
SWIFT_REQUEST(IDETypeChecking, RootTypeOfKeypathDynamicMemberRequest)
22-
SWIFT_REQUEST(IDETypeChecking, TypeRelationCheckRequest)
18+
SWIFT_REQUEST(IDETypeChecking, HasDynamicMemberLookupAttributeRequest,
19+
bool(TypeBase *), Cached)
20+
SWIFT_REQUEST(IDETypeChecking, IsDeclApplicableRequest,
21+
bool(DeclApplicabilityOwner), Cached)
22+
SWIFT_REQUEST(IDETypeChecking, RootAndResultTypeOfKeypathDynamicMemberRequest,
23+
TypePair(SubscriptDecl *), Cached)
24+
SWIFT_REQUEST(IDETypeChecking, RootTypeOfKeypathDynamicMemberRequest,
25+
Type(SubscriptDecl *), Uncached)
26+
SWIFT_REQUEST(IDETypeChecking, TypeRelationCheckRequest,
27+
bool(TypeRelationCheckInput), Cached)

0 commit comments

Comments
 (0)