@@ -461,7 +461,7 @@ class SILType {
461461 }
462462
463463 // / Returns true if the referenced type is expressed in terms of one
464- // / or more opened existential types .
464+ // / or more opened existential archetypes .
465465 bool hasOpenedExistential () const {
466466 return getASTType ()->hasOpenedExistential ();
467467 }
@@ -470,6 +470,12 @@ class SILType {
470470 return getASTType ()->canBeClass ();
471471 }
472472
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+
473479 // / Returns true if the referenced type is expressed in terms of one
474480 // / or more local archetypes.
475481 bool hasLocalArchetype () const {
@@ -563,9 +569,14 @@ class SILType {
563569 return false ;
564570 }
565571
566- // / True if the type involves any archetypes.
572+ // / True if the type involves any primary or local archetypes.
567573 bool hasArchetype () const { return getASTType ()->hasArchetype (); }
568574
575+ // / True if the type involves any primary archetypes.
576+ bool hasPrimaryArchetype () const {
577+ return getASTType ()->hasPrimaryArchetype ();
578+ }
579+
569580 // / True if the type involves any opaque archetypes.
570581 bool hasOpaqueArchetype () const {
571582 return getASTType ()->hasOpaqueArchetype ();
0 commit comments