Completed
Pull Request — master (#175)
by Tom
05:04 queued 04:06
created

Strings::tokenize()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 10
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 10
rs 9.4285
c 0
b 0
f 0
cc 2
eloc 8
nc 2
nop 2
1
<?php
2
namespace Transphporm\Parser\Tokenizer;
3
use \Transphporm\Parser\Tokenizer;
4
use \Transphporm\Parser\Tokens;
5
6
class Strings implements \Transphporm\Parser\Tokenize {
7
8
	public function tokenize(TokenizedString $str, Tokens $tokens) {
9
		if ($str->identifyChar() === Tokenizer::STRING) {
10
			$chr = $str->read();
11
			$string = $str->extractString();
12
			$length = strlen($string)+1;
13
			$string = str_replace('\\' . $chr, $chr, $string);
14
			$tokens->add(['type' => Tokenizer::STRING, 'value' => $string, 'line' => $str->lineNo()]);
15
			$str->move($length);
16
		}
17
	}
18
19
}