Skip to content
Snippets Groups Projects
Unverified Commit d18eeb13 authored by Klaus Purer's avatar Klaus Purer Committed by GitHub
Browse files

fix(FullyQualifiedNamespace): Do not check names in PHP attributes for now (#3483583)

parent ba30df56
Branches
Tags 8.3.28
No related merge requests found
......@@ -65,6 +65,11 @@ class FullyQualifiedNamespaceSniff implements Sniff
return;
}
// Skip names in PHP attributes, no standards defined yet.
if (isset($tokens[$stackPtr]['attribute_closer']) === true) {
return $tokens[$stackPtr]['attribute_closer'];
}
// Check if this is a use statement and ignore those.
$before = $phpcsFile->findPrevious([T_STRING, T_NS_SEPARATOR, T_WHITESPACE, T_COMMA, T_AS], $stackPtr, null, true);
if ($tokens[$before]['code'] === T_USE || $tokens[$before]['code'] === T_NAMESPACE) {
......
......@@ -8,7 +8,7 @@ use Drupal\Core\Access\AccessResult;
use Drupal\Core\Session\AccountInterface;
/**
* Test action which is always usable.
* Fully qualified names are allowed, there is no standard yet.
*/
#[\Drupal\action_link\Attribute\StateAction(
id: 'test_always',
......
......@@ -2,17 +2,18 @@
namespace Drupal\action_link_test_plugins\Plugin\StateAction;
use Drupal\Core\StringTranslation\TranslatableMarkup;
use Drupal\action_link\Attribute\StateAction;
use Drupal\action_link\Entity\ActionLinkInterface;
use Drupal\action_link\Plugin\StateAction\StateActionBase;
use Drupal\Core\Access\AccessResult;
use Drupal\Core\Session\AccountInterface;
/**
* Test action which is always usable.
* Fully qualified names are allowed, there is no standard yet.
*/
#[StateAction(
#[\Drupal\action_link\Attribute\StateAction(
id: 'test_always',
label: new TranslatableMarkup('Test Always'),
description: new TranslatableMarkup('Test Always'),
label: new \Drupal\Core\StringTranslation\TranslatableMarkup('Test Always'),
description: new \Drupal\Core\StringTranslation\TranslatableMarkup('Test Always'),
directions: [
'change' => 'change',
]
......
......@@ -38,11 +38,7 @@ class FullyQualifiedNamespaceUnitTest extends CoderSniffUnitTest
case 'FullyQualifiedNamespaceUnitTest.3.inc':
return [10 => 2];
case 'FullyQualifiedNamespaceUnitTest.4.inc':
return [
13 => 1,
15 => 1,
16 => 1,
];
return [];
}//end switch
return [];
......
......@@ -5,8 +5,6 @@
* Testing class/trait comments.
*/
use Some\Attribute;
/**
*
*/
......@@ -62,7 +60,7 @@ class WrongSpacing {
/**
* This is correct.
*/
#[Attribute(foo: 'bar')]
#[Some\Attribute(foo: 'bar')]
#[Other\Attribute(baz: 'qux')]
class DoubleAttribute {
......
......@@ -5,8 +5,6 @@
* Some function comment tests.
*/
use Some\Attribute;
/**
* Test.
*
......@@ -581,7 +579,7 @@ class Test41 {
/**
* Method docblock.
*/
#[Attribute(foo: 'bar')]
#[Some\Attribute(foo: 'bar')]
#[Other\Attribute(baz: 'qux')]
public function method() {
}
......
......@@ -1914,3 +1914,35 @@ enum PUROSELY_WRONG_BUT_OK: int {
case One = 1;
case Two = 2;
}
/**
* Fully qualified class name is allowed in PHP attributes for now.
*/
#[\Drupal\action_link\Attribute\StateAction(
id: 'test_always',
label: new \Drupal\Core\StringTranslation\TranslatableMarkup('Test Always'),
description: new \Drupal\Core\StringTranslation\TranslatableMarkup('Test Always'),
directions: [
'change' => 'change',
]
)]
class TestAlways extends StateActionBase {
/**
* Partial names are ok in attributes for now.
*/
#[Assert\NotBlank]
private bool $bar;
/**
* Partially qualified names are ok in attributes for now.
*/
#[CLI\Command(
name: 'example',
aliases: ['example-foo']
)]
#[CLI\Option(name: 'pretty_format', description: 'Display the count in pretty format.')]
public function test(array $options = ['pretty-format' => TRUE]): void {
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment