Skip to content

Commit 8f64189

Browse files
committed
Update ParametersAcceptorSelector.php
1 parent c214b52 commit 8f64189

File tree

1 file changed

+6
-11
lines changed

1 file changed

+6
-11
lines changed

src/Reflection/ParametersAcceptorSelector.php

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)