Skip to content

Commit 96bcc7a

Browse files
committed
[NFC] FuncDecl: Replace the const version of getBodyResultTypeLoc with a TypeRepr accessor
1 parent 3de9790 commit 96bcc7a

File tree

5 files changed

+12
-10
lines changed

5 files changed

+12
-10
lines changed

include/swift/AST/Decl.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6270,7 +6270,10 @@ class FuncDecl : public AbstractFunctionDecl {
62706270
SourceRange getSourceRange() const;
62716271

62726272
TypeLoc &getBodyResultTypeLoc() { return FnRetType; }
6273-
const TypeLoc &getBodyResultTypeLoc() const { return FnRetType; }
6273+
TypeRepr *getResultTypeRepr() const { return FnRetType.getTypeRepr(); }
6274+
SourceRange getResultTypeSourceRange() const {
6275+
return FnRetType.getSourceRange();
6276+
}
62746277

62756278
/// Retrieve the result interface type of this function.
62766279
Type getResultInterfaceType() const;

lib/AST/Decl.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2759,7 +2759,7 @@ OpaqueReturnTypeRepr *ValueDecl::getOpaqueResultTypeRepr() const {
27592759
returnRepr = VD->getTypeReprOrParentPatternTypeRepr();
27602760
}
27612761
} else if (auto *FD = dyn_cast<FuncDecl>(this)) {
2762-
returnRepr = FD->getBodyResultTypeLoc().getTypeRepr();
2762+
returnRepr = FD->getResultTypeRepr();
27632763
} else if (auto *SD = dyn_cast<SubscriptDecl>(this)) {
27642764
returnRepr = SD->getElementTypeLoc().getTypeRepr();
27652765
}
@@ -7426,9 +7426,9 @@ SourceRange FuncDecl::getSourceRange() const {
74267426
if (TrailingWhereClauseSourceRange.isValid())
74277427
return { StartLoc, TrailingWhereClauseSourceRange.End };
74287428

7429-
if (getBodyResultTypeLoc().hasLocation() &&
7430-
getBodyResultTypeLoc().getSourceRange().End.isValid())
7431-
return { StartLoc, getBodyResultTypeLoc().getSourceRange().End };
7429+
const auto ResultTyEndLoc = getResultTypeSourceRange().End;
7430+
if (ResultTyEndLoc.isValid())
7431+
return { StartLoc, ResultTyEndLoc };
74327432

74337433
if (hasThrows())
74347434
return { StartLoc, getThrowsLoc() };

lib/Sema/TypeCheckConcurrency.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ static bool checkAsyncHandler(FuncDecl *func, bool diagnose) {
3131
if (!func->getResultInterfaceType()->isVoid()) {
3232
if (diagnose) {
3333
func->diagnose(diag::asynchandler_returns_value)
34-
.highlight(func->getBodyResultTypeLoc().getSourceRange());
34+
.highlight(func->getResultTypeSourceRange());
3535
}
3636

3737
return true;

lib/Sema/TypeCheckDecl.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1682,7 +1682,7 @@ IsImplicitlyUnwrappedOptionalRequest::evaluate(Evaluator &evaluator,
16821682

16831683
switch (decl->getKind()) {
16841684
case DeclKind::Func: {
1685-
TyR = cast<FuncDecl>(decl)->getBodyResultTypeLoc().getTypeRepr();
1685+
TyR = cast<FuncDecl>(decl)->getResultTypeRepr();
16861686
break;
16871687
}
16881688

lib/Sema/TypeCheckDeclObjC.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -604,9 +604,8 @@ bool swift::isRepresentableInObjC(
604604
if (Diagnose) {
605605
AFD->diagnose(diag::objc_invalid_on_func_result_type,
606606
getObjCDiagnosticAttrKind(Reason));
607-
SourceRange Range =
608-
FD->getBodyResultTypeLoc().getTypeRepr()->getSourceRange();
609-
diagnoseTypeNotRepresentableInObjC(FD, ResultType, Range);
607+
diagnoseTypeNotRepresentableInObjC(FD, ResultType,
608+
FD->getResultTypeSourceRange());
610609
describeObjCReason(FD, Reason);
611610
}
612611
return false;

0 commit comments

Comments
 (0)