Passed
Push — latest ( 981bad...ca3ef7 )
by Colin
02:16 queued 10s
created

AbstractBlock::getData()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 2

Importance

Changes 0
Metric Value
eloc 1
dl 0
loc 3
ccs 2
cts 2
cp 1
rs 10
c 0
b 0
f 0
cc 2
nc 2
nop 2
crap 2
1
<?php
2
3
declare(strict_types=1);
4
5
/*
6
 * This file is part of the league/commonmark package.
7
 *
8
 * (c) Colin O'Dell <[email protected]>
9
 *
10
 * Original code based on the CommonMark JS reference parser (https://bitly.com/commonmark-js)
11
 *  - (c) John MacFarlane
12
 *
13
 * For the full copyright and license information, please view the LICENSE
14
 * file that was distributed with this source code.
15
 */
16
17
namespace League\CommonMark\Node\Block;
18
19
use League\CommonMark\Node\Node;
20
21
/**
22
 * Block-level element
23
 *
24
 * @method parent() ?AbstractBlock
25
 */
26
abstract class AbstractBlock extends Node
27
{
28
    /** @var int|null */
29
    protected $startLine;
30
31
    /** @var int|null */
32
    protected $endLine;
33
34 2922
    protected function setParent(?Node $node = null): void
35
    {
36 2922
        if ($node && ! $node instanceof self) {
37 3
            throw new \InvalidArgumentException('Parent of block must also be block (cannot be inline)');
38
        }
39
40 2919
        parent::setParent($node);
41 2919
    }
42
43 2970
    public function setStartLine(?int $startLine): void
44
    {
45 2970
        $this->startLine = $startLine;
46 2970
        if ($this->endLine === null) {
47 2970
            $this->endLine = $startLine;
48
        }
49 2970
    }
50
51 42
    public function getStartLine(): ?int
52
    {
53 42
        return $this->startLine;
54
    }
55
56 2883
    public function setEndLine(?int $endLine): void
57
    {
58 2883
        $this->endLine = $endLine;
59 2883
    }
60
61 36
    public function getEndLine(): ?int
62
    {
63 36
        return $this->endLine;
64
    }
65
}
66