encapsedString.test 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344
  1. Encapsed strings
  2. -----
  3. <?php
  4. "$A";
  5. "$A->B";
  6. "$A[B]";
  7. "$A[0]";
  8. "$A[1234]";
  9. "$A[9223372036854775808]";
  10. "$A[000]";
  11. "$A[0x0]";
  12. "$A[0b0]";
  13. "$A[$B]";
  14. "{$A}";
  15. "{$A['B']}";
  16. "${A}";
  17. "${A['B']}";
  18. "${$A}";
  19. "\{$A}";
  20. "\{ $A }";
  21. "\\{$A}";
  22. "\\{ $A }";
  23. "{$$A}[B]";
  24. "$$A[B]";
  25. "A $B C";
  26. b"$A";
  27. B"$A";
  28. -----
  29. array(
  30. 0: Stmt_Expression(
  31. expr: Scalar_Encapsed(
  32. parts: array(
  33. 0: Expr_Variable(
  34. name: A
  35. )
  36. )
  37. )
  38. )
  39. 1: Stmt_Expression(
  40. expr: Scalar_Encapsed(
  41. parts: array(
  42. 0: Expr_PropertyFetch(
  43. var: Expr_Variable(
  44. name: A
  45. )
  46. name: Identifier(
  47. name: B
  48. )
  49. )
  50. )
  51. )
  52. )
  53. 2: Stmt_Expression(
  54. expr: Scalar_Encapsed(
  55. parts: array(
  56. 0: Expr_ArrayDimFetch(
  57. var: Expr_Variable(
  58. name: A
  59. )
  60. dim: Scalar_String(
  61. value: B
  62. )
  63. )
  64. )
  65. )
  66. )
  67. 3: Stmt_Expression(
  68. expr: Scalar_Encapsed(
  69. parts: array(
  70. 0: Expr_ArrayDimFetch(
  71. var: Expr_Variable(
  72. name: A
  73. )
  74. dim: Scalar_LNumber(
  75. value: 0
  76. )
  77. )
  78. )
  79. )
  80. )
  81. 4: Stmt_Expression(
  82. expr: Scalar_Encapsed(
  83. parts: array(
  84. 0: Expr_ArrayDimFetch(
  85. var: Expr_Variable(
  86. name: A
  87. )
  88. dim: Scalar_LNumber(
  89. value: 1234
  90. )
  91. )
  92. )
  93. )
  94. )
  95. 5: Stmt_Expression(
  96. expr: Scalar_Encapsed(
  97. parts: array(
  98. 0: Expr_ArrayDimFetch(
  99. var: Expr_Variable(
  100. name: A
  101. )
  102. dim: Scalar_String(
  103. value: 9223372036854775808
  104. )
  105. )
  106. )
  107. )
  108. )
  109. 6: Stmt_Expression(
  110. expr: Scalar_Encapsed(
  111. parts: array(
  112. 0: Expr_ArrayDimFetch(
  113. var: Expr_Variable(
  114. name: A
  115. )
  116. dim: Scalar_String(
  117. value: 000
  118. )
  119. )
  120. )
  121. )
  122. )
  123. 7: Stmt_Expression(
  124. expr: Scalar_Encapsed(
  125. parts: array(
  126. 0: Expr_ArrayDimFetch(
  127. var: Expr_Variable(
  128. name: A
  129. )
  130. dim: Scalar_String(
  131. value: 0x0
  132. )
  133. )
  134. )
  135. )
  136. )
  137. 8: Stmt_Expression(
  138. expr: Scalar_Encapsed(
  139. parts: array(
  140. 0: Expr_ArrayDimFetch(
  141. var: Expr_Variable(
  142. name: A
  143. )
  144. dim: Scalar_String(
  145. value: 0b0
  146. )
  147. )
  148. )
  149. )
  150. )
  151. 9: Stmt_Expression(
  152. expr: Scalar_Encapsed(
  153. parts: array(
  154. 0: Expr_ArrayDimFetch(
  155. var: Expr_Variable(
  156. name: A
  157. )
  158. dim: Expr_Variable(
  159. name: B
  160. )
  161. )
  162. )
  163. )
  164. )
  165. 10: Stmt_Expression(
  166. expr: Scalar_Encapsed(
  167. parts: array(
  168. 0: Expr_Variable(
  169. name: A
  170. )
  171. )
  172. )
  173. )
  174. 11: Stmt_Expression(
  175. expr: Scalar_Encapsed(
  176. parts: array(
  177. 0: Expr_ArrayDimFetch(
  178. var: Expr_Variable(
  179. name: A
  180. )
  181. dim: Scalar_String(
  182. value: B
  183. )
  184. )
  185. )
  186. )
  187. )
  188. 12: Stmt_Expression(
  189. expr: Scalar_Encapsed(
  190. parts: array(
  191. 0: Expr_Variable(
  192. name: A
  193. )
  194. )
  195. )
  196. )
  197. 13: Stmt_Expression(
  198. expr: Scalar_Encapsed(
  199. parts: array(
  200. 0: Expr_ArrayDimFetch(
  201. var: Expr_Variable(
  202. name: A
  203. )
  204. dim: Scalar_String(
  205. value: B
  206. )
  207. )
  208. )
  209. )
  210. )
  211. 14: Stmt_Expression(
  212. expr: Scalar_Encapsed(
  213. parts: array(
  214. 0: Expr_Variable(
  215. name: Expr_Variable(
  216. name: A
  217. )
  218. )
  219. )
  220. )
  221. )
  222. 15: Stmt_Expression(
  223. expr: Scalar_Encapsed(
  224. parts: array(
  225. 0: Scalar_EncapsedStringPart(
  226. value: \{
  227. )
  228. 1: Expr_Variable(
  229. name: A
  230. )
  231. 2: Scalar_EncapsedStringPart(
  232. value: }
  233. )
  234. )
  235. )
  236. )
  237. 16: Stmt_Expression(
  238. expr: Scalar_Encapsed(
  239. parts: array(
  240. 0: Scalar_EncapsedStringPart(
  241. value: \{
  242. )
  243. 1: Expr_Variable(
  244. name: A
  245. )
  246. 2: Scalar_EncapsedStringPart(
  247. value: }
  248. )
  249. )
  250. )
  251. )
  252. 17: Stmt_Expression(
  253. expr: Scalar_Encapsed(
  254. parts: array(
  255. 0: Scalar_EncapsedStringPart(
  256. value: \
  257. )
  258. 1: Expr_Variable(
  259. name: A
  260. )
  261. )
  262. )
  263. )
  264. 18: Stmt_Expression(
  265. expr: Scalar_Encapsed(
  266. parts: array(
  267. 0: Scalar_EncapsedStringPart(
  268. value: \{
  269. )
  270. 1: Expr_Variable(
  271. name: A
  272. )
  273. 2: Scalar_EncapsedStringPart(
  274. value: }
  275. )
  276. )
  277. )
  278. )
  279. 19: Stmt_Expression(
  280. expr: Scalar_Encapsed(
  281. parts: array(
  282. 0: Expr_Variable(
  283. name: Expr_Variable(
  284. name: A
  285. )
  286. )
  287. 1: Scalar_EncapsedStringPart(
  288. value: [B]
  289. )
  290. )
  291. )
  292. )
  293. 20: Stmt_Expression(
  294. expr: Scalar_Encapsed(
  295. parts: array(
  296. 0: Scalar_EncapsedStringPart(
  297. value: $
  298. )
  299. 1: Expr_ArrayDimFetch(
  300. var: Expr_Variable(
  301. name: A
  302. )
  303. dim: Scalar_String(
  304. value: B
  305. )
  306. )
  307. )
  308. )
  309. )
  310. 21: Stmt_Expression(
  311. expr: Scalar_Encapsed(
  312. parts: array(
  313. 0: Scalar_EncapsedStringPart(
  314. value: A
  315. )
  316. 1: Expr_Variable(
  317. name: B
  318. )
  319. 2: Scalar_EncapsedStringPart(
  320. value: C
  321. )
  322. )
  323. )
  324. )
  325. 22: Stmt_Expression(
  326. expr: Scalar_Encapsed(
  327. parts: array(
  328. 0: Expr_Variable(
  329. name: A
  330. )
  331. )
  332. )
  333. )
  334. 23: Stmt_Expression(
  335. expr: Scalar_Encapsed(
  336. parts: array(
  337. 0: Expr_Variable(
  338. name: A
  339. )
  340. )
  341. )
  342. )
  343. )