Skip to content

Commit 7ec1c5d

Browse files
authored
Add support for nikic/php-parser:^4 (#88)
* Add support for nikic/php-parser:^4 * cs
1 parent 019c605 commit 7ec1c5d

File tree

8 files changed

+15
-12
lines changed

8 files changed

+15
-12
lines changed

.travis.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ matrix:
2929
- php: 7.1
3030
- php: 7.2
3131
env: COVERAGE=true TEST_COMMAND="composer test-ci"
32+
- php: 7.2
33+
env: DEPENDENCIES="nikic/php-parser:^3"
3234

3335
# Force some major versions of Symfony
3436
- php: 7.2

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
],
1111
"require": {
1212
"php": "^5.5 || ^7.0",
13-
"nikic/php-parser": "^3.0",
13+
"nikic/php-parser": "^3.0 || ^4.0",
1414
"symfony/finder": "^2.7 || ^3.0 || ^4.0",
1515
"twig/twig": "^1.27 || ^2.0",
1616
"doctrine/annotations": "^1.2"

src/Visitor/Php/SourceLocationContainerVisitor.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,8 @@ public function enterNode(Node $node)
5050
}
5151

5252
if ($node instanceof Node\Stmt\UseUse) {
53-
$this->useStatements[$node->alias] = implode('\\', $node->name->parts);
53+
$key = isset($node->alias) ? $node->alias : $node->name->parts[count($node->name->parts) - 1];
54+
$this->useStatements[$key] = implode('\\', $node->name->parts);
5455

5556
return;
5657
}

src/Visitor/Php/Symfony/ContainerAwareTrans.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,10 @@ public function enterNode(Node $node)
3030
return;
3131
}
3232

33-
if (!is_string($node->name)) {
33+
if (!is_string($node->name) && !$node->name instanceof Node\Identifier) {
3434
return;
3535
}
36-
$name = $node->name;
36+
$name = (string) $node->name;
3737

3838
//If $this->get('translator')->trans('foobar')
3939
if ('trans' === $name) {

src/Visitor/Php/Symfony/ContainerAwareTransChoice.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,10 @@ public function enterNode(Node $node)
3030
return;
3131
}
3232

33-
if (!is_string($node->name)) {
33+
if (!is_string($node->name) && !$node->name instanceof Node\Identifier) {
3434
return;
3535
}
36-
$name = $node->name;
36+
$name = (string) $node->name;
3737

3838
//If $this->get('translator')->trans('foobar')
3939
if ('transChoice' === $name) {

src/Visitor/Php/Symfony/FlashMessage.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,11 @@ public function enterNode(Node $node)
3030
return;
3131
}
3232

33-
if (!is_string($node->name)) {
33+
if (!is_string($node->name) && !$node->name instanceof Node\Identifier) {
3434
return;
3535
}
3636

37-
$name = $node->name;
37+
$name = (string) $node->name;
3838
$caller = $node->var;
3939
// $caller might be "Node\Expr\New_"
4040
$callerName = isset($caller->name) ? $caller->name : '';

src/Visitor/Php/Symfony/FormTypeLabelImplicit.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public function enterNode(Node $node)
3131
$domain = null;
3232
// use add() function and look at first argument and if that's a string
3333
if ($node instanceof Node\Expr\MethodCall
34-
&& ('add' === $node->name || 'create' === $node->name)
34+
&& ('add' === (string) $node->name || 'create' === (string) $node->name)
3535
&& $node->args[0]->value instanceof Node\Scalar\String_) {
3636
// now make sure we don't have 'label' in the array of options
3737
$customLabel = false;

tests/Functional/Visitor/Php/Symfony/FormTypeLabelTest.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,9 @@ public function testTranslationDomain()
4545
{
4646
$collection = $this->getSourceLocations($this->allFormVisitors, Resources\Php\Symfony\FormDomainType::class);
4747

48+
// We should not have "test_d" or "test_e"
49+
$this->assertEquals(3, $collection->count(), 'We should ignore choices where "translation_domain" is "false"');
50+
4851
$messageA = $collection->get(0);
4952
$this->assertEquals('label1', $messageA->getMessage());
5053
$this->assertEquals('admin0', $messageA->getContext()['domain']);
@@ -56,8 +59,5 @@ public function testTranslationDomain()
5659
$messageC = $collection->get(2);
5760
$this->assertEquals('test_c', $messageC->getMessage());
5861
$this->assertNull($messageC->getContext()['domain']);
59-
60-
// We should not have "test_d" or "test_e"
61-
$this->assertEquals(3, $collection->count(), 'We should ignore choices where "translation_domain" is "false"');
6262
}
6363
}

0 commit comments

Comments
 (0)