mirror of
https://github.com/rectorphp/rector.git
synced 2025-01-17 21:38:22 +01:00
MethodCallAnalyzer - added isMethodCallTypeAndMethod + misc
This commit is contained in:
parent
2c71f647f7
commit
7aa73fbdc0
@ -8,6 +8,7 @@
|
|||||||
],
|
],
|
||||||
"require": {
|
"require": {
|
||||||
"php": "^7.1",
|
"php": "^7.1",
|
||||||
|
"beberlei/assert": "^2.7",
|
||||||
"nette/utils": "^2.4",
|
"nette/utils": "^2.4",
|
||||||
"nikic/php-parser": "4.0.x-dev#ed8a744c as 3.1.1",
|
"nikic/php-parser": "4.0.x-dev#ed8a744c as 3.1.1",
|
||||||
"rector/better-reflection": "^3.0",
|
"rector/better-reflection": "^3.0",
|
||||||
|
@ -47,7 +47,6 @@ final class RectorGuessFilter
|
|||||||
$maxSimilarity = strlen($rectorGuess->getMessage()) * self::MAX_RELATIVE_SIMIARITY;
|
$maxSimilarity = strlen($rectorGuess->getMessage()) * self::MAX_RELATIVE_SIMIARITY;
|
||||||
|
|
||||||
foreach ($allMessages as $message) {
|
foreach ($allMessages as $message) {
|
||||||
// experimental
|
|
||||||
$levenshtein = levenshtein($rectorGuess->getMessage(), $message);
|
$levenshtein = levenshtein($rectorGuess->getMessage(), $message);
|
||||||
if ($levenshtein !== 0 && $levenshtein < $maxSimilarity) {
|
if ($levenshtein !== 0 && $levenshtein < $maxSimilarity) {
|
||||||
continue 2;
|
continue 2;
|
||||||
|
@ -54,9 +54,11 @@ final class RectorsExtension extends Extension
|
|||||||
|
|
||||||
foreach ($rectors as $rectorClass => $arguments) {
|
foreach ($rectors as $rectorClass => $arguments) {
|
||||||
$rectorDefinition = $containerBuilder->autowire($rectorClass);
|
$rectorDefinition = $containerBuilder->autowire($rectorClass);
|
||||||
if (count($arguments)) {
|
if (! count($arguments)) {
|
||||||
$rectorDefinition->setArguments([$arguments]);
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$rectorDefinition->setArguments([$arguments]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -15,15 +15,29 @@ final class MethodCallAnalyzer
|
|||||||
/**
|
/**
|
||||||
* Checks "$this->classOfSpecificType->specificMethodName()"
|
* Checks "$this->classOfSpecificType->specificMethodName()"
|
||||||
*
|
*
|
||||||
* @param string[] $methodsNames
|
* @param string[] $methods
|
||||||
*/
|
*/
|
||||||
public function isMethodCallTypeAndMethods(Node $node, string $type, array $methodsNames): bool
|
public function isMethodCallTypeAndMethods(Node $node, string $type, array $methods): bool
|
||||||
{
|
{
|
||||||
if (! $this->isMethodCallType($node, $type)) {
|
if (! $this->isMethodCallType($node, $type)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return in_array((string) $node->name, $methodsNames, true);
|
/** @var MethodCall $node */
|
||||||
|
return in_array((string) $node->name, $methods, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks "$this->classOfSpecificType->specificMethodName()"
|
||||||
|
*/
|
||||||
|
public function isMethodCallTypeAndMethod(Node $node, string $type, string $method): bool
|
||||||
|
{
|
||||||
|
if (! $this->isMethodCallType($node, $type)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @var MethodCall $node */
|
||||||
|
return $node->name === $method;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user