@@ -461,7 +461,7 @@ class SILType {
461
461
}
462
462
463
463
// / Returns true if the referenced type is expressed in terms of one
464
- // / or more opened existential types .
464
+ // / or more opened existential archetypes .
465
465
bool hasOpenedExistential () const {
466
466
return getASTType ()->hasOpenedExistential ();
467
467
}
@@ -470,6 +470,12 @@ class SILType {
470
470
return getASTType ()->canBeClass ();
471
471
}
472
472
473
+ // / Returns true if the referenced type is expressed in terms of one
474
+ // / or more element archetypes.
475
+ bool hasElementArchetype () const {
476
+ return getASTType ()->hasElementArchetype ();
477
+ }
478
+
473
479
// / Returns true if the referenced type is expressed in terms of one
474
480
// / or more local archetypes.
475
481
bool hasLocalArchetype () const {
@@ -557,9 +563,14 @@ class SILType {
557
563
return false ;
558
564
}
559
565
560
- // / True if the type involves any archetypes.
566
+ // / True if the type involves any primary or local archetypes.
561
567
bool hasArchetype () const { return getASTType ()->hasArchetype (); }
562
568
569
+ // / True if the type involves any primary archetypes.
570
+ bool hasPrimaryArchetype () const {
571
+ return getASTType ()->hasPrimaryArchetype ();
572
+ }
573
+
563
574
// / True if the type involves any opaque archetypes.
564
575
bool hasOpaqueArchetype () const {
565
576
return getASTType ()->hasOpaqueArchetype ();
0 commit comments