@@ -611,8 +611,8 @@ class PrintAST : public ASTVisitor<PrintAST> {
611
611
bool openBracket = true , bool closeBracket = true );
612
612
void printMembers (ArrayRef<Decl *> members, bool needComma = false ,
613
613
bool openBracket = true , bool closeBracket = true );
614
- void printNominalDeclGenericParams (NominalTypeDecl *decl);
615
- void printNominalDeclGenericRequirements (NominalTypeDecl *decl);
614
+ void printGenericDeclGenericParams (GenericContext *decl);
615
+ void printGenericDeclGenericRequirements (GenericContext *decl);
616
616
void printInherited (const Decl *decl);
617
617
618
618
void printEnumElement (EnumElementDecl *elt);
@@ -1655,13 +1655,13 @@ void PrintAST::printMembers(ArrayRef<Decl *> members, bool needComma,
1655
1655
Printer << " }" ;
1656
1656
}
1657
1657
1658
- void PrintAST::printNominalDeclGenericParams (NominalTypeDecl *decl) {
1658
+ void PrintAST::printGenericDeclGenericParams (GenericContext *decl) {
1659
1659
if (decl->getGenericParams ())
1660
1660
if (auto GenericSig = decl->getGenericSignature ())
1661
1661
printGenericSignature (GenericSig, PrintParams | InnermostOnly);
1662
1662
}
1663
1663
1664
- void PrintAST::printNominalDeclGenericRequirements (NominalTypeDecl *decl) {
1664
+ void PrintAST::printGenericDeclGenericRequirements (GenericContext *decl) {
1665
1665
if (decl->getGenericParams ())
1666
1666
if (auto GenericSig = decl->getGenericSignature ())
1667
1667
printGenericSignature (GenericSig, PrintRequirements | InnermostOnly);
@@ -1776,10 +1776,7 @@ void PrintAST::printSynthesizedExtension(Type ExtendedType,
1776
1776
1777
1777
printExtendedTypeName (ExtendedType, Printer, Options);
1778
1778
printInherited (ExtDecl);
1779
-
1780
- if (ExtDecl->getGenericParams ())
1781
- if (auto *GenericSig = ExtDecl->getGenericSignature ())
1782
- printGenericSignature (GenericSig, PrintRequirements | InnermostOnly);
1779
+ printGenericDeclGenericRequirements (ExtDecl);
1783
1780
}
1784
1781
if (Options.TypeDefinitions ) {
1785
1782
printMembersOfDecl (ExtDecl, false ,
@@ -1933,9 +1930,7 @@ void PrintAST::visitTypeAliasDecl(TypeAliasDecl *decl) {
1933
1930
[&]{
1934
1931
Printer.printName (decl->getName ());
1935
1932
}, [&]{ // Signature
1936
- if (decl->getGenericParams ())
1937
- if (auto *genericSig = decl->getGenericSignature ())
1938
- printGenericSignature (genericSig, PrintParams | InnermostOnly);
1933
+ printGenericDeclGenericParams (decl);
1939
1934
});
1940
1935
bool ShouldPrint = true ;
1941
1936
Type Ty = decl->getUnderlyingTypeLoc ().getType ();
@@ -1947,9 +1942,7 @@ void PrintAST::visitTypeAliasDecl(TypeAliasDecl *decl) {
1947
1942
if (ShouldPrint) {
1948
1943
Printer << " = " ;
1949
1944
printTypeLoc (decl->getUnderlyingTypeLoc ());
1950
- if (decl->isGeneric ())
1951
- if (auto *genericSig = decl->getGenericSignature ())
1952
- printGenericSignature (genericSig, PrintRequirements | InnermostOnly);
1945
+ printGenericDeclGenericRequirements (decl);
1953
1946
}
1954
1947
}
1955
1948
@@ -2011,10 +2004,10 @@ void PrintAST::visitEnumDecl(EnumDecl *decl) {
2011
2004
[&]{
2012
2005
Printer.printName (decl->getName ());
2013
2006
}, [&]{ // Signature
2014
- printNominalDeclGenericParams (decl);
2007
+ printGenericDeclGenericParams (decl);
2015
2008
});
2016
2009
printInherited (decl);
2017
- printNominalDeclGenericRequirements (decl);
2010
+ printGenericDeclGenericRequirements (decl);
2018
2011
}
2019
2012
if (Options.TypeDefinitions ) {
2020
2013
printMembersOfDecl (decl, false , true ,
@@ -2039,10 +2032,10 @@ void PrintAST::visitStructDecl(StructDecl *decl) {
2039
2032
[&]{
2040
2033
Printer.printName (decl->getName ());
2041
2034
}, [&]{ // Signature
2042
- printNominalDeclGenericParams (decl);
2035
+ printGenericDeclGenericParams (decl);
2043
2036
});
2044
2037
printInherited (decl);
2045
- printNominalDeclGenericRequirements (decl);
2038
+ printGenericDeclGenericRequirements (decl);
2046
2039
}
2047
2040
if (Options.TypeDefinitions ) {
2048
2041
printMembersOfDecl (decl, false , true ,
@@ -2067,11 +2060,11 @@ void PrintAST::visitClassDecl(ClassDecl *decl) {
2067
2060
[&]{
2068
2061
Printer.printName (decl->getName ());
2069
2062
}, [&]{ // Signature
2070
- printNominalDeclGenericParams (decl);
2063
+ printGenericDeclGenericParams (decl);
2071
2064
});
2072
2065
2073
2066
printInherited (decl);
2074
- printNominalDeclGenericRequirements (decl);
2067
+ printGenericDeclGenericRequirements (decl);
2075
2068
}
2076
2069
2077
2070
if (Options.TypeDefinitions ) {
@@ -2514,10 +2507,7 @@ void PrintAST::visitFuncDecl(FuncDecl *decl) {
2514
2507
Printer << " " ;
2515
2508
}
2516
2509
}, [&] { // Parameters
2517
- if (decl->isGeneric ())
2518
- if (auto *genericSig = decl->getGenericSignature ())
2519
- printGenericSignature (genericSig, PrintParams | InnermostOnly);
2520
-
2510
+ printGenericDeclGenericParams (decl);
2521
2511
printFunctionParameters (decl);
2522
2512
});
2523
2513
@@ -2541,9 +2531,7 @@ void PrintAST::visitFuncDecl(FuncDecl *decl) {
2541
2531
printTypeLoc (ResultTyLoc);
2542
2532
Printer.printStructurePost (PrintStructureKind::FunctionReturnType);
2543
2533
}
2544
- if (decl->isGeneric ())
2545
- if (auto *genericSig = decl->getGenericSignature ())
2546
- printGenericSignature (genericSig, PrintRequirements | InnermostOnly);
2534
+ printGenericDeclGenericRequirements (decl);
2547
2535
}
2548
2536
2549
2537
if (auto BodyFunc = Options.FunctionBody ) {
@@ -2642,10 +2630,7 @@ void PrintAST::visitSubscriptDecl(SubscriptDecl *decl) {
2642
2630
recordDeclLoc (decl, [&]{
2643
2631
Printer << " subscript" ;
2644
2632
}, [&] { // Parameters
2645
- if (decl->isGeneric ())
2646
- if (auto *genericSig = decl->getGenericSignature ())
2647
- printGenericSignature (genericSig, PrintParams | InnermostOnly);
2648
-
2633
+ printGenericDeclGenericParams (decl);
2649
2634
printParameterList (decl->getIndices (),
2650
2635
decl->hasInterfaceType ()
2651
2636
? decl->getIndicesInterfaceType ()
@@ -2664,9 +2649,7 @@ void PrintAST::visitSubscriptDecl(SubscriptDecl *decl) {
2664
2649
else
2665
2650
printTypeLoc (elementTy);
2666
2651
Printer.printStructurePost (PrintStructureKind::FunctionReturnType);
2667
- if (decl->isGeneric ())
2668
- if (auto *genericSig = decl->getGenericSignature ())
2669
- printGenericSignature (genericSig, PrintRequirements | InnermostOnly);
2652
+ printGenericDeclGenericRequirements (decl);
2670
2653
printAccessors (decl);
2671
2654
}
2672
2655
@@ -2702,16 +2685,11 @@ void PrintAST::visitConstructorDecl(ConstructorDecl *decl) {
2702
2685
break ;
2703
2686
}
2704
2687
2705
- if (decl->isGeneric ())
2706
- if (auto *genericSig = decl->getGenericSignature ())
2707
- printGenericSignature (genericSig, PrintParams | InnermostOnly);
2708
-
2688
+ printGenericDeclGenericParams (decl);
2709
2689
printFunctionParameters (decl);
2710
2690
});
2711
2691
2712
- if (decl->isGeneric ())
2713
- if (auto *genericSig = decl->getGenericSignature ())
2714
- printGenericSignature (genericSig, PrintRequirements | InnermostOnly);
2692
+ printGenericDeclGenericRequirements (decl);
2715
2693
2716
2694
if (auto BodyFunc = Options.FunctionBody ) {
2717
2695
Printer << " {" ;
0 commit comments