visibilityManipulator = $visibilityManipulator; } public function getRuleDefinition() : RuleDefinition { return new RuleDefinition('Add explicit public method visibility.', [new CodeSample(<<<'CODE_SAMPLE' class SomeClass { function foo() { } } CODE_SAMPLE , <<<'CODE_SAMPLE' class SomeClass { public function foo() { } } CODE_SAMPLE )]); } /** * @return array> */ public function getNodeTypes() : array { return [ClassMethod::class]; } /** * @param ClassMethod $node */ public function refactor(Node $node) : ?Node { return $this->visibilityManipulator->publicize($node); } }