function DependencySerializationTraitPropertyRule::processNode
File
-
vendor/
mglaman/ phpstan-drupal/ src/ Rules/ Drupal/ DependencySerializationTraitPropertyRule.php, line 25
Class
- DependencySerializationTraitPropertyRule
- @implements Rule<ClassPropertyNode>
Namespace
mglaman\PHPStanDrupal\Rules\DrupalCode
public function processNode(Node $node, Scope $scope) : array {
if (!$node->getClassReflection()
->hasTraitUse(DependencySerializationTrait::class)) {
return [];
}
$errors = [];
if ($node->isPrivate()) {
$errors[] = RuleErrorBuilder::message(sprintf('%s does not support private properties.', DependencySerializationTrait::class))->tip('See https://www.drupal.org/node/3110266')
->build();
}
if ($node->isReadOnly()) {
$errors[] = RuleErrorBuilder::message(sprintf('Read-only properties are incompatible with %s.', DependencySerializationTrait::class))->tip('See https://www.drupal.org/node/3110266')
->build();
}
return $errors;
}