19
19
20
20
#include " swift/AST/Attr.h"
21
21
#include " swift/AST/DeclContext.h"
22
+ #include " swift/AST/GenericSignature.h"
22
23
#include " swift/AST/Identifier.h"
23
24
#include " swift/AST/Type.h"
24
25
#include " swift/AST/TypeAlignments.h"
34
35
namespace swift {
35
36
class ASTWalker ;
36
37
class DeclContext ;
37
- class GenericEnvironment ;
38
38
class IdentTypeRepr ;
39
39
class TupleTypeRepr ;
40
40
class TypeDecl ;
@@ -492,14 +492,14 @@ inline IdentTypeRepr::ComponentRange IdentTypeRepr::getComponentRange() {
492
492
// / (x: Foo, y: Bar) -> Baz
493
493
// / \endcode
494
494
class FunctionTypeRepr : public TypeRepr {
495
- // The generic params / environment / substitutions fields are only used
495
+ // The generic params / signature / substitutions fields are only used
496
496
// in SIL mode, which is the only time we can have polymorphic and
497
497
// substituted function values.
498
498
GenericParamList *GenericParams;
499
- GenericEnvironment *GenericEnv ;
499
+ GenericSignature GenericSig ;
500
500
ArrayRef<TypeRepr *> InvocationSubs;
501
501
GenericParamList *PatternGenericParams;
502
- GenericEnvironment *PatternGenericEnv ;
502
+ GenericSignature PatternGenericSig ;
503
503
ArrayRef<TypeRepr *> PatternSubs;
504
504
505
505
TupleTypeRepr *ArgsTy;
@@ -516,37 +516,37 @@ class FunctionTypeRepr : public TypeRepr {
516
516
ArrayRef<TypeRepr *> patternSubs = {},
517
517
ArrayRef<TypeRepr *> invocationSubs = {})
518
518
: TypeRepr(TypeReprKind::Function),
519
- GenericParams (genericParams), GenericEnv( nullptr ),
519
+ GenericParams (genericParams),
520
520
InvocationSubs(invocationSubs),
521
- PatternGenericParams(patternGenericParams), PatternGenericEnv( nullptr ),
521
+ PatternGenericParams(patternGenericParams),
522
522
PatternSubs(patternSubs),
523
523
ArgsTy(argsTy), RetTy(retTy),
524
524
AsyncLoc(asyncLoc), ThrowsLoc(throwsLoc), ArrowLoc(arrowLoc) {
525
525
}
526
526
527
527
GenericParamList *getGenericParams () const { return GenericParams; }
528
- GenericEnvironment * getGenericEnvironment () const { return GenericEnv ; }
528
+ GenericSignature getGenericSignature () const { return GenericSig ; }
529
529
530
530
GenericParamList *getPatternGenericParams () const {
531
531
return PatternGenericParams;
532
532
}
533
- GenericEnvironment * getPatternGenericEnvironment () const {
534
- return PatternGenericEnv ;
533
+ GenericSignature getPatternGenericSignature () const {
534
+ return PatternGenericSig ;
535
535
}
536
536
537
537
ArrayRef<TypeRepr*> getPatternSubstitutions () const { return PatternSubs; }
538
538
ArrayRef<TypeRepr*> getInvocationSubstitutions () const {
539
539
return InvocationSubs;
540
540
}
541
541
542
- void setPatternGenericEnvironment (GenericEnvironment *genericEnv ) {
543
- assert (PatternGenericEnv == nullptr );
544
- PatternGenericEnv = genericEnv ;
542
+ void setPatternGenericSignature (GenericSignature genericSig ) {
543
+ assert (!PatternGenericSig );
544
+ PatternGenericSig = genericSig ;
545
545
}
546
546
547
- void setGenericEnvironment (GenericEnvironment *genericEnv ) {
548
- assert (GenericEnv == nullptr );
549
- GenericEnv = genericEnv ;
547
+ void setGenericSignature (GenericSignature genericSig ) {
548
+ assert (!GenericSig );
549
+ GenericSig = genericSig ;
550
550
}
551
551
552
552
TupleTypeRepr *getArgsTypeRepr () const { return ArgsTy; }
@@ -1239,7 +1239,7 @@ class SILBoxTypeRepr final : public TypeRepr,
1239
1239
SILBoxTypeReprField, TypeRepr *> {
1240
1240
friend TrailingObjects;
1241
1241
GenericParamList *GenericParams;
1242
- GenericEnvironment *GenericEnv = nullptr ;
1242
+ GenericSignature GenericSig ;
1243
1243
1244
1244
SourceLoc LBraceLoc, RBraceLoc;
1245
1245
SourceLoc ArgLAngleLoc, ArgRAngleLoc;
@@ -1280,9 +1280,9 @@ class SILBoxTypeRepr final : public TypeRepr,
1280
1280
SourceLoc ArgLAngleLoc, ArrayRef<TypeRepr *> GenericArgs,
1281
1281
SourceLoc ArgRAngleLoc);
1282
1282
1283
- void setGenericEnvironment (GenericEnvironment *Env ) {
1284
- assert (!GenericEnv );
1285
- GenericEnv = Env ;
1283
+ void setGenericSignature (GenericSignature Sig ) {
1284
+ assert (!GenericSig );
1285
+ GenericSig = Sig ;
1286
1286
}
1287
1287
1288
1288
ArrayRef<Field> getFields () const {
@@ -1297,8 +1297,8 @@ class SILBoxTypeRepr final : public TypeRepr,
1297
1297
GenericParamList *getGenericParams () const {
1298
1298
return GenericParams;
1299
1299
}
1300
- GenericEnvironment * getGenericEnvironment () const {
1301
- return GenericEnv ;
1300
+ GenericSignature getGenericSignature () const {
1301
+ return GenericSig ;
1302
1302
}
1303
1303
1304
1304
SourceLoc getLBraceLoc () const { return LBraceLoc; }
0 commit comments