@@ -767,6 +767,84 @@ public function provideParseData(): array
767767 ArrayShapeNode::KIND_LIST ,
768768 ),
769769 ],
770+ [
771+ 'non-empty-array{
772+ int,
773+ string
774+ } ' ,
775+ ArrayShapeNode::createSealed (
776+ [
777+ new ArrayShapeItemNode (
778+ null ,
779+ false ,
780+ new IdentifierTypeNode ('int ' ),
781+ ),
782+ new ArrayShapeItemNode (
783+ null ,
784+ false ,
785+ new IdentifierTypeNode ('string ' ),
786+ ),
787+ ],
788+ ArrayShapeNode::KIND_NON_EMPTY_ARRAY ,
789+ ),
790+ ],
791+ [
792+ 'callable(): non-empty-array{int, string} ' ,
793+ new CallableTypeNode (new IdentifierTypeNode ('callable ' ), [], ArrayShapeNode::createSealed (
794+ [
795+ new ArrayShapeItemNode (
796+ null ,
797+ false ,
798+ new IdentifierTypeNode ('int ' ),
799+ ),
800+ new ArrayShapeItemNode (
801+ null ,
802+ false ,
803+ new IdentifierTypeNode ('string ' ),
804+ ),
805+ ],
806+ ArrayShapeNode::KIND_NON_EMPTY_ARRAY ,
807+ ), []),
808+ ],
809+ [
810+ 'callable(): non-empty-list{int, string} ' ,
811+ new CallableTypeNode (new IdentifierTypeNode ('callable ' ), [], ArrayShapeNode::createSealed (
812+ [
813+ new ArrayShapeItemNode (
814+ null ,
815+ false ,
816+ new IdentifierTypeNode ('int ' ),
817+ ),
818+ new ArrayShapeItemNode (
819+ null ,
820+ false ,
821+ new IdentifierTypeNode ('string ' ),
822+ ),
823+ ],
824+ ArrayShapeNode::KIND_NON_EMPTY_LIST ,
825+ ), []),
826+ ],
827+ [
828+ 'non-empty-list{
829+ int,
830+ string
831+ } ' ,
832+ ArrayShapeNode::createSealed (
833+ [
834+ new ArrayShapeItemNode (
835+ null ,
836+ false ,
837+ new IdentifierTypeNode ('int ' ),
838+ ),
839+ new ArrayShapeItemNode (
840+ null ,
841+ false ,
842+ new IdentifierTypeNode ('string ' ),
843+ ),
844+ ],
845+ ArrayShapeNode::KIND_NON_EMPTY_LIST ,
846+ ),
847+ ],
770848 [
771849 'array{...<string>} ' ,
772850 ArrayShapeNode::createUnsealed (
0 commit comments