@@ -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 {
@@ -563,9 +569,14 @@ class SILType {
563
569
return false ;
564
570
}
565
571
566
- // / True if the type involves any archetypes.
572
+ // / True if the type involves any primary or local archetypes.
567
573
bool hasArchetype () const { return getASTType ()->hasArchetype (); }
568
574
575
+ // / True if the type involves any primary archetypes.
576
+ bool hasPrimaryArchetype () const {
577
+ return getASTType ()->hasPrimaryArchetype ();
578
+ }
579
+
569
580
// / True if the type involves any opaque archetypes.
570
581
bool hasOpaqueArchetype () const {
571
582
return getASTType ()->hasOpaqueArchetype ();
0 commit comments