PageRenderTime 30ms CodeModel.GetById 15ms RepoModel.GetById 0ms app.codeStats 0ms

/vendor/pdepend/pdepend/src/main/php/PDepend/Source/Tokenizer/Tokens.php

https://gitlab.com/yousafsyed/easternglamor
PHP | 869 lines | 168 code | 164 blank | 537 comment | 0 complexity | 76b59f3bf7ab97bf84bb63cc2ad98a14 MD5 | raw file
  1. <?php
  2. /**
  3. * This file is part of PDepend.
  4. *
  5. * PHP Version 5
  6. *
  7. * Copyright (c) 2008-2015, Manuel Pichler <mapi@pdepend.org>.
  8. * All rights reserved.
  9. *
  10. * Redistribution and use in source and binary forms, with or without
  11. * modification, are permitted provided that the following conditions
  12. * are met:
  13. *
  14. * * Redistributions of source code must retain the above copyright
  15. * notice, this list of conditions and the following disclaimer.
  16. *
  17. * * Redistributions in binary form must reproduce the above copyright
  18. * notice, this list of conditions and the following disclaimer in
  19. * the documentation and/or other materials provided with the
  20. * distribution.
  21. *
  22. * * Neither the name of Manuel Pichler nor the names of his
  23. * contributors may be used to endorse or promote products derived
  24. * from this software without specific prior written permission.
  25. *
  26. * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  27. * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  28. * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
  29. * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
  30. * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
  31. * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
  32. * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
  33. * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
  34. * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  35. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
  36. * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  37. * POSSIBILITY OF SUCH DAMAGE.
  38. *
  39. * @copyright 2008-2015 Manuel Pichler. All rights reserved.
  40. * @license http://www.opensource.org/licenses/bsd-license.php BSD License
  41. */
  42. namespace PDepend\Source\Tokenizer;
  43. /**
  44. * This interface holds the different tokenizer, builder and parser constants.
  45. *
  46. * @copyright 2008-2015 Manuel Pichler. All rights reserved.
  47. * @license http://www.opensource.org/licenses/bsd-license.php BSD License
  48. */
  49. interface Tokens
  50. {
  51. /**
  52. * Marks a class token.
  53. */
  54. const T_CLASS = 1;
  55. /**
  56. * Marks an interface token.
  57. */
  58. const T_INTERFACE = 2;
  59. /**
  60. * Marks an abstract token.
  61. */
  62. const T_ABSTRACT = 3;
  63. /**
  64. * Marks a curly brace open.
  65. */
  66. const T_CURLY_BRACE_OPEN = 4;
  67. /**
  68. * Marks a curly brace close.
  69. */
  70. const T_CURLY_BRACE_CLOSE = 5;
  71. /**
  72. * Marks a parenthesis open.
  73. */
  74. const T_PARENTHESIS_OPEN = 6;
  75. /**
  76. * Marks a parenthesis close.
  77. */
  78. const T_PARENTHESIS_CLOSE = 7;
  79. /**
  80. * Marks a new token.
  81. */
  82. const T_NEW = 8;
  83. /**
  84. * Marks a function.
  85. */
  86. const T_FUNCTION = 9;
  87. /**
  88. * Marks a double colon.
  89. */
  90. const T_DOUBLE_COLON = 10;
  91. /**
  92. * Marks a string token.
  93. */
  94. const T_STRING = 11;
  95. /**
  96. * Marks a doc comment.
  97. */
  98. const T_DOC_COMMENT = 12;
  99. /**
  100. * Marks a semicolon.
  101. */
  102. const T_SEMICOLON = 13;
  103. /**
  104. * Marks a null token.
  105. */
  106. const T_NULL = 14;
  107. /**
  108. * Marks a true token.
  109. */
  110. const T_TRUE = 15;
  111. /**
  112. * Marks a false token.
  113. */
  114. const T_FALSE = 16;
  115. /**
  116. * Marks a array token.
  117. */
  118. const T_ARRAY = 17;
  119. /**
  120. * Marks a 'parent' token.
  121. */
  122. const T_PARENT = 18;
  123. /**
  124. * Marks a '=' token.
  125. */
  126. const T_EQUAL = 19;
  127. /**
  128. * Marks a '&=' token.
  129. */
  130. const T_AND_EQUAL = 20;
  131. /**
  132. * Marks a '.=' token.
  133. */
  134. const T_CONCAT_EQUAL = 21;
  135. /**
  136. * Marks a '/=' token.
  137. */
  138. const T_DIV_EQUAL = 22;
  139. /**
  140. * Marks a '==' token.
  141. */
  142. const T_IS_EQUAL = 23;
  143. /**
  144. * Marks a '>=' token.
  145. */
  146. const T_IS_GREATER_OR_EQUAL = 24;
  147. /**
  148. * Marks a '===' token.
  149. */
  150. const T_IS_IDENTICAL = 25;
  151. /**
  152. * Marks a '!=' or '<>' token.
  153. */
  154. const T_IS_NOT_EQUAL = 26;
  155. /**
  156. * Marks a '!==' token.
  157. */
  158. const T_IS_NOT_IDENTICAL = 27;
  159. /**
  160. * Marks a '<=' token.
  161. */
  162. const T_IS_SMALLER_OR_EQUAL = 28;
  163. /**
  164. * Marks a '-=' token.
  165. */
  166. const T_MINUS_EQUAL = 29;
  167. /**
  168. * Marks a '%=' token.
  169. */
  170. const T_MOD_EQUAL = 30;
  171. /**
  172. * Marks a '*=' token.
  173. */
  174. const T_MUL_EQUAL = 31;
  175. /**
  176. * Marks a '|=' token.
  177. */
  178. const T_OR_EQUAL = 32;
  179. /**
  180. * Marks a '+=' token.
  181. */
  182. const T_PLUS_EQUAL = 33;
  183. /**
  184. * Marks a '^=' token.
  185. */
  186. const T_XOR_EQUAL = 34;
  187. /**
  188. * Marks a '.' token.
  189. */
  190. const T_CONCAT = 35;
  191. /**
  192. * Marks a 'as' token.
  193. */
  194. const T_AS = 36;
  195. /**
  196. * Marks a '(array)' cast token.
  197. */
  198. const T_ARRAY_CAST = 37;
  199. /**
  200. * Marks a '&&' token.
  201. */
  202. const T_BOOLEAN_AND = 38;
  203. /**
  204. * Marks a '||' token.
  205. */
  206. const T_BOOLEAN_OR = 39;
  207. /**
  208. * Marks a '(bool)' or '(boolean)' cast token.
  209. */
  210. const T_BOOL_CAST = 40;
  211. /**
  212. * Marks a 'break' token.
  213. */
  214. const T_BREAK = 41;
  215. /**
  216. * Marks a 'case' token.
  217. */
  218. const T_CASE = 42;
  219. /**
  220. * Marks a 'catch' token.
  221. */
  222. const T_CATCH = 43;
  223. /**
  224. * Marks a '__CLASS__' token.
  225. */
  226. const T_CLASS_C = 44;
  227. /**
  228. * Marks a 'clone' token.
  229. */
  230. const T_CLONE = 45;
  231. /**
  232. * Marks a '?>' token.
  233. */
  234. const T_CLOSE_TAG = 46;
  235. /**
  236. * Marks a 'const' token.
  237. */
  238. const T_CONST = 47;
  239. /**
  240. * Marks a constant string like 'foo' or "foo".
  241. */
  242. const T_CONSTANT_ENCAPSED_STRING = 48;
  243. /**
  244. * Marks a 'continue' token.
  245. */
  246. const T_CONTINUE = 49;
  247. /**
  248. * Marks a '--' token.
  249. */
  250. const T_DEC = 50;
  251. /**
  252. * Marks a 'declare' token.
  253. */
  254. const T_DECLARE = 51;
  255. /**
  256. * Marks a 'default' token.
  257. */
  258. const T_DEFAULT = 52;
  259. /**
  260. * Marks a floating point number.
  261. */
  262. const T_DNUMBER = 53;
  263. /**
  264. * Marks a 'do' token.
  265. */
  266. const T_DO = 54;
  267. /**
  268. * Marks a '=>' token.
  269. */
  270. const T_DOUBLE_ARROW = 55;
  271. /**
  272. * Marks a '(real)', '(float)' or '(double)' cast token.
  273. */
  274. const T_DOUBLE_CAST = 56;
  275. /**
  276. * Marks a 'echo' token.
  277. */
  278. const T_ECHO = 57;
  279. /**
  280. * Marks a 'else' token.
  281. */
  282. const T_ELSE = 58;
  283. /**
  284. * Marks a 'elseif' token.
  285. */
  286. const T_ELSEIF = 59;
  287. /**
  288. * Marks a 'empty' token.
  289. */
  290. const T_EMPTY = 60;
  291. /**
  292. * Marks the end of a heredoc block.
  293. */
  294. const T_END_HEREDOC = 61;
  295. /**
  296. * Marks a 'evil' token.
  297. */
  298. const T_EVAL = 62;
  299. /**
  300. * Marks a 'exit' or 'die' token.
  301. */
  302. const T_EXIT = 63;
  303. /**
  304. * Marks a 'extends' token.
  305. */
  306. const T_EXTENDS = 64;
  307. /**
  308. * Marks a '__FILE__' token.
  309. */
  310. const T_FILE = 65;
  311. /**
  312. * Marks a 'final' token.
  313. */
  314. const T_FINAL = 66;
  315. /**
  316. * Marks a 'for' token.
  317. */
  318. const T_FOR = 67;
  319. /**
  320. * Marks a 'foreach' token.
  321. */
  322. const T_FOREACH = 68;
  323. /**
  324. * Marks a '__FUNCTION__' token.
  325. */
  326. const T_FUNC_C = 69;
  327. /**
  328. * Marks a 'global' token.
  329. */
  330. const T_GLOBAL = 70;
  331. /**
  332. * Marks a '__halt_compiler()' token.
  333. */
  334. const T_HALT_COMPILER = 71;
  335. /**
  336. * Marks a 'if' token.
  337. */
  338. const T_IF = 72;
  339. /**
  340. * Marks a 'implements' token.
  341. */
  342. const T_IMPLEMENTS = 73;
  343. /**
  344. * Marks a '++' token.
  345. */
  346. const T_INC = 74;
  347. /**
  348. * Marks a 'include' token.
  349. */
  350. const T_INCLUDE = 75;
  351. /**
  352. * Marks a 'include_once' token.
  353. */
  354. const T_INCLUDE_ONCE = 76;
  355. /**
  356. * Marks inline html???
  357. */
  358. const T_INLINE_HTML = 77;
  359. /**
  360. * Marks a 'instanceof' token.
  361. */
  362. const T_INSTANCEOF = 78;
  363. /**
  364. * Marks a '(int)' or '(integer)' cast token.
  365. */
  366. const T_INT_CAST = 79;
  367. /**
  368. * Marks a 'isset' token.
  369. */
  370. const T_ISSET = 80;
  371. /**
  372. * Marks a '__LINE__' token.
  373. */
  374. const T_LINE = 81;
  375. /**
  376. * Marks a 'list' token.
  377. */
  378. const T_LIST = 82;
  379. /**
  380. * Marks a integer number token.
  381. */
  382. const T_LNUMBER = 83;
  383. /**
  384. * Marks a 'and' token.
  385. */
  386. const T_LOGICAL_AND = 84;
  387. /**
  388. * Marks a 'or' token.
  389. */
  390. const T_LOGICAL_OR = 85;
  391. /**
  392. * Marks a 'xor' token.
  393. */
  394. const T_LOGICAL_XOR = 86;
  395. /**
  396. * Marks a '__METHOD__' token.
  397. */
  398. const T_METHOD_C = 87;
  399. /**
  400. * Marks a '__NAMESPACE__' token.
  401. */
  402. const T_NS_C = 88;
  403. /**
  404. * A number string token???
  405. */
  406. const T_NUM_STRING = 89;
  407. /**
  408. * Marks a '(object)' cast token.
  409. */
  410. const T_OBJECT_CAST = 90;
  411. /**
  412. * Marks a '->' object access token.
  413. */
  414. const T_OBJECT_OPERATOR = 91;
  415. /**
  416. * Marks a php open token.
  417. */
  418. const T_OPEN_TAG = 92;
  419. /**
  420. * Marks a php open token.
  421. */
  422. const T_OPEN_TAG_WITH_ECHO = 93;
  423. /**
  424. * Marks a 'print' token.
  425. */
  426. const T_PRINT = 94;
  427. /**
  428. * Marks a 'private' token.
  429. */
  430. const T_PRIVATE = 95;
  431. /**
  432. * Marks a 'public' token.
  433. */
  434. const T_PUBLIC = 96;
  435. /**
  436. * Marks a 'protected' token.
  437. */
  438. const T_PROTECTED = 97;
  439. /**
  440. * Marks a 'require' token.
  441. */
  442. const T_REQUIRE = 98;
  443. /**
  444. * Marks a 'require_once' token.
  445. */
  446. const T_REQUIRE_ONCE = 99;
  447. /**
  448. * Marks a 'return' token.
  449. */
  450. const T_RETURN = 100;
  451. /**
  452. * Marks a '<<' token.
  453. */
  454. const T_SL = 101;
  455. /**
  456. * Marks a '<<=' token.
  457. */
  458. const T_SL_EQUAL = 102;
  459. /**
  460. * Marks a '>>' token.
  461. */
  462. const T_SR = 103;
  463. /**
  464. * Marks a '>>=' token.
  465. */
  466. const T_SR_EQUAL = 104;
  467. /**
  468. * Marks the beginning of a here doc block.
  469. */
  470. const T_START_HEREDOC = 105;
  471. /**
  472. * Marks a 'static' token.
  473. */
  474. const T_STATIC = 106;
  475. /**
  476. * Marks a '(string)' cast token.
  477. */
  478. const T_STRING_CAST = 107;
  479. /**
  480. * Marks a string var name???
  481. */
  482. const T_STRING_VARNAME = 108;
  483. /**
  484. * Marks a 'switch' token.
  485. */
  486. const T_SWITCH = 109;
  487. /**
  488. * Marks a 'throw' token.
  489. */
  490. const T_THROW = 110;
  491. /**
  492. * Marks a 'try' token.
  493. */
  494. const T_TRY = 111;
  495. /**
  496. * Marks a 'unset' token.
  497. */
  498. const T_UNSET = 112;
  499. /**
  500. * Marks a '(unset)' cast token.
  501. */
  502. const T_UNSET_CAST = 113;
  503. /**
  504. * Marks a 'use' token.
  505. */
  506. const T_USE = 114;
  507. /**
  508. * Marks a 'var' token.
  509. */
  510. const T_VAR = 115;
  511. /**
  512. * Marks a variable token.
  513. */
  514. const T_VARIABLE = 116;
  515. /**
  516. * Marks a 'while' token.
  517. */
  518. const T_WHILE = 117;
  519. /**
  520. * Marks a ',' token.
  521. */
  522. const T_COMMA = 118;
  523. /**
  524. * Marks a '*' token.
  525. */
  526. const T_MUL = 119;
  527. /**
  528. * Marks a '[' token.
  529. */
  530. const T_SQUARED_BRACKET_OPEN = 120;
  531. /**
  532. * Marks a ']' token.
  533. */
  534. const T_SQUARED_BRACKET_CLOSE = 121;
  535. /**
  536. * Marks a '<' token.
  537. */
  538. const T_ANGLE_BRACKET_OPEN = 122;
  539. /**
  540. * Marks a '>' token.
  541. */
  542. const T_ANGLE_BRACKET_CLOSE = 123;
  543. /**
  544. * Marks a '"' token.
  545. */
  546. const T_DOUBLE_QUOTE = 124;
  547. /**
  548. * Marks a ':' token.
  549. */
  550. const T_COLON = 125;
  551. /**
  552. * Marks a '@' token.
  553. */
  554. const T_AT = 126;
  555. /**
  556. * Marks a '+' token.
  557. */
  558. const T_PLUS = 127;
  559. /**
  560. * Marks a '-' token.
  561. */
  562. const T_MINUS = 128;
  563. /**
  564. * Marks a '!' token.
  565. */
  566. const T_EXCLAMATION_MARK = 129;
  567. /**
  568. * Marks a '?' token.
  569. */
  570. const T_QUESTION_MARK = 130;
  571. /**
  572. * Marks a '&' token.
  573. */
  574. const T_BITWISE_AND = 131;
  575. /**
  576. * Marks a '|' token.
  577. */
  578. const T_BITWISE_OR = 132;
  579. /**
  580. * Marks a '~' token.
  581. */
  582. const T_BITWISE_NOT = 133;
  583. /**
  584. * Marks a '^' token.
  585. */
  586. const T_BITWISE_XOR = 134;
  587. /**
  588. * Marks a '/' token.
  589. */
  590. const T_DIV = 135;
  591. /**
  592. * Marks a '%' token.
  593. */
  594. const T_MOD = 136;
  595. /**
  596. * Marks a comment token.
  597. */
  598. const T_COMMENT = 137;
  599. /**
  600. * Marks a 'namespace' token.
  601. */
  602. const T_NAMESPACE = 138;
  603. /**
  604. * Marks an escape token.
  605. */
  606. const T_ENCAPSED_AND_WHITESPACE = 139;
  607. /**
  608. * Marks a '$' string token.
  609. */
  610. const T_DOLLAR = 140;
  611. /**
  612. * Marks any character token.
  613. */
  614. const T_CHARACTER = 141;
  615. /**
  616. * Marks any bad character token.
  617. */
  618. const T_BAD_CHARACTER = 142;
  619. /**
  620. * Marks a 'self' token.
  621. */
  622. const T_SELF = 143;
  623. /**
  624. * Marks a '`' backtick token.
  625. */
  626. const T_BACKTICK = 144;
  627. /**
  628. * Marks a '\' backslash token.
  629. */
  630. const T_BACKSLASH = 145;
  631. /**
  632. * Marks a '__DIR__' token.
  633. */
  634. const T_DIR = 146;
  635. /**
  636. * Marks a 'goto' token.
  637. */
  638. const T_GOTO = 147;
  639. /**
  640. * Alternative end token for an if-statement.
  641. */
  642. const T_ENDIF = 148;
  643. /**
  644. * Alternative end token for a for-statement.
  645. */
  646. const T_ENDFOR = 149;
  647. /**
  648. * Alternative end token for a foreach-statement.
  649. */
  650. const T_ENDFOREACH = 150;
  651. /**
  652. * Alternative end token for a switch-statement.
  653. */
  654. const T_ENDSWITCH = 151;
  655. /**
  656. * Alternative end token for a while-statement.
  657. */
  658. const T_ENDWHILE = 152;
  659. /**
  660. * Alternative end token for a declare-statement.
  661. */
  662. const T_ENDDECLARE = 153;
  663. /**
  664. * Marks a 'trait' keyword token.
  665. */
  666. const T_TRAIT = 154;
  667. /**
  668. * Marks a '__TRAIT__' magic constant token.
  669. */
  670. const T_TRAIT_C = 155;
  671. /**
  672. * Token that represents the new Callable type hint.
  673. */
  674. const T_CALLABLE = 156;
  675. /**
  676. * Token that represents the new 'insteadof' keyword.
  677. */
  678. const T_INSTEADOF = 157;
  679. /**
  680. * Token that represents the stdClass::class and $class::class constant.
  681. */
  682. const T_CLASS_FQN = 158;
  683. /**
  684. * Token that represents the new 'yield' keyword.
  685. */
  686. const T_YIELD = 159;
  687. /**
  688. * Token that represents the 'finally' keyword.
  689. */
  690. const T_FINALLY = 160;
  691. /**
  692. * Token that represents the '...' token
  693. *
  694. * @since 2.0.7
  695. */
  696. const T_ELLIPSIS = 161;
  697. /**
  698. * Token that represents the '<=>' spaceship operator
  699. */
  700. const T_SPACESHIP = 162;
  701. /**
  702. * Marks any content not between php tags.
  703. */
  704. const T_NO_PHP = 255;
  705. }