@@ -128,35 +128,30 @@ public static function selectFromArgs(
128128 if (count ($ args ) >= 3 && (bool ) $ args [0 ]->getAttribute (CurlSetOptArgVisitor::ATTRIBUTE_NAME )) {
129129 $ optType = $ scope ->getType ($ args [1 ]->value );
130130
131- $ optValueType = null ;
131+ $ valueTypes = [] ;
132132 foreach ($ optType ->getConstantScalarValues () as $ scalarValue ) {
133133 if (!is_int ($ scalarValue )) {
134- $ optValueType = null ;
134+ $ valueTypes = [] ;
135135 break ;
136136 }
137137
138138 $ valueType = self ::getCurlOptValueType ($ scalarValue );
139139 if ($ valueType === null ) {
140- $ optValueType = null ;
140+ $ valueTypes = [] ;
141141 break ;
142142 }
143143
144- if ($ optValueType === null ) {
145- $ optValueType = $ valueType ;
146- continue ;
147- }
148-
149- $ optValueType = TypeCombinator::union ($ optValueType , $ valueType );
144+ $ valueTypes [] = $ valueType ;
150145 }
151146
152- if ($ optValueType !== null ) {
147+ if (count ( $ valueTypes ) !== 0 ) {
153148 $ acceptor = $ parametersAcceptors [0 ];
154149 $ parameters = $ acceptor ->getParameters ();
155150
156151 $ parameters [2 ] = new NativeParameterReflection (
157152 $ parameters [2 ]->getName (),
158153 $ parameters [2 ]->isOptional (),
159- $ optValueType ,
154+ TypeCombinator:: union (... $ valueTypes ) ,
160155 $ parameters [2 ]->passedByReference (),
161156 $ parameters [2 ]->isVariadic (),
162157 $ parameters [2 ]->getDefaultValue (),
0 commit comments