Skip to content

Commit 02041b2

Browse files
committed
Rector 0.18.6
1 parent 52923dc commit 02041b2

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+2181
-47
lines changed

rules/Naming/ExpectedNameResolver/InflectorSingularResolver.php

+11-27
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,19 @@
33
declare (strict_types=1);
44
namespace Rector\Naming\ExpectedNameResolver;
55

6+
use RectorPrefix202310\Doctrine\Inflector\Inflector;
67
use RectorPrefix202310\Nette\Utils\Strings;
78
use Rector\Core\Util\StringUtils;
89
/**
910
* @see \Rector\Core\Tests\Naming\ExpectedNameResolver\InflectorSingularResolverTest
1011
*/
1112
final class InflectorSingularResolver
1213
{
14+
/**
15+
* @readonly
16+
* @var \Doctrine\Inflector\Inflector
17+
*/
18+
private $inflector;
1319
/**
1420
* @var array<string, string>
1521
*/
@@ -28,6 +34,10 @@ final class InflectorSingularResolver
2834
* @var string
2935
*/
3036
private const CAMELCASE = 'camelcase';
37+
public function __construct(Inflector $inflector)
38+
{
39+
$this->inflector = $inflector;
40+
}
3141
public function resolve(string $currentName) : string
3242
{
3343
$matchBy = Strings::match($currentName, self::BY_MIDDLE_REGEX);
@@ -70,38 +80,12 @@ private function singularizeCamelParts(string $currentName) : string
7080
$camelCases = Strings::matchAll($currentName, self::CAMELCASE_REGEX);
7181
$resolvedName = '';
7282
foreach ($camelCases as $camelCase) {
73-
$value = $this->singularize($camelCase[self::CAMELCASE]);
83+
$value = $this->inflector->singularize($camelCase[self::CAMELCASE]);
7484
if (\in_array($camelCase[self::CAMELCASE], ['is', 'has'], \true)) {
7585
$value = $camelCase[self::CAMELCASE];
7686
}
7787
$resolvedName .= $value;
7888
}
7989
return $resolvedName;
8090
}
81-
// see https://gist.github.com/peter-mcconnell/9757549
82-
private function singularize(string $word) : string
83-
{
84-
$singular = ['/(quiz)zes$/i' => '\\1', '/(matr)ices$/i' => '\\1ix', '/(vert|ind)ices$/i' => '\\1ex', '/^(ox)en/i' => '\\1', '/^(axe)s$/i' => '\\1', '/(alias|status|iris|hoax|hero|gas|fax|circus|canvas|atlas)es$/i' => '\\1', '/([octop|vir])i$/i' => '\\1us', '/(cris|ax|test)es$/i' => '\\1is', '/(shoe|grave|glove|foe|dive|database|curve|cookie|cave|cache|avalanche|abuse)s$/i' => '\\1', '/(o)es$/i' => '\\1', '/(bus|lens)es$/i' => '\\1', '/([m|l])ice$/i' => '\\1ouse', '/(x|ch|ss|sh)es$/i' => '\\1', '/(m)ovies$/i' => '\\1ovie', '/(s)eries$/i' => '\\1eries', '/([^aeiouy]|qu)ies$/i' => '\\1y', '/([lr])ves$/i' => '\\1f', '/(tive)s$/i' => '\\1', '/(hive)s$/i' => '\\1', '/([^f])ves$/i' => '\\1fe', '/(^analy)ses$/i' => '\\1sis', '/((a)naly|(b)a|(d)iagno|empha|(p)arenthe|(p)rogno|(s)ynop|(t)he|(oa)|neuro)ses$/i' => '1\\2sis', '/([ti]|memorand|curricul)a$/i' => '\\1um', '/(n)ews$/i' => '\\1ews', '/s$/i' => ''];
85-
$irregular = ['alumnus' => 'alumni', 'person' => 'people', 'man' => 'men', 'bacillus' => 'bacilli', 'criterion' => 'criteria', 'fungus' => 'fungi', 'foot' => 'feet', 'goose' => 'geese', 'genus' => 'genera', 'hippopotamus' => 'hippopotami', 'child' => 'children', 'code' => 'codes', 'octopus' => 'octopuses', 'olive' => 'olives', 'chateau' => 'chateaux', 'plateau' => 'plateaux', 'niveau' => 'niveaux', 'passerby' => 'passersby', 'save' => 'saves', 'sex' => 'sexes', 'syllabus' => 'syllabi', 'stimulus' => 'stimuli', 'sku' => 'skus', 'sieve' => 'sieves', 'taxon' => 'taxa', 'taxi' => 'taxis', 'tax' => 'taxes', 'tooth' => 'teeth', 'tights' => 'tights', 'Thief' => 'Thieves', 'terminus' => 'termini', 'larva' => 'larvae', 'leaf' => 'leaves', 'loaf' => 'loaves', 'move' => 'moves', 'nucleus' => 'nuclei', 'valve' => 'valves', 'wave' => 'waves', 'zombie' => 'zombies'];
86-
// keep words ending in $ignore
87-
$ignore = ['breeches', 'britches', 'cantus', 'chassis', 'corps', 'coreopsis', 'contretemps', 'coitus', 'clothes', 'clippers', 'data', 'diabetes', 'debris', 'equipment', 'gallows', 'hijinks', 'herpes', 'headquarters', 'information', 'rice', 'socialmedia', 'jeans', 'jackanapes', 'nodemedia', 'money', 'mumps', 'mews', 'innings', 'nexus', 'rhinoceros', 'rabies', 'pants', 'police', 'pliers', 'progress', 'proceedings', 'pincers', 'scissors', 'species', 'series', 'status', 'shorts', 'shears', 'fish', 'sheep', 'press', 'sms', 'trousers', 'trivia', 'yengeese'];
88-
$lower_word = \strtolower($word);
89-
foreach ($ignore as $ignore_word) {
90-
if (\substr($lower_word, -1 * \strlen($ignore_word)) === $ignore_word) {
91-
return $word;
92-
}
93-
}
94-
foreach ($irregular as $singular_word => $plural_word) {
95-
$arr = Strings::match($word, '/(' . $plural_word . ')$/i');
96-
if ($arr !== null) {
97-
return Strings::replace($word, '/(' . $plural_word . ')$/i', \substr($arr[0], 0, 1) . \substr($singular_word, 1));
98-
}
99-
}
100-
foreach ($singular as $rule => $replacement) {
101-
if (Strings::match($word, $rule) !== null) {
102-
return Strings::replace($word, $rule, $replacement);
103-
}
104-
}
105-
return $word;
106-
}
10791
}

rules/Naming/Naming/PropertyNaming.php

+7-7
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
use PHPStan\Type\TypeWithClassName;
1414
use Rector\Core\Exception\ShouldNotHappenException;
1515
use Rector\Core\Util\StringUtils;
16-
use Rector\Naming\ExpectedNameResolver\InflectorSingularResolver;
16+
use Rector\Naming\RectorNamingInflector;
1717
use Rector\Naming\ValueObject\ExpectedName;
1818
use Rector\NodeTypeResolver\NodeTypeResolver;
1919
use Rector\StaticTypeMapper\ValueObject\Type\AliasedObjectType;
@@ -25,9 +25,9 @@ final class PropertyNaming
2525
{
2626
/**
2727
* @readonly
28-
* @var \Rector\Naming\ExpectedNameResolver\InflectorSingularResolver
28+
* @var \Rector\Naming\RectorNamingInflector
2929
*/
30-
private $inflectorSingularResolver;
30+
private $rectorNamingInflector;
3131
/**
3232
* @readonly
3333
* @var \Rector\NodeTypeResolver\NodeTypeResolver
@@ -55,9 +55,9 @@ final class PropertyNaming
5555
* @var string
5656
*/
5757
private const GET_PREFIX_REGEX = '#^get(?<root_name>[A-Z].+)#';
58-
public function __construct(InflectorSingularResolver $inflectorSingularResolver, NodeTypeResolver $nodeTypeResolver)
58+
public function __construct(RectorNamingInflector $rectorNamingInflector, NodeTypeResolver $nodeTypeResolver)
5959
{
60-
$this->inflectorSingularResolver = $inflectorSingularResolver;
60+
$this->rectorNamingInflector = $rectorNamingInflector;
6161
$this->nodeTypeResolver = $nodeTypeResolver;
6262
}
6363
public function getExpectedNameFromMethodName(string $methodName) : ?ExpectedName
@@ -67,7 +67,7 @@ public function getExpectedNameFromMethodName(string $methodName) : ?ExpectedNam
6767
return null;
6868
}
6969
$originalName = \lcfirst((string) $matches['root_name']);
70-
return new ExpectedName($originalName, $this->inflectorSingularResolver->resolve($originalName));
70+
return new ExpectedName($originalName, $this->rectorNamingInflector->singularize($originalName));
7171
}
7272
public function getExpectedNameFromType(Type $type) : ?ExpectedName
7373
{
@@ -99,7 +99,7 @@ public function getExpectedNameFromType(Type $type) : ?ExpectedName
9999
$shortClassName = $this->normalizeShortClassName($shortClassName);
100100
// prolong too short generic names with one namespace up
101101
$originalName = $this->prolongIfTooShort($shortClassName, $className);
102-
return new ExpectedName($originalName, $this->inflectorSingularResolver->resolve($originalName));
102+
return new ExpectedName($originalName, $this->rectorNamingInflector->singularize($originalName));
103103
}
104104
/**
105105
* @param \PHPStan\Type\ThisType|\PHPStan\Type\ObjectType|string $objectType
+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
<?php
2+
3+
declare (strict_types=1);
4+
namespace Rector\Naming;
5+
6+
use RectorPrefix202310\Doctrine\Inflector\Inflector;
7+
use RectorPrefix202310\Nette\Utils\Strings;
8+
final class RectorNamingInflector
9+
{
10+
/**
11+
* @readonly
12+
* @var \Doctrine\Inflector\Inflector
13+
*/
14+
private $inflector;
15+
/**
16+
* @var string
17+
* @see https://regex101.com/r/VqVvke/3
18+
*/
19+
private const DATA_INFO_SUFFIX_REGEX = '#^(?<prefix>.+)(?<suffix>Data|Info)$#';
20+
public function __construct(Inflector $inflector)
21+
{
22+
$this->inflector = $inflector;
23+
}
24+
public function singularize(string $name) : string
25+
{
26+
$matches = Strings::match($name, self::DATA_INFO_SUFFIX_REGEX);
27+
if ($matches === null) {
28+
return $this->inflector->singularize($name);
29+
}
30+
$singularized = $this->inflector->singularize($matches['prefix']);
31+
$uninflectable = $matches['suffix'];
32+
return $singularized . $uninflectable;
33+
}
34+
}

src/Application/VersionResolver.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,12 @@ final class VersionResolver
1919
* @api
2020
* @var string
2121
*/
22-
public const PACKAGE_VERSION = '1c54292ed68e46f4ddfa2adb21f28130f308b99c';
22+
public const PACKAGE_VERSION = '0.18.6';
2323
/**
2424
* @api
2525
* @var string
2626
*/
27-
public const RELEASE_DATE = '2023-10-24 16:57:53';
27+
public const RELEASE_DATE = '2023-10-24 16:57:04';
2828
/**
2929
* @var int
3030
*/

src/DependencyInjection/LazyContainerFactory.php

+6
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
declare (strict_types=1);
44
namespace Rector\Core\DependencyInjection;
55

6+
use RectorPrefix202310\Doctrine\Inflector\Inflector;
7+
use RectorPrefix202310\Doctrine\Inflector\Rules\English\InflectorFactory;
68
use RectorPrefix202310\Illuminate\Container\Container;
79
use PhpParser\Lexer;
810
use PHPStan\Analyser\NodeScopeResolver;
@@ -258,6 +260,10 @@ public function create() : RectorConfig
258260
return $application;
259261
});
260262
$rectorConfig->when(ConsoleApplication::class)->needs('$commands')->giveTagged(Command::class);
263+
$rectorConfig->singleton(Inflector::class, static function () : Inflector {
264+
$inflectorFactory = new InflectorFactory();
265+
return $inflectorFactory->build();
266+
});
261267
$rectorConfig->tag(ProcessCommand::class, Command::class);
262268
$rectorConfig->tag(WorkerCommand::class, Command::class);
263269
$rectorConfig->tag(SetupCICommand::class, Command::class);

vendor/autoload.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,4 @@
2222

2323
require_once __DIR__ . '/composer/autoload_real.php';
2424

25-
return ComposerAutoloaderInitb5644708b7ed04b3c875c18370cf2e53::getLoader();
25+
return ComposerAutoloaderInit18ad0e678efbbb500e116f7c54cccdd4::getLoader();

vendor/composer/autoload_classmap.php

+42
Original file line numberDiff line numberDiff line change
@@ -367,6 +367,47 @@
367367
'RectorPrefix202310\\Composer\\XdebugHandler\\Process' => $vendorDir . '/composer/xdebug-handler/src/Process.php',
368368
'RectorPrefix202310\\Composer\\XdebugHandler\\Status' => $vendorDir . '/composer/xdebug-handler/src/Status.php',
369369
'RectorPrefix202310\\Composer\\XdebugHandler\\XdebugHandler' => $vendorDir . '/composer/xdebug-handler/src/XdebugHandler.php',
370+
'RectorPrefix202310\\Doctrine\\Inflector\\CachedWordInflector' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/CachedWordInflector.php',
371+
'RectorPrefix202310\\Doctrine\\Inflector\\GenericLanguageInflectorFactory' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/GenericLanguageInflectorFactory.php',
372+
'RectorPrefix202310\\Doctrine\\Inflector\\Inflector' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Inflector.php',
373+
'RectorPrefix202310\\Doctrine\\Inflector\\InflectorFactory' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/InflectorFactory.php',
374+
'RectorPrefix202310\\Doctrine\\Inflector\\Language' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Language.php',
375+
'RectorPrefix202310\\Doctrine\\Inflector\\LanguageInflectorFactory' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/LanguageInflectorFactory.php',
376+
'RectorPrefix202310\\Doctrine\\Inflector\\NoopWordInflector' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/NoopWordInflector.php',
377+
'RectorPrefix202310\\Doctrine\\Inflector\\Rules\\English\\Inflectible' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/English/Inflectible.php',
378+
'RectorPrefix202310\\Doctrine\\Inflector\\Rules\\English\\InflectorFactory' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/English/InflectorFactory.php',
379+
'RectorPrefix202310\\Doctrine\\Inflector\\Rules\\English\\Rules' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/English/Rules.php',
380+
'RectorPrefix202310\\Doctrine\\Inflector\\Rules\\English\\Uninflected' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/English/Uninflected.php',
381+
'RectorPrefix202310\\Doctrine\\Inflector\\Rules\\French\\Inflectible' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/French/Inflectible.php',
382+
'RectorPrefix202310\\Doctrine\\Inflector\\Rules\\French\\InflectorFactory' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/French/InflectorFactory.php',
383+
'RectorPrefix202310\\Doctrine\\Inflector\\Rules\\French\\Rules' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/French/Rules.php',
384+
'RectorPrefix202310\\Doctrine\\Inflector\\Rules\\French\\Uninflected' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/French/Uninflected.php',
385+
'RectorPrefix202310\\Doctrine\\Inflector\\Rules\\NorwegianBokmal\\Inflectible' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/NorwegianBokmal/Inflectible.php',
386+
'RectorPrefix202310\\Doctrine\\Inflector\\Rules\\NorwegianBokmal\\InflectorFactory' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/NorwegianBokmal/InflectorFactory.php',
387+
'RectorPrefix202310\\Doctrine\\Inflector\\Rules\\NorwegianBokmal\\Rules' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/NorwegianBokmal/Rules.php',
388+
'RectorPrefix202310\\Doctrine\\Inflector\\Rules\\NorwegianBokmal\\Uninflected' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/NorwegianBokmal/Uninflected.php',
389+
'RectorPrefix202310\\Doctrine\\Inflector\\Rules\\Pattern' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/Pattern.php',
390+
'RectorPrefix202310\\Doctrine\\Inflector\\Rules\\Patterns' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/Patterns.php',
391+
'RectorPrefix202310\\Doctrine\\Inflector\\Rules\\Portuguese\\Inflectible' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/Portuguese/Inflectible.php',
392+
'RectorPrefix202310\\Doctrine\\Inflector\\Rules\\Portuguese\\InflectorFactory' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/Portuguese/InflectorFactory.php',
393+
'RectorPrefix202310\\Doctrine\\Inflector\\Rules\\Portuguese\\Rules' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/Portuguese/Rules.php',
394+
'RectorPrefix202310\\Doctrine\\Inflector\\Rules\\Portuguese\\Uninflected' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/Portuguese/Uninflected.php',
395+
'RectorPrefix202310\\Doctrine\\Inflector\\Rules\\Ruleset' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/Ruleset.php',
396+
'RectorPrefix202310\\Doctrine\\Inflector\\Rules\\Spanish\\Inflectible' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/Spanish/Inflectible.php',
397+
'RectorPrefix202310\\Doctrine\\Inflector\\Rules\\Spanish\\InflectorFactory' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/Spanish/InflectorFactory.php',
398+
'RectorPrefix202310\\Doctrine\\Inflector\\Rules\\Spanish\\Rules' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/Spanish/Rules.php',
399+
'RectorPrefix202310\\Doctrine\\Inflector\\Rules\\Spanish\\Uninflected' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/Spanish/Uninflected.php',
400+
'RectorPrefix202310\\Doctrine\\Inflector\\Rules\\Substitution' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/Substitution.php',
401+
'RectorPrefix202310\\Doctrine\\Inflector\\Rules\\Substitutions' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/Substitutions.php',
402+
'RectorPrefix202310\\Doctrine\\Inflector\\Rules\\Transformation' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/Transformation.php',
403+
'RectorPrefix202310\\Doctrine\\Inflector\\Rules\\Transformations' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/Transformations.php',
404+
'RectorPrefix202310\\Doctrine\\Inflector\\Rules\\Turkish\\Inflectible' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/Turkish/Inflectible.php',
405+
'RectorPrefix202310\\Doctrine\\Inflector\\Rules\\Turkish\\InflectorFactory' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/Turkish/InflectorFactory.php',
406+
'RectorPrefix202310\\Doctrine\\Inflector\\Rules\\Turkish\\Rules' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/Turkish/Rules.php',
407+
'RectorPrefix202310\\Doctrine\\Inflector\\Rules\\Turkish\\Uninflected' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/Turkish/Uninflected.php',
408+
'RectorPrefix202310\\Doctrine\\Inflector\\Rules\\Word' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/Rules/Word.php',
409+
'RectorPrefix202310\\Doctrine\\Inflector\\RulesetInflector' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/RulesetInflector.php',
410+
'RectorPrefix202310\\Doctrine\\Inflector\\WordInflector' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector/WordInflector.php',
370411
'RectorPrefix202310\\Evenement\\EventEmitter' => $vendorDir . '/evenement/evenement/src/EventEmitter.php',
371412
'RectorPrefix202310\\Evenement\\EventEmitterInterface' => $vendorDir . '/evenement/evenement/src/EventEmitterInterface.php',
372413
'RectorPrefix202310\\Evenement\\EventEmitterTrait' => $vendorDir . '/evenement/evenement/src/EventEmitterTrait.php',
@@ -1492,6 +1533,7 @@
14921533
'Rector\\Naming\\PropertyRenamer\\MatchTypePropertyRenamer' => $baseDir . '/rules/Naming/PropertyRenamer/MatchTypePropertyRenamer.php',
14931534
'Rector\\Naming\\PropertyRenamer\\PropertyFetchRenamer' => $baseDir . '/rules/Naming/PropertyRenamer/PropertyFetchRenamer.php',
14941535
'Rector\\Naming\\PropertyRenamer\\PropertyPromotionRenamer' => $baseDir . '/rules/Naming/PropertyRenamer/PropertyPromotionRenamer.php',
1536+
'Rector\\Naming\\RectorNamingInflector' => $baseDir . '/rules/Naming/RectorNamingInflector.php',
14951537
'Rector\\Naming\\Rector\\Assign\\RenameVariableToMatchMethodCallReturnTypeRector' => $baseDir . '/rules/Naming/Rector/Assign/RenameVariableToMatchMethodCallReturnTypeRector.php',
14961538
'Rector\\Naming\\Rector\\ClassMethod\\RenameParamToMatchTypeRector' => $baseDir . '/rules/Naming/Rector/ClassMethod/RenameParamToMatchTypeRector.php',
14971539
'Rector\\Naming\\Rector\\ClassMethod\\RenameVariableToMatchNewTypeRector' => $baseDir . '/rules/Naming/Rector/ClassMethod/RenameVariableToMatchNewTypeRector.php',

vendor/composer/autoload_psr4.php

+1
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
'RectorPrefix202310\\Illuminate\\Container\\' => array($vendorDir . '/illuminate/container'),
3838
'RectorPrefix202310\\Fidry\\CpuCoreCounter\\' => array($vendorDir . '/fidry/cpu-core-counter/src'),
3939
'RectorPrefix202310\\Evenement\\' => array($vendorDir . '/evenement/evenement/src'),
40+
'RectorPrefix202310\\Doctrine\\Inflector\\' => array($vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector'),
4041
'RectorPrefix202310\\Composer\\XdebugHandler\\' => array($vendorDir . '/composer/xdebug-handler/src'),
4142
'RectorPrefix202310\\Composer\\Semver\\' => array($vendorDir . '/composer/semver/src'),
4243
'RectorPrefix202310\\Composer\\Pcre\\' => array($vendorDir . '/composer/pcre/src'),

0 commit comments

Comments
 (0)