Skip to content

Commit 91ae5d6

Browse files
committed
[AST] NFC: Rename getArgumentInterfaceType -> getPayloadInterfaceType
IMO this is a slightly clearer name, many of its uses already use the term "payload".
1 parent 8c5d7ee commit 91ae5d6

20 files changed

+54
-52
lines changed

include/swift/AST/Decl.h

+3-1
Original file line numberDiff line numberDiff line change
@@ -8507,7 +8507,9 @@ class EnumElementDecl : public DeclContext, public ValueDecl {
85078507
return hasName() ? getBaseIdentifier().str() : "_";
85088508
}
85098509

8510-
Type getArgumentInterfaceType() const;
8510+
/// Retrieve the payload type for the enum element, which is a tuple of the
8511+
/// associated values, or null if there are no associated values.
8512+
Type getPayloadInterfaceType() const;
85118513

85128514
void setParameterList(ParameterList *params);
85138515
ParameterList *getParameterList() const { return Params; }

lib/AST/Decl.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -10601,7 +10601,7 @@ SourceRange EnumElementDecl::getSourceRange() const {
1060110601
return {getStartLoc(), getNameLoc()};
1060210602
}
1060310603

10604-
Type EnumElementDecl::getArgumentInterfaceType() const {
10604+
Type EnumElementDecl::getPayloadInterfaceType() const {
1060510605
if (!hasAssociatedValues())
1060610606
return nullptr;
1060710607

lib/IRGen/GenEnum.cpp

+9-9
Original file line numberDiff line numberDiff line change
@@ -231,9 +231,9 @@ const {
231231

232232
// Empty payload addresses can be left undefined.
233233
if (payloadI == ElementsWithPayload.end()) {
234-
auto argTy = elt->getParentEnum()->mapTypeIntoContext(
235-
elt->getArgumentInterfaceType());
236-
return IGF.getTypeInfoForUnlowered(argTy)
234+
auto payloadTy = elt->getParentEnum()->mapTypeIntoContext(
235+
elt->getPayloadInterfaceType());
236+
return IGF.getTypeInfoForUnlowered(payloadTy)
237237
.getUndefAddress();
238238
}
239239

@@ -254,9 +254,9 @@ const {
254254

255255
// Empty payload addresses can be left undefined.
256256
if (payloadI == ElementsWithPayload.end()) {
257-
auto argTy = Case->getParentEnum()->mapTypeIntoContext(
258-
Case->getArgumentInterfaceType());
259-
return IGF.getTypeInfoForUnlowered(argTy)
257+
auto payloadTy = Case->getParentEnum()->mapTypeIntoContext(
258+
Case->getPayloadInterfaceType());
259+
return IGF.getTypeInfoForUnlowered(payloadTy)
260260
.getUndefAddress();
261261
}
262262

@@ -6463,10 +6463,10 @@ EnumImplStrategy::get(TypeConverter &TC, SILType type, EnumDecl *theEnum) {
64636463
// strategy. If the abstract layout of the enum is dependent on generic
64646464
// parameters, then we additionally need to constrain any layout
64656465
// optimizations we perform to things that are reproducible by the runtime.
6466-
Type origArgType = elt->getArgumentInterfaceType();
6467-
origArgType = theEnum->mapTypeIntoContext(origArgType);
6466+
Type origPayloadType = elt->getPayloadInterfaceType();
6467+
origPayloadType = theEnum->mapTypeIntoContext(origPayloadType);
64686468

6469-
auto origArgLoweredTy = TC.IGM.getLoweredType(origArgType);
6469+
auto origArgLoweredTy = TC.IGM.getLoweredType(origPayloadType);
64706470
auto *origArgTI = &TC.getCompleteTypeInfo(origArgLoweredTy.getASTType());
64716471

64726472
// If the unsubstituted argument contains a generic parameter type, or

lib/IRGen/GenReflection.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -942,7 +942,7 @@ class FieldTypeMetadataBuilder : public ReflectionMetadataBuilder {
942942
flags.setIsIndirectCase();
943943

944944
Type interfaceType = decl->isAvailableDuringLowering()
945-
? decl->getArgumentInterfaceType()
945+
? decl->getPayloadInterfaceType()
946946
: nullptr;
947947

948948
addField(flags, interfaceType, decl->getBaseIdentifier().str());

lib/IRGen/GenType.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -2484,7 +2484,7 @@ namespace {
24842484
if (!elt->hasAssociatedValues() || elt->isIndirect())
24852485
continue;
24862486

2487-
if (visit(elt->getArgumentInterfaceType()->getCanonicalType()))
2487+
if (visit(elt->getPayloadInterfaceType()->getCanonicalType()))
24882488
return true;
24892489
}
24902490
return false;

lib/IRGen/IRGenDebugInfo.cpp

+7-7
Original file line numberDiff line numberDiff line change
@@ -1358,11 +1358,11 @@ createSpecializedStructOrClassType(NominalOrBoundGenericNominalType *Type,
13581358
SmallVector<llvm::Metadata *, 16> Elements;
13591359
for (auto *ElemDecl : Decl->getAllElements()) {
13601360
std::optional<CompletedDebugTypeInfo> ElemDbgTy;
1361-
if (auto ArgTy = ElemDecl->getArgumentInterfaceType()) {
1361+
if (auto PayloadTy = ElemDecl->getPayloadInterfaceType()) {
13621362
// A variant case which carries a payload.
1363-
ArgTy = ElemDecl->getParentEnum()->mapTypeIntoContext(ArgTy);
1364-
auto &TI = IGM.getTypeInfoForUnlowered(ArgTy);
1365-
ElemDbgTy = CompletedDebugTypeInfo::getFromTypeInfo(ArgTy, TI, IGM);
1363+
PayloadTy = ElemDecl->getParentEnum()->mapTypeIntoContext(PayloadTy);
1364+
auto &TI = IGM.getTypeInfoForUnlowered(PayloadTy);
1365+
ElemDbgTy = CompletedDebugTypeInfo::getFromTypeInfo(PayloadTy, TI, IGM);
13661366
if (!ElemDbgTy) {
13671367
// Without complete type info we can only create a forward decl.
13681368
return DBuilder.createForwardDecl(
@@ -1434,11 +1434,11 @@ createSpecializedStructOrClassType(NominalOrBoundGenericNominalType *Type,
14341434
SmallVector<llvm::Metadata *, 16> Elements;
14351435
for (auto *ElemDecl : Decl->getAllElements()) {
14361436
std::optional<DebugTypeInfo> ElemDbgTy;
1437-
if (auto ArgTy = ElemDecl->getArgumentInterfaceType()) {
1437+
if (auto PayloadTy = ElemDecl->getPayloadInterfaceType()) {
14381438
// A variant case which carries a payload.
1439-
ArgTy = ElemDecl->getParentEnum()->mapTypeIntoContext(ArgTy);
1439+
PayloadTy = ElemDecl->getParentEnum()->mapTypeIntoContext(PayloadTy);
14401440
ElemDbgTy = DebugTypeInfo::getFromTypeInfo(
1441-
ArgTy, IGM.getTypeInfoForUnlowered(ArgTy), IGM);
1441+
PayloadTy, IGM.getTypeInfoForUnlowered(PayloadTy), IGM);
14421442
unsigned Offset = 0;
14431443
auto MTy =
14441444
createMemberType(*ElemDbgTy, ElemDecl->getBaseIdentifier().str(),

lib/SIL/IR/AbstractionPattern.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ AbstractionPattern TypeConverter::getAbstractionPattern(EnumElementDecl *decl) {
120120
auto sig = decl->getParentEnum()
121121
->getGenericSignatureOfContext()
122122
.getCanonicalSignature();
123-
auto type = sig.getReducedType(decl->getArgumentInterfaceType());
123+
auto type = sig.getReducedType(decl->getPayloadInterfaceType());
124124

125125
return AbstractionPattern(sig, type);
126126
}

lib/SIL/IR/SILType.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -414,7 +414,7 @@ SILType SILType::getEnumElementType(EnumElementDecl *elt, TypeConverter &TC,
414414
addFieldSubstitutionsIfNeeded(TC, *this, elt, origEltType);
415415

416416
auto substEltTy = getASTType()->getTypeOfMember(
417-
elt, elt->getArgumentInterfaceType());
417+
elt, elt->getPayloadInterfaceType());
418418
auto loweredTy = TC.getLoweredRValueType(
419419
context, TC.getAbstractionPattern(elt), substEltTy);
420420

lib/SIL/IR/TypeLowering.cpp

+6-6
Original file line numberDiff line numberDiff line change
@@ -2559,11 +2559,11 @@ namespace {
25592559
}
25602560

25612561
auto substEltType =
2562-
elt->getArgumentInterfaceType().subst(subMap)
2562+
elt->getPayloadInterfaceType().subst(subMap)
25632563
->getCanonicalType();
25642564

25652565
auto origEltType = origType.unsafeGetSubstFieldType(elt,
2566-
elt->getArgumentInterfaceType()
2566+
elt->getPayloadInterfaceType()
25672567
->getReducedType(D->getGenericSignature()),
25682568
subMap);
25692569
properties.addSubobject(classifyType(origEltType, substEltType,
@@ -2968,11 +2968,11 @@ bool TypeConverter::visitAggregateLeaves(
29682968
// TODO: Callback for indirect elements.
29692969
if (element->isIndirect())
29702970
continue;
2971-
auto substElementType = element->getArgumentInterfaceType()
2971+
auto substElementType = element->getPayloadInterfaceType()
29722972
.subst(subMap)
29732973
->getCanonicalType();
29742974
auto origElementTy = origTy.unsafeGetSubstFieldType(
2975-
element, element->getArgumentInterfaceType()->getReducedType(
2975+
element, element->getPayloadInterfaceType()->getReducedType(
29762976
decl->getGenericSignature()), subMap);
29772977

29782978
insertIntoWorklist(substElementType, origElementTy, element,
@@ -5028,7 +5028,7 @@ CanSILBoxType TypeConverter::getBoxTypeForEnumElement(
50285028
enumDecl->getGenericSignature());
50295029

50305030
if (boxSignature == CanGenericSignature()) {
5031-
auto eltIntfTy = elt->getArgumentInterfaceType();
5031+
auto eltIntfTy = elt->getPayloadInterfaceType();
50325032
auto boxVarTy = getLoweredRValueType(context, eltIntfTy);
50335033
auto layout = SILLayout::get(C, nullptr, SILField(boxVarTy, true),
50345034
/*captures generics*/ false);
@@ -5039,7 +5039,7 @@ CanSILBoxType TypeConverter::getBoxTypeForEnumElement(
50395039
auto boundEnum = enumType.getRawASTType();
50405040

50415041
// Lower the enum element's argument in the box's context.
5042-
auto eltIntfTy = elt->getArgumentInterfaceType();
5042+
auto eltIntfTy = elt->getPayloadInterfaceType();
50435043

50445044
auto boxVarTy = getLoweredRValueType(context,
50455045
getAbstractionPattern(elt), eltIntfTy);

lib/SIL/Verifier/SILVerifier.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -3620,7 +3620,7 @@ class SILVerifier : public SILVerifierBase<SILVerifier> {
36203620
require(ud, "UncheckedEnumData must take an enum operand");
36213621
require(UI->getElement()->getParentEnum() == ud,
36223622
"UncheckedEnumData case must be a case of the enum operand type");
3623-
require(UI->getElement()->getArgumentInterfaceType(),
3623+
require(UI->getElement()->getPayloadInterfaceType(),
36243624
"UncheckedEnumData case must have a data type");
36253625
require(UI->getOperand()->getType().isObject(),
36263626
"UncheckedEnumData must take an address operand");
@@ -3642,7 +3642,7 @@ class SILVerifier : public SILVerifierBase<SILVerifier> {
36423642
require(ud, "UncheckedTakeEnumDataAddrInst must take an enum operand");
36433643
require(UI->getElement()->getParentEnum() == ud,
36443644
"UncheckedTakeEnumDataAddrInst case must be a case of the enum operand type");
3645-
require(UI->getElement()->getArgumentInterfaceType(),
3645+
require(UI->getElement()->getPayloadInterfaceType(),
36463646
"UncheckedTakeEnumDataAddrInst case must have a data type");
36473647
require(UI->getOperand()->getType().isAddress(),
36483648
"UncheckedTakeEnumDataAddrInst must take an address operand");

lib/SILGen/SILGenDecl.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -1239,7 +1239,7 @@ void EnumElementPatternInitialization::emitEnumMatch(
12391239
value.getType()
12401240
.getASTType()
12411241
->getTypeOfMember(eltDecl,
1242-
eltDecl->getArgumentInterfaceType())
1242+
eltDecl->getPayloadInterfaceType())
12431243
->getCanonicalType();
12441244

12451245
AbstractionPattern origEltTy =

lib/SILGen/SILGenLazyConformance.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -356,7 +356,7 @@ void SILGenModule::emitLazyConformancesForType(NominalTypeDecl *NTD) {
356356
if (auto *ED = dyn_cast<EnumDecl>(NTD)) {
357357
for (auto *EED : ED->getAllElements()) {
358358
if (EED->hasAssociatedValues()) {
359-
useConformancesFromType(EED->getArgumentInterfaceType()
359+
useConformancesFromType(EED->getPayloadInterfaceType()
360360
->getReducedType(genericSig));
361361
}
362362
}

lib/SILGen/SILGenPattern.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -2208,7 +2208,7 @@ void PatternMatchEmission::emitEnumElementObjectDispatch(
22082208
// Reabstract to the substituted type, if needed.
22092209
CanType substEltTy =
22102210
sourceType
2211-
->getTypeOfMember(elt, elt->getArgumentInterfaceType())
2211+
->getTypeOfMember(elt, elt->getPayloadInterfaceType())
22122212
->getCanonicalType();
22132213

22142214
AbstractionPattern origEltTy =
@@ -2470,7 +2470,7 @@ void PatternMatchEmission::emitEnumElementDispatch(
24702470
// Reabstract to the substituted type, if needed.
24712471
CanType substEltTy =
24722472
sourceType->getTypeOfMember(eltDecl,
2473-
eltDecl->getArgumentInterfaceType())
2473+
eltDecl->getPayloadInterfaceType())
24742474
->getCanonicalType();
24752475

24762476
AbstractionPattern origEltTy =

lib/SILOptimizer/Utils/InstOptUtils.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -823,7 +823,7 @@ namespace {
823823
if (!elt->hasAssociatedValues() || elt->isIndirect())
824824
continue;
825825

826-
if (visit(elt->getArgumentInterfaceType()->getCanonicalType()))
826+
if (visit(elt->getPayloadInterfaceType()->getCanonicalType()))
827827
return true;
828828
}
829829
return false;

lib/Sema/DerivedConformances.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -871,8 +871,8 @@ Pattern *DerivedConformance::enumElementPayloadSubpattern(
871871
if (!enumElementDecl->hasAssociatedValues())
872872
return nullptr;
873873

874-
auto argumentType = enumElementDecl->getArgumentInterfaceType();
875-
if (auto tupleType = argumentType->getAs<TupleType>()) {
874+
auto payloadType = enumElementDecl->getPayloadInterfaceType();
875+
if (auto tupleType = payloadType->getAs<TupleType>()) {
876876
// Either multiple (labeled or unlabeled) arguments, or one labeled
877877
// argument. Return a tuple pattern that matches the enum element in arity,
878878
// types, and labels. For example:
@@ -909,7 +909,7 @@ Pattern *DerivedConformance::enumElementPayloadSubpattern(
909909
// Otherwise, a one-argument unlabeled payload. Return a paren pattern whose
910910
// underlying type is the same as the payload. For example:
911911
// case a(Int) => (let a0)
912-
auto underlyingType = argumentType->getWithoutParens();
912+
auto underlyingType = payloadType->getWithoutParens();
913913
auto payloadVar = indexedVarDecl(varPrefix, 0, underlyingType, varContext);
914914
boundVars.push_back(payloadVar);
915915

lib/Sema/TypeCheckCircularity.cpp

+6-6
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,7 @@ bool CircularityChecker::expandEnum(CanType type, EnumDecl *E,
282282
if (!elt->hasAssociatedValues())
283283
continue;
284284

285-
auto eltType = elt->getArgumentInterfaceType().subst(subMap);
285+
auto eltType = elt->getPayloadInterfaceType().subst(subMap);
286286
if (addMember(type, elt, eltType, depth))
287287
return true;
288288
}
@@ -346,7 +346,7 @@ static size_t findCycleIndex(const Path &path) {
346346

347347
static Type getMemberStorageInterfaceType(ValueDecl *member) {
348348
if (auto elt = dyn_cast<EnumElementDecl>(member)) {
349-
return elt->getArgumentInterfaceType();
349+
return elt->getPayloadInterfaceType();
350350
} else {
351351
return member->getInterfaceType();
352352
}
@@ -599,14 +599,14 @@ void CircularityChecker::diagnoseNonWellFoundedEnum(EnumDecl *E) {
599599
if (!elt->isIndirect() && !E->isIndirect())
600600
return false;
601601

602-
auto argTy = elt->getArgumentInterfaceType();
603-
if (!argTy)
602+
auto payloadTy = elt->getPayloadInterfaceType();
603+
if (!payloadTy)
604604
return false;
605605

606-
if (auto tuple = argTy->getAs<TupleType>()) {
606+
if (auto tuple = payloadTy->getAs<TupleType>()) {
607607
if (!containsType(tuple, E->getSelfInterfaceType()))
608608
return false;
609-
} else if (auto paren = dyn_cast<ParenType>(argTy.getPointer())) {
609+
} else if (auto paren = dyn_cast<ParenType>(payloadTy.getPointer())) {
610610
if (!E->getSelfInterfaceType()->isEqual(paren->getUnderlyingType()))
611611
return false;
612612
}

lib/Sema/TypeCheckInvertible.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -321,7 +321,7 @@ bool StorageVisitor::visit(NominalTypeDecl *nominal, DeclContext *dc) {
321321

322322
// Check that the associated value type is Sendable.
323323
auto elementType = dc->mapTypeIntoContext(
324-
element->getArgumentInterfaceType());
324+
element->getPayloadInterfaceType());
325325
if ((*this)(element, elementType))
326326
return true;
327327
}

lib/Sema/TypeCheckPattern.cpp

+5-5
Original file line numberDiff line numberDiff line change
@@ -1601,7 +1601,7 @@ Pattern *TypeChecker::coercePatternToType(
16011601
}
16021602

16031603
// If there is a subpattern, push the enum element type down onto it.
1604-
auto argType = elt->getArgumentInterfaceType();
1604+
auto payloadType = elt->getPayloadInterfaceType();
16051605
if (EEP->hasSubPattern()) {
16061606
Pattern *sub = EEP->getSubPattern();
16071607
if (!elt->hasAssociatedValues()) {
@@ -1615,8 +1615,8 @@ Pattern *TypeChecker::coercePatternToType(
16151615
}
16161616

16171617
Type elementType;
1618-
if (argType)
1619-
elementType = enumTy->getTypeOfMember(elt, argType);
1618+
if (payloadType)
1619+
elementType = enumTy->getTypeOfMember(elt, payloadType);
16201620
else
16211621
elementType = TupleType::getEmpty(Context);
16221622
auto newSubOptions = subOptions;
@@ -1633,11 +1633,11 @@ Pattern *TypeChecker::coercePatternToType(
16331633
return nullptr;
16341634

16351635
EEP->setSubPattern(sub);
1636-
} else if (argType) {
1636+
} else if (payloadType) {
16371637
// Else if the element pattern has no sub-pattern but the element type has
16381638
// associated values, expand it to be semantically equivalent to an
16391639
// element pattern of wildcards.
1640-
Type elementType = enumTy->getTypeOfMember(elt, argType);
1640+
Type elementType = enumTy->getTypeOfMember(elt, payloadType);
16411641
SmallVector<TuplePatternElt, 8> elements;
16421642
if (auto *TTy = dyn_cast<TupleType>(elementType.getPointer())) {
16431643
for (auto &elt : TTy->getElements()) {

lib/Sema/TypeCheckSwitchStmt.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -846,7 +846,7 @@ namespace {
846846
// .e(a: X, b: X) -> (a: X, b: X)
847847
// .f((a: X, b: X)) -> ((a: X, b: X)
848848
SmallVector<Space, 4> constElemSpaces;
849-
if (auto payloadTy = eed->getArgumentInterfaceType()) {
849+
if (auto payloadTy = eed->getPayloadInterfaceType()) {
850850
auto eedTy = tp->getCanonicalType()->getTypeOfMember(
851851
eed, payloadTy);
852852
if (auto *TTy = eedTy->getAs<TupleType>()) {

lib/Serialization/Serialization.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -4337,7 +4337,7 @@ class Serializer::DeclSerializer : public DeclVisitor<DeclSerializer> {
43374337
// reason). However, we need a more robust handling of deserialization
43384338
// dependencies that can handle circularities. rdar://problem/32359173
43394339
collectDependenciesFromType(dependencyTypes,
4340-
nextElt->getArgumentInterfaceType(),
4340+
nextElt->getPayloadInterfaceType(),
43414341
/*excluding*/theEnum->getParentModule());
43424342
}
43434343
for (Requirement req : theEnum->getGenericRequirements()) {

0 commit comments

Comments
 (0)