visibilityManipulator = $visibilityManipulator; } public function getRuleDefinition() : RuleDefinition { return new RuleDefinition('Add explicit public constant visibility.', [new CodeSample(<<<'CODE_SAMPLE' class SomeClass { const HEY = 'you'; } CODE_SAMPLE , <<<'CODE_SAMPLE' class SomeClass { public const HEY = 'you'; } CODE_SAMPLE )]); } /** * @return array> */ public function getNodeTypes() : array { return [ClassConst::class]; } /** * @param ClassConst $node */ public function refactor(Node $node) : ?Node { return $this->visibilityManipulator->publicize($node); } public function provideMinPhpVersion() : int { return PhpVersionFeature::CONSTANT_VISIBILITY; } }