1: <?php
2:
3: /**
4: * This file is part of the Nette Framework (https://nette.org)
5: * Copyright (c) 2004 David Grudl (https://davidgrudl.com)
6: */
7:
8: namespace Nette\Latte;
9:
10: use Nette;
11:
12:
13: /**
14: * Latte parser token.
15: *
16: * @author David Grudl
17: */
18: class Token extends Nette\Object
19: {
20: const TEXT = 'text',
21: MACRO_TAG = 'macroTag', // latte macro tag
22: HTML_TAG_BEGIN = 'htmlTagBegin', // begin of HTML tag or comment
23: HTML_TAG_END = 'htmlTagEnd', // end of HTML tag or comment
24: HTML_ATTRIBUTE = 'htmlAttribute',
25: COMMENT = 'comment'; // latte comment
26:
27: /** @var string token type [TEXT | MACRO_TAG | HTML_TAG_BEGIN | HTML_TAG_END | HTML_ATTRIBUTE | COMMENT] */
28: public $type;
29:
30: /** @var string original text content of the token */
31: public $text;
32:
33: /** @var int line number */
34: public $line;
35:
36: /** @var string name of macro tag, HTML tag or attribute; used for types MACRO_TAG, HTML_TAG_BEGIN, HTML_ATTRIBUTE */
37: public $name;
38:
39: /** @var string value of macro tag or HTML attribute; used for types MACRO_TAG, HTML_ATTRIBUTE */
40: public $value;
41:
42: /** @var string macro modifiers; used for type MACRO_TAG */
43: public $modifiers;
44:
45: /** @var bool is closing HTML tag </tag>? used for type HTML_TAG_BEGIN */
46: public $closing;
47:
48: /** @var bool is tag empty {name/}? used for type MACRO_TAG */
49: public $empty;
50:
51: }
52: