-
Notifications
You must be signed in to change notification settings - Fork 72
/
Copy pathparser_scalar.js.html
451 lines (389 loc) · 59.4 KB
/
parser_scalar.js.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
parser/scalar.js - Documentation
</title>
<link href="https://www.braintreepayments.com/images/favicon-ccda0b14.png" rel="icon" type="image/png">
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.7.0/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/2/docsearch.min.css" />
<script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/2/docsearch.min.js"></script>
<!-- start Mixpanel -->
<script type="text/javascript">(function(e,a){if(!a.__SV){var b=window;try{var c,l,i,j=b.location,g=j.hash;c=function(a,b){return(l=a.match(RegExp(b+"=([^&]*)")))?l[1]:null};g&&c(g,"state")&&(i=JSON.parse(decodeURIComponent(c(g,"state"))),"mpeditor"===i.action&&(b.sessionStorage.setItem("_mpcehash",g),history.replaceState(i.desiredHash||"",e.title,j.pathname+j.search)))}catch(m){}var k,h;window.mixpanel=a;a._i=[];a.init=function(b,c,f){function e(b,a){var c=a.split(".");2==c.length&&(b=b[c[0]],a=c[1]);b[a]=function(){b.push([a].concat(Array.prototype.slice.call(arguments,
0)))}}var d=a;"undefined"!==typeof f?d=a[f]=[]:f="mixpanel";d.people=d.people||[];d.toString=function(b){var a="mixpanel";"mixpanel"!==f&&(a+="."+f);b||(a+=" (stub)");return a};d.people.toString=function(){return d.toString(1)+".people (stub)"};k="disable time_event track track_pageview track_links track_forms register register_once alias unregister identify name_tag set_config reset people.set people.set_once people.increment people.append people.union people.track_charge people.clear_charges people.delete_user".split(" ");
for(h=0;h<k.length;h++)e(d,k[h]);a._i.push([b,c,f])};a.__SV=1.2;b=e.createElement("script");b.type="text/javascript";b.async=!0;b.src="undefined"!==typeof MIXPANEL_CUSTOM_LIB_URL?MIXPANEL_CUSTOM_LIB_URL:"file:"===e.location.protocol&&"//cdn.mxpnl.com/libs/mixpanel-2-latest.min.js".match(/^\/\//)?"https://cdn.mxpnl.com/libs/mixpanel-2-latest.min.js":"//cdn.mxpnl.com/libs/mixpanel-2-latest.min.js";c=e.getElementsByTagName("script")[0];c.parentNode.insertBefore(b,c)}})(document,window.mixpanel||[]);
mixpanel.init("1919205b2da72e4da3b9b6639b444d59");</script>
<!-- end Mixpanel -->
</head>
<body>
<svg style="display: none;">
<defs>
<symbol id="linkIcon" fill="#706d77" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M0 0h24v24H0z" fill="none"/>
<path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"/>
</symbol>
</defs>
</svg>
<input type="checkbox" id="nav-trigger" class="nav-trigger" />
<label for="nav-trigger" class="navicon-button x">
<div class="navicon"></div>
</label>
<label for="nav-trigger" class="overlay"></label>
<div class="top-nav-wrapper">
<ul>
<li >
<a href="index.html">
<svg fill="#6D6D6D" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"/>
<path d="M0 0h24v24H0z" fill="none"/>
</svg>
</a>
</li>
<li>
<div class="search-wrapper">
<svg fill="#6D6D6D" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/>
<path d="M0 0h24v24H0z" fill="none"/>
</svg>
<input type="text" placeholder="Search" class="search-input">
</div>
</li>
</ul>
</div>
<nav>
<h3 class="reference-title">
php-parser
</h3>
<h3>Classes</h3><ul><li id="Array-nav"><a href="Array.html">Array</a><ul class='methods'><li data-type="method" id="Array-destroy-nav"><a href="Array.html#destroy">destroy</a></li><li data-type="method" id="Array-includeToken-nav"><a href="Array.html#includeToken">includeToken</a></li><li data-type="method" id="Array-setTrailingComments-nav"><a href="Array.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Assign-nav"><a href="Assign.html">Assign</a><ul class='methods'><li data-type="method" id="Assign-destroy-nav"><a href="Assign.html#destroy">destroy</a></li><li data-type="method" id="Assign-includeToken-nav"><a href="Assign.html#includeToken">includeToken</a></li><li data-type="method" id="Assign-setTrailingComments-nav"><a href="Assign.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="AST-nav"><a href="AST.html">AST</a><ul class='methods'><li data-type="method" id="AST-prepare-nav"><a href="AST.html#prepare">prepare</a></li><li data-type="method" id="AST-resolveLocations-nav"><a href="AST.html#resolveLocations">resolveLocations</a></li><li data-type="method" id="AST-resolvePrecedence-nav"><a href="AST.html#resolvePrecedence">resolvePrecedence</a></li><li data-type="method" id="AST-swapLocations-nav"><a href="AST.html#swapLocations">swapLocations</a></li></ul></li><li id="Bin-nav"><a href="Bin.html">Bin</a><ul class='methods'><li data-type="method" id="Bin-destroy-nav"><a href="Bin.html#destroy">destroy</a></li><li data-type="method" id="Bin-includeToken-nav"><a href="Bin.html#includeToken">includeToken</a></li><li data-type="method" id="Bin-setTrailingComments-nav"><a href="Bin.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Block-nav"><a href="Block.html">Block</a><ul class='methods'><li data-type="method" id="Block-destroy-nav"><a href="Block.html#destroy">destroy</a></li><li data-type="method" id="Block-includeToken-nav"><a href="Block.html#includeToken">includeToken</a></li><li data-type="method" id="Block-setTrailingComments-nav"><a href="Block.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Boolean-nav"><a href="Boolean.html">Boolean</a><ul class='methods'><li data-type="method" id="Boolean-destroy-nav"><a href="Boolean.html#destroy">destroy</a></li><li data-type="method" id="Boolean-includeToken-nav"><a href="Boolean.html#includeToken">includeToken</a></li><li data-type="method" id="Boolean-setTrailingComments-nav"><a href="Boolean.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Break-nav"><a href="Break.html">Break</a><ul class='methods'><li data-type="method" id="Break-destroy-nav"><a href="Break.html#destroy">destroy</a></li><li data-type="method" id="Break-includeToken-nav"><a href="Break.html#includeToken">includeToken</a></li><li data-type="method" id="Break-setTrailingComments-nav"><a href="Break.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Call-nav"><a href="Call.html">Call</a><ul class='methods'><li data-type="method" id="Call-destroy-nav"><a href="Call.html#destroy">destroy</a></li><li data-type="method" id="Call-includeToken-nav"><a href="Call.html#includeToken">includeToken</a></li><li data-type="method" id="Call-setTrailingComments-nav"><a href="Call.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Case-nav"><a href="Case.html">Case</a><ul class='methods'><li data-type="method" id="Case-destroy-nav"><a href="Case.html#destroy">destroy</a></li><li data-type="method" id="Case-includeToken-nav"><a href="Case.html#includeToken">includeToken</a></li><li data-type="method" id="Case-setTrailingComments-nav"><a href="Case.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Cast-nav"><a href="Cast.html">Cast</a><ul class='methods'><li data-type="method" id="Cast-destroy-nav"><a href="Cast.html#destroy">destroy</a></li><li data-type="method" id="Cast-includeToken-nav"><a href="Cast.html#includeToken">includeToken</a></li><li data-type="method" id="Cast-setTrailingComments-nav"><a href="Cast.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Catch-nav"><a href="Catch.html">Catch</a><ul class='methods'><li data-type="method" id="Catch-destroy-nav"><a href="Catch.html#destroy">destroy</a></li><li data-type="method" id="Catch-includeToken-nav"><a href="Catch.html#includeToken">includeToken</a></li><li data-type="method" id="Catch-setTrailingComments-nav"><a href="Catch.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Class-nav"><a href="Class.html">Class</a><ul class='methods'><li data-type="method" id="Class-destroy-nav"><a href="Class.html#destroy">destroy</a></li><li data-type="method" id="Class-includeToken-nav"><a href="Class.html#includeToken">includeToken</a></li><li data-type="method" id="Class-parseFlags-nav"><a href="Class.html#parseFlags">parseFlags</a></li><li data-type="method" id="Class-setTrailingComments-nav"><a href="Class.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="ClassConstant-nav"><a href="ClassConstant.html">ClassConstant</a><ul class='methods'><li data-type="method" id="ClassConstant-destroy-nav"><a href="ClassConstant.html#destroy">destroy</a></li><li data-type="method" id="ClassConstant-includeToken-nav"><a href="ClassConstant.html#includeToken">includeToken</a></li><li data-type="method" id="ClassConstant-parseFlags-nav"><a href="ClassConstant.html#parseFlags">parseFlags</a></li><li data-type="method" id="ClassConstant-setTrailingComments-nav"><a href="ClassConstant.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="ClassReference-nav"><a href="ClassReference.html">ClassReference</a><ul class='methods'><li data-type="method" id="ClassReference-destroy-nav"><a href="ClassReference.html#destroy">destroy</a></li><li data-type="method" id="ClassReference-includeToken-nav"><a href="ClassReference.html#includeToken">includeToken</a></li><li data-type="method" id="ClassReference-setTrailingComments-nav"><a href="ClassReference.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Clone-nav"><a href="Clone.html">Clone</a><ul class='methods'><li data-type="method" id="Clone-destroy-nav"><a href="Clone.html#destroy">destroy</a></li><li data-type="method" id="Clone-includeToken-nav"><a href="Clone.html#includeToken">includeToken</a></li><li data-type="method" id="Clone-setTrailingComments-nav"><a href="Clone.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Closure-nav"><a href="Closure.html">Closure</a><ul class='methods'><li data-type="method" id="Closure-destroy-nav"><a href="Closure.html#destroy">destroy</a></li><li data-type="method" id="Closure-includeToken-nav"><a href="Closure.html#includeToken">includeToken</a></li><li data-type="method" id="Closure-setTrailingComments-nav"><a href="Closure.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Comment-nav"><a href="Comment.html">Comment</a><ul class='methods'><li data-type="method" id="Comment-destroy-nav"><a href="Comment.html#destroy">destroy</a></li><li data-type="method" id="Comment-includeToken-nav"><a href="Comment.html#includeToken">includeToken</a></li><li data-type="method" id="Comment-setTrailingComments-nav"><a href="Comment.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="CommentBlock-nav"><a href="CommentBlock.html">CommentBlock</a><ul class='methods'><li data-type="method" id="CommentBlock-destroy-nav"><a href="CommentBlock.html#destroy">destroy</a></li><li data-type="method" id="CommentBlock-includeToken-nav"><a href="CommentBlock.html#includeToken">includeToken</a></li><li data-type="method" id="CommentBlock-setTrailingComments-nav"><a href="CommentBlock.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="CommentLine-nav"><a href="CommentLine.html">CommentLine</a><ul class='methods'><li data-type="method" id="CommentLine-destroy-nav"><a href="CommentLine.html#destroy">destroy</a></li><li data-type="method" id="CommentLine-includeToken-nav"><a href="CommentLine.html#includeToken">includeToken</a></li><li data-type="method" id="CommentLine-setTrailingComments-nav"><a href="CommentLine.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Constant-nav"><a href="Constant.html">Constant</a><ul class='methods'><li data-type="method" id="Constant-destroy-nav"><a href="Constant.html#destroy">destroy</a></li><li data-type="method" id="Constant-includeToken-nav"><a href="Constant.html#includeToken">includeToken</a></li><li data-type="method" id="Constant-setTrailingComments-nav"><a href="Constant.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="ConstantStatement-nav"><a href="ConstantStatement.html">ConstantStatement</a><ul class='methods'><li data-type="method" id="ConstantStatement-destroy-nav"><a href="ConstantStatement.html#destroy">destroy</a></li><li data-type="method" id="ConstantStatement-includeToken-nav"><a href="ConstantStatement.html#includeToken">includeToken</a></li><li data-type="method" id="ConstantStatement-setTrailingComments-nav"><a href="ConstantStatement.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Continue-nav"><a href="Continue.html">Continue</a><ul class='methods'><li data-type="method" id="Continue-destroy-nav"><a href="Continue.html#destroy">destroy</a></li><li data-type="method" id="Continue-includeToken-nav"><a href="Continue.html#includeToken">includeToken</a></li><li data-type="method" id="Continue-setTrailingComments-nav"><a href="Continue.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Declaration-nav"><a href="Declaration.html">Declaration</a><ul class='methods'><li data-type="method" id="Declaration-destroy-nav"><a href="Declaration.html#destroy">destroy</a></li><li data-type="method" id="Declaration-includeToken-nav"><a href="Declaration.html#includeToken">includeToken</a></li><li data-type="method" id="Declaration-parseFlags-nav"><a href="Declaration.html#parseFlags">parseFlags</a></li><li data-type="method" id="Declaration-setTrailingComments-nav"><a href="Declaration.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Declare-nav"><a href="Declare.html">Declare</a><ul class='methods'><li data-type="method" id="Declare-destroy-nav"><a href="Declare.html#destroy">destroy</a></li><li data-type="method" id="Declare-includeToken-nav"><a href="Declare.html#includeToken">includeToken</a></li><li data-type="method" id="Declare-setTrailingComments-nav"><a href="Declare.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="DeclareDirective-nav"><a href="DeclareDirective.html">DeclareDirective</a><ul class='methods'><li data-type="method" id="DeclareDirective-destroy-nav"><a href="DeclareDirective.html#destroy">destroy</a></li><li data-type="method" id="DeclareDirective-includeToken-nav"><a href="DeclareDirective.html#includeToken">includeToken</a></li><li data-type="method" id="DeclareDirective-setTrailingComments-nav"><a href="DeclareDirective.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Do-nav"><a href="Do.html">Do</a><ul class='methods'><li data-type="method" id="Do-destroy-nav"><a href="Do.html#destroy">destroy</a></li><li data-type="method" id="Do-includeToken-nav"><a href="Do.html#includeToken">includeToken</a></li><li data-type="method" id="Do-setTrailingComments-nav"><a href="Do.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Echo-nav"><a href="Echo.html">Echo</a><ul class='methods'><li data-type="method" id="Echo-destroy-nav"><a href="Echo.html#destroy">destroy</a></li><li data-type="method" id="Echo-includeToken-nav"><a href="Echo.html#includeToken">includeToken</a></li><li data-type="method" id="Echo-setTrailingComments-nav"><a href="Echo.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Empty-nav"><a href="Empty.html">Empty</a><ul class='methods'><li data-type="method" id="Empty-destroy-nav"><a href="Empty.html#destroy">destroy</a></li><li data-type="method" id="Empty-includeToken-nav"><a href="Empty.html#includeToken">includeToken</a></li><li data-type="method" id="Empty-setTrailingComments-nav"><a href="Empty.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Encapsed-nav"><a href="Encapsed.html">Encapsed</a><ul class='methods'><li data-type="method" id="Encapsed-destroy-nav"><a href="Encapsed.html#destroy">destroy</a></li><li data-type="method" id="Encapsed-includeToken-nav"><a href="Encapsed.html#includeToken">includeToken</a></li><li data-type="method" id="Encapsed-setTrailingComments-nav"><a href="Encapsed.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="EncapsedPart-nav"><a href="EncapsedPart.html">EncapsedPart</a><ul class='methods'><li data-type="method" id="EncapsedPart-destroy-nav"><a href="EncapsedPart.html#destroy">destroy</a></li><li data-type="method" id="EncapsedPart-includeToken-nav"><a href="EncapsedPart.html#includeToken">includeToken</a></li><li data-type="method" id="EncapsedPart-setTrailingComments-nav"><a href="EncapsedPart.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="engine-nav"><a href="engine.html">engine</a><ul class='methods'><li data-type="method" id="engine-parseCode-nav"><a href="engine.html#parseCode">parseCode</a></li><li data-type="method" id="engine-parseEval-nav"><a href="engine.html#parseEval">parseEval</a></li><li data-type="method" id="engine-tokenGetAll-nav"><a href="engine.html#tokenGetAll">tokenGetAll</a></li></ul></li><li id="Entry-nav"><a href="Entry.html">Entry</a><ul class='methods'><li data-type="method" id="Entry-destroy-nav"><a href="Entry.html#destroy">destroy</a></li><li data-type="method" id="Entry-includeToken-nav"><a href="Entry.html#includeToken">includeToken</a></li><li data-type="method" id="Entry-setTrailingComments-nav"><a href="Entry.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Error-nav"><a href="Error.html">Error</a><ul class='methods'><li data-type="method" id="Error-destroy-nav"><a href="Error.html#destroy">destroy</a></li><li data-type="method" id="Error-includeToken-nav"><a href="Error.html#includeToken">includeToken</a></li><li data-type="method" id="Error-setTrailingComments-nav"><a href="Error.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Eval-nav"><a href="Eval.html">Eval</a><ul class='methods'><li data-type="method" id="Eval-destroy-nav"><a href="Eval.html#destroy">destroy</a></li><li data-type="method" id="Eval-includeToken-nav"><a href="Eval.html#includeToken">includeToken</a></li><li data-type="method" id="Eval-setTrailingComments-nav"><a href="Eval.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Exit-nav"><a href="Exit.html">Exit</a><ul class='methods'><li data-type="method" id="Exit-destroy-nav"><a href="Exit.html#destroy">destroy</a></li><li data-type="method" id="Exit-includeToken-nav"><a href="Exit.html#includeToken">includeToken</a></li><li data-type="method" id="Exit-setTrailingComments-nav"><a href="Exit.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Expression-nav"><a href="Expression.html">Expression</a><ul class='methods'><li data-type="method" id="Expression-destroy-nav"><a href="Expression.html#destroy">destroy</a></li><li data-type="method" id="Expression-includeToken-nav"><a href="Expression.html#includeToken">includeToken</a></li><li data-type="method" id="Expression-setTrailingComments-nav"><a href="Expression.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="ExpressionStatement-nav"><a href="ExpressionStatement.html">ExpressionStatement</a><ul class='methods'><li data-type="method" id="ExpressionStatement-destroy-nav"><a href="ExpressionStatement.html#destroy">destroy</a></li><li data-type="method" id="ExpressionStatement-includeToken-nav"><a href="ExpressionStatement.html#includeToken">includeToken</a></li><li data-type="method" id="ExpressionStatement-setTrailingComments-nav"><a href="ExpressionStatement.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="For-nav"><a href="For.html">For</a><ul class='methods'><li data-type="method" id="For-destroy-nav"><a href="For.html#destroy">destroy</a></li><li data-type="method" id="For-includeToken-nav"><a href="For.html#includeToken">includeToken</a></li><li data-type="method" id="For-setTrailingComments-nav"><a href="For.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Foreach-nav"><a href="Foreach.html">Foreach</a><ul class='methods'><li data-type="method" id="Foreach-destroy-nav"><a href="Foreach.html#destroy">destroy</a></li><li data-type="method" id="Foreach-includeToken-nav"><a href="Foreach.html#includeToken">includeToken</a></li><li data-type="method" id="Foreach-setTrailingComments-nav"><a href="Foreach.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Function-nav"><a href="Function.html">Function</a><ul class='methods'><li data-type="method" id="Function-destroy-nav"><a href="Function.html#destroy">destroy</a></li><li data-type="method" id="Function-includeToken-nav"><a href="Function.html#includeToken">includeToken</a></li><li data-type="method" id="Function-parseFlags-nav"><a href="Function.html#parseFlags">parseFlags</a></li><li data-type="method" id="Function-setTrailingComments-nav"><a href="Function.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Global-nav"><a href="Global_.html">Global</a><ul class='methods'><li data-type="method" id="Global-destroy-nav"><a href="Global_.html#destroy">destroy</a></li><li data-type="method" id="Global-includeToken-nav"><a href="Global_.html#includeToken">includeToken</a></li><li data-type="method" id="Global-setTrailingComments-nav"><a href="Global_.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Goto-nav"><a href="Goto.html">Goto</a><ul class='methods'><li data-type="method" id="Goto-destroy-nav"><a href="Goto.html#destroy">destroy</a></li><li data-type="method" id="Goto-includeToken-nav"><a href="Goto.html#includeToken">includeToken</a></li><li data-type="method" id="Goto-setTrailingComments-nav"><a href="Goto.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Halt-nav"><a href="Halt.html">Halt</a><ul class='methods'><li data-type="method" id="Halt-destroy-nav"><a href="Halt.html#destroy">destroy</a></li><li data-type="method" id="Halt-includeToken-nav"><a href="Halt.html#includeToken">includeToken</a></li><li data-type="method" id="Halt-setTrailingComments-nav"><a href="Halt.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Identifier-nav"><a href="Identifier.html">Identifier</a><ul class='methods'><li data-type="method" id="Identifier-destroy-nav"><a href="Identifier.html#destroy">destroy</a></li><li data-type="method" id="Identifier-includeToken-nav"><a href="Identifier.html#includeToken">includeToken</a></li><li data-type="method" id="Identifier-setTrailingComments-nav"><a href="Identifier.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="If-nav"><a href="If.html">If</a><ul class='methods'><li data-type="method" id="If-destroy-nav"><a href="If.html#destroy">destroy</a></li><li data-type="method" id="If-includeToken-nav"><a href="If.html#includeToken">includeToken</a></li><li data-type="method" id="If-setTrailingComments-nav"><a href="If.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Include-nav"><a href="Include.html">Include</a><ul class='methods'><li data-type="method" id="Include-destroy-nav"><a href="Include.html#destroy">destroy</a></li><li data-type="method" id="Include-includeToken-nav"><a href="Include.html#includeToken">includeToken</a></li><li data-type="method" id="Include-setTrailingComments-nav"><a href="Include.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Inline-nav"><a href="Inline.html">Inline</a><ul class='methods'><li data-type="method" id="Inline-destroy-nav"><a href="Inline.html#destroy">destroy</a></li><li data-type="method" id="Inline-includeToken-nav"><a href="Inline.html#includeToken">includeToken</a></li><li data-type="method" id="Inline-setTrailingComments-nav"><a href="Inline.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Interface-nav"><a href="Interface.html">Interface</a><ul class='methods'><li data-type="method" id="Interface-destroy-nav"><a href="Interface.html#destroy">destroy</a></li><li data-type="method" id="Interface-includeToken-nav"><a href="Interface.html#includeToken">includeToken</a></li><li data-type="method" id="Interface-parseFlags-nav"><a href="Interface.html#parseFlags">parseFlags</a></li><li data-type="method" id="Interface-setTrailingComments-nav"><a href="Interface.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Isset-nav"><a href="Isset.html">Isset</a><ul class='methods'><li data-type="method" id="Isset-destroy-nav"><a href="Isset.html#destroy">destroy</a></li><li data-type="method" id="Isset-includeToken-nav"><a href="Isset.html#includeToken">includeToken</a></li><li data-type="method" id="Isset-setTrailingComments-nav"><a href="Isset.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Label-nav"><a href="Label.html">Label</a><ul class='methods'><li data-type="method" id="Label-destroy-nav"><a href="Label.html#destroy">destroy</a></li><li data-type="method" id="Label-includeToken-nav"><a href="Label.html#includeToken">includeToken</a></li><li data-type="method" id="Label-setTrailingComments-nav"><a href="Label.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="lexer-nav"><a href="lexer.html">lexer</a><ul class='methods'><li data-type="method" id="lexer-getState-nav"><a href="lexer.html#getState">getState</a></li><li data-type="method" id="lexer-input-nav"><a href="lexer.html#input">input</a></li><li data-type="method" id="lexer-setInput-nav"><a href="lexer.html#setInput">setInput</a></li><li data-type="method" id="lexer-setState-nav"><a href="lexer.html#setState">setState</a></li><li data-type="method" id="lexer-unput-nav"><a href="lexer.html#unput">unput</a></li></ul></li><li id="List-nav"><a href="List.html">List</a><ul class='methods'><li data-type="method" id="List-destroy-nav"><a href="List.html#destroy">destroy</a></li><li data-type="method" id="List-includeToken-nav"><a href="List.html#includeToken">includeToken</a></li><li data-type="method" id="List-setTrailingComments-nav"><a href="List.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Literal-nav"><a href="Literal.html">Literal</a><ul class='methods'><li data-type="method" id="Literal-destroy-nav"><a href="Literal.html#destroy">destroy</a></li><li data-type="method" id="Literal-includeToken-nav"><a href="Literal.html#includeToken">includeToken</a></li><li data-type="method" id="Literal-setTrailingComments-nav"><a href="Literal.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Location-nav"><a href="Location.html">Location</a></li><li id="Lookup-nav"><a href="Lookup.html">Lookup</a><ul class='methods'><li data-type="method" id="Lookup-destroy-nav"><a href="Lookup.html#destroy">destroy</a></li><li data-type="method" id="Lookup-includeToken-nav"><a href="Lookup.html#includeToken">includeToken</a></li><li data-type="method" id="Lookup-setTrailingComments-nav"><a href="Lookup.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Magic-nav"><a href="Magic.html">Magic</a><ul class='methods'><li data-type="method" id="Magic-destroy-nav"><a href="Magic.html#destroy">destroy</a></li><li data-type="method" id="Magic-includeToken-nav"><a href="Magic.html#includeToken">includeToken</a></li><li data-type="method" id="Magic-setTrailingComments-nav"><a href="Magic.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Method-nav"><a href="Method.html">Method</a></li><li id="Namespace-nav"><a href="Namespace.html">Namespace</a><ul class='methods'><li data-type="method" id="Namespace-destroy-nav"><a href="Namespace.html#destroy">destroy</a></li><li data-type="method" id="Namespace-includeToken-nav"><a href="Namespace.html#includeToken">includeToken</a></li><li data-type="method" id="Namespace-setTrailingComments-nav"><a href="Namespace.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="New-nav"><a href="New.html">New</a><ul class='methods'><li data-type="method" id="New-destroy-nav"><a href="New.html#destroy">destroy</a></li><li data-type="method" id="New-includeToken-nav"><a href="New.html#includeToken">includeToken</a></li><li data-type="method" id="New-setTrailingComments-nav"><a href="New.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Node-nav"><a href="Node.html">Node</a><ul class='methods'><li data-type="method" id="Node-extends-nav"><a href="Node.html#.extends">extends</a></li><li data-type="method" id="Node-destroy-nav"><a href="Node.html#destroy">destroy</a></li><li data-type="method" id="Node-includeToken-nav"><a href="Node.html#includeToken">includeToken</a></li><li data-type="method" id="Node-setTrailingComments-nav"><a href="Node.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Noop-nav"><a href="Noop.html">Noop</a><ul class='methods'><li data-type="method" id="Noop-destroy-nav"><a href="Noop.html#destroy">destroy</a></li><li data-type="method" id="Noop-includeToken-nav"><a href="Noop.html#includeToken">includeToken</a></li><li data-type="method" id="Noop-setTrailingComments-nav"><a href="Noop.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="NowDoc-nav"><a href="NowDoc.html">NowDoc</a><ul class='methods'><li data-type="method" id="NowDoc-destroy-nav"><a href="NowDoc.html#destroy">destroy</a></li><li data-type="method" id="NowDoc-includeToken-nav"><a href="NowDoc.html#includeToken">includeToken</a></li><li data-type="method" id="NowDoc-setTrailingComments-nav"><a href="NowDoc.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Number-nav"><a href="Number.html">Number</a><ul class='methods'><li data-type="method" id="Number-destroy-nav"><a href="Number.html#destroy">destroy</a></li><li data-type="method" id="Number-includeToken-nav"><a href="Number.html#includeToken">includeToken</a></li><li data-type="method" id="Number-setTrailingComments-nav"><a href="Number.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="OffsetLookup-nav"><a href="OffsetLookup.html">OffsetLookup</a><ul class='methods'><li data-type="method" id="OffsetLookup-destroy-nav"><a href="OffsetLookup.html#destroy">destroy</a></li><li data-type="method" id="OffsetLookup-includeToken-nav"><a href="OffsetLookup.html#includeToken">includeToken</a></li><li data-type="method" id="OffsetLookup-setTrailingComments-nav"><a href="OffsetLookup.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Operation-nav"><a href="Operation.html">Operation</a><ul class='methods'><li data-type="method" id="Operation-destroy-nav"><a href="Operation.html#destroy">destroy</a></li><li data-type="method" id="Operation-includeToken-nav"><a href="Operation.html#includeToken">includeToken</a></li><li data-type="method" id="Operation-setTrailingComments-nav"><a href="Operation.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Parameter-nav"><a href="Parameter.html">Parameter</a><ul class='methods'><li data-type="method" id="Parameter-destroy-nav"><a href="Parameter.html#destroy">destroy</a></li><li data-type="method" id="Parameter-includeToken-nav"><a href="Parameter.html#includeToken">includeToken</a></li><li data-type="method" id="Parameter-parseFlags-nav"><a href="Parameter.html#parseFlags">parseFlags</a></li><li data-type="method" id="Parameter-setTrailingComments-nav"><a href="Parameter.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="ParentReference-nav"><a href="ParentReference.html">ParentReference</a><ul class='methods'><li data-type="method" id="ParentReference-destroy-nav"><a href="ParentReference.html#destroy">destroy</a></li><li data-type="method" id="ParentReference-includeToken-nav"><a href="ParentReference.html#includeToken">includeToken</a></li><li data-type="method" id="ParentReference-setTrailingComments-nav"><a href="ParentReference.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="parser-nav"><a href="parser.html">parser</a><ul class='methods'><li data-type="method" id="parser-error-nav"><a href="parser.html#error">error</a></li><li data-type="method" id="parser-expect-nav"><a href="parser.html#expect">expect</a></li><li data-type="method" id="parser-expectEndOfStatement-nav"><a href="parser.html#expectEndOfStatement">expectEndOfStatement</a></li><li data-type="method" id="parser-getTokenName-nav"><a href="parser.html#getTokenName">getTokenName</a></li><li data-type="method" id="parser-is-nav"><a href="parser.html#is">is</a></li><li data-type="method" id="parser-lex-nav"><a href="parser.html#lex">lex</a></li><li data-type="method" id="parser-next-nav"><a href="parser.html#next">next</a></li><li data-type="method" id="parser-node-nav"><a href="parser.html#node">node</a></li><li data-type="method" id="parser-parse-nav"><a href="parser.html#parse">parse</a></li><li data-type="method" id="parser-raiseError-nav"><a href="parser.html#raiseError">raiseError</a></li><li data-type="method" id="parser-text-nav"><a href="parser.html#text">text</a></li></ul></li><li id="Position-nav"><a href="Position.html">Position</a></li><li id="Post-nav"><a href="Post.html">Post</a><ul class='methods'><li data-type="method" id="Post-destroy-nav"><a href="Post.html#destroy">destroy</a></li><li data-type="method" id="Post-includeToken-nav"><a href="Post.html#includeToken">includeToken</a></li><li data-type="method" id="Post-setTrailingComments-nav"><a href="Post.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Pre-nav"><a href="Pre.html">Pre</a><ul class='methods'><li data-type="method" id="Pre-destroy-nav"><a href="Pre.html#destroy">destroy</a></li><li data-type="method" id="Pre-includeToken-nav"><a href="Pre.html#includeToken">includeToken</a></li><li data-type="method" id="Pre-setTrailingComments-nav"><a href="Pre.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Print-nav"><a href="Print.html">Print</a><ul class='methods'><li data-type="method" id="Print-destroy-nav"><a href="Print.html#destroy">destroy</a></li><li data-type="method" id="Print-includeToken-nav"><a href="Print.html#includeToken">includeToken</a></li><li data-type="method" id="Print-setTrailingComments-nav"><a href="Print.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Program-nav"><a href="Program.html">Program</a><ul class='methods'><li data-type="method" id="Program-destroy-nav"><a href="Program.html#destroy">destroy</a></li><li data-type="method" id="Program-includeToken-nav"><a href="Program.html#includeToken">includeToken</a></li><li data-type="method" id="Program-setTrailingComments-nav"><a href="Program.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Property-nav"><a href="Property.html">Property</a><ul class='methods'><li data-type="method" id="Property-destroy-nav"><a href="Property.html#destroy">destroy</a></li><li data-type="method" id="Property-includeToken-nav"><a href="Property.html#includeToken">includeToken</a></li><li data-type="method" id="Property-setTrailingComments-nav"><a href="Property.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="PropertyLookup-nav"><a href="PropertyLookup.html">PropertyLookup</a><ul class='methods'><li data-type="method" id="PropertyLookup-destroy-nav"><a href="PropertyLookup.html#destroy">destroy</a></li><li data-type="method" id="PropertyLookup-includeToken-nav"><a href="PropertyLookup.html#includeToken">includeToken</a></li><li data-type="method" id="PropertyLookup-setTrailingComments-nav"><a href="PropertyLookup.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="PropertyStatement-nav"><a href="PropertyStatement.html">PropertyStatement</a><ul class='methods'><li data-type="method" id="PropertyStatement-destroy-nav"><a href="PropertyStatement.html#destroy">destroy</a></li><li data-type="method" id="PropertyStatement-includeToken-nav"><a href="PropertyStatement.html#includeToken">includeToken</a></li><li data-type="method" id="PropertyStatement-parseFlags-nav"><a href="PropertyStatement.html#parseFlags">parseFlags</a></li><li data-type="method" id="PropertyStatement-setTrailingComments-nav"><a href="PropertyStatement.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Reference-nav"><a href="Reference.html">Reference</a><ul class='methods'><li data-type="method" id="Reference-destroy-nav"><a href="Reference.html#destroy">destroy</a></li><li data-type="method" id="Reference-includeToken-nav"><a href="Reference.html#includeToken">includeToken</a></li><li data-type="method" id="Reference-setTrailingComments-nav"><a href="Reference.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="RetIf-nav"><a href="RetIf.html">RetIf</a><ul class='methods'><li data-type="method" id="RetIf-destroy-nav"><a href="RetIf.html#destroy">destroy</a></li><li data-type="method" id="RetIf-includeToken-nav"><a href="RetIf.html#includeToken">includeToken</a></li><li data-type="method" id="RetIf-setTrailingComments-nav"><a href="RetIf.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Return-nav"><a href="Return.html">Return</a><ul class='methods'><li data-type="method" id="Return-destroy-nav"><a href="Return.html#destroy">destroy</a></li><li data-type="method" id="Return-includeToken-nav"><a href="Return.html#includeToken">includeToken</a></li><li data-type="method" id="Return-setTrailingComments-nav"><a href="Return.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="SelfReference-nav"><a href="SelfReference.html">SelfReference</a><ul class='methods'><li data-type="method" id="SelfReference-destroy-nav"><a href="SelfReference.html#destroy">destroy</a></li><li data-type="method" id="SelfReference-includeToken-nav"><a href="SelfReference.html#includeToken">includeToken</a></li><li data-type="method" id="SelfReference-setTrailingComments-nav"><a href="SelfReference.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Silent-nav"><a href="Silent.html">Silent</a><ul class='methods'><li data-type="method" id="Silent-destroy-nav"><a href="Silent.html#destroy">destroy</a></li><li data-type="method" id="Silent-includeToken-nav"><a href="Silent.html#includeToken">includeToken</a></li><li data-type="method" id="Silent-setTrailingComments-nav"><a href="Silent.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Statement-nav"><a href="Statement.html">Statement</a><ul class='methods'><li data-type="method" id="Statement-destroy-nav"><a href="Statement.html#destroy">destroy</a></li><li data-type="method" id="Statement-includeToken-nav"><a href="Statement.html#includeToken">includeToken</a></li><li data-type="method" id="Statement-setTrailingComments-nav"><a href="Statement.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Static-nav"><a href="Static.html">Static</a><ul class='methods'><li data-type="method" id="Static-destroy-nav"><a href="Static.html#destroy">destroy</a></li><li data-type="method" id="Static-includeToken-nav"><a href="Static.html#includeToken">includeToken</a></li><li data-type="method" id="Static-setTrailingComments-nav"><a href="Static.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="StaticLookup-nav"><a href="StaticLookup.html">StaticLookup</a><ul class='methods'><li data-type="method" id="StaticLookup-destroy-nav"><a href="StaticLookup.html#destroy">destroy</a></li><li data-type="method" id="StaticLookup-includeToken-nav"><a href="StaticLookup.html#includeToken">includeToken</a></li><li data-type="method" id="StaticLookup-setTrailingComments-nav"><a href="StaticLookup.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="StaticReference-nav"><a href="StaticReference.html">StaticReference</a><ul class='methods'><li data-type="method" id="StaticReference-destroy-nav"><a href="StaticReference.html#destroy">destroy</a></li><li data-type="method" id="StaticReference-includeToken-nav"><a href="StaticReference.html#includeToken">includeToken</a></li><li data-type="method" id="StaticReference-setTrailingComments-nav"><a href="StaticReference.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="StaticVariable-nav"><a href="StaticVariable.html">StaticVariable</a><ul class='methods'><li data-type="method" id="StaticVariable-destroy-nav"><a href="StaticVariable.html#destroy">destroy</a></li><li data-type="method" id="StaticVariable-includeToken-nav"><a href="StaticVariable.html#includeToken">includeToken</a></li><li data-type="method" id="StaticVariable-setTrailingComments-nav"><a href="StaticVariable.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="String-nav"><a href="String.html">String</a><ul class='methods'><li data-type="method" id="String-destroy-nav"><a href="String.html#destroy">destroy</a></li><li data-type="method" id="String-includeToken-nav"><a href="String.html#includeToken">includeToken</a></li><li data-type="method" id="String-setTrailingComments-nav"><a href="String.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Switch-nav"><a href="Switch.html">Switch</a><ul class='methods'><li data-type="method" id="Switch-destroy-nav"><a href="Switch.html#destroy">destroy</a></li><li data-type="method" id="Switch-includeToken-nav"><a href="Switch.html#includeToken">includeToken</a></li><li data-type="method" id="Switch-setTrailingComments-nav"><a href="Switch.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Throw-nav"><a href="Throw.html">Throw</a><ul class='methods'><li data-type="method" id="Throw-destroy-nav"><a href="Throw.html#destroy">destroy</a></li><li data-type="method" id="Throw-includeToken-nav"><a href="Throw.html#includeToken">includeToken</a></li><li data-type="method" id="Throw-setTrailingComments-nav"><a href="Throw.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Trait-nav"><a href="Trait.html">Trait</a><ul class='methods'><li data-type="method" id="Trait-destroy-nav"><a href="Trait.html#destroy">destroy</a></li><li data-type="method" id="Trait-includeToken-nav"><a href="Trait.html#includeToken">includeToken</a></li><li data-type="method" id="Trait-parseFlags-nav"><a href="Trait.html#parseFlags">parseFlags</a></li><li data-type="method" id="Trait-setTrailingComments-nav"><a href="Trait.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="TraitAlias-nav"><a href="TraitAlias.html">TraitAlias</a><ul class='methods'><li data-type="method" id="TraitAlias-destroy-nav"><a href="TraitAlias.html#destroy">destroy</a></li><li data-type="method" id="TraitAlias-includeToken-nav"><a href="TraitAlias.html#includeToken">includeToken</a></li><li data-type="method" id="TraitAlias-setTrailingComments-nav"><a href="TraitAlias.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="TraitPrecedence-nav"><a href="TraitPrecedence.html">TraitPrecedence</a><ul class='methods'><li data-type="method" id="TraitPrecedence-destroy-nav"><a href="TraitPrecedence.html#destroy">destroy</a></li><li data-type="method" id="TraitPrecedence-includeToken-nav"><a href="TraitPrecedence.html#includeToken">includeToken</a></li><li data-type="method" id="TraitPrecedence-setTrailingComments-nav"><a href="TraitPrecedence.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="TraitUse-nav"><a href="TraitUse.html">TraitUse</a><ul class='methods'><li data-type="method" id="TraitUse-destroy-nav"><a href="TraitUse.html#destroy">destroy</a></li><li data-type="method" id="TraitUse-includeToken-nav"><a href="TraitUse.html#includeToken">includeToken</a></li><li data-type="method" id="TraitUse-setTrailingComments-nav"><a href="TraitUse.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Try-nav"><a href="Try.html">Try</a><ul class='methods'><li data-type="method" id="Try-destroy-nav"><a href="Try.html#destroy">destroy</a></li><li data-type="method" id="Try-includeToken-nav"><a href="Try.html#includeToken">includeToken</a></li><li data-type="method" id="Try-setTrailingComments-nav"><a href="Try.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="TypeReference-nav"><a href="TypeReference.html">TypeReference</a><ul class='methods'><li data-type="method" id="TypeReference-destroy-nav"><a href="TypeReference.html#destroy">destroy</a></li><li data-type="method" id="TypeReference-includeToken-nav"><a href="TypeReference.html#includeToken">includeToken</a></li><li data-type="method" id="TypeReference-setTrailingComments-nav"><a href="TypeReference.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Unary-nav"><a href="Unary.html">Unary</a><ul class='methods'><li data-type="method" id="Unary-destroy-nav"><a href="Unary.html#destroy">destroy</a></li><li data-type="method" id="Unary-includeToken-nav"><a href="Unary.html#includeToken">includeToken</a></li><li data-type="method" id="Unary-setTrailingComments-nav"><a href="Unary.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Unset-nav"><a href="Unset.html">Unset</a><ul class='methods'><li data-type="method" id="Unset-destroy-nav"><a href="Unset.html#destroy">destroy</a></li><li data-type="method" id="Unset-includeToken-nav"><a href="Unset.html#includeToken">includeToken</a></li><li data-type="method" id="Unset-setTrailingComments-nav"><a href="Unset.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="UseGroup-nav"><a href="UseGroup.html">UseGroup</a><ul class='methods'><li data-type="method" id="UseGroup-destroy-nav"><a href="UseGroup.html#destroy">destroy</a></li><li data-type="method" id="UseGroup-includeToken-nav"><a href="UseGroup.html#includeToken">includeToken</a></li><li data-type="method" id="UseGroup-setTrailingComments-nav"><a href="UseGroup.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="UseItem-nav"><a href="UseItem.html">UseItem</a><ul class='methods'><li data-type="method" id="UseItem-destroy-nav"><a href="UseItem.html#destroy">destroy</a></li><li data-type="method" id="UseItem-includeToken-nav"><a href="UseItem.html#includeToken">includeToken</a></li><li data-type="method" id="UseItem-setTrailingComments-nav"><a href="UseItem.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Variable-nav"><a href="Variable.html">Variable</a><ul class='methods'><li data-type="method" id="Variable-destroy-nav"><a href="Variable.html#destroy">destroy</a></li><li data-type="method" id="Variable-includeToken-nav"><a href="Variable.html#includeToken">includeToken</a></li><li data-type="method" id="Variable-setTrailingComments-nav"><a href="Variable.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="variadic-nav"><a href="variadic.html">variadic</a><ul class='methods'><li data-type="method" id="variadic-destroy-nav"><a href="variadic.html#destroy">destroy</a></li><li data-type="method" id="variadic-includeToken-nav"><a href="variadic.html#includeToken">includeToken</a></li><li data-type="method" id="variadic-setTrailingComments-nav"><a href="variadic.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="While-nav"><a href="While.html">While</a><ul class='methods'><li data-type="method" id="While-destroy-nav"><a href="While.html#destroy">destroy</a></li><li data-type="method" id="While-includeToken-nav"><a href="While.html#includeToken">includeToken</a></li><li data-type="method" id="While-setTrailingComments-nav"><a href="While.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="Yield-nav"><a href="Yield.html">Yield</a><ul class='methods'><li data-type="method" id="Yield-destroy-nav"><a href="Yield.html#destroy">destroy</a></li><li data-type="method" id="Yield-includeToken-nav"><a href="Yield.html#includeToken">includeToken</a></li><li data-type="method" id="Yield-setTrailingComments-nav"><a href="Yield.html#setTrailingComments">setTrailingComments</a></li></ul></li><li id="YieldFrom-nav"><a href="YieldFrom.html">YieldFrom</a><ul class='methods'><li data-type="method" id="YieldFrom-destroy-nav"><a href="YieldFrom.html#destroy">destroy</a></li><li data-type="method" id="YieldFrom-includeToken-nav"><a href="YieldFrom.html#includeToken">includeToken</a></li><li data-type="method" id="YieldFrom-setTrailingComments-nav"><a href="YieldFrom.html#setTrailingComments">setTrailingComments</a></li></ul></li></ul><h3 id="global-nav">Global</h3><ul><li><a href="global.html#FULL_QUALIFIED_NAME">FULL_QUALIFIED_NAME</a></li><li><a href="global.html#getStringBuffer">getStringBuffer</a></li><li><a href="global.html#ignoreStack">ignoreStack</a></li><li><a href="global.html#MODE_BLOCK">MODE_BLOCK</a></li><li><a href="global.html#MODE_NONE">MODE_NONE</a></li><li><a href="global.html#MODE_SHORT">MODE_SHORT</a></li><li><a href="global.html#QUALIFIED_NAME">QUALIFIED_NAME</a></li><li><a href="global.html#RELATIVE_NAME">RELATIVE_NAME</a></li><li><a href="global.html#TYPE_CONST">TYPE_CONST</a></li><li><a href="global.html#TYPE_FUNC">TYPE_FUNC</a></li><li><a href="global.html#TYPE_HEREDOC">TYPE_HEREDOC</a></li><li><a href="global.html#TYPE_OFFSET">TYPE_OFFSET</a></li><li><a href="global.html#TYPE_SHELL">TYPE_SHELL</a></li><li><a href="global.html#TYPE_STRING">TYPE_STRING</a></li><li><a href="global.html#UNQUALIFIED_NAME">UNQUALIFIED_NAME</a></li></ul>
</nav>
<div id="main">
<h1 class="page-title">
parser/scalar.js
</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>/**
* Copyright (C) 2018 Glayzzle (BSD3 License)
* @authors https://github.com/glayzzle/php-parser/graphs/contributors
* @url http://glayzzle.com
*/
"use strict";
const specialChar = {
"\\r": "\r",
"\\n": "\n",
"\\t": "\t",
"\\v": String.fromCharCode(11),
"\\e": String.fromCharCode(27),
"\\f": String.fromCharCode(12),
"\\\\": "\\",
"\\$": "$",
'\\"': '"',
"\\'": "'"
};
module.exports = {
/**
* Unescape special chars
*/
resolve_special_chars: function(text, doubleQuote) {
if (!doubleQuote) {
// single quote fix
return text.replace(/\\['\\]/g, function(seq) {
return specialChar[seq];
});
}
return text.replace(/\\[rntvef"'\\$]/g, function(seq) {
return specialChar[seq];
});
},
/**
* ```ebnf
* scalar ::= T_MAGIC_CONST
* | T_LNUMBER | T_DNUMBER
* | T_START_HEREDOC T_ENCAPSED_AND_WHITESPACE? T_END_HEREDOC
* | '"' encaps_list '"'
* | T_START_HEREDOC encaps_list T_END_HEREDOC
* | namespace_name (T_DOUBLE_COLON T_STRING)?
* ```
*/
read_scalar: function() {
if (this.is("T_MAGIC_CONST")) {
return this.get_magic_constant();
} else {
let value, node;
switch (this.token) {
// TEXTS
case this.tok.T_CONSTANT_ENCAPSED_STRING: {
value = this.node("string");
const text = this.text();
let offset = 0;
if (text[0] === "b" || text[0] === "B") {
offset = 1;
}
const isDoubleQuote = text[offset] === '"';
this.next();
value = value(
isDoubleQuote,
this.resolve_special_chars(
text.substring(offset + 1, text.length - 1),
isDoubleQuote
),
offset === 1, // unicode flag
text
);
if (this.token === this.tok.T_DOUBLE_COLON) {
// https://github.com/php/php-src/blob/master/Zend/zend_language_parser.y#L1151
return this.read_static_getter(value);
} else {
// dirrect string
return value;
}
}
case this.tok.T_START_HEREDOC:
if (this.lexer.curCondition === "ST_NOWDOC") {
const start = this.lexer.yylloc.first_offset;
node = this.node("nowdoc");
value = this.next().text();
// strip the last line return char
const lastCh = value[value.length - 1];
if (lastCh === "\n") {
if (value[value.length - 2] === "\r") {
// windows style
value = value.substring(0, value.length - 2);
} else {
// linux style
value = value.substring(0, value.length - 1);
}
} else if (lastCh === "\r") {
// mac style
value = value.substring(0, value.length - 1);
}
this.expect(this.tok.T_ENCAPSED_AND_WHITESPACE) && this.next();
const raw = this.lexer._input.substring(
start,
this.lexer.yylloc.last_offset
);
this.expect(this.tok.T_END_HEREDOC) && this.next();
node = node(
value,
raw,
this.lexer.heredoc_label,
raw[3] === '"' || raw[3] === "'"
);
return node;
} else {
return this.read_encapsed_string(this.tok.T_END_HEREDOC);
}
case '"':
return this.read_encapsed_string('"');
case 'b"':
case 'B"': {
return this.read_encapsed_string('"', true);
}
// NUMERIC
case this.tok.T_LNUMBER: // long
case this.tok.T_DNUMBER: {
// double
const result = this.node("number");
value = this.text();
this.next();
return result(value, null);
}
// ARRAYS
case this.tok.T_ARRAY: // array parser
return this.read_array();
case "[": // short array format
return this.read_array();
default: {
const err = this.error("SCALAR");
// graceful mode : ignore token & return error node
this.next();
return err;
}
}
}
},
/**
* Handles the dereferencing
*/
read_dereferencable: function(expr) {
let result, offset;
const node = this.node("offsetlookup");
if (this.token === "[") {
offset = this.next().read_expr();
if (this.expect("]")) this.next();
result = node(expr, offset);
} else if (this.token === this.tok.T_DOLLAR_OPEN_CURLY_BRACES) {
offset = this.read_encapsed_string_item(false);
result = node(expr, offset);
}
return result;
},
/**
* Reads and extracts an encapsed item
* ```ebnf
* encapsed_string_item ::= T_ENCAPSED_AND_WHITESPACE
* | T_DOLLAR_OPEN_CURLY_BRACES expr '}'
* | T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '}'
* | T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '[' expr ']' '}'
* | T_CURLY_OPEN variable '}'
* | variable
* | variable '[' expr ']'
* | variable T_OBJECT_OPERATOR T_STRING
* ```
* @return {String|Variable|Expr|Lookup}
* @see https://github.com/php/php-src/blob/master/Zend/zend_language_parser.y#L1219
*/
read_encapsed_string_item: function(isDoubleQuote) {
const encapsedPart = this.node("encapsedpart");
let curly = false;
let result = this.node(),
offset,
node,
name;
// plain text
// https://github.com/php/php-src/blob/master/Zend/zend_language_parser.y#L1222
if (this.token === this.tok.T_ENCAPSED_AND_WHITESPACE) {
const text = this.text();
this.next();
result = result(
"string",
false,
this.resolve_special_chars(text, isDoubleQuote),
false,
text
);
} else if (this.token === this.tok.T_DOLLAR_OPEN_CURLY_BRACES) {
// dynamic variable name
// https://github.com/php/php-src/blob/master/Zend/zend_language_parser.y#L1239
name = null;
if (this.next().token === this.tok.T_STRING_VARNAME) {
name = this.node("variable");
const varName = this.text();
this.next();
// check if lookup an offset
// https://github.com/php/php-src/blob/master/Zend/zend_language_parser.y#L1243
if (this.token === "[") {
name = name(varName, false, false);
node = this.node("offsetlookup");
offset = this.next().read_expr();
this.expect("]") && this.next();
name = node(name, offset);
} else {
name = varName;
}
} else {
name = this.read_expr();
}
this.expect("}") && this.next();
result = result("variable", name, false, true);
} else if (this.token === this.tok.T_CURLY_OPEN) {
// expression
// https://github.com/php/php-src/blob/master/Zend/zend_language_parser.y#L1246
curly = true;
result.destroy();
result = this.next().read_variable(false, false, false);
this.expect("}") && this.next();
} else if (this.token === this.tok.T_VARIABLE) {
// plain variable
// https://github.com/php/php-src/blob/master/Zend/zend_language_parser.y#L1231
result.destroy();
result = this.read_simple_variable(false);
// https://github.com/php/php-src/blob/master/Zend/zend_language_parser.y#L1233
if (this.token === "[") {
node = this.node("offsetlookup");
offset = this.next().read_encaps_var_offset();
this.expect("]") && this.next();
result = node(result, offset);
}
// https://github.com/php/php-src/blob/master/Zend/zend_language_parser.y#L1236
if (this.token === this.tok.T_OBJECT_OPERATOR) {
node = this.node("propertylookup");
this.next().expect(this.tok.T_STRING);
const what = this.node("identifier");
name = this.text();
this.next();
result = node(result, what(name));
}
// error / fallback
} else {
this.expect(this.tok.T_ENCAPSED_AND_WHITESPACE);
const value = this.text();
this.next();
// consider it as string
result.destroy();
result = result("string", false, value, false, value);
}
return encapsedPart(result, curly);
},
/**
* Reads an encapsed string
*/
read_encapsed_string: function(expect, isBinary = false) {
let node = this.node("encapsed");
this.next();
const start = this.lexer.yylloc.prev_offset - (isBinary ? 1 : 0);
const value = [];
let type = null;
if (expect === "`") {
type = this.ast.encapsed.TYPE_SHELL;
} else if (expect === '"') {
type = this.ast.encapsed.TYPE_STRING;
} else {
type = this.ast.encapsed.TYPE_HEREDOC;
}
// reading encapsed parts
while (this.token !== expect && this.token !== this.EOF) {
value.push(this.read_encapsed_string_item(true));
}
this.expect(expect) && this.next();
node = node(
value,
this.lexer._input.substring(start - 1, this.lexer.yylloc.first_offset),
type
);
if (expect === this.tok.T_END_HEREDOC) {
node.label = this.lexer.heredoc_label;
}
return node;
},
/**
* Constant token
*/
get_magic_constant: function() {
const result = this.node("magic");
const name = this.text();
this.next();
return result(name.toUpperCase(), name);
}
};
</code></pre>
</article>
</section>
</div>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a>
</footer>
<script src="scripts/linenumber.js"></script>
<script src="scripts/pagelocation.js"></script>
<script>
$(function () {
window.docsearch({
apiKey: 'd7422763b31425c3da8b220f22ff04d2',
indexName: 'glayzzle',
inputSelector: '.search-input',
debug: false, // Set debug to true if you want to inspect the dropdown
algoliaOptions: {
hitsPerPage: 7
}
});
});
</script>
</body>
</html>