Completed
Push — master ( e6fe6f...a29d2d )
by Hannes
09:33
created

MessageProcessor::visitMessageNode()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 15
Code Lines 9

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 15
rs 9.4285
c 0
b 0
f 0
cc 2
eloc 9
nc 2
nop 1
1
<?php
2
/**
3
 * This file is part of byrokrat\autogiro.
4
 *
5
 * byrokrat\autogiro is free software: you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License as published
7
 * by the Free Software Foundation, either version 3 of the License, or
8
 * (at your option) any later version.
9
 *
10
 * byrokrat\autogiro is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with byrokrat\autogiro. If not, see <http://www.gnu.org/licenses/>.
17
 *
18
 * Copyright 2016 Hannes Forsgård
19
 */
20
21
declare(strict_types = 1);
22
23
namespace byrokrat\autogiro\Processor;
24
25
use byrokrat\autogiro\Tree\MessageNode;
26
use byrokrat\autogiro\Messages;
27
28
/**
29
 * Processor of message nodes in tree
30
 */
31
class MessageProcessor extends Processor
32
{
33
    public function visitMessageNode(MessageNode $node)
34
    {
35
        if (!isset(Messages::MESSAGE_MAP[$node->getValue()])) {
36
            return $this->addError(
37
                "Invalid message id %s on line %s",
38
                $node->getValue(),
39
                (string)$node->getLineNr()
40
            );
41
        }
42
43
        $node->setAttribute(
44
            'message',
45
            Messages::MESSAGE_MAP[$node->getValue()]
46
        );
47
    }
48
}
49