Skip to content

Commit c469af9

Browse files
Andreas Frömericanhazstring
Andreas Frömer
authored andcommitted
Move php scanner to seperate namespace
1 parent 7f2543b commit c469af9

20 files changed

+66
-56
lines changed

config/service_manager.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
use Icanhazstring\Composer\Unused\Log\Factory\DebugLoggerFactory;
1616
use Icanhazstring\Composer\Unused\Log\Factory\FileHandlerFactory;
1717
use Icanhazstring\Composer\Unused\Log\LogHandlerInterface;
18-
use Icanhazstring\Composer\Unused\Parser\Factory\NodeVisitorFactory;
19-
use Icanhazstring\Composer\Unused\Parser\NodeVisitor;
18+
use Icanhazstring\Composer\Unused\Parser\PHP\Factory\NodeVisitorFactory;
19+
use Icanhazstring\Composer\Unused\Parser\PHP\NodeVisitor;
2020
use Icanhazstring\Composer\Unused\Subject\Factory\PackageSubjectFactory;
2121
use Psr\Log\LoggerInterface;
2222

data/.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
*

phpstan.neon

+2
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,12 @@ includes:
22
- vendor/jangregor/phpstan-prophecy/src/extension.neon
33

44
parameters:
5+
bootstrap: phpunit.bootstrap.php
56
excludes_analyse:
67
- %currentWorkingDirectory%/tests/assets
78
level: max
89
inferPrivatePropertyTypeFromConstructor: true
910
paths:
1011
- src/
1112
- tests/
13+
tmpDir: data

phpunit.bootstrap.php

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
require __DIR__ . '/vendor/autoload.php';
6+
7+
define('ASSET_DIR', __DIR__ . '/tests/assets');

phpunit.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
33
xsi:noNamespaceSchemaLocation="./vendor/phpunit/phpunit/phpunit.xsd"
4-
bootstrap="vendor/autoload.php"
4+
bootstrap="phpunit.bootstrap.php"
55
colors="true">
66
<testsuites>
77
<testsuite name="integration">

src/Loader/Factory/UsageLoaderFactory.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
use Icanhazstring\Composer\Unused\Error\ErrorHandlerInterface;
99
use Icanhazstring\Composer\Unused\Loader\Result;
1010
use Icanhazstring\Composer\Unused\Loader\UsageLoader;
11-
use Icanhazstring\Composer\Unused\Parser\NodeVisitor;
11+
use Icanhazstring\Composer\Unused\Parser\PHP\NodeVisitor;
1212
use PhpParser\ParserFactory;
1313
use Psr\Container\ContainerInterface;
1414
use Psr\Log\LoggerInterface;

src/Loader/UsageLoader.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
use Composer\Composer;
88
use Icanhazstring\Composer\Unused\Error\ErrorHandlerInterface;
9-
use Icanhazstring\Composer\Unused\Parser\NodeVisitor;
9+
use Icanhazstring\Composer\Unused\Parser\PHP\NodeVisitor;
1010
use PhpParser\NodeTraverser;
1111
use PhpParser\Parser;
1212
use Psr\Log\LoggerInterface;

src/Parser/Factory/NodeVisitorFactory.php src/Parser/PHP/Factory/NodeVisitorFactory.php

+7-7
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22

33
declare(strict_types=1);
44

5-
namespace Icanhazstring\Composer\Unused\Parser\Factory;
5+
namespace Icanhazstring\Composer\Unused\Parser\PHP\Factory;
66

77
use Icanhazstring\Composer\Unused\Error\ErrorHandlerInterface;
8-
use Icanhazstring\Composer\Unused\Parser\NodeVisitor;
9-
use Icanhazstring\Composer\Unused\Parser\Strategy\ClassConstStrategy;
10-
use Icanhazstring\Composer\Unused\Parser\Strategy\NewParseStrategy;
11-
use Icanhazstring\Composer\Unused\Parser\Strategy\PhpExtensionStrategy;
12-
use Icanhazstring\Composer\Unused\Parser\Strategy\StaticParseStrategy;
13-
use Icanhazstring\Composer\Unused\Parser\Strategy\UseParseStrategy;
8+
use Icanhazstring\Composer\Unused\Parser\PHP\NodeVisitor;
9+
use Icanhazstring\Composer\Unused\Parser\PHP\Strategy\ClassConstStrategy;
10+
use Icanhazstring\Composer\Unused\Parser\PHP\Strategy\NewParseStrategy;
11+
use Icanhazstring\Composer\Unused\Parser\PHP\Strategy\PhpExtensionStrategy;
12+
use Icanhazstring\Composer\Unused\Parser\PHP\Strategy\StaticParseStrategy;
13+
use Icanhazstring\Composer\Unused\Parser\PHP\Strategy\UseParseStrategy;
1414
use Psr\Container\ContainerInterface;
1515
use Psr\Log\LoggerInterface;
1616

src/Parser/NodeVisitor.php src/Parser/PHP/NodeVisitor.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33
declare(strict_types=1);
44

5-
namespace Icanhazstring\Composer\Unused\Parser;
5+
namespace Icanhazstring\Composer\Unused\Parser\PHP;
66

77
use Icanhazstring\Composer\Unused\Error\ErrorHandlerInterface;
8-
use Icanhazstring\Composer\Unused\Parser\Strategy\ParseStrategyInterface;
8+
use Icanhazstring\Composer\Unused\Parser\PHP\Strategy\ParseStrategyInterface;
99
use Icanhazstring\Composer\Unused\Subject\NamespaceUsage;
1010
use Icanhazstring\Composer\Unused\Subject\UsageInterface;
1111
use PhpParser\Node;

src/Parser/Strategy/ClassConstStrategy.php src/Parser/PHP/Strategy/ClassConstStrategy.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
declare(strict_types=1);
44

5-
namespace Icanhazstring\Composer\Unused\Parser\Strategy;
5+
namespace Icanhazstring\Composer\Unused\Parser\PHP\Strategy;
66

77
use PhpParser\Node;
88
use PhpParser\Node\Expr\ClassConstFetch;

src/Parser/Strategy/NewParseStrategy.php src/Parser/PHP/Strategy/NewParseStrategy.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
declare(strict_types=1);
44

5-
namespace Icanhazstring\Composer\Unused\Parser\Strategy;
5+
namespace Icanhazstring\Composer\Unused\Parser\PHP\Strategy;
66

77
use PhpParser\Node;
88
use PhpParser\Node\Expr\New_;

src/Parser/Strategy/ParseStrategyInterface.php src/Parser/PHP/Strategy/ParseStrategyInterface.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
declare(strict_types=1);
44

5-
namespace Icanhazstring\Composer\Unused\Parser\Strategy;
5+
namespace Icanhazstring\Composer\Unused\Parser\PHP\Strategy;
66

77
use PhpParser\Node;
88

src/Parser/Strategy/PhpExtensionStrategy.php src/Parser/PHP/Strategy/PhpExtensionStrategy.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?php
22

3-
namespace Icanhazstring\Composer\Unused\Parser\Strategy;
3+
namespace Icanhazstring\Composer\Unused\Parser\PHP\Strategy;
44

55
use PhpParser\Node;
66
use Psr\Log\LoggerInterface;

src/Parser/Strategy/StaticParseStrategy.php src/Parser/PHP/Strategy/StaticParseStrategy.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
declare(strict_types=1);
44

5-
namespace Icanhazstring\Composer\Unused\Parser\Strategy;
5+
namespace Icanhazstring\Composer\Unused\Parser\PHP\Strategy;
66

77
use PhpParser\Node;
88
use PhpParser\Node\Expr\StaticCall;

src/Parser/Strategy/UseParseStrategy.php src/Parser/PHP/Strategy/UseParseStrategy.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
declare(strict_types=1);
44

5-
namespace Icanhazstring\Composer\Unused\Parser\Strategy;
5+
namespace Icanhazstring\Composer\Unused\Parser\PHP\Strategy;
66

77
use PhpParser\Node;
88
use PhpParser\Node\Stmt\GroupUse;

tests/Integration/Di/ServiceContainerTest.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
use Icanhazstring\Composer\Unused\Loader\PackageLoader;
1616
use Icanhazstring\Composer\Unused\Loader\UsageLoader;
1717
use Icanhazstring\Composer\Unused\Log\LogHandlerInterface;
18-
use Icanhazstring\Composer\Unused\Parser\NodeVisitor;
18+
use Icanhazstring\Composer\Unused\Parser\PHP\NodeVisitor;
1919
use Icanhazstring\Composer\Unused\Subject\Factory\PackageSubjectFactory;
2020
use PHPUnit\Framework\TestCase;
2121
use Prophecy\PhpUnit\ProphecyTrait;

tests/Integration/Parser/NodeVisitorTest.php tests/Integration/Parser/PHP/NodeVisitorTest.php

+31-31
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,17 @@
22

33
declare(strict_types=1);
44

5-
namespace Icanhazstring\Composer\Test\Unused\Integration\Parser;
5+
namespace Icanhazstring\Composer\Test\Unused\Integration\Parser\PHP;
66

77
use Exception;
88
use Icanhazstring\Composer\Unused\Error\ErrorHandlerInterface;
9-
use Icanhazstring\Composer\Unused\Parser\NodeVisitor;
10-
use Icanhazstring\Composer\Unused\Parser\Strategy\ClassConstStrategy;
11-
use Icanhazstring\Composer\Unused\Parser\Strategy\NewParseStrategy;
12-
use Icanhazstring\Composer\Unused\Parser\Strategy\ParseStrategyInterface;
13-
use Icanhazstring\Composer\Unused\Parser\Strategy\PhpExtensionStrategy;
14-
use Icanhazstring\Composer\Unused\Parser\Strategy\StaticParseStrategy;
15-
use Icanhazstring\Composer\Unused\Parser\Strategy\UseParseStrategy;
9+
use Icanhazstring\Composer\Unused\Parser\PHP\NodeVisitor;
10+
use Icanhazstring\Composer\Unused\Parser\PHP\Strategy\ClassConstStrategy;
11+
use Icanhazstring\Composer\Unused\Parser\PHP\Strategy\NewParseStrategy;
12+
use Icanhazstring\Composer\Unused\Parser\PHP\Strategy\ParseStrategyInterface;
13+
use Icanhazstring\Composer\Unused\Parser\PHP\Strategy\PhpExtensionStrategy;
14+
use Icanhazstring\Composer\Unused\Parser\PHP\Strategy\StaticParseStrategy;
15+
use Icanhazstring\Composer\Unused\Parser\PHP\Strategy\UseParseStrategy;
1616
use PhpParser\Node;
1717
use PhpParser\NodeTraverser;
1818
use PhpParser\ParserFactory;
@@ -34,45 +34,45 @@ public function itShouldParseUsagesDataProvider(): array
3434
return [
3535
'StaticParseStrategyShouldReturnEmptyUsageOnVariableCall' => [
3636
'expectedUsedNamespaces' => [],
37-
'inputFile' => __DIR__ . '/../../assets/TestFiles/StaticVariableCall.php',
37+
'inputFile' => ASSET_DIR . '/TestFiles/StaticVariableCall.php',
3838
'strategy' => new StaticParseStrategy()
3939
],
4040
'StaticParseStrategyShouldReturnEmptyUsageOnNonFQCall' => [
4141
'expectedUsedNamespaces' => [],
42-
'inputFile' => __DIR__ . '/../../assets/TestFiles/StaticNonFullyQualifiedCall.php',
42+
'inputFile' => ASSET_DIR . '/TestFiles/StaticNonFullyQualifiedCall.php',
4343
'strategy' => new StaticParseStrategy()
4444
],
4545
'StaticParseStrategyShouldReturnCorrectNamespaceOnFQCall' => [
4646
'expectedUsedNamespaces' => [
4747
'StaticFullyQualifiedCall'
4848
],
49-
'inputFile' => __DIR__ . '/../../assets/TestFiles/StaticFullyQualifiedCall.php',
49+
'inputFile' => ASSET_DIR . '/TestFiles/StaticFullyQualifiedCall.php',
5050
'strategy' => new StaticParseStrategy()
5151
],
5252
'NewParseStrategyShouldReturnEmptyUsageOnDynamicClassnameCall' => [
5353
'expectedUsedNamespaces' => [],
54-
'inputFile' => __DIR__ . '/../../assets/TestFiles/NewInstantiateDynamicClass.php',
54+
'inputFile' => ASSET_DIR . '/TestFiles/NewInstantiateDynamicClass.php',
5555
'strategy' => new NewParseStrategy()
5656
],
5757
'NewParseStrategyShouldReturnEmptyUsageOnNonFQCall' => [
5858
'expectedUsedNamespaces' => [],
59-
'inputFile' => __DIR__ . '/../../assets/TestFiles/NewInstantiateNonFullyQualifiedCall.php',
59+
'inputFile' => ASSET_DIR . '/TestFiles/NewInstantiateNonFullyQualifiedCall.php',
6060
'strategy' => new NewParseStrategy()
6161
],
6262
'NewParseStrategyShouldReturnCorrectNamespaceOnFQCall' => [
6363
'expectedUsedNamespaces' => [
6464
'NewInstantiateFullyQualifiedCall'
6565
],
66-
'inputFile' => __DIR__ . '/../../assets/TestFiles/NewInstantiateFullyQualifiedCall.php',
66+
'inputFile' => ASSET_DIR . '/TestFiles/NewInstantiateFullyQualifiedCall.php',
6767
'strategy' => new NewParseStrategy()
6868
],
6969
'UseParseStrategyShouldReturnSingleLineImportedNamespaces' => [
7070
'expectedUsedNamespaces' => [
7171
'Icanhazstring\Composer',
72-
'Icanhazstring\Composer\Unused\Parser',
72+
'Icanhazstring\Composer\Unused\Parser\PHP',
7373
'Icanhazstring\Composer\Unused\Command'
7474
],
75-
'inputFile' => __DIR__ . '/../../assets/TestFiles/UseSingleLineNoGroup.php',
75+
'inputFile' => ASSET_DIR . '/TestFiles/UseSingleLineNoGroup.php',
7676
'strategy' => new UseParseStrategy()
7777
],
7878
'UseParseStrategyShouldReturnMultiLineImportedNamespaces' => [
@@ -81,79 +81,79 @@ public function itShouldParseUsagesDataProvider(): array
8181
StaticParseStrategy::class,
8282
NewParseStrategy::class
8383
],
84-
'inputFile' => __DIR__ . '/../../assets/TestFiles/UseMultiLineGroup.php',
84+
'inputFile' => ASSET_DIR . '/TestFiles/UseMultiLineGroup.php',
8585
'strategy' => new UseParseStrategy()
8686
],
8787
'ClassConstStrategyShouldReturnCorrectNamespace' => [
8888
'expectedUsedNamespaces' => [
8989
UseParseStrategy::class,
9090
StaticParseStrategy::class
9191
],
92-
'inputFile' => __DIR__ . '/../../assets/TestFiles/ClassConst.php',
92+
'inputFile' => ASSET_DIR . '/TestFiles/ClassConst.php',
9393
'strategy' => new ClassConstStrategy()
9494
],
9595
'NewParseStrategyShouldReturnQualifiedNamespace' => [
9696
'expectedUsedNamespaces' => [
9797
'TestFile\NewInstantiateQualifiedClass'
9898
],
99-
'inputFile' => __DIR__ . '/../../assets/TestFiles/NewInstantiateQualifiedClass.php',
99+
'inputFile' => ASSET_DIR . '/TestFiles/NewInstantiateQualifiedClass.php',
100100
'strategy' => new NewParseStrategy()
101101
],
102102
'StaticParseStrategyShouldReturnQualifiedNamespace' => [
103103
'expectedUsedNamespaces' => [
104104
'TestFile\StaticQualifiedCall'
105105
],
106-
'inputFile' => __DIR__ . '/../../assets/TestFiles/StaticQualifiedCall.php',
106+
'inputFile' => ASSET_DIR . '/TestFiles/StaticQualifiedCall.php',
107107
'strategy' => new StaticParseStrategy()
108108
],
109109
'PhpExtensionParseStrategyShouldReturnQualifiedNamespace---1' => [
110110
'expectedUsedNamespaces' => [],
111-
'inputFile' => __DIR__ . '/../../assets/TestFiles/PhpExtensionStrategy/ClassWithCustomInterfaceName.php',
111+
'inputFile' => ASSET_DIR . '/TestFiles/PhpExtensionStrategy/ClassWithCustomInterfaceName.php',
112112
'strategy' => new PhpExtensionStrategy(['json'], new NullLogger())
113113
],
114114
'PhpExtensionParseStrategyShouldReturnQualifiedNamespace---2' => [
115115
'expectedUsedNamespaces' => [],
116-
'inputFile' => __DIR__ . '/../../assets/TestFiles/PhpExtensionStrategy/ClassWithCustomInterface.php',
116+
'inputFile' => ASSET_DIR . '/TestFiles/PhpExtensionStrategy/ClassWithCustomInterface.php',
117117
'strategy' => new PhpExtensionStrategy(['json'], new NullLogger())
118118
],
119119
'PhpExtensionParseStrategyShouldReturnQualifiedNamespace---3' => [
120120
'expectedUsedNamespaces' => ['ext-json'],
121-
'inputFile' => __DIR__ . '/../../assets/TestFiles/PhpExtensionStrategy/ClassWithExtensionInterface.php',
121+
'inputFile' => ASSET_DIR . '/TestFiles/PhpExtensionStrategy/ClassWithExtensionInterface.php',
122122
'strategy' => new PhpExtensionStrategy(['json'], new NullLogger())
123123
],
124124
'PhpExtensionParseStrategyShouldReturnQualifiedNamespace---4' => [
125125
'expectedUsedNamespaces' => ['ext-json'],
126-
'inputFile' => __DIR__ . '/../../assets/TestFiles/PhpExtensionStrategy/ClassWithExtensionInterfaceInUse.php',
126+
'inputFile' => ASSET_DIR . '/TestFiles/PhpExtensionStrategy/ClassWithExtensionInterfaceInUse.php',
127127
'strategy' => new PhpExtensionStrategy(['json'], new NullLogger())
128128
],
129129
'PhpExtensionParseStrategyShouldReturnQualifiedNamespace---5' => [
130130
'expectedUsedNamespaces' => [],
131-
'inputFile' => __DIR__ . '/../../assets/TestFiles/PhpExtensionStrategy/ClassWithCustomConstant.php',
131+
'inputFile' => ASSET_DIR . '/TestFiles/PhpExtensionStrategy/ClassWithCustomConstant.php',
132132
'strategy' => new PhpExtensionStrategy(['json'], new NullLogger())
133133
],
134134
'PhpExtensionParseStrategyShouldReturnQualifiedNamespace---6' => [
135135
'expectedUsedNamespaces' => ['ext-json'],
136-
'inputFile' => __DIR__ . '/../../assets/TestFiles/PhpExtensionStrategy/ClassWithJsonConstant.php',
136+
'inputFile' => ASSET_DIR . '/TestFiles/PhpExtensionStrategy/ClassWithJsonConstant.php',
137137
'strategy' => new PhpExtensionStrategy(['json'], new NullLogger())
138138
],
139139
'PhpExtensionParseStrategyShouldReturnQualifiedNamespace---7' => [
140140
'expectedUsedNamespaces' => ['ext-json'],
141-
'inputFile' => __DIR__ . '/../../assets/TestFiles/PhpExtensionStrategy/ClassWithExtensionFunction.php',
141+
'inputFile' => ASSET_DIR . '/TestFiles/PhpExtensionStrategy/ClassWithExtensionFunction.php',
142142
'strategy' => new PhpExtensionStrategy(['json'], new NullLogger())
143143
],
144144
'PhpExtensionParseStrategyShouldReturnQualifiedNamespace---8' => [
145145
'expectedUsedNamespaces' => [],
146-
'inputFile' => __DIR__ . '/../../assets/TestFiles/PhpExtensionStrategy/ClassWithCustomFunction.php',
146+
'inputFile' => ASSET_DIR . '/TestFiles/PhpExtensionStrategy/ClassWithCustomFunction.php',
147147
'strategy' => new PhpExtensionStrategy(['json'], new NullLogger())
148148
],
149149
'PhpExtensionParseStrategyShouldReturnQualifiedNamespace---9' => [
150150
'expectedUsedNamespaces' => ['ext-zend-opcache'],
151-
'inputFile' => __DIR__ . '/../../assets/TestFiles/PhpExtensionStrategy/ClassWithZendOpcache.php',
151+
'inputFile' => ASSET_DIR . '/TestFiles/PhpExtensionStrategy/ClassWithZendOpcache.php',
152152
'strategy' => new PhpExtensionStrategy(['Zend Opcache'], new NullLogger())
153153
],
154154
'PhpExtensionParseStrategyShouldReturnQualifiedNamespace---10' => [
155155
'expectedUsedNamespaces' => ['php'],
156-
'inputFile' => __DIR__ . '/../../assets/TestFiles/PhpExtensionStrategy/ClassWithCore.php',
156+
'inputFile' => ASSET_DIR . '/TestFiles/PhpExtensionStrategy/ClassWithCore.php',
157157
'strategy' => new PhpExtensionStrategy(['Core'], new NullLogger())
158158
],
159159
];
@@ -192,7 +192,7 @@ public function itShouldRaiseExceptionHandledByErrorHandler(): void
192192
{
193193
$parser = (new ParserFactory())->create(ParserFactory::ONLY_PHP7);
194194
/** @var string $inputFile */
195-
$inputFile = __DIR__ . '/../../assets/TestFiles/UseSingleLineNoGroup.php';
195+
$inputFile = ASSET_DIR . '/TestFiles/UseSingleLineNoGroup.php';
196196
/** @var string $contents */
197197
$contents = file_get_contents($inputFile);
198198
/** @var Node[] $nodes */

tests/assets/TestFiles/ClassConst.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22

33
declare(strict_types=1);
44

5-
$fullyQualified = Icanhazstring\Composer\Unused\Parser\Strategy\UseParseStrategy::class;
6-
$qualified = \Icanhazstring\Composer\Unused\Parser\Strategy\StaticParseStrategy::class;
5+
$fullyQualified = Icanhazstring\Composer\Unused\Parser\PHP\Strategy\UseParseStrategy::class;
6+
$qualified = \Icanhazstring\Composer\Unused\Parser\PHP\Strategy\StaticParseStrategy::class;

tests/assets/TestFiles/UseMultiLineGroup.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
declare(strict_types=1);
44

5-
use Icanhazstring\Composer\Unused\Parser\Strategy\{
5+
use Icanhazstring\Composer\Unused\Parser\PHP\Strategy\{
66
UseParseStrategy,
77
StaticParseStrategy,
88
NewParseStrategy

tests/assets/TestFiles/UseSingleLineNoGroup.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@
33
declare(strict_types=1);
44

55
use Icanhazstring\Composer;
6-
use Icanhazstring\Composer\Unused\Parser;
6+
use Icanhazstring\Composer\Unused\Parser\PHP;
77
use Icanhazstring\Composer\Unused\Command;

0 commit comments

Comments
 (0)