Completed
Push — renovate/eslint-loader-4.x ( dc00f9...91efae )
by
unknown
24:51 queued 17:33
created

Class_Method_Deprecated::display_name()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
nc 1
nop 0
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
<?php
2
/**
3
 * Class Method Deprecated checker.
4
 *
5
 * @package automattic/jetpack-analyzer
6
 */
7
8
namespace Automattic\Jetpack\Analyzer\Differences;
9
10
use Automattic\Jetpack\Analyzer\PersistentList\Item as PersistentListItem;
11
use Automattic\Jetpack\Analyzer\Invocations\Static_Call;
12
use Automattic\Jetpack\Analyzer\Warnings\Warning; // TODO - subclasses?
13
14
/**
15
 * Class Class_Method_Deprecated
16
 */
17
class Class_Method_Deprecated extends PersistentListItem implements Invocation_Warner {
18
	/**
19
	 * Old declaration.
20
	 *
21
	 * @var object
22
	 */
23
	public $old_declaration;
24
	/**
25
	 * New declaration.
26
	 *
27
	 * @var object
28
	 */
29
	public $new_declaration;
30
31
	/**
32
	 * Class_Method_Deprecated constructor.
33
	 *
34
	 * @param object $old_declaration Old declaration.
35
	 * @param object $new_declaration New declaration.
36
	 */
37
	public function __construct( $old_declaration, $new_declaration ) {
38
		$this->old_declaration = $old_declaration;
39
		$this->new_declaration = $new_declaration;
40
	}
41
42
	/**
43
	 * Return array of declaration items.
44
	 *
45
	 * @return array
46
	 */
47
	public function to_csv_array() {
48
		return array(
49
			$this->type(),
50
			$this->old_declaration->path,
51
			$this->old_declaration->line,
52
			$this->old_declaration->display_name(),
53
		);
54
	}
55
56
	/**
57
	 * Returns type of issue.
58
	 *
59
	 * @return string 'method_deprecated'
60
	 */
61
	public function type() {
62
		return 'method_deprecated';
63
	}
64
65
	/**
66
	 * Display name of issue.
67
	 *
68
	 * @return string
69
	 */
70
	public function display_name() {
71
		return $this->old_declaration->display_name();
72
	}
73
74
	/**
75
	 * Find warnings.
76
	 *
77
	 * @param object $invocation Invocation.
78
	 * @param object $warnings Warnings.
79
	 */
80
	public function find_invocation_warnings( $invocation, $warnings ) {
81
		if ( $invocation->depends_on( $this->old_declaration ) ) {
82
			$warnings->add(
83
				new Warning( $this->type(), $invocation->path, $invocation->line, 'Class method ' . $this->old_declaration->display_name() . ' is deprecated ' . $this->old_declaration->path . ' line ' . $this->old_declaration->line, $this->old_declaration )
84
			);
85
		}
86
	}
87
}
88