@jorgsowa/php-parser 3.2.5-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (153) hide show
  1. package/LICENSE +27 -0
  2. package/README.md +108 -0
  3. package/dist/@jorgsowa/php-parser.js +11239 -0
  4. package/dist/@jorgsowa/php-parser.min.js +2 -0
  5. package/dist/@jorgsowa/php-parser.min.js.LICENSE.txt +10 -0
  6. package/package.json +86 -0
  7. package/src/ast/array.js +44 -0
  8. package/src/ast/arrowfunc.js +43 -0
  9. package/src/ast/assign.js +28 -0
  10. package/src/ast/assignref.js +27 -0
  11. package/src/ast/attrgroup.js +21 -0
  12. package/src/ast/attribute.js +26 -0
  13. package/src/ast/bin.js +27 -0
  14. package/src/ast/block.js +24 -0
  15. package/src/ast/boolean.js +23 -0
  16. package/src/ast/break.js +21 -0
  17. package/src/ast/byref.js +21 -0
  18. package/src/ast/call.js +26 -0
  19. package/src/ast/case.js +26 -0
  20. package/src/ast/cast.js +28 -0
  21. package/src/ast/catch.js +29 -0
  22. package/src/ast/class.js +36 -0
  23. package/src/ast/classconstant.js +71 -0
  24. package/src/ast/clone.js +21 -0
  25. package/src/ast/closure.js +47 -0
  26. package/src/ast/comment.js +23 -0
  27. package/src/ast/commentblock.js +22 -0
  28. package/src/ast/commentline.js +22 -0
  29. package/src/ast/constant.js +26 -0
  30. package/src/ast/constantstatement.js +24 -0
  31. package/src/ast/continue.js +24 -0
  32. package/src/ast/declaration.js +60 -0
  33. package/src/ast/declare.js +71 -0
  34. package/src/ast/declaredirective.js +26 -0
  35. package/src/ast/do.js +26 -0
  36. package/src/ast/echo.js +26 -0
  37. package/src/ast/empty.js +23 -0
  38. package/src/ast/encapsed.js +75 -0
  39. package/src/ast/encapsedpart.js +28 -0
  40. package/src/ast/entry.js +30 -0
  41. package/src/ast/enum.js +30 -0
  42. package/src/ast/enumcase.js +26 -0
  43. package/src/ast/error.js +30 -0
  44. package/src/ast/eval.js +24 -0
  45. package/src/ast/exit.js +26 -0
  46. package/src/ast/expression.js +20 -0
  47. package/src/ast/expressionstatement.js +24 -0
  48. package/src/ast/for.js +33 -0
  49. package/src/ast/foreach.js +33 -0
  50. package/src/ast/function.js +34 -0
  51. package/src/ast/global.js +24 -0
  52. package/src/ast/goto.js +22 -0
  53. package/src/ast/halt.js +22 -0
  54. package/src/ast/identifier.js +26 -0
  55. package/src/ast/if.js +30 -0
  56. package/src/ast/include.js +28 -0
  57. package/src/ast/inline.js +23 -0
  58. package/src/ast/interface.js +28 -0
  59. package/src/ast/intersectiontype.js +24 -0
  60. package/src/ast/isset.js +23 -0
  61. package/src/ast/label.js +21 -0
  62. package/src/ast/list.js +26 -0
  63. package/src/ast/literal.js +28 -0
  64. package/src/ast/location.js +22 -0
  65. package/src/ast/lookup.js +26 -0
  66. package/src/ast/magic.js +22 -0
  67. package/src/ast/match.js +26 -0
  68. package/src/ast/matcharm.js +26 -0
  69. package/src/ast/method.js +24 -0
  70. package/src/ast/name.js +55 -0
  71. package/src/ast/namedargument.js +27 -0
  72. package/src/ast/namespace.js +26 -0
  73. package/src/ast/new.js +26 -0
  74. package/src/ast/node.js +111 -0
  75. package/src/ast/noop.js +20 -0
  76. package/src/ast/nowdoc.js +26 -0
  77. package/src/ast/nullkeyword.js +20 -0
  78. package/src/ast/nullsafepropertylookup.js +22 -0
  79. package/src/ast/number.js +23 -0
  80. package/src/ast/offsetlookup.js +22 -0
  81. package/src/ast/operation.js +19 -0
  82. package/src/ast/parameter.js +61 -0
  83. package/src/ast/parentreference.js +24 -0
  84. package/src/ast/position.js +22 -0
  85. package/src/ast/post.js +26 -0
  86. package/src/ast/pre.js +26 -0
  87. package/src/ast/print.js +23 -0
  88. package/src/ast/program.js +32 -0
  89. package/src/ast/property.js +46 -0
  90. package/src/ast/propertyhook.js +33 -0
  91. package/src/ast/propertylookup.js +22 -0
  92. package/src/ast/propertystatement.js +59 -0
  93. package/src/ast/reference.js +21 -0
  94. package/src/ast/retif.js +28 -0
  95. package/src/ast/return.js +21 -0
  96. package/src/ast/selfreference.js +24 -0
  97. package/src/ast/silent.js +24 -0
  98. package/src/ast/statement.js +19 -0
  99. package/src/ast/static.js +24 -0
  100. package/src/ast/staticlookup.js +22 -0
  101. package/src/ast/staticreference.js +24 -0
  102. package/src/ast/staticvariable.js +26 -0
  103. package/src/ast/string.js +28 -0
  104. package/src/ast/switch.js +28 -0
  105. package/src/ast/throw.js +21 -0
  106. package/src/ast/trait.js +24 -0
  107. package/src/ast/traitalias.js +44 -0
  108. package/src/ast/traitprecedence.js +28 -0
  109. package/src/ast/traituse.js +26 -0
  110. package/src/ast/try.js +28 -0
  111. package/src/ast/typereference.js +40 -0
  112. package/src/ast/unary.js +26 -0
  113. package/src/ast/uniontype.js +24 -0
  114. package/src/ast/unset.js +23 -0
  115. package/src/ast/usegroup.js +30 -0
  116. package/src/ast/useitem.js +45 -0
  117. package/src/ast/variable.js +36 -0
  118. package/src/ast/variadic.js +25 -0
  119. package/src/ast/variadicplaceholder.js +24 -0
  120. package/src/ast/while.js +28 -0
  121. package/src/ast/yield.js +27 -0
  122. package/src/ast/yieldfrom.js +25 -0
  123. package/src/ast.js +593 -0
  124. package/src/index.js +239 -0
  125. package/src/lexer/attribute.js +85 -0
  126. package/src/lexer/comments.js +63 -0
  127. package/src/lexer/initial.js +64 -0
  128. package/src/lexer/numbers.js +171 -0
  129. package/src/lexer/property.js +96 -0
  130. package/src/lexer/scripting.js +114 -0
  131. package/src/lexer/strings.js +524 -0
  132. package/src/lexer/tokens.js +356 -0
  133. package/src/lexer/utils.js +112 -0
  134. package/src/lexer.js +561 -0
  135. package/src/parser/array.js +113 -0
  136. package/src/parser/class.js +718 -0
  137. package/src/parser/comment.js +52 -0
  138. package/src/parser/enum.js +56 -0
  139. package/src/parser/expr.js +848 -0
  140. package/src/parser/function.js +507 -0
  141. package/src/parser/if.js +94 -0
  142. package/src/parser/loops.js +168 -0
  143. package/src/parser/main.js +21 -0
  144. package/src/parser/namespace.js +231 -0
  145. package/src/parser/scalar.js +492 -0
  146. package/src/parser/statement.js +444 -0
  147. package/src/parser/switch.js +99 -0
  148. package/src/parser/try.js +43 -0
  149. package/src/parser/utils.js +203 -0
  150. package/src/parser/variable.js +363 -0
  151. package/src/parser.js +748 -0
  152. package/src/tokens.js +177 -0
  153. package/types.d.ts +1457 -0
package/src/tokens.js ADDED
@@ -0,0 +1,177 @@
1
+ /**
2
+ * Copyright (C) 2018 Glayzzle (BSD3 License)
3
+ * @authors https://github.com/glayzzle/php-parser/graphs/contributors
4
+ * @url http://glayzzle.com
5
+ */
6
+ "use strict";
7
+
8
+ /**
9
+ * @readonly
10
+ * @memberOf module:php-parser
11
+ *
12
+ * @enum {number}
13
+ **/
14
+ const TokenNames = {
15
+ T_HALT_COMPILER: 101,
16
+ T_USE: 102,
17
+ T_ENCAPSED_AND_WHITESPACE: 103,
18
+ T_OBJECT_OPERATOR: 104,
19
+ T_STRING: 105,
20
+ T_DOLLAR_OPEN_CURLY_BRACES: 106,
21
+ T_STRING_VARNAME: 107,
22
+ T_CURLY_OPEN: 108,
23
+ T_NUM_STRING: 109,
24
+ T_ISSET: 110,
25
+ T_EMPTY: 111,
26
+ T_INCLUDE: 112,
27
+ T_INCLUDE_ONCE: 113,
28
+ T_EVAL: 114,
29
+ T_REQUIRE: 115,
30
+ T_REQUIRE_ONCE: 116,
31
+ T_NAMESPACE: 117,
32
+ T_NS_SEPARATOR: 118,
33
+ T_AS: 119,
34
+ T_IF: 120,
35
+ T_ENDIF: 121,
36
+ T_WHILE: 122,
37
+ T_DO: 123,
38
+ T_FOR: 124,
39
+ T_SWITCH: 125,
40
+ T_BREAK: 126,
41
+ T_CONTINUE: 127,
42
+ T_RETURN: 128,
43
+ T_GLOBAL: 129,
44
+ T_STATIC: 130,
45
+ T_ECHO: 131,
46
+ T_INLINE_HTML: 132,
47
+ T_UNSET: 133,
48
+ T_FOREACH: 134,
49
+ T_DECLARE: 135,
50
+ T_TRY: 136,
51
+ T_THROW: 137,
52
+ T_GOTO: 138,
53
+ T_FINALLY: 139,
54
+ T_CATCH: 140,
55
+ T_ENDDECLARE: 141,
56
+ T_LIST: 142,
57
+ T_CLONE: 143,
58
+ T_PLUS_EQUAL: 144,
59
+ T_MINUS_EQUAL: 145,
60
+ T_MUL_EQUAL: 146,
61
+ T_DIV_EQUAL: 147,
62
+ T_CONCAT_EQUAL: 148,
63
+ T_MOD_EQUAL: 149,
64
+ T_AND_EQUAL: 150,
65
+ T_OR_EQUAL: 151,
66
+ T_XOR_EQUAL: 152,
67
+ T_SL_EQUAL: 153,
68
+ T_SR_EQUAL: 154,
69
+ T_INC: 155,
70
+ T_DEC: 156,
71
+ T_BOOLEAN_OR: 157,
72
+ T_BOOLEAN_AND: 158,
73
+ T_LOGICAL_OR: 159,
74
+ T_LOGICAL_AND: 160,
75
+ T_LOGICAL_XOR: 161,
76
+ T_SL: 162,
77
+ T_SR: 163,
78
+ T_IS_IDENTICAL: 164,
79
+ T_IS_NOT_IDENTICAL: 165,
80
+ T_IS_EQUAL: 166,
81
+ T_IS_NOT_EQUAL: 167,
82
+ T_IS_SMALLER_OR_EQUAL: 168,
83
+ T_IS_GREATER_OR_EQUAL: 169,
84
+ T_INSTANCEOF: 170,
85
+ T_INT_CAST: 171,
86
+ T_DOUBLE_CAST: 172,
87
+ T_STRING_CAST: 173,
88
+ T_ARRAY_CAST: 174,
89
+ T_OBJECT_CAST: 175,
90
+ T_BOOL_CAST: 176,
91
+ T_UNSET_CAST: 177,
92
+ T_EXIT: 178,
93
+ T_PRINT: 179,
94
+ T_YIELD: 180,
95
+ T_YIELD_FROM: 181,
96
+ T_FUNCTION: 182,
97
+ T_DOUBLE_ARROW: 183,
98
+ T_DOUBLE_COLON: 184,
99
+ T_ARRAY: 185,
100
+ T_CALLABLE: 186,
101
+ T_CLASS: 187,
102
+ T_ABSTRACT: 188,
103
+ T_TRAIT: 189,
104
+ T_FINAL: 190,
105
+ T_EXTENDS: 191,
106
+ T_INTERFACE: 192,
107
+ T_IMPLEMENTS: 193,
108
+ T_VAR: 194,
109
+ T_PUBLIC: 195,
110
+ T_PROTECTED: 196,
111
+ T_PRIVATE: 197,
112
+ T_CONST: 198,
113
+ T_NEW: 199,
114
+ T_INSTEADOF: 200,
115
+ T_ELSEIF: 201,
116
+ T_ELSE: 202,
117
+ T_ENDSWITCH: 203,
118
+ T_CASE: 204,
119
+ T_DEFAULT: 205,
120
+ T_ENDFOR: 206,
121
+ T_ENDFOREACH: 207,
122
+ T_ENDWHILE: 208,
123
+ T_CONSTANT_ENCAPSED_STRING: 209,
124
+ T_LNUMBER: 210,
125
+ T_DNUMBER: 211,
126
+ T_LINE: 212,
127
+ T_FILE: 213,
128
+ T_DIR: 214,
129
+ T_TRAIT_C: 215,
130
+ T_METHOD_C: 216,
131
+ T_FUNC_C: 217,
132
+ T_NS_C: 218,
133
+ T_START_HEREDOC: 219,
134
+ T_END_HEREDOC: 220,
135
+ T_CLASS_C: 221,
136
+ T_VARIABLE: 222,
137
+ T_OPEN_TAG: 223,
138
+ T_OPEN_TAG_WITH_ECHO: 224,
139
+ T_CLOSE_TAG: 225,
140
+ T_WHITESPACE: 226,
141
+ T_COMMENT: 227,
142
+ T_DOC_COMMENT: 228,
143
+ T_ELLIPSIS: 229,
144
+ T_COALESCE: 230,
145
+ T_POW: 231,
146
+ T_POW_EQUAL: 232,
147
+ T_SPACESHIP: 233,
148
+ T_COALESCE_EQUAL: 234,
149
+ T_FN: 235,
150
+ T_NULLSAFE_OBJECT_OPERATOR: 236,
151
+ T_MATCH: 237,
152
+ T_ATTRIBUTE: 238,
153
+ T_ENUM: 239,
154
+ T_READ_ONLY: 240,
155
+ T_NAME_RELATIVE: 241,
156
+ T_NAME_QUALIFIED: 242,
157
+ T_NAME_FULLY_QUALIFIED: 243,
158
+ };
159
+
160
+ /**
161
+ * PHP AST Tokens
162
+ * @readonly
163
+ * @memberOf module:php-parser
164
+ *
165
+ * @type {object}
166
+ * @property {Object.<number, string>} values
167
+ * @property {TokenNames} names
168
+ */
169
+ const tokens = {
170
+ values: Object.entries(TokenNames).reduce(
171
+ (result, [key, value]) => ({ ...result, [value]: key }),
172
+ {},
173
+ ),
174
+ names: TokenNames,
175
+ };
176
+
177
+ module.exports = Object.freeze(tokens);