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