TokenizerException   A
last analyzed

Complexity

Total Complexity 7

Size/Duplication

Total Lines 40
Duplicated Lines 0 %

Test Coverage

Coverage 47.06%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 16
c 1
b 0
f 0
dl 0
loc 40
ccs 8
cts 17
cp 0.4706
rs 10
wmc 7

5 Methods

Rating   Name   Duplication   Size   Complexity  
A malformedNumber() 0 4 1
A __construct() 0 6 3
A unexpectedToken() 0 4 1
A unexpectedCharacter() 0 4 1
A malformedString() 0 4 1
1
<?php
2
declare(strict_types=1);
3
4
namespace JsonDecodeStream\Exception;
5
6
class TokenizerException extends JsonDecodeStreamException
7
{
8
    const CODE_UNEXPECTED_TOKEN = 101;
9
    const CODE_UNEXPECTED_CHAR = 102;
10
    const CODE_MALFORMED_NUMBER = 201;
11
    const CODE_MALFORMED_STRING = 202;
12
13 6
    public function __construct($message, int $lineNumber = null, int $charNumber = null, int $code = null)
14
    {
15 6
        if ($lineNumber !== null && $charNumber !== null) {
16 6
            $message .= " at $lineNumber:$charNumber";
17
        }
18 6
        parent::__construct($message, $code);
19 6
    }
20
21
    public static function unexpectedToken(string $token, int $lineNumber = null, int $charNumber = null)
22
    {
23
        return new static(
24
            sprintf('Unexpected token `%s`', $token), $lineNumber, $charNumber, static::CODE_UNEXPECTED_TOKEN
25
        );
26
    }
27
28
    public static function unexpectedCharacter(string $char, int $lineNumber = null, int $charNumber = null)
29
    {
30
        return new static(
31
            sprintf('Unexpected character `%s`', $char), $lineNumber, $charNumber, static::CODE_UNEXPECTED_CHAR
32
        );
33
    }
34
35 6
    public static function malformedNumber(string $number, int $lineNumber = null, int $charNumber = null)
36
    {
37 6
        return new static(
38 6
            sprintf('Malformed number `%s`', $number), $lineNumber, $charNumber, static::CODE_MALFORMED_NUMBER
39
        );
40
    }
41
42
    public static function malformedString(string $string, int $lineNumber = null, int $charNumber = null)
43
    {
44
        return new static(
45
            sprintf('Malformed string `%s`', $string), $lineNumber, $charNumber, static::CODE_MALFORMED_STRING
46
        );
47
    }
48
}
49