Skip to content

Commit 5ec344b

Browse files
committed
Define SWIFT_REQUEST
Begin refactoring the request evaluator by swapping SWIFT_TYPEID for SWIFT_REQUEST. Introduce the Zone of the request as a formal parameter to the macro, then re-expand the request macro to get the type info back. SWIFT_REQUEST will eventually grow to encompass more information about requests as we seek to reduce the boilerplate involved in their definitions.
1 parent 9b514db commit 5ec344b

File tree

7 files changed

+73
-72
lines changed

7 files changed

+73
-72
lines changed

include/swift/AST/AccessTypeIDZone.def

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,6 @@
1414
// TypeID zone, for use with the TypeID template.
1515
//
1616
//===----------------------------------------------------------------------===//
17-
SWIFT_TYPEID(AccessLevelRequest)
18-
SWIFT_TYPEID(SetterAccessLevelRequest)
19-
SWIFT_TYPEID(DefaultAndMaxAccessLevelRequest)
17+
SWIFT_REQUEST(AccessControl, AccessLevelRequest)
18+
SWIFT_REQUEST(AccessControl, SetterAccessLevelRequest)
19+
SWIFT_REQUEST(AccessControl, DefaultAndMaxAccessLevelRequest)

include/swift/AST/NameLookupTypeIDZone.def

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@
1414
// TypeID zone, for use with the TypeID template.
1515
//
1616
//===----------------------------------------------------------------------===//
17-
SWIFT_TYPEID(InheritedDeclsReferencedRequest)
18-
SWIFT_TYPEID(UnderlyingTypeDeclsReferencedRequest)
19-
SWIFT_TYPEID(SuperclassDeclRequest)
20-
SWIFT_TYPEID(ExtendedNominalRequest)
21-
SWIFT_TYPEID(SelfBoundsFromWhereClauseRequest)
22-
SWIFT_TYPEID(TypeDeclsFromWhereClauseRequest)
23-
SWIFT_TYPEID(CustomAttrNominalRequest)
24-
SWIFT_TYPEID(GetDestructorRequest)
17+
SWIFT_REQUEST(NameLookup, InheritedDeclsReferencedRequest)
18+
SWIFT_REQUEST(NameLookup, UnderlyingTypeDeclsReferencedRequest)
19+
SWIFT_REQUEST(NameLookup, SuperclassDeclRequest)
20+
SWIFT_REQUEST(NameLookup, ExtendedNominalRequest)
21+
SWIFT_REQUEST(NameLookup, SelfBoundsFromWhereClauseRequest)
22+
SWIFT_REQUEST(NameLookup, TypeDeclsFromWhereClauseRequest)
23+
SWIFT_REQUEST(NameLookup, CustomAttrNominalRequest)
24+
SWIFT_REQUEST(NameLookup, GetDestructorRequest)

include/swift/AST/TypeCheckerTypeIDZone.def

Lines changed: 47 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -14,49 +14,50 @@
1414
// TypeID zone, for use with the TypeID template.
1515
//
1616
//===----------------------------------------------------------------------===//
17-
SWIFT_TYPEID(InheritedTypeRequest)
18-
SWIFT_TYPEID(SuperclassTypeRequest)
19-
SWIFT_TYPEID(EnumRawTypeRequest)
20-
SWIFT_TYPEID(OverriddenDeclsRequest)
21-
SWIFT_TYPEID(IsObjCRequest)
22-
SWIFT_TYPEID(InitKindRequest)
23-
SWIFT_TYPEID(ProtocolRequiresClassRequest)
24-
SWIFT_TYPEID(ExistentialConformsToSelfRequest)
25-
SWIFT_TYPEID(ExistentialTypeSupportedRequest)
26-
SWIFT_TYPEID(IsFinalRequest)
27-
SWIFT_TYPEID(IsDynamicRequest)
28-
SWIFT_TYPEID(RequirementRequest)
29-
SWIFT_TYPEID(RequirementSignatureRequest)
30-
SWIFT_TYPEID(DefaultDefinitionTypeRequest)
31-
SWIFT_TYPEID(USRGenerationRequest)
32-
SWIFT_TYPEID(StructuralTypeRequest)
33-
SWIFT_TYPEID(ResilienceExpansionRequest)
34-
SWIFT_TYPEID(DefaultTypeRequest)
35-
SWIFT_TYPEID(MangleLocalTypeDeclRequest)
36-
SWIFT_TYPEID(PropertyWrapperTypeInfoRequest)
37-
SWIFT_TYPEID(PropertyWrapperMutabilityRequest)
38-
SWIFT_TYPEID(AttachedPropertyWrappersRequest)
39-
SWIFT_TYPEID(AttachedPropertyWrapperTypeRequest)
40-
SWIFT_TYPEID(PropertyWrapperBackingPropertyTypeRequest)
41-
SWIFT_TYPEID(PropertyWrapperBackingPropertyInfoRequest)
42-
SWIFT_TYPEID(AttachedFunctionBuilderRequest)
43-
SWIFT_TYPEID(FunctionBuilderTypeRequest)
44-
SWIFT_TYPEID(SelfAccessKindRequest)
45-
SWIFT_TYPEID(IsGetterMutatingRequest)
46-
SWIFT_TYPEID(IsSetterMutatingRequest)
47-
SWIFT_TYPEID(OpaqueReadOwnershipRequest)
48-
SWIFT_TYPEID(LazyStoragePropertyRequest)
49-
SWIFT_TYPEID(TypeCheckFunctionBodyUntilRequest)
50-
SWIFT_TYPEID(StoredPropertiesRequest)
51-
SWIFT_TYPEID(StoredPropertiesAndMissingMembersRequest)
52-
SWIFT_TYPEID(StorageImplInfoRequest)
53-
SWIFT_TYPEID(RequiresOpaqueAccessorsRequest)
54-
SWIFT_TYPEID(RequiresOpaqueModifyCoroutineRequest)
55-
SWIFT_TYPEID(IsAccessorTransparentRequest)
56-
SWIFT_TYPEID(SynthesizeAccessorRequest)
57-
SWIFT_TYPEID(EmittedMembersRequest)
58-
SWIFT_TYPEID(IsImplicitlyUnwrappedOptionalRequest)
59-
SWIFT_TYPEID(ClassAncestryFlagsRequest)
60-
SWIFT_TYPEID(AbstractGenericSignatureRequest)
61-
SWIFT_TYPEID(ExtendedTypeRequest)
62-
SWIFT_TYPEID(FunctionOperatorRequest)
17+
18+
SWIFT_REQUEST(TypeChecker, InheritedTypeRequest)
19+
SWIFT_REQUEST(TypeChecker, SuperclassTypeRequest)
20+
SWIFT_REQUEST(TypeChecker, EnumRawTypeRequest)
21+
SWIFT_REQUEST(TypeChecker, OverriddenDeclsRequest)
22+
SWIFT_REQUEST(TypeChecker, IsObjCRequest)
23+
SWIFT_REQUEST(TypeChecker, InitKindRequest)
24+
SWIFT_REQUEST(TypeChecker, ProtocolRequiresClassRequest)
25+
SWIFT_REQUEST(TypeChecker, ExistentialConformsToSelfRequest)
26+
SWIFT_REQUEST(TypeChecker, ExistentialTypeSupportedRequest)
27+
SWIFT_REQUEST(TypeChecker, IsFinalRequest)
28+
SWIFT_REQUEST(TypeChecker, IsDynamicRequest)
29+
SWIFT_REQUEST(TypeChecker, RequirementRequest)
30+
SWIFT_REQUEST(TypeChecker, RequirementSignatureRequest)
31+
SWIFT_REQUEST(TypeChecker, DefaultDefinitionTypeRequest)
32+
SWIFT_REQUEST(TypeChecker, USRGenerationRequest)
33+
SWIFT_REQUEST(TypeChecker, StructuralTypeRequest)
34+
SWIFT_REQUEST(TypeChecker, ResilienceExpansionRequest)
35+
SWIFT_REQUEST(TypeChecker, DefaultTypeRequest)
36+
SWIFT_REQUEST(TypeChecker, MangleLocalTypeDeclRequest)
37+
SWIFT_REQUEST(TypeChecker, PropertyWrapperTypeInfoRequest)
38+
SWIFT_REQUEST(TypeChecker, PropertyWrapperMutabilityRequest)
39+
SWIFT_REQUEST(TypeChecker, AttachedPropertyWrappersRequest)
40+
SWIFT_REQUEST(TypeChecker, AttachedPropertyWrapperTypeRequest)
41+
SWIFT_REQUEST(TypeChecker, PropertyWrapperBackingPropertyTypeRequest)
42+
SWIFT_REQUEST(TypeChecker, PropertyWrapperBackingPropertyInfoRequest)
43+
SWIFT_REQUEST(TypeChecker, AttachedFunctionBuilderRequest)
44+
SWIFT_REQUEST(TypeChecker, FunctionBuilderTypeRequest)
45+
SWIFT_REQUEST(TypeChecker, SelfAccessKindRequest)
46+
SWIFT_REQUEST(TypeChecker, IsGetterMutatingRequest)
47+
SWIFT_REQUEST(TypeChecker, IsSetterMutatingRequest)
48+
SWIFT_REQUEST(TypeChecker, OpaqueReadOwnershipRequest)
49+
SWIFT_REQUEST(TypeChecker, LazyStoragePropertyRequest)
50+
SWIFT_REQUEST(TypeChecker, TypeCheckFunctionBodyUntilRequest)
51+
SWIFT_REQUEST(TypeChecker, StoredPropertiesRequest)
52+
SWIFT_REQUEST(TypeChecker, StoredPropertiesAndMissingMembersRequest)
53+
SWIFT_REQUEST(TypeChecker, StorageImplInfoRequest)
54+
SWIFT_REQUEST(TypeChecker, RequiresOpaqueAccessorsRequest)
55+
SWIFT_REQUEST(TypeChecker, RequiresOpaqueModifyCoroutineRequest)
56+
SWIFT_REQUEST(TypeChecker, IsAccessorTransparentRequest)
57+
SWIFT_REQUEST(TypeChecker, SynthesizeAccessorRequest)
58+
SWIFT_REQUEST(TypeChecker, EmittedMembersRequest)
59+
SWIFT_REQUEST(TypeChecker, IsImplicitlyUnwrappedOptionalRequest)
60+
SWIFT_REQUEST(TypeChecker, ClassAncestryFlagsRequest)
61+
SWIFT_REQUEST(TypeChecker, AbstractGenericSignatureRequest)
62+
SWIFT_REQUEST(TypeChecker, ExtendedTypeRequest)
63+
SWIFT_REQUEST(TypeChecker, FunctionOperatorRequest)

include/swift/Basic/Statistics.def

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -268,13 +268,13 @@ FRONTEND_STATISTIC(Sema, NumUnloadedLazyIterableDeclContexts)
268268
/// Number of lookups into a module and its imports.
269269

270270
/// All type check requests go into the Sema area.
271-
#define SWIFT_TYPEID(NAME) FRONTEND_STATISTIC(Sema, NAME)
271+
#define SWIFT_REQUEST(ZONE, NAME) FRONTEND_STATISTIC(Sema, NAME)
272272
#include "swift/AST/AccessTypeIDZone.def"
273273
#include "swift/AST/NameLookupTypeIDZone.def"
274274
#include "swift/AST/TypeCheckerTypeIDZone.def"
275275
#include "swift/Sema/IDETypeCheckingRequestIDZone.def"
276276
#include "swift/IDE/IDERequestIDZone.def"
277-
#undef SWIFT_TYPEID
277+
#undef SWIFT_REQUEST
278278

279279
/// The next 10 statistics count 5 kinds of SIL entities present
280280
/// after the SILGen and SILOpt phases. The entities are functions,

include/swift/IDE/IDERequestIDZone.def

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414
// TypeID zone, for use with the TypeID template.
1515
//
1616
//===----------------------------------------------------------------------===//
17-
SWIFT_TYPEID(CursorInfoRequest)
18-
SWIFT_TYPEID(RangeInfoRequest)
19-
SWIFT_TYPEID(ProvideDefaultImplForRequest)
20-
SWIFT_TYPEID(CollectOverriddenDeclsRequest)
21-
SWIFT_TYPEID(ResolveProtocolNameRequest)
17+
SWIFT_REQUEST(IDE, CursorInfoRequest)
18+
SWIFT_REQUEST(IDE, RangeInfoRequest)
19+
SWIFT_REQUEST(IDE, ProvideDefaultImplForRequest)
20+
SWIFT_REQUEST(IDE, CollectOverriddenDeclsRequest)
21+
SWIFT_REQUEST(IDE, ResolveProtocolNameRequest)

include/swift/Sema/IDETypeCheckingRequestIDZone.def

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414
// TypeID zone, for use with the TypeID template.
1515
//
1616
//===----------------------------------------------------------------------===//
17-
SWIFT_TYPEID(IsDeclApplicableRequest)
18-
SWIFT_TYPEID(TypeRelationCheckRequest)
19-
SWIFT_TYPEID(RootAndResultTypeOfKeypathDynamicMemberRequest)
20-
SWIFT_TYPEID(RootTypeOfKeypathDynamicMemberRequest)
21-
SWIFT_TYPEID(HasDynamicMemberLookupAttributeRequest)
17+
SWIFT_REQUEST(IDETypeChecking, IsDeclApplicableRequest)
18+
SWIFT_REQUEST(IDETypeChecking, TypeRelationCheckRequest)
19+
SWIFT_REQUEST(IDETypeChecking, RootAndResultTypeOfKeypathDynamicMemberRequest)
20+
SWIFT_REQUEST(IDETypeChecking, RootTypeOfKeypathDynamicMemberRequest)
21+
SWIFT_REQUEST(IDETypeChecking, HasDynamicMemberLookupAttributeRequest)

unittests/AST/ArithmeticEvaluatorTypeIDZone.def

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,6 @@
1414
// TypeID zone, for use with the TypeID template.
1515
//
1616
//===----------------------------------------------------------------------===//
17-
SWIFT_TYPEID(UncachedEvaluationRule)
18-
SWIFT_TYPEID(InternallyCachedEvaluationRule)
19-
SWIFT_TYPEID(ExternallyCachedEvaluationRule)
17+
SWIFT_REQUEST(ArithmeticEvaluator, UncachedEvaluationRule)
18+
SWIFT_REQUEST(ArithmeticEvaluator, InternallyCachedEvaluationRule)
19+
SWIFT_REQUEST(ArithmeticEvaluator, ExternallyCachedEvaluationRule)

0 commit comments

Comments
 (0)