Skip to content

Commit 848a567

Browse files
authored
de-duplicate (#33)
1 parent 5e96945 commit 848a567

File tree

3 files changed

+16
-11
lines changed

3 files changed

+16
-11
lines changed

src/Extensions/DeployerRunMysqlQueryDynamicReturnTypeExtension.php

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,15 +29,16 @@ public function isFunctionSupported(FunctionReflection $functionReflection): boo
2929
public function getTypeFromFunctionCall(FunctionReflection $functionReflection, FuncCall $functionCall, Scope $scope): Type
3030
{
3131
$args = $functionCall->getArgs();
32+
$defaultReturn = ParametersAcceptorSelector::selectSingle($functionReflection->getVariants())->getReturnType();
3233

3334
if (\count($args) < 2) {
34-
return ParametersAcceptorSelector::selectSingle($functionReflection->getVariants())->getReturnType();
35+
return $defaultReturn;
3536
}
3637

3738
$queryReflection = new QueryReflection();
3839
$queryString = $queryReflection->resolveQueryString($args[0]->value, $scope);
3940
if (null === $queryString) {
40-
return ParametersAcceptorSelector::selectSingle($functionReflection->getVariants())->getReturnType();
41+
return $defaultReturn;
4142
}
4243

4344
$resultType = $queryReflection->getResultType($queryString, QueryReflector::FETCH_TYPE_NUMERIC);
@@ -50,6 +51,6 @@ public function getTypeFromFunctionCall(FunctionReflection $functionReflection,
5051
return TypeCombinator::addNull(new ArrayType(new IntegerType(), $builder->getArray()));
5152
}
5253

53-
return ParametersAcceptorSelector::selectSingle($functionReflection->getVariants())->getReturnType();
54+
return $defaultReturn;
5455
}
5556
}

src/Extensions/MysqliQueryDynamicReturnTypeExtension.php

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,15 +41,16 @@ public function isFunctionSupported(FunctionReflection $functionReflection): boo
4141
public function getTypeFromFunctionCall(FunctionReflection $functionReflection, FuncCall $functionCall, Scope $scope): Type
4242
{
4343
$args = $functionCall->getArgs();
44+
$defaultReturn = ParametersAcceptorSelector::selectSingle($functionReflection->getVariants())->getReturnType();
4445

4546
if (\count($args) < 2) {
46-
return ParametersAcceptorSelector::selectSingle($functionReflection->getVariants())->getReturnType();
47+
return $defaultReturn;
4748
}
4849

4950
$queryReflection = new QueryReflection();
5051
$queryString = $queryReflection->resolveQueryString($args[1]->value, $scope);
5152
if (null === $queryString) {
52-
return ParametersAcceptorSelector::selectSingle($functionReflection->getVariants())->getReturnType();
53+
return $defaultReturn;
5354
}
5455

5556
$resultType = $queryReflection->getResultType($queryString, QueryReflector::FETCH_TYPE_ASSOC);
@@ -60,21 +61,22 @@ public function getTypeFromFunctionCall(FunctionReflection $functionReflection,
6061
);
6162
}
6263

63-
return ParametersAcceptorSelector::selectSingle($functionReflection->getVariants())->getReturnType();
64+
return $defaultReturn;
6465
}
6566

6667
public function getTypeFromMethodCall(MethodReflection $methodReflection, MethodCall $methodCall, Scope $scope): Type
6768
{
6869
$args = $methodCall->getArgs();
70+
$defaultReturn = ParametersAcceptorSelector::selectSingle($methodReflection->getVariants())->getReturnType();
6971

7072
if (\count($args) < 1) {
71-
return ParametersAcceptorSelector::selectSingle($methodReflection->getVariants())->getReturnType();
73+
return $defaultReturn;
7274
}
7375

7476
$queryReflection = new QueryReflection();
7577
$queryString = $queryReflection->resolveQueryString($args[0]->value, $scope);
7678
if (null === $queryString) {
77-
return ParametersAcceptorSelector::selectSingle($methodReflection->getVariants())->getReturnType();
79+
return $defaultReturn;
7880
}
7981

8082
$resultType = $queryReflection->getResultType($queryString, QueryReflector::FETCH_TYPE_ASSOC);
@@ -85,6 +87,6 @@ public function getTypeFromMethodCall(MethodReflection $methodReflection, Method
8587
);
8688
}
8789

88-
return ParametersAcceptorSelector::selectSingle($methodReflection->getVariants())->getReturnType();
90+
return $defaultReturn;
8991
}
9092
}

src/Extensions/PdoQuoteDynamicReturnTypeExtension.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,16 +34,18 @@ public function isMethodSupported(MethodReflection $methodReflection): bool
3434
public function getTypeFromMethodCall(MethodReflection $methodReflection, MethodCall $methodCall, Scope $scope): Type
3535
{
3636
$args = $methodCall->getArgs();
37+
$defaultReturn = ParametersAcceptorSelector::selectSingle($methodReflection->getVariants())->getReturnType();
38+
3739
if (\count($args) < 1) {
38-
return ParametersAcceptorSelector::selectSingle($methodReflection->getVariants())->getReturnType();
40+
return $defaultReturn;
3941
}
4042

4143
if (1 === \count($args)) {
4244
$type = PDO::PARAM_STR;
4345
} else {
4446
$typeType = $scope->getType($args[1]->value);
4547
if (!$typeType instanceof ConstantIntegerType) {
46-
return ParametersAcceptorSelector::selectSingle($methodReflection->getVariants())->getReturnType();
48+
return $defaultReturn;
4749
}
4850
$type = $typeType->getValue();
4951
}

0 commit comments

Comments
 (0)