update porting to new machine
[wikipedia-parser-hphp.git] / gen / php / Preprocessor_DOM.cpp
blob6b84907a6388955f769604fba36ade7b9224e239
2 #include <php/Parser.h>
3 #include <php/Preprocessor.h>
4 #include <php/Preprocessor_DOM.h>
5 #include <cpp/ext/ext.h>
7 namespace HPHP {
8 ///////////////////////////////////////////////////////////////////////////////
10 /* preface starts */
11 /* preface finishes */
12 /* SRC: Preprocessor_DOM.php line 789 */
13 Variant c_ppdpart::os_get(const char *s, int64 hash) {
14 return c_ObjectData::os_get(s, hash);
16 Variant &c_ppdpart::os_lval(const char *s, int64 hash) {
17 return c_ObjectData::os_lval(s, hash);
19 void c_ppdpart::o_get(ArrayElementVec &props) const {
20 props.push_back(NEW(ArrayElement)("out", m_out.isReferenced() ? ref(m_out) : m_out));
21 c_ObjectData::o_get(props);
23 bool c_ppdpart::o_exists(CStrRef s, int64 hash) const {
24 if (hash < 0) hash = hash_string(s.data(), s.length());
25 switch (hash & 1) {
26 case 0:
27 HASH_EXISTS_STRING(0x7C801AC012E9F722LL, out, 3);
28 break;
29 default:
30 break;
32 return c_ObjectData::o_exists(s, hash);
34 Variant c_ppdpart::o_get(CStrRef s, int64 hash) {
35 if (hash < 0) hash = hash_string(s.data(), s.length());
36 switch (hash & 1) {
37 case 0:
38 HASH_RETURN_STRING(0x7C801AC012E9F722LL, m_out,
39 out, 3);
40 break;
41 default:
42 break;
44 return c_ObjectData::o_get(s, hash);
46 Variant c_ppdpart::o_set(CStrRef s, int64 hash, CVarRef v,bool forInit /* = false */) {
47 if (hash < 0) hash = hash_string(s.data(), s.length());
48 switch (hash & 1) {
49 case 0:
50 HASH_SET_STRING(0x7C801AC012E9F722LL, m_out,
51 out, 3);
52 break;
53 default:
54 break;
56 return c_ObjectData::o_set(s, hash, v, forInit);
58 Variant &c_ppdpart::o_lval(CStrRef s, int64 hash) {
59 if (hash < 0) hash = hash_string(s.data(), s.length());
60 switch (hash & 1) {
61 case 0:
62 HASH_RETURN_STRING(0x7C801AC012E9F722LL, m_out,
63 out, 3);
64 break;
65 default:
66 break;
68 return c_ObjectData::o_lval(s, hash);
70 Variant c_ppdpart::os_constant(const char *s) {
71 return c_ObjectData::os_constant(s);
73 IMPLEMENT_CLASS(ppdpart)
74 ObjectData *c_ppdpart::create(Variant v_out // = ""
75 ) {
76 init();
77 t___construct(v_out);
78 return this;
80 ObjectData *c_ppdpart::dynCreate(CArrRef params, bool init /* = true */) {
81 if (init) {
82 int count = params.size();
83 if (count <= 0) return (create());
84 return (create(params.rvalAt(0)));
85 } else return this;
87 void c_ppdpart::dynConstruct(CArrRef params) {
88 int count = params.size();
89 if (count <= 0) (t___construct());
90 (t___construct(params.rvalAt(0)));
92 ObjectData *c_ppdpart::cloneImpl() {
93 c_ppdpart *obj = NEW(c_ppdpart)();
94 cloneSet(obj);
95 return obj;
97 void c_ppdpart::cloneSet(c_ppdpart *clone) {
98 clone->m_out = m_out.isReferenced() ? ref(m_out) : m_out;
99 ObjectData::cloneSet(clone);
101 Variant c_ppdpart::o_invoke(const char *s, CArrRef params, int64 hash, bool fatal) {
102 if (hash < 0) hash = hash_string_i(s);
103 switch (hash & 1) {
104 case 1:
105 HASH_GUARD(0x0D31D0AC229C615FLL, __construct) {
106 int count = params.size();
107 if (count <= 0) return (t___construct(), null);
108 return (t___construct(params.rvalAt(0)), null);
110 break;
111 default:
112 break;
114 return c_ObjectData::o_invoke(s, params, hash, fatal);
116 Variant c_ppdpart::o_invoke_few_args(const char *s, int64 hash, int count, CVarRef a0, CVarRef a1, CVarRef a2, CVarRef a3, CVarRef a4, CVarRef a5) {
117 if (hash < 0) hash = hash_string_i(s);
118 switch (hash & 1) {
119 case 1:
120 HASH_GUARD(0x0D31D0AC229C615FLL, __construct) {
121 if (count <= 0) return (t___construct(), null);
122 return (t___construct(a0), null);
124 break;
125 default:
126 break;
128 return c_ObjectData::o_invoke_few_args(s, hash, count, a0, a1, a2, a3, a4, a5);
130 Variant c_ppdpart::os_invoke(const char *c, const char *s, CArrRef params, int64 hash, bool fatal) {
131 return c_ObjectData::os_invoke(c, s, params, hash, fatal);
133 Variant cw_ppdpart$os_get(const char *s) {
134 return c_ppdpart::os_get(s, -1);
136 Variant &cw_ppdpart$os_lval(const char *s) {
137 return c_ppdpart::os_lval(s, -1);
139 Variant cw_ppdpart$os_constant(const char *s) {
140 return c_ppdpart::os_constant(s);
142 Variant cw_ppdpart$os_invoke(const char *c, const char *s, CArrRef params, bool fatal /* = true */) {
143 return c_ppdpart::os_invoke(c, s, params, -1, fatal);
145 void c_ppdpart::init() {
146 m_out = null;
148 /* SRC: Preprocessor_DOM.php line 797 */
149 void c_ppdpart::t___construct(Variant v_out // = ""
151 INSTANCE_METHOD_INJECTION(PPDPart, PPDPart::__construct);
152 bool oldInCtor = gasInCtor(true);
153 (m_out = v_out);
154 gasInCtor(oldInCtor);
155 } /* function */
156 /* SRC: Preprocessor_DOM.php line 720 */
157 Variant c_ppdstackelement::os_get(const char *s, int64 hash) {
158 return c_ObjectData::os_get(s, hash);
160 Variant &c_ppdstackelement::os_lval(const char *s, int64 hash) {
161 return c_ObjectData::os_lval(s, hash);
163 void c_ppdstackelement::o_get(ArrayElementVec &props) const {
164 props.push_back(NEW(ArrayElement)("open", m_open.isReferenced() ? ref(m_open) : m_open));
165 props.push_back(NEW(ArrayElement)("close", m_close.isReferenced() ? ref(m_close) : m_close));
166 props.push_back(NEW(ArrayElement)("count", m_count.isReferenced() ? ref(m_count) : m_count));
167 props.push_back(NEW(ArrayElement)("parts", m_parts.isReferenced() ? ref(m_parts) : m_parts));
168 props.push_back(NEW(ArrayElement)("lineStart", m_lineStart.isReferenced() ? ref(m_lineStart) : m_lineStart));
169 props.push_back(NEW(ArrayElement)("partClass", m_partClass.isReferenced() ? ref(m_partClass) : m_partClass));
170 c_ObjectData::o_get(props);
172 bool c_ppdstackelement::o_exists(CStrRef s, int64 hash) const {
173 if (hash < 0) hash = hash_string(s.data(), s.length());
174 switch (hash & 15) {
175 case 1:
176 HASH_EXISTS_STRING(0x2DAB7B8AC94308B1LL, partClass, 9);
177 break;
178 case 5:
179 HASH_EXISTS_STRING(0x0F84CB175598D0A5LL, lineStart, 9);
180 break;
181 case 6:
182 HASH_EXISTS_STRING(0x6A760D2EC60228C6LL, open, 4);
183 break;
184 case 11:
185 HASH_EXISTS_STRING(0x36B43082F052EC6BLL, close, 5);
186 HASH_EXISTS_STRING(0x3D66B5980D54BABBLL, count, 5);
187 break;
188 case 13:
189 HASH_EXISTS_STRING(0x2708FDA74562AD8DLL, parts, 5);
190 break;
191 default:
192 break;
194 return c_ObjectData::o_exists(s, hash);
196 Variant c_ppdstackelement::o_get(CStrRef s, int64 hash) {
197 if (hash < 0) hash = hash_string(s.data(), s.length());
198 switch (hash & 15) {
199 case 1:
200 HASH_RETURN_STRING(0x2DAB7B8AC94308B1LL, m_partClass,
201 partClass, 9);
202 break;
203 case 5:
204 HASH_RETURN_STRING(0x0F84CB175598D0A5LL, m_lineStart,
205 lineStart, 9);
206 break;
207 case 6:
208 HASH_RETURN_STRING(0x6A760D2EC60228C6LL, m_open,
209 open, 4);
210 break;
211 case 11:
212 HASH_RETURN_STRING(0x36B43082F052EC6BLL, m_close,
213 close, 5);
214 HASH_RETURN_STRING(0x3D66B5980D54BABBLL, m_count,
215 count, 5);
216 break;
217 case 13:
218 HASH_RETURN_STRING(0x2708FDA74562AD8DLL, m_parts,
219 parts, 5);
220 break;
221 default:
222 break;
224 return c_ObjectData::o_get(s, hash);
226 Variant c_ppdstackelement::o_set(CStrRef s, int64 hash, CVarRef v,bool forInit /* = false */) {
227 if (hash < 0) hash = hash_string(s.data(), s.length());
228 switch (hash & 15) {
229 case 1:
230 HASH_SET_STRING(0x2DAB7B8AC94308B1LL, m_partClass,
231 partClass, 9);
232 break;
233 case 5:
234 HASH_SET_STRING(0x0F84CB175598D0A5LL, m_lineStart,
235 lineStart, 9);
236 break;
237 case 6:
238 HASH_SET_STRING(0x6A760D2EC60228C6LL, m_open,
239 open, 4);
240 break;
241 case 11:
242 HASH_SET_STRING(0x36B43082F052EC6BLL, m_close,
243 close, 5);
244 HASH_SET_STRING(0x3D66B5980D54BABBLL, m_count,
245 count, 5);
246 break;
247 case 13:
248 HASH_SET_STRING(0x2708FDA74562AD8DLL, m_parts,
249 parts, 5);
250 break;
251 default:
252 break;
254 return c_ObjectData::o_set(s, hash, v, forInit);
256 Variant &c_ppdstackelement::o_lval(CStrRef s, int64 hash) {
257 if (hash < 0) hash = hash_string(s.data(), s.length());
258 switch (hash & 15) {
259 case 1:
260 HASH_RETURN_STRING(0x2DAB7B8AC94308B1LL, m_partClass,
261 partClass, 9);
262 break;
263 case 5:
264 HASH_RETURN_STRING(0x0F84CB175598D0A5LL, m_lineStart,
265 lineStart, 9);
266 break;
267 case 6:
268 HASH_RETURN_STRING(0x6A760D2EC60228C6LL, m_open,
269 open, 4);
270 break;
271 case 11:
272 HASH_RETURN_STRING(0x36B43082F052EC6BLL, m_close,
273 close, 5);
274 HASH_RETURN_STRING(0x3D66B5980D54BABBLL, m_count,
275 count, 5);
276 break;
277 case 13:
278 HASH_RETURN_STRING(0x2708FDA74562AD8DLL, m_parts,
279 parts, 5);
280 break;
281 default:
282 break;
284 return c_ObjectData::o_lval(s, hash);
286 Variant c_ppdstackelement::os_constant(const char *s) {
287 return c_ObjectData::os_constant(s);
289 IMPLEMENT_CLASS(ppdstackelement)
290 ObjectData *c_ppdstackelement::create(Variant v_data // = ScalarArrays::sa_[0]
292 init();
293 t___construct(v_data);
294 return this;
296 ObjectData *c_ppdstackelement::dynCreate(CArrRef params, bool init /* = true */) {
297 if (init) {
298 int count = params.size();
299 if (count <= 0) return (create());
300 return (create(params.rvalAt(0)));
301 } else return this;
303 void c_ppdstackelement::dynConstruct(CArrRef params) {
304 int count = params.size();
305 if (count <= 0) (t___construct());
306 (t___construct(params.rvalAt(0)));
308 ObjectData *c_ppdstackelement::cloneImpl() {
309 c_ppdstackelement *obj = NEW(c_ppdstackelement)();
310 cloneSet(obj);
311 return obj;
313 void c_ppdstackelement::cloneSet(c_ppdstackelement *clone) {
314 clone->m_open = m_open.isReferenced() ? ref(m_open) : m_open;
315 clone->m_close = m_close.isReferenced() ? ref(m_close) : m_close;
316 clone->m_count = m_count.isReferenced() ? ref(m_count) : m_count;
317 clone->m_parts = m_parts.isReferenced() ? ref(m_parts) : m_parts;
318 clone->m_lineStart = m_lineStart.isReferenced() ? ref(m_lineStart) : m_lineStart;
319 clone->m_partClass = m_partClass.isReferenced() ? ref(m_partClass) : m_partClass;
320 ObjectData::cloneSet(clone);
322 Variant c_ppdstackelement::o_invoke(const char *s, CArrRef params, int64 hash, bool fatal) {
323 if (hash < 0) hash = hash_string_i(s);
324 switch (hash & 15) {
325 case 1:
326 HASH_GUARD(0x27E7DBA875AD17E1LL, getflags) {
327 return (t_getflags());
329 break;
330 case 2:
331 HASH_GUARD(0x499E72B719A4CAC2LL, addpart) {
332 int count = params.size();
333 if (count <= 0) return (t_addpart(), null);
334 return (t_addpart(params.rvalAt(0)), null);
336 break;
337 case 6:
338 HASH_GUARD(0x1A5F5A2CB292E516LL, getaccum) {
339 return ref(t_getaccum());
341 break;
342 case 9:
343 HASH_GUARD(0x1CF88FA5EFC88C39LL, breaksyntax) {
344 int count = params.size();
345 if (count <= 0) return (t_breaksyntax());
346 return (t_breaksyntax(params.rvalAt(0)));
348 break;
349 case 12:
350 HASH_GUARD(0x1726802D706D7BECLL, getcurrentpart) {
351 return (t_getcurrentpart());
353 break;
354 case 15:
355 HASH_GUARD(0x0D31D0AC229C615FLL, __construct) {
356 int count = params.size();
357 if (count <= 0) return (t___construct(), null);
358 return (t___construct(params.rvalAt(0)), null);
360 break;
361 default:
362 break;
364 return c_ObjectData::o_invoke(s, params, hash, fatal);
366 Variant c_ppdstackelement::o_invoke_few_args(const char *s, int64 hash, int count, CVarRef a0, CVarRef a1, CVarRef a2, CVarRef a3, CVarRef a4, CVarRef a5) {
367 if (hash < 0) hash = hash_string_i(s);
368 switch (hash & 15) {
369 case 1:
370 HASH_GUARD(0x27E7DBA875AD17E1LL, getflags) {
371 return (t_getflags());
373 break;
374 case 2:
375 HASH_GUARD(0x499E72B719A4CAC2LL, addpart) {
376 if (count <= 0) return (t_addpart(), null);
377 return (t_addpart(a0), null);
379 break;
380 case 6:
381 HASH_GUARD(0x1A5F5A2CB292E516LL, getaccum) {
382 return ref(t_getaccum());
384 break;
385 case 9:
386 HASH_GUARD(0x1CF88FA5EFC88C39LL, breaksyntax) {
387 if (count <= 0) return (t_breaksyntax());
388 return (t_breaksyntax(a0));
390 break;
391 case 12:
392 HASH_GUARD(0x1726802D706D7BECLL, getcurrentpart) {
393 return (t_getcurrentpart());
395 break;
396 case 15:
397 HASH_GUARD(0x0D31D0AC229C615FLL, __construct) {
398 if (count <= 0) return (t___construct(), null);
399 return (t___construct(a0), null);
401 break;
402 default:
403 break;
405 return c_ObjectData::o_invoke_few_args(s, hash, count, a0, a1, a2, a3, a4, a5);
407 Variant c_ppdstackelement::os_invoke(const char *c, const char *s, CArrRef params, int64 hash, bool fatal) {
408 return c_ObjectData::os_invoke(c, s, params, hash, fatal);
410 Variant cw_ppdstackelement$os_get(const char *s) {
411 return c_ppdstackelement::os_get(s, -1);
413 Variant &cw_ppdstackelement$os_lval(const char *s) {
414 return c_ppdstackelement::os_lval(s, -1);
416 Variant cw_ppdstackelement$os_constant(const char *s) {
417 return c_ppdstackelement::os_constant(s);
419 Variant cw_ppdstackelement$os_invoke(const char *c, const char *s, CArrRef params, bool fatal /* = true */) {
420 return c_ppdstackelement::os_invoke(c, s, params, -1, fatal);
422 void c_ppdstackelement::init() {
423 m_open = null;
424 m_close = null;
425 m_count = null;
426 m_parts = null;
427 m_lineStart = null;
428 m_partClass = "PPDPart";
430 /* SRC: Preprocessor_DOM.php line 729 */
431 void c_ppdstackelement::t___construct(Variant v_data // = ScalarArrays::sa_[0]
433 INSTANCE_METHOD_INJECTION(PPDStackElement, PPDStackElement::__construct);
434 bool oldInCtor = gasInCtor(true);
435 Variant v_class;
436 Primitive v_name = 0;
437 Variant v_value;
439 (v_class = m_partClass);
440 (m_parts = Array(ArrayInit(1).set(0, LINE(731,create_object(toString(v_class), Array()))).create()));
442 LOOP_COUNTER(1);
443 for (ArrayIterPtr iter3 = v_data.begin("ppdstackelement"); !iter3->end(); iter3->next()) {
444 LOOP_COUNTER_CHECK(1);
445 v_value = iter3->second();
446 v_name = iter3->first();
448 (o_lval(toString(v_name), -1LL) = v_value);
452 gasInCtor(oldInCtor);
453 } /* function */
454 /* SRC: Preprocessor_DOM.php line 738 */
455 Variant c_ppdstackelement::t_getaccum() {
456 INSTANCE_METHOD_INJECTION(PPDStackElement, PPDStackElement::getAccum);
457 return ref(lval(m_parts.rvalAt(LINE(739,x_count(m_parts)) - 1LL).o_lval("out", 0x7C801AC012E9F722LL)));
458 } /* function */
459 /* SRC: Preprocessor_DOM.php line 742 */
460 void c_ppdstackelement::t_addpart(Variant v_s // = ""
462 INSTANCE_METHOD_INJECTION(PPDStackElement, PPDStackElement::addPart);
463 Variant v_class;
465 (v_class = m_partClass);
466 m_parts.append((LINE(744,create_object(toString(v_class), Array(ArrayInit(1).set(0, ref(v_s)).create())))));
467 } /* function */
468 /* SRC: Preprocessor_DOM.php line 747 */
469 Variant c_ppdstackelement::t_getcurrentpart() {
470 INSTANCE_METHOD_INJECTION(PPDStackElement, PPDStackElement::getCurrentPart);
471 return m_parts.rvalAt(LINE(748,x_count(m_parts)) - 1LL);
472 } /* function */
473 /* SRC: Preprocessor_DOM.php line 751 */
474 Array c_ppdstackelement::t_getflags() {
475 INSTANCE_METHOD_INJECTION(PPDStackElement, PPDStackElement::getFlags);
476 int v_partCount = 0;
477 bool v_findPipe = false;
479 (v_partCount = LINE(752,x_count(m_parts)));
480 (v_findPipe = !equal(m_open, "\n") && !equal(m_open, "["));
481 return Array(ArrayInit(3).set(0, "findPipe", v_findPipe, 0x5AE3699687C882F9LL).set(1, "findEquals", v_findPipe && more(v_partCount, 1LL) && !(toObject(m_parts.rvalAt(v_partCount - 1LL))->t___isset("eqpos")), 0x1B3A1B4FC8E2BF86LL).set(2, "inHeading", equal(m_open, "\n"), 0x73F30E0F2D277D2DLL).create());
482 } /* function */
483 /* SRC: Preprocessor_DOM.php line 764 */
484 Variant c_ppdstackelement::t_breaksyntax(Variant v_openingCount // = false
486 INSTANCE_METHOD_INJECTION(PPDStackElement, PPDStackElement::breakSyntax);
487 Variant v_s;
488 bool v_first = false;
489 Variant v_part;
491 if (equal(m_open, "\n")) {
492 (v_s = m_parts.rvalAt(0LL, 0x77CFA1EEF01BCA90LL).o_get("out", 0x7C801AC012E9F722LL));
494 else {
495 if (same(v_openingCount, false)) {
496 (v_openingCount = m_count);
498 (v_s = LINE(771,x_str_repeat(toString(m_open), toInt32(v_openingCount))));
499 (v_first = true);
501 LOOP_COUNTER(4);
502 Variant map5 = m_parts;
503 for (ArrayIterPtr iter6 = map5.begin("ppdstackelement"); !iter6->end(); iter6->next()) {
504 LOOP_COUNTER_CHECK(4);
505 v_part = iter6->second();
507 if (v_first) {
508 (v_first = false);
510 else {
511 concat_assign(v_s, "|");
513 concat_assign(v_s, toString(v_part.o_get("out", 0x7C801AC012E9F722LL)));
518 return v_s;
519 } /* function */
520 /* SRC: Preprocessor_DOM.php line 1389 */
521 Variant c_ppnode_dom::os_get(const char *s, int64 hash) {
522 return c_ObjectData::os_get(s, hash);
524 Variant &c_ppnode_dom::os_lval(const char *s, int64 hash) {
525 return c_ObjectData::os_lval(s, hash);
527 void c_ppnode_dom::o_get(ArrayElementVec &props) const {
528 props.push_back(NEW(ArrayElement)("node", m_node.isReferenced() ? ref(m_node) : m_node));
529 c_ObjectData::o_get(props);
531 bool c_ppnode_dom::o_exists(CStrRef s, int64 hash) const {
532 if (hash < 0) hash = hash_string(s.data(), s.length());
533 switch (hash & 1) {
534 case 1:
535 HASH_EXISTS_STRING(0x75AF6DCF22783AC1LL, node, 4);
536 break;
537 default:
538 break;
540 return c_ObjectData::o_exists(s, hash);
542 Variant c_ppnode_dom::o_get(CStrRef s, int64 hash) {
543 if (hash < 0) hash = hash_string(s.data(), s.length());
544 switch (hash & 1) {
545 case 1:
546 HASH_RETURN_STRING(0x75AF6DCF22783AC1LL, m_node,
547 node, 4);
548 break;
549 default:
550 break;
552 return c_ObjectData::o_get(s, hash);
554 Variant c_ppnode_dom::o_set(CStrRef s, int64 hash, CVarRef v,bool forInit /* = false */) {
555 if (hash < 0) hash = hash_string(s.data(), s.length());
556 switch (hash & 1) {
557 case 1:
558 HASH_SET_STRING(0x75AF6DCF22783AC1LL, m_node,
559 node, 4);
560 break;
561 default:
562 break;
564 return c_ObjectData::o_set(s, hash, v, forInit);
566 Variant &c_ppnode_dom::o_lval(CStrRef s, int64 hash) {
567 if (hash < 0) hash = hash_string(s.data(), s.length());
568 switch (hash & 1) {
569 case 1:
570 HASH_RETURN_STRING(0x75AF6DCF22783AC1LL, m_node,
571 node, 4);
572 break;
573 default:
574 break;
576 return c_ObjectData::o_lval(s, hash);
578 Variant c_ppnode_dom::os_constant(const char *s) {
579 return c_ObjectData::os_constant(s);
581 IMPLEMENT_CLASS(ppnode_dom)
582 ObjectData *c_ppnode_dom::create(Variant v_node, Variant v_xpath // = false
584 init();
585 t___construct(v_node, v_xpath);
586 return this;
588 ObjectData *c_ppnode_dom::dynCreate(CArrRef params, bool init /* = true */) {
589 if (init) {
590 int count = params.size();
591 if (count <= 1) return (create(params.rvalAt(0)));
592 return (create(params.rvalAt(0), params.rvalAt(1)));
593 } else return this;
595 void c_ppnode_dom::dynConstruct(CArrRef params) {
596 int count = params.size();
597 if (count <= 1) (t___construct(params.rvalAt(0)));
598 (t___construct(params.rvalAt(0), params.rvalAt(1)));
600 ObjectData *c_ppnode_dom::cloneImpl() {
601 c_ppnode_dom *obj = NEW(c_ppnode_dom)();
602 cloneSet(obj);
603 return obj;
605 void c_ppnode_dom::cloneSet(c_ppnode_dom *clone) {
606 clone->m_node = m_node.isReferenced() ? ref(m_node) : m_node;
607 ObjectData::cloneSet(clone);
609 Variant c_ppnode_dom::o_invoke(const char *s, CArrRef params, int64 hash, bool fatal) {
610 if (hash < 0) hash = hash_string_i(s);
611 switch (hash & 31) {
612 case 0:
613 HASH_GUARD(0x73E7C3304C0C5360LL, splitarg) {
614 return (t_splitarg());
616 break;
617 case 5:
618 HASH_GUARD(0x23F51CDECC198965LL, getname) {
619 return (t_getname());
621 break;
622 case 6:
623 HASH_GUARD(0x0A41DBE0830902C6LL, item) {
624 return (t_item(params.rvalAt(0)));
626 break;
627 case 9:
628 HASH_GUARD(0x050681239965E069LL, getfirstchild) {
629 return (t_getfirstchild());
631 break;
632 case 12:
633 HASH_GUARD(0x47D4EE3CB3EB696CLL, splitext) {
634 return (t_splitext());
636 break;
637 case 13:
638 HASH_GUARD(0x0621AE2D22A1922DLL, splitheading) {
639 return (t_splitheading());
641 break;
642 case 14:
643 HASH_GUARD(0x5ABDC66291F1CA2ELL, getchildrenoftype) {
644 return (t_getchildrenoftype(params.rvalAt(0)));
646 break;
647 case 15:
648 HASH_GUARD(0x732EC1BDA8EC520FLL, getchildren) {
649 return (t_getchildren());
651 break;
652 case 19:
653 HASH_GUARD(0x642C2D2994B34A13LL, __tostring) {
654 return (t___tostring());
656 break;
657 case 20:
658 HASH_GUARD(0x41EB078EF92C44D4LL, getlength) {
659 return (t_getlength());
661 break;
662 case 25:
663 HASH_GUARD(0x4CB333CF2D880119LL, getnextsibling) {
664 return (t_getnextsibling());
666 break;
667 case 31:
668 HASH_GUARD(0x0D31D0AC229C615FLL, __construct) {
669 int count = params.size();
670 if (count <= 1) return (t___construct(params.rvalAt(0)), null);
671 return (t___construct(params.rvalAt(0), params.rvalAt(1)), null);
673 break;
674 default:
675 break;
677 return c_ObjectData::o_invoke(s, params, hash, fatal);
679 Variant c_ppnode_dom::o_invoke_few_args(const char *s, int64 hash, int count, CVarRef a0, CVarRef a1, CVarRef a2, CVarRef a3, CVarRef a4, CVarRef a5) {
680 if (hash < 0) hash = hash_string_i(s);
681 switch (hash & 31) {
682 case 0:
683 HASH_GUARD(0x73E7C3304C0C5360LL, splitarg) {
684 return (t_splitarg());
686 break;
687 case 5:
688 HASH_GUARD(0x23F51CDECC198965LL, getname) {
689 return (t_getname());
691 break;
692 case 6:
693 HASH_GUARD(0x0A41DBE0830902C6LL, item) {
694 return (t_item(a0));
696 break;
697 case 9:
698 HASH_GUARD(0x050681239965E069LL, getfirstchild) {
699 return (t_getfirstchild());
701 break;
702 case 12:
703 HASH_GUARD(0x47D4EE3CB3EB696CLL, splitext) {
704 return (t_splitext());
706 break;
707 case 13:
708 HASH_GUARD(0x0621AE2D22A1922DLL, splitheading) {
709 return (t_splitheading());
711 break;
712 case 14:
713 HASH_GUARD(0x5ABDC66291F1CA2ELL, getchildrenoftype) {
714 return (t_getchildrenoftype(a0));
716 break;
717 case 15:
718 HASH_GUARD(0x732EC1BDA8EC520FLL, getchildren) {
719 return (t_getchildren());
721 break;
722 case 19:
723 HASH_GUARD(0x642C2D2994B34A13LL, __tostring) {
724 return (t___tostring());
726 break;
727 case 20:
728 HASH_GUARD(0x41EB078EF92C44D4LL, getlength) {
729 return (t_getlength());
731 break;
732 case 25:
733 HASH_GUARD(0x4CB333CF2D880119LL, getnextsibling) {
734 return (t_getnextsibling());
736 break;
737 case 31:
738 HASH_GUARD(0x0D31D0AC229C615FLL, __construct) {
739 if (count <= 1) return (t___construct(a0), null);
740 return (t___construct(a0, a1), null);
742 break;
743 default:
744 break;
746 return c_ObjectData::o_invoke_few_args(s, hash, count, a0, a1, a2, a3, a4, a5);
748 Variant c_ppnode_dom::os_invoke(const char *c, const char *s, CArrRef params, int64 hash, bool fatal) {
749 return c_ObjectData::os_invoke(c, s, params, hash, fatal);
751 Variant cw_ppnode_dom$os_get(const char *s) {
752 return c_ppnode_dom::os_get(s, -1);
754 Variant &cw_ppnode_dom$os_lval(const char *s) {
755 return c_ppnode_dom::os_lval(s, -1);
757 Variant cw_ppnode_dom$os_constant(const char *s) {
758 return c_ppnode_dom::os_constant(s);
760 Variant cw_ppnode_dom$os_invoke(const char *c, const char *s, CArrRef params, bool fatal /* = true */) {
761 return c_ppnode_dom::os_invoke(c, s, params, -1, fatal);
763 void c_ppnode_dom::init() {
764 m_node = null;
766 /* SRC: Preprocessor_DOM.php line 1392 */
767 void c_ppnode_dom::t___construct(Variant v_node, Variant v_xpath // = false
769 INSTANCE_METHOD_INJECTION(PPNode_DOM, PPNode_DOM::__construct);
770 bool oldInCtor = gasInCtor(true);
771 (m_node = v_node);
772 gasInCtor(oldInCtor);
773 } /* function */
774 /* SRC: Preprocessor_DOM.php line 1396 */
775 Variant c_ppnode_dom::t___get(Variant v_name) {
776 INSTANCE_METHOD_INJECTION(PPNode_DOM, PPNode_DOM::__get);
777 if (equal(v_name, "xpath")) {
778 (o_lval("xpath", 0x1359AF361FE1E1EALL) = ((Object)(LINE(1398,p_domxpath(p_domxpath(NEWOBJ(c_domxpath)())->create(m_node.o_get("ownerDocument", 0x0222D017809853C8LL)))))));
780 return o_get("xpath", 0x1359AF361FE1E1EALL);
781 } /* function */
782 /* SRC: Preprocessor_DOM.php line 1396 */
783 Variant &c_ppnode_dom::___lval(Variant v_name) {
784 INSTANCE_METHOD_INJECTION(PPNode_DOM, PPNode_DOM::__get);
785 Variant &v = get_global_variables()->__lvalProxy;
786 v = t___get(v_name);
787 return v;
788 } /* function */
789 /* SRC: Preprocessor_DOM.php line 1403 */
790 String c_ppnode_dom::t___tostring() {
791 INSTANCE_METHOD_INJECTION(PPNode_DOM, PPNode_DOM::__toString);
792 Variant v_s;
793 Variant v_node;
795 if (instanceOf(m_node, "DOMNodeList")) {
796 (v_s = "");
798 LOOP_COUNTER(7);
799 Variant map8 = m_node;
800 for (ArrayIterPtr iter9 = map8.begin("ppnode_dom"); !iter9->end(); iter9->next()) {
801 LOOP_COUNTER_CHECK(7);
802 v_node = iter9->second();
804 concat_assign(v_s, toString(LINE(1407,v_node.o_get("ownerDocument", 0x0222D017809853C8LL).o_invoke_few_args("saveXML", 0x26D66F56DDDC32E5LL, 1, v_node))));
809 else {
810 (v_s = LINE(1410,m_node.o_get("ownerDocument", 0x0222D017809853C8LL).o_invoke_few_args("saveXML", 0x26D66F56DDDC32E5LL, 1, m_node)));
812 return toString(v_s);
813 } /* function */
814 /* SRC: Preprocessor_DOM.php line 1415 */
815 Variant c_ppnode_dom::t_getchildren() {
816 INSTANCE_METHOD_INJECTION(PPNode_DOM, PPNode_DOM::getChildren);
817 return toBoolean(m_node.o_get("childNodes", 0x795010C5D07D8B8ELL)) ? ((Variant)(LINE(1416,create_object("self", Array(ArrayInit(1).set(0, m_node.o_get("childNodes", 0x795010C5D07D8B8ELL)).create()))))) : ((Variant)(false));
818 } /* function */
819 /* SRC: Preprocessor_DOM.php line 1419 */
820 Variant c_ppnode_dom::t_getfirstchild() {
821 INSTANCE_METHOD_INJECTION(PPNode_DOM, PPNode_DOM::getFirstChild);
822 return toBoolean(m_node.o_get("firstChild", 0x22862CD26C0AAB50LL)) ? ((Variant)(LINE(1420,create_object("self", Array(ArrayInit(1).set(0, m_node.o_get("firstChild", 0x22862CD26C0AAB50LL)).create()))))) : ((Variant)(false));
823 } /* function */
824 /* SRC: Preprocessor_DOM.php line 1423 */
825 Variant c_ppnode_dom::t_getnextsibling() {
826 INSTANCE_METHOD_INJECTION(PPNode_DOM, PPNode_DOM::getNextSibling);
827 return toBoolean(m_node.o_get("nextSibling", 0x0B3EC7643EE81822LL)) ? ((Variant)(LINE(1424,create_object("self", Array(ArrayInit(1).set(0, m_node.o_get("nextSibling", 0x0B3EC7643EE81822LL)).create()))))) : ((Variant)(false));
828 } /* function */
829 /* SRC: Preprocessor_DOM.php line 1427 */
830 Object c_ppnode_dom::t_getchildrenoftype(Variant v_type) {
831 INSTANCE_METHOD_INJECTION(PPNode_DOM, PPNode_DOM::getChildrenOfType);
832 return LINE(1428,create_object("self", Array(ArrayInit(1).set(0, o_get("xpath", 0x1359AF361FE1E1EALL).o_invoke_few_args("query", 0x356758D4414DA377LL, 2, v_type, m_node)).create())));
833 } /* function */
834 /* SRC: Preprocessor_DOM.php line 1431 */
835 Variant c_ppnode_dom::t_getlength() {
836 INSTANCE_METHOD_INJECTION(PPNode_DOM, PPNode_DOM::getLength);
837 if (instanceOf(m_node, "DOMNodeList")) {
838 return m_node.o_get("length", 0x2993E8EB119CAB21LL);
840 else {
841 return false;
843 return null;
844 } /* function */
845 /* SRC: Preprocessor_DOM.php line 1439 */
846 Variant c_ppnode_dom::t_item(Variant v_i) {
847 INSTANCE_METHOD_INJECTION(PPNode_DOM, PPNode_DOM::item);
848 Variant v_item;
850 (v_item = LINE(1440,m_node.o_invoke_few_args("item", 0x0A41DBE0830902C6LL, 1, v_i)));
851 return toBoolean(v_item) ? ((Variant)(LINE(1441,create_object("self", Array(ArrayInit(1).set(0, v_item).create()))))) : ((Variant)(false));
852 } /* function */
853 /* SRC: Preprocessor_DOM.php line 1444 */
854 Variant c_ppnode_dom::t_getname() {
855 INSTANCE_METHOD_INJECTION(PPNode_DOM, PPNode_DOM::getName);
856 if (instanceOf(m_node, "DOMNodeList")) {
857 return "#nodelist";
859 else {
860 return m_node.o_get("nodeName", 0x009B66FACA616B3CLL);
862 return null;
863 } /* function */
864 /* SRC: Preprocessor_DOM.php line 1458 */
865 Array c_ppnode_dom::t_splitarg() {
866 INSTANCE_METHOD_INJECTION(PPNode_DOM, PPNode_DOM::splitArg);
867 Variant eo_0;
868 Variant eo_1;
869 Variant eo_2;
870 Variant v_names;
871 Variant v_values;
872 Variant v_name;
873 Variant v_index;
875 (v_names = LINE(1459,o_get("xpath", 0x1359AF361FE1E1EALL).o_invoke_few_args("query", 0x356758D4414DA377LL, 2, "name", m_node)));
876 (v_values = LINE(1460,o_get("xpath", 0x1359AF361FE1E1EALL).o_invoke_few_args("query", 0x356758D4414DA377LL, 2, "value", m_node)));
877 if (!(toBoolean(v_names.o_get("length", 0x2993E8EB119CAB21LL))) || !(toBoolean(v_values.o_get("length", 0x2993E8EB119CAB21LL)))) {
878 throw_exception(LINE(1462,create_object("mwexception", Array(ArrayInit(1).set(0, "Invalid brace node passed to PPNode_DOM::splitArg").create()))));
880 (v_name = LINE(1464,v_names.o_invoke_few_args("item", 0x0A41DBE0830902C6LL, 1, 0LL)));
881 (v_index = LINE(1465,v_name.o_invoke_few_args("getAttribute", 0x49F89C466612FC28LL, 1, "index")));
882 return (assignCallTemp(eo_0, LINE(1467,create_object("self", Array(ArrayInit(1).set(0, v_name).create())))),assignCallTemp(eo_1, v_index),assignCallTemp(eo_2, LINE(1469,create_object("self", Array(ArrayInit(1).set(0, v_values.o_invoke_few_args("item", 0x0A41DBE0830902C6LL, 1, 0LL)).create())))),Array(ArrayInit(3).set(0, "name", eo_0, 0x0BCDB293DC3CBDDCLL).set(1, "index", eo_1, 0x440D5888C0FF3081LL).set(2, "value", eo_2, 0x69E7413AE0C88471LL).create()));
883 } /* function */
884 /* SRC: Preprocessor_DOM.php line 1476 */
885 Variant c_ppnode_dom::t_splitext() {
886 INSTANCE_METHOD_INJECTION(PPNode_DOM, PPNode_DOM::splitExt);
887 Variant eo_0;
888 Variant eo_1;
889 Variant v_names;
890 Variant v_attrs;
891 Variant v_inners;
892 Variant v_closes;
893 Variant v_parts;
895 (v_names = LINE(1477,o_get("xpath", 0x1359AF361FE1E1EALL).o_invoke_few_args("query", 0x356758D4414DA377LL, 2, "name", m_node)));
896 (v_attrs = LINE(1478,o_get("xpath", 0x1359AF361FE1E1EALL).o_invoke_few_args("query", 0x356758D4414DA377LL, 2, "attr", m_node)));
897 (v_inners = LINE(1479,o_get("xpath", 0x1359AF361FE1E1EALL).o_invoke_few_args("query", 0x356758D4414DA377LL, 2, "inner", m_node)));
898 (v_closes = LINE(1480,o_get("xpath", 0x1359AF361FE1E1EALL).o_invoke_few_args("query", 0x356758D4414DA377LL, 2, "close", m_node)));
899 if (!(toBoolean(v_names.o_get("length", 0x2993E8EB119CAB21LL))) || !(toBoolean(v_attrs.o_get("length", 0x2993E8EB119CAB21LL)))) {
900 throw_exception(LINE(1482,create_object("mwexception", Array(ArrayInit(1).set(0, "Invalid ext node passed to PPNode_DOM::splitExt").create()))));
902 (v_parts = (assignCallTemp(eo_0, LINE(1485,create_object("self", Array(ArrayInit(1).set(0, v_names.o_invoke_few_args("item", 0x0A41DBE0830902C6LL, 1, 0LL)).create())))),assignCallTemp(eo_1, LINE(1486,create_object("self", Array(ArrayInit(1).set(0, v_attrs.o_invoke_few_args("item", 0x0A41DBE0830902C6LL, 1, 0LL)).create())))),Array(ArrayInit(2).set(0, "name", eo_0, 0x0BCDB293DC3CBDDCLL).set(1, "attr", eo_1, 0x64311A2C8443755DLL).create())));
903 if (toBoolean(v_inners.o_get("length", 0x2993E8EB119CAB21LL))) {
904 v_parts.set("inner", (LINE(1488,create_object("self", Array(ArrayInit(1).set(0, v_inners.o_invoke_few_args("item", 0x0A41DBE0830902C6LL, 1, 0LL)).create())))), 0x4F20D07BB803C1FELL);
906 if (toBoolean(v_closes.o_get("length", 0x2993E8EB119CAB21LL))) {
907 v_parts.set("close", (LINE(1491,create_object("self", Array(ArrayInit(1).set(0, v_closes.o_invoke_few_args("item", 0x0A41DBE0830902C6LL, 1, 0LL)).create())))), 0x36B43082F052EC6BLL);
909 return v_parts;
910 } /* function */
911 /* SRC: Preprocessor_DOM.php line 1499 */
912 Array c_ppnode_dom::t_splitheading() {
913 INSTANCE_METHOD_INJECTION(PPNode_DOM, PPNode_DOM::splitHeading);
914 Variant eo_0;
915 Variant eo_1;
916 Variant eo_2;
917 if (equal(!(toBoolean(o_get("nodeName", 0x009B66FACA616B3CLL))), "h")) {
918 throw_exception(LINE(1501,create_object("mwexception", Array(ArrayInit(1).set(0, "Invalid h node passed to PPNode_DOM::splitHeading").create()))));
920 return (assignCallTemp(eo_0, LINE(1504,m_node.o_invoke_few_args("getAttribute", 0x49F89C466612FC28LL, 1, "i"))),assignCallTemp(eo_1, LINE(1505,m_node.o_invoke_few_args("getAttribute", 0x49F89C466612FC28LL, 1, "level"))),assignCallTemp(eo_2, LINE(1506,o_root_invoke_few_args("getChildren", 0x732EC1BDA8EC520FLL, 0))),Array(ArrayInit(3).set(0, "i", eo_0, 0x0EB22EDA95766E98LL).set(1, "level", eo_1, 0x26B910814038EBA3LL).set(2, "contents", eo_2, 0x5FAC83E143BEACFELL).create()));
921 } /* function */
922 /* SRC: Preprocessor_DOM.php line 642 */
923 Variant c_ppdstack::os_get(const char *s, int64 hash) {
924 DECLARE_GLOBAL_VARIABLES(g);
925 if (hash < 0) hash = hash_string(s);
926 switch (hash & 1) {
927 case 0:
928 HASH_RETURN(0x03CADA938C98C156LL, g->s_ppdstack$$false,
929 false);
930 break;
931 default:
932 break;
934 return c_ObjectData::os_get(s, hash);
936 Variant &c_ppdstack::os_lval(const char *s, int64 hash) {
937 DECLARE_GLOBAL_VARIABLES(g);
938 if (hash < 0) hash = hash_string(s);
939 switch (hash & 1) {
940 case 0:
941 HASH_RETURN(0x03CADA938C98C156LL, g->s_ppdstack$$false,
942 false);
943 break;
944 default:
945 break;
947 return c_ObjectData::os_lval(s, hash);
949 void c_ppdstack::o_get(ArrayElementVec &props) const {
950 props.push_back(NEW(ArrayElement)("stack", m_stack.isReferenced() ? ref(m_stack) : m_stack));
951 props.push_back(NEW(ArrayElement)("rootAccum", m_rootAccum.isReferenced() ? ref(m_rootAccum) : m_rootAccum));
952 props.push_back(NEW(ArrayElement)("top", m_top.isReferenced() ? ref(m_top) : m_top));
953 props.push_back(NEW(ArrayElement)("out", m_out.isReferenced() ? ref(m_out) : m_out));
954 props.push_back(NEW(ArrayElement)("elementClass", m_elementClass.isReferenced() ? ref(m_elementClass) : m_elementClass));
955 c_ObjectData::o_get(props);
957 bool c_ppdstack::o_exists(CStrRef s, int64 hash) const {
958 if (hash < 0) hash = hash_string(s.data(), s.length());
959 switch (hash & 15) {
960 case 2:
961 HASH_EXISTS_STRING(0x7C801AC012E9F722LL, out, 3);
962 break;
963 case 3:
964 HASH_EXISTS_STRING(0x7DD6ABCF558AD1B3LL, elementClass, 12);
965 break;
966 case 8:
967 HASH_EXISTS_STRING(0x1854FD73A00D89E8LL, top, 3);
968 break;
969 case 11:
970 HASH_EXISTS_STRING(0x5084E637B870262BLL, stack, 5);
971 break;
972 case 15:
973 HASH_EXISTS_STRING(0x5F4D08F214717E0FLL, rootAccum, 9);
974 break;
975 default:
976 break;
978 return c_ObjectData::o_exists(s, hash);
980 Variant c_ppdstack::o_get(CStrRef s, int64 hash) {
981 if (hash < 0) hash = hash_string(s.data(), s.length());
982 switch (hash & 15) {
983 case 2:
984 HASH_RETURN_STRING(0x7C801AC012E9F722LL, m_out,
985 out, 3);
986 break;
987 case 3:
988 HASH_RETURN_STRING(0x7DD6ABCF558AD1B3LL, m_elementClass,
989 elementClass, 12);
990 break;
991 case 8:
992 HASH_RETURN_STRING(0x1854FD73A00D89E8LL, m_top,
993 top, 3);
994 break;
995 case 11:
996 HASH_RETURN_STRING(0x5084E637B870262BLL, m_stack,
997 stack, 5);
998 break;
999 case 15:
1000 HASH_RETURN_STRING(0x5F4D08F214717E0FLL, m_rootAccum,
1001 rootAccum, 9);
1002 break;
1003 default:
1004 break;
1006 return c_ObjectData::o_get(s, hash);
1008 Variant c_ppdstack::o_set(CStrRef s, int64 hash, CVarRef v,bool forInit /* = false */) {
1009 if (hash < 0) hash = hash_string(s.data(), s.length());
1010 switch (hash & 15) {
1011 case 2:
1012 HASH_SET_STRING(0x7C801AC012E9F722LL, m_out,
1013 out, 3);
1014 break;
1015 case 3:
1016 HASH_SET_STRING(0x7DD6ABCF558AD1B3LL, m_elementClass,
1017 elementClass, 12);
1018 break;
1019 case 8:
1020 HASH_SET_STRING(0x1854FD73A00D89E8LL, m_top,
1021 top, 3);
1022 break;
1023 case 11:
1024 HASH_SET_STRING(0x5084E637B870262BLL, m_stack,
1025 stack, 5);
1026 break;
1027 case 15:
1028 HASH_SET_STRING(0x5F4D08F214717E0FLL, m_rootAccum,
1029 rootAccum, 9);
1030 break;
1031 default:
1032 break;
1034 return c_ObjectData::o_set(s, hash, v, forInit);
1036 Variant &c_ppdstack::o_lval(CStrRef s, int64 hash) {
1037 if (hash < 0) hash = hash_string(s.data(), s.length());
1038 switch (hash & 15) {
1039 case 2:
1040 HASH_RETURN_STRING(0x7C801AC012E9F722LL, m_out,
1041 out, 3);
1042 break;
1043 case 3:
1044 HASH_RETURN_STRING(0x7DD6ABCF558AD1B3LL, m_elementClass,
1045 elementClass, 12);
1046 break;
1047 case 8:
1048 HASH_RETURN_STRING(0x1854FD73A00D89E8LL, m_top,
1049 top, 3);
1050 break;
1051 case 11:
1052 HASH_RETURN_STRING(0x5084E637B870262BLL, m_stack,
1053 stack, 5);
1054 break;
1055 case 15:
1056 HASH_RETURN_STRING(0x5F4D08F214717E0FLL, m_rootAccum,
1057 rootAccum, 9);
1058 break;
1059 default:
1060 break;
1062 return c_ObjectData::o_lval(s, hash);
1064 Variant c_ppdstack::os_constant(const char *s) {
1065 return c_ObjectData::os_constant(s);
1067 IMPLEMENT_CLASS(ppdstack)
1068 ObjectData *c_ppdstack::create() {
1069 init();
1070 t___construct();
1071 return this;
1073 ObjectData *c_ppdstack::dynCreate(CArrRef params, bool init /* = true */) {
1074 if (init) {
1075 return (create());
1076 } else return this;
1078 void c_ppdstack::dynConstruct(CArrRef params) {
1079 (t___construct());
1081 ObjectData *c_ppdstack::cloneImpl() {
1082 c_ppdstack *obj = NEW(c_ppdstack)();
1083 cloneSet(obj);
1084 return obj;
1086 void c_ppdstack::cloneSet(c_ppdstack *clone) {
1087 clone->m_stack = m_stack.isReferenced() ? ref(m_stack) : m_stack;
1088 clone->m_rootAccum = m_rootAccum.isReferenced() ? ref(m_rootAccum) : m_rootAccum;
1089 clone->m_top = m_top.isReferenced() ? ref(m_top) : m_top;
1090 clone->m_out = m_out.isReferenced() ? ref(m_out) : m_out;
1091 clone->m_elementClass = m_elementClass.isReferenced() ? ref(m_elementClass) : m_elementClass;
1092 ObjectData::cloneSet(clone);
1094 Variant c_ppdstack::o_invoke(const char *s, CArrRef params, int64 hash, bool fatal) {
1095 if (hash < 0) hash = hash_string_i(s);
1096 switch (hash & 15) {
1097 case 0:
1098 HASH_GUARD(0x5CEFA5A265104D10LL, count) {
1099 return (t_count());
1101 break;
1102 case 1:
1103 HASH_GUARD(0x27E7DBA875AD17E1LL, getflags) {
1104 return (t_getflags());
1106 break;
1107 case 2:
1108 HASH_GUARD(0x499E72B719A4CAC2LL, addpart) {
1109 int count = params.size();
1110 if (count <= 0) return (t_addpart(), null);
1111 return (t_addpart(params.rvalAt(0)), null);
1113 break;
1114 case 3:
1115 HASH_GUARD(0x773C5A963CD2AC13LL, pop) {
1116 return (t_pop());
1118 break;
1119 case 6:
1120 HASH_GUARD(0x1A5F5A2CB292E516LL, getaccum) {
1121 return ref(t_getaccum());
1123 break;
1124 case 8:
1125 HASH_GUARD(0x321E2BF5D878AA38LL, push) {
1126 return (t_push(params.rvalAt(0)), null);
1128 break;
1129 case 12:
1130 HASH_GUARD(0x1726802D706D7BECLL, getcurrentpart) {
1131 return (t_getcurrentpart());
1133 break;
1134 case 15:
1135 HASH_GUARD(0x0D31D0AC229C615FLL, __construct) {
1136 return (t___construct(), null);
1138 break;
1139 default:
1140 break;
1142 return c_ObjectData::o_invoke(s, params, hash, fatal);
1144 Variant c_ppdstack::o_invoke_few_args(const char *s, int64 hash, int count, CVarRef a0, CVarRef a1, CVarRef a2, CVarRef a3, CVarRef a4, CVarRef a5) {
1145 if (hash < 0) hash = hash_string_i(s);
1146 switch (hash & 15) {
1147 case 0:
1148 HASH_GUARD(0x5CEFA5A265104D10LL, count) {
1149 return (t_count());
1151 break;
1152 case 1:
1153 HASH_GUARD(0x27E7DBA875AD17E1LL, getflags) {
1154 return (t_getflags());
1156 break;
1157 case 2:
1158 HASH_GUARD(0x499E72B719A4CAC2LL, addpart) {
1159 if (count <= 0) return (t_addpart(), null);
1160 return (t_addpart(a0), null);
1162 break;
1163 case 3:
1164 HASH_GUARD(0x773C5A963CD2AC13LL, pop) {
1165 return (t_pop());
1167 break;
1168 case 6:
1169 HASH_GUARD(0x1A5F5A2CB292E516LL, getaccum) {
1170 return ref(t_getaccum());
1172 break;
1173 case 8:
1174 HASH_GUARD(0x321E2BF5D878AA38LL, push) {
1175 return (t_push(a0), null);
1177 break;
1178 case 12:
1179 HASH_GUARD(0x1726802D706D7BECLL, getcurrentpart) {
1180 return (t_getcurrentpart());
1182 break;
1183 case 15:
1184 HASH_GUARD(0x0D31D0AC229C615FLL, __construct) {
1185 return (t___construct(), null);
1187 break;
1188 default:
1189 break;
1191 return c_ObjectData::o_invoke_few_args(s, hash, count, a0, a1, a2, a3, a4, a5);
1193 Variant c_ppdstack::os_invoke(const char *c, const char *s, CArrRef params, int64 hash, bool fatal) {
1194 return c_ObjectData::os_invoke(c, s, params, hash, fatal);
1196 Variant cw_ppdstack$os_get(const char *s) {
1197 return c_ppdstack::os_get(s, -1);
1199 Variant &cw_ppdstack$os_lval(const char *s) {
1200 return c_ppdstack::os_lval(s, -1);
1202 Variant cw_ppdstack$os_constant(const char *s) {
1203 return c_ppdstack::os_constant(s);
1205 Variant cw_ppdstack$os_invoke(const char *c, const char *s, CArrRef params, bool fatal /* = true */) {
1206 return c_ppdstack::os_invoke(c, s, params, -1, fatal);
1208 void c_ppdstack::init() {
1209 m_stack = null;
1210 m_rootAccum = null;
1211 m_top = null;
1212 m_out = null;
1213 m_elementClass = "PPDStackElement";
1215 void c_ppdstack::os_static_initializer() {
1216 DECLARE_GLOBAL_VARIABLES(g);
1217 g->s_ppdstack$$false = false;
1219 void csi_ppdstack() {
1220 c_ppdstack::os_static_initializer();
1222 /* SRC: Preprocessor_DOM.php line 649 */
1223 void c_ppdstack::t___construct() {
1224 INSTANCE_METHOD_INJECTION(PPDStack, PPDStack::__construct);
1225 bool oldInCtor = gasInCtor(true);
1226 (m_stack = ScalarArrays::sa_[0]);
1227 (m_top = false);
1228 (m_rootAccum = "");
1229 (o_lval("accum", 0x4761A194B0333B28LL) = ref(lval(m_rootAccum)));
1230 gasInCtor(oldInCtor);
1231 } /* function */
1232 /* SRC: Preprocessor_DOM.php line 656 */
1233 int c_ppdstack::t_count() {
1234 INSTANCE_METHOD_INJECTION(PPDStack, PPDStack::count);
1235 return LINE(657,x_count(m_stack));
1236 } /* function */
1237 /* SRC: Preprocessor_DOM.php line 660 */
1238 Variant c_ppdstack::t_getaccum() {
1239 INSTANCE_METHOD_INJECTION(PPDStack, PPDStack::getAccum);
1240 return ref(lval(o_lval("accum", 0x4761A194B0333B28LL)));
1241 } /* function */
1242 /* SRC: Preprocessor_DOM.php line 664 */
1243 Variant c_ppdstack::t_getcurrentpart() {
1244 INSTANCE_METHOD_INJECTION(PPDStack, PPDStack::getCurrentPart);
1245 if (same(m_top, false)) {
1246 return false;
1248 else {
1249 return LINE(668,m_top.o_invoke_few_args("getCurrentPart", 0x1726802D706D7BECLL, 0));
1251 return null;
1252 } /* function */
1253 /* SRC: Preprocessor_DOM.php line 672 */
1254 void c_ppdstack::t_push(Variant v_data) {
1255 INSTANCE_METHOD_INJECTION(PPDStack, PPDStack::push);
1256 Variant v_class;
1258 if (instanceOf(v_data, toString(m_elementClass))) {
1259 m_stack.append((v_data));
1261 else {
1262 (v_class = m_elementClass);
1263 m_stack.append((LINE(677,create_object(toString(v_class), Array(ArrayInit(1).set(0, ref(v_data)).create())))));
1265 (m_top = m_stack.rvalAt(LINE(679,x_count(m_stack)) - 1LL));
1266 (o_lval("accum", 0x4761A194B0333B28LL) = ref(LINE(680,m_top.o_invoke_few_args("getAccum", 0x1A5F5A2CB292E516LL, 0))));
1267 } /* function */
1268 /* SRC: Preprocessor_DOM.php line 683 */
1269 Variant c_ppdstack::t_pop() {
1270 INSTANCE_METHOD_INJECTION(PPDStack, PPDStack::pop);
1271 DECLARE_GLOBAL_VARIABLES(g);
1272 Variant v_temp;
1274 if (!(toBoolean(LINE(684,x_count(m_stack))))) {
1275 throw_exception(LINE(685,create_object("mwexception", Array(ArrayInit(1).set(0, "PPDStack::pop: no elements remaining").create()))));
1277 (v_temp = LINE(687,x_array_pop(ref(lval(m_stack)))));
1278 if (toBoolean(LINE(689,x_count(m_stack)))) {
1279 (m_top = m_stack.rvalAt(LINE(690,x_count(m_stack)) - 1LL));
1280 (o_lval("accum", 0x4761A194B0333B28LL) = ref(LINE(691,m_top.o_invoke_few_args("getAccum", 0x1A5F5A2CB292E516LL, 0))));
1282 else {
1283 (m_top = g->s_ppdstack$$false);
1284 (o_lval("accum", 0x4761A194B0333B28LL) = ref(lval(m_rootAccum)));
1286 return v_temp;
1287 } /* function */
1288 /* SRC: Preprocessor_DOM.php line 699 */
1289 void c_ppdstack::t_addpart(Variant v_s // = ""
1291 INSTANCE_METHOD_INJECTION(PPDStack, PPDStack::addPart);
1292 LINE(700,m_top.o_invoke_few_args("addPart", 0x499E72B719A4CAC2LL, 1, v_s));
1293 (o_lval("accum", 0x4761A194B0333B28LL) = ref(LINE(701,m_top.o_invoke_few_args("getAccum", 0x1A5F5A2CB292E516LL, 0))));
1294 } /* function */
1295 /* SRC: Preprocessor_DOM.php line 704 */
1296 Variant c_ppdstack::t_getflags() {
1297 INSTANCE_METHOD_INJECTION(PPDStack, PPDStack::getFlags);
1298 if (!(toBoolean(LINE(705,x_count(m_stack))))) {
1299 return ScalarArrays::sa_[8];
1301 else {
1302 return LINE(712,m_top.o_invoke_few_args("getFlags", 0x27E7DBA875AD17E1LL, 0));
1304 return null;
1305 } /* function */
1306 /* SRC: Preprocessor_DOM.php line 6 */
1307 const int64 q_preprocessor_dom_CACHE_VERSION = 1LL;
1308 Variant c_preprocessor_dom::os_get(const char *s, int64 hash) {
1309 return c_ObjectData::os_get(s, hash);
1311 Variant &c_preprocessor_dom::os_lval(const char *s, int64 hash) {
1312 return c_ObjectData::os_lval(s, hash);
1314 void c_preprocessor_dom::o_get(ArrayElementVec &props) const {
1315 props.push_back(NEW(ArrayElement)("parser", m_parser.isReferenced() ? ref(m_parser) : m_parser));
1316 props.push_back(NEW(ArrayElement)("memoryLimit", m_memoryLimit.isReferenced() ? ref(m_memoryLimit) : m_memoryLimit));
1317 c_ObjectData::o_get(props);
1319 bool c_preprocessor_dom::o_exists(CStrRef s, int64 hash) const {
1320 if (hash < 0) hash = hash_string(s.data(), s.length());
1321 switch (hash & 3) {
1322 case 2:
1323 HASH_EXISTS_STRING(0x18A8B9D71D4F2D02LL, parser, 6);
1324 break;
1325 case 3:
1326 HASH_EXISTS_STRING(0x65AD8A7E91F7756BLL, memoryLimit, 11);
1327 break;
1328 default:
1329 break;
1331 return c_ObjectData::o_exists(s, hash);
1333 Variant c_preprocessor_dom::o_get(CStrRef s, int64 hash) {
1334 if (hash < 0) hash = hash_string(s.data(), s.length());
1335 switch (hash & 3) {
1336 case 2:
1337 HASH_RETURN_STRING(0x18A8B9D71D4F2D02LL, m_parser,
1338 parser, 6);
1339 break;
1340 case 3:
1341 HASH_RETURN_STRING(0x65AD8A7E91F7756BLL, m_memoryLimit,
1342 memoryLimit, 11);
1343 break;
1344 default:
1345 break;
1347 return c_ObjectData::o_get(s, hash);
1349 Variant c_preprocessor_dom::o_set(CStrRef s, int64 hash, CVarRef v,bool forInit /* = false */) {
1350 if (hash < 0) hash = hash_string(s.data(), s.length());
1351 switch (hash & 3) {
1352 case 2:
1353 HASH_SET_STRING(0x18A8B9D71D4F2D02LL, m_parser,
1354 parser, 6);
1355 break;
1356 case 3:
1357 HASH_SET_STRING(0x65AD8A7E91F7756BLL, m_memoryLimit,
1358 memoryLimit, 11);
1359 break;
1360 default:
1361 break;
1363 return c_ObjectData::o_set(s, hash, v, forInit);
1365 Variant &c_preprocessor_dom::o_lval(CStrRef s, int64 hash) {
1366 if (hash < 0) hash = hash_string(s.data(), s.length());
1367 switch (hash & 3) {
1368 case 2:
1369 HASH_RETURN_STRING(0x18A8B9D71D4F2D02LL, m_parser,
1370 parser, 6);
1371 break;
1372 case 3:
1373 HASH_RETURN_STRING(0x65AD8A7E91F7756BLL, m_memoryLimit,
1374 memoryLimit, 11);
1375 break;
1376 default:
1377 break;
1379 return c_ObjectData::o_lval(s, hash);
1381 Variant c_preprocessor_dom::os_constant(const char *s) {
1382 int64 hash = hash_string(s);
1383 switch (hash & 1) {
1384 case 1:
1385 HASH_RETURN(0x6AD33BF0C16EEC43LL, q_preprocessor_dom_CACHE_VERSION, CACHE_VERSION);
1386 break;
1387 default:
1388 break;
1390 return c_ObjectData::os_constant(s);
1392 IMPLEMENT_CLASS(preprocessor_dom)
1393 ObjectData *c_preprocessor_dom::create(Variant v_parser) {
1394 init();
1395 t___construct(v_parser);
1396 return this;
1398 ObjectData *c_preprocessor_dom::dynCreate(CArrRef params, bool init /* = true */) {
1399 if (init) {
1400 return (create(params.rvalAt(0)));
1401 } else return this;
1403 void c_preprocessor_dom::dynConstruct(CArrRef params) {
1404 (t___construct(params.rvalAt(0)));
1406 ObjectData *c_preprocessor_dom::cloneImpl() {
1407 c_preprocessor_dom *obj = NEW(c_preprocessor_dom)();
1408 cloneSet(obj);
1409 return obj;
1411 void c_preprocessor_dom::cloneSet(c_preprocessor_dom *clone) {
1412 clone->m_parser = m_parser.isReferenced() ? ref(m_parser) : m_parser;
1413 clone->m_memoryLimit = m_memoryLimit.isReferenced() ? ref(m_memoryLimit) : m_memoryLimit;
1414 ObjectData::cloneSet(clone);
1416 Variant c_preprocessor_dom::o_invoke(const char *s, CArrRef params, int64 hash, bool fatal) {
1417 if (hash < 0) hash = hash_string_i(s);
1418 switch (hash & 7) {
1419 case 0:
1420 HASH_GUARD(0x5A11FE5B629AF7A0LL, newcustomframe) {
1421 return (t_newcustomframe(params.rvalAt(0)));
1423 break;
1424 case 3:
1425 HASH_GUARD(0x0BA55A9913645813LL, preprocesstoobj) {
1426 int count = params.size();
1427 if (count <= 1) return (t_preprocesstoobj(params.rvalAt(0)));
1428 return (t_preprocesstoobj(params.rvalAt(0), params.rvalAt(1)));
1430 break;
1431 case 5:
1432 HASH_GUARD(0x787B6141D7721675LL, newframe) {
1433 return (t_newframe());
1435 break;
1436 case 7:
1437 HASH_GUARD(0x0D31D0AC229C615FLL, __construct) {
1438 return (t___construct(params.rvalAt(0)), null);
1440 break;
1441 default:
1442 break;
1444 return c_ObjectData::o_invoke(s, params, hash, fatal);
1446 Variant c_preprocessor_dom::o_invoke_few_args(const char *s, int64 hash, int count, CVarRef a0, CVarRef a1, CVarRef a2, CVarRef a3, CVarRef a4, CVarRef a5) {
1447 if (hash < 0) hash = hash_string_i(s);
1448 switch (hash & 7) {
1449 case 0:
1450 HASH_GUARD(0x5A11FE5B629AF7A0LL, newcustomframe) {
1451 return (t_newcustomframe(a0));
1453 break;
1454 case 3:
1455 HASH_GUARD(0x0BA55A9913645813LL, preprocesstoobj) {
1456 if (count <= 1) return (t_preprocesstoobj(a0));
1457 return (t_preprocesstoobj(a0, a1));
1459 break;
1460 case 5:
1461 HASH_GUARD(0x787B6141D7721675LL, newframe) {
1462 return (t_newframe());
1464 break;
1465 case 7:
1466 HASH_GUARD(0x0D31D0AC229C615FLL, __construct) {
1467 return (t___construct(a0), null);
1469 break;
1470 default:
1471 break;
1473 return c_ObjectData::o_invoke_few_args(s, hash, count, a0, a1, a2, a3, a4, a5);
1475 Variant c_preprocessor_dom::os_invoke(const char *c, const char *s, CArrRef params, int64 hash, bool fatal) {
1476 return c_ObjectData::os_invoke(c, s, params, hash, fatal);
1478 Variant cw_preprocessor_dom$os_get(const char *s) {
1479 return c_preprocessor_dom::os_get(s, -1);
1481 Variant &cw_preprocessor_dom$os_lval(const char *s) {
1482 return c_preprocessor_dom::os_lval(s, -1);
1484 Variant cw_preprocessor_dom$os_constant(const char *s) {
1485 return c_preprocessor_dom::os_constant(s);
1487 Variant cw_preprocessor_dom$os_invoke(const char *c, const char *s, CArrRef params, bool fatal /* = true */) {
1488 return c_preprocessor_dom::os_invoke(c, s, params, -1, fatal);
1490 void c_preprocessor_dom::init() {
1491 m_parser = null;
1492 m_memoryLimit = null;
1494 /* SRC: Preprocessor_DOM.php line 11 */
1495 void c_preprocessor_dom::t___construct(Variant v_parser) {
1496 INSTANCE_METHOD_INJECTION(Preprocessor_DOM, Preprocessor_DOM::__construct);
1497 bool oldInCtor = gasInCtor(true);
1498 String v_mem;
1499 Variant v_m;
1501 (m_parser = v_parser);
1502 (v_mem = LINE(13,x_ini_get("memory_limit")));
1503 (m_memoryLimit = false);
1504 if (!same(LINE(15,x_strval(v_mem)), "") && !equal(v_mem, -1LL)) {
1505 if (toBoolean(LINE(16,x_preg_match("/^\\d+$/", v_mem)))) {
1506 (m_memoryLimit = v_mem);
1508 else if (toBoolean(LINE(18,x_preg_match("/^(\\d+)M$/i", v_mem, ref(v_m))))) {
1509 (m_memoryLimit = v_m.rvalAt(1LL, 0x5BCA7C69B794F8CELL) * 1048576LL);
1512 gasInCtor(oldInCtor);
1513 } /* function */
1514 /* SRC: Preprocessor_DOM.php line 24 */
1515 p_ppframe_dom c_preprocessor_dom::t_newframe() {
1516 INSTANCE_METHOD_INJECTION(Preprocessor_DOM, Preprocessor_DOM::newFrame);
1517 return ((Object)(LINE(25,p_ppframe_dom(p_ppframe_dom(NEWOBJ(c_ppframe_dom)())->create(((Object)(this)))))));
1518 } /* function */
1519 /* SRC: Preprocessor_DOM.php line 28 */
1520 p_ppcustomframe_dom c_preprocessor_dom::t_newcustomframe(CVarRef v_args) {
1521 INSTANCE_METHOD_INJECTION(Preprocessor_DOM, Preprocessor_DOM::newCustomFrame);
1522 return ((Object)(LINE(29,p_ppcustomframe_dom(p_ppcustomframe_dom(NEWOBJ(c_ppcustomframe_dom)())->create(((Object)(this)), v_args)))));
1523 } /* function */
1524 /* SRC: Preprocessor_DOM.php line 32 */
1525 bool c_preprocessor_dom::t_memcheck() {
1526 INSTANCE_METHOD_INJECTION(Preprocessor_DOM, Preprocessor_DOM::memCheck);
1527 int64 v_usage = 0;
1528 int64 v_limit = 0;
1530 if (same(m_memoryLimit, false)) {
1531 return false;
1533 (v_usage = LINE(36,x_memory_get_usage()));
1534 if (more(v_usage, toDouble(m_memoryLimit) * 0.90000000000000002)) {
1535 (v_limit = LINE(38,x_intval(toDouble(divide(toDouble(m_memoryLimit) * 0.90000000000000002, 1048576LL)) + 0.5)));
1536 throw_exception(LINE(39,create_object("mwexception", Array(ArrayInit(1).set(0, concat3("Preprocessor hit 90% memory limit (", toString(v_limit), " MB)")).create()))));
1538 return not_more(v_usage, toDouble(m_memoryLimit) * 0.80000000000000004);
1539 } /* function */
1540 /* SRC: Preprocessor_DOM.php line 66 */
1541 p_ppnode_dom c_preprocessor_dom::t_preprocesstoobj(CVarRef v_text, Variant v_flags // = 0LL
1543 INSTANCE_METHOD_INJECTION(Preprocessor_DOM, Preprocessor_DOM::preprocessToObj);
1544 Variant eo_0;
1545 Variant eo_1;
1546 Variant eo_2;
1547 DECLARE_GLOBAL_VARIABLES(g);
1548 Variant &gv_wgMemc __attribute__((__unused__)) = g->GV(wgMemc);
1549 Variant &gv_wgPreprocessorCacheThreshold __attribute__((__unused__)) = g->GV(wgPreprocessorCacheThreshold);
1550 Variant v_xml;
1551 bool v_cacheable = false;
1552 Variant v_cacheKey;
1553 Variant v_cacheValue;
1554 Variant v_version;
1555 p_domdocument v_dom;
1556 Variant v_result;
1557 p_ppnode_dom v_obj;
1559 LINE(67,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "Preprocessor_DOM::preprocessToObj").create()), 0x0000000075359BAFLL));
1562 (v_xml = false);
1563 (v_cacheable = more(LINE(71,x_strlen(toString(v_text))), gv_wgPreprocessorCacheThreshold));
1564 if (v_cacheable) {
1565 LINE(73,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "Preprocessor_DOM::preprocessToObj-cacheable").create()), 0x0000000075359BAFLL));
1566 (v_cacheKey = LINE(75,(assignCallTemp(eo_1, ref(x_md5(toString(v_text)))),assignCallTemp(eo_2, ref(v_flags)),invoke_failed("wfmemckey", Array(ArrayInit(3).set(0, "preprocess-xml").set(1, eo_1).set(2, eo_2).create()), 0x0000000072AF623FLL))));
1567 (v_cacheValue = LINE(76,gv_wgMemc.o_invoke_few_args("get", 0x25DCCC35D69AD828LL, 1, v_cacheKey)));
1568 if (toBoolean(v_cacheValue)) {
1569 (v_version = LINE(78,x_substr(toString(v_cacheValue), toInt32(0LL), toInt32(8LL))));
1570 if (equal(LINE(79,x_intval(v_version)), 1LL /* preprocessor_dom::CACHE_VERSION */)) {
1571 (v_xml = LINE(80,x_substr(toString(v_cacheValue), toInt32(8LL))));
1572 LINE(82,(assignCallTemp(eo_1, concat3("Loaded preprocessor XML from memcached (key ", toString(v_cacheKey), ")")),invoke_failed("wfdebuglog", Array(ArrayInit(2).set(0, "Preprocessor").set(1, eo_1).create()), 0x00000000E6942489LL)));
1576 if (same(v_xml, false)) {
1577 if (v_cacheable) {
1578 LINE(88,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "Preprocessor_DOM::preprocessToObj-cache-miss").create()), 0x0000000075359BAFLL));
1579 (v_xml = LINE(89,t_preprocesstoxml(v_text, v_flags)));
1580 (v_cacheValue = concat(LINE(90,x_sprintf(2, "%08d", ScalarArrays::sa_[2])), toString(v_xml)));
1581 LINE(91,gv_wgMemc.o_invoke_few_args("set", 0x399A6427C2185621LL, 3, v_cacheKey, v_cacheValue, 86400LL));
1582 LINE(92,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Preprocessor_DOM::preprocessToObj-cache-miss").create()), 0x00000000B599F276LL));
1583 LINE(93,(assignCallTemp(eo_1, concat3("Saved preprocessor XML to memcached (key ", toString(v_cacheKey), ")")),invoke_failed("wfdebuglog", Array(ArrayInit(2).set(0, "Preprocessor").set(1, eo_1).create()), 0x00000000E6942489LL)));
1585 else {
1586 (v_xml = LINE(95,t_preprocesstoxml(v_text, v_flags)));
1589 LINE(99,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "Preprocessor_DOM::preprocessToObj-loadXML").create()), 0x0000000075359BAFLL));
1590 ((Object)((v_dom = ((Object)(LINE(100,create_object("domdocument", Array())))))));
1591 LINE(101,invoke_failed("wfsuppresswarnings", Array(), 0x00000000FCF68A6CLL));
1592 (v_result = LINE(102,v_dom->t_loadxml(toString(v_xml))));
1593 LINE(103,invoke_failed("wfrestorewarnings", Array(), 0x000000001BD025E4LL));
1594 if (!(toBoolean(v_result))) {
1595 (v_xml = LINE(106,throw_fatal("unknown class utfnormal", ((void*)NULL))));
1596 (v_result = LINE(107,v_dom->t_loadxml(toString(v_xml))));
1597 if (!(toBoolean(v_result))) {
1598 throw_exception(LINE(109,create_object("mwexception", Array(ArrayInit(1).set(0, "Preprocessor_DOM::preprocessToObj generated invalid XML").create()))));
1601 ((Object)((v_obj = ((Object)(LINE(112,p_ppnode_dom(p_ppnode_dom(NEWOBJ(c_ppnode_dom)())->create(v_dom.o_get("documentElement", 0x34E37E9EAB48521BLL)))))))));
1602 LINE(113,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Preprocessor_DOM::preprocessToObj-loadXML").create()), 0x00000000B599F276LL));
1603 if (v_cacheable) {
1604 LINE(115,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Preprocessor_DOM::preprocessToObj-cacheable").create()), 0x00000000B599F276LL));
1606 LINE(117,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Preprocessor_DOM::preprocessToObj").create()), 0x00000000B599F276LL));
1607 return ((Object)(v_obj));
1608 } /* function */
1609 /* SRC: Preprocessor_DOM.php line 121 */
1610 Variant c_preprocessor_dom::t_preprocesstoxml(Variant v_text, Variant v_flags // = 0LL
1612 INSTANCE_METHOD_INJECTION(Preprocessor_DOM, Preprocessor_DOM::preprocessToXml);
1613 Variant eo_0;
1614 Variant eo_1;
1615 Variant eo_2;
1616 Variant eo_3;
1617 Variant eo_4;
1618 Variant eo_5;
1619 Variant eo_6;
1620 Variant eo_7;
1621 DECLARE_GLOBAL_VARIABLES(g);
1622 Variant v_rules;
1623 Variant v_forInclusion;
1624 Variant v_xmlishElements;
1625 Variant v_enableOnlyinclude;
1626 Variant v_ignoredTags;
1627 Variant v_ignoredElements;
1628 Variant v_xmlishRegex;
1629 Variant v_elementsRegex;
1630 Variant v_stack;
1631 Variant v_searchBase;
1632 Variant v_revText;
1633 Variant v_i;
1634 Variant v_accum;
1635 Variant v_findEquals;
1636 Variant v_findPipe;
1637 Variant v_headingIndex;
1638 Variant v_inHeading;
1639 Variant v_noMoreGT;
1640 Variant v_findOnlyinclude;
1641 Variant v_fakeLineStart;
1642 Variant v_startPos;
1643 Variant v_tagEndPos;
1644 Variant v_found;
1645 Variant v_curChar;
1646 Variant v_search;
1647 Variant v_currentClosing;
1648 Variant v_rule;
1649 Variant v_literalLength;
1650 Variant v_matches;
1651 Variant v_endPos;
1652 Variant v_inner;
1653 Variant v_wsStart;
1654 Variant v_wsEnd;
1655 Variant v_wsLength;
1656 Variant v_part;
1657 Variant v_name;
1658 Variant v_lowerName;
1659 Variant v_attrStart;
1660 Variant v_tagStartPos;
1661 Variant v_attrEnd;
1662 Variant v_close;
1663 Variant v_attr;
1664 Variant v_count;
1665 Variant v_piece;
1666 Variant v_searchStart;
1667 Variant v_equalsLength;
1668 Variant v_element;
1669 Variant v_maxCount;
1670 Variant v_matchingCount;
1671 Variant v_parts;
1672 Variant v_title;
1673 Variant v_argIndex;
1674 Variant v_partIndex;
1675 Variant v_argName;
1676 Variant v_argValue;
1677 Variant v_names;
1678 Variant v_skippedBraces;
1679 Variant v_enclosingAccum;
1680 Variant v_xml;
1683 class VariableTable : public LVariableTable {
1684 public:
1685 Variant &v_text; Variant &v_flags; Variant &v_rules; Variant &v_forInclusion; Variant &v_xmlishElements; Variant &v_enableOnlyinclude; Variant &v_ignoredTags; Variant &v_ignoredElements; Variant &v_xmlishRegex; Variant &v_elementsRegex; Variant &v_stack; Variant &v_searchBase; Variant &v_revText; Variant &v_i; Variant &v_accum; Variant &v_findEquals; Variant &v_findPipe; Variant &v_headingIndex; Variant &v_inHeading; Variant &v_noMoreGT; Variant &v_findOnlyinclude; Variant &v_fakeLineStart; Variant &v_startPos; Variant &v_tagEndPos; Variant &v_found; Variant &v_curChar; Variant &v_search; Variant &v_currentClosing; Variant &v_rule; Variant &v_literalLength; Variant &v_matches; Variant &v_endPos; Variant &v_inner; Variant &v_wsStart; Variant &v_wsEnd; Variant &v_wsLength; Variant &v_part; Variant &v_name; Variant &v_lowerName; Variant &v_attrStart; Variant &v_tagStartPos; Variant &v_attrEnd; Variant &v_close; Variant &v_attr; Variant &v_count; Variant &v_piece; Variant &v_searchStart; Variant &v_equalsLength; Variant &v_element; Variant &v_maxCount; Variant &v_matchingCount; Variant &v_parts; Variant &v_title; Variant &v_argIndex; Variant &v_partIndex; Variant &v_argName; Variant &v_argValue; Variant &v_names; Variant &v_skippedBraces; Variant &v_enclosingAccum; Variant &v_xml;
1686 VariableTable(Variant &r_text, Variant &r_flags, Variant &r_rules, Variant &r_forInclusion, Variant &r_xmlishElements, Variant &r_enableOnlyinclude, Variant &r_ignoredTags, Variant &r_ignoredElements, Variant &r_xmlishRegex, Variant &r_elementsRegex, Variant &r_stack, Variant &r_searchBase, Variant &r_revText, Variant &r_i, Variant &r_accum, Variant &r_findEquals, Variant &r_findPipe, Variant &r_headingIndex, Variant &r_inHeading, Variant &r_noMoreGT, Variant &r_findOnlyinclude, Variant &r_fakeLineStart, Variant &r_startPos, Variant &r_tagEndPos, Variant &r_found, Variant &r_curChar, Variant &r_search, Variant &r_currentClosing, Variant &r_rule, Variant &r_literalLength, Variant &r_matches, Variant &r_endPos, Variant &r_inner, Variant &r_wsStart, Variant &r_wsEnd, Variant &r_wsLength, Variant &r_part, Variant &r_name, Variant &r_lowerName, Variant &r_attrStart, Variant &r_tagStartPos, Variant &r_attrEnd, Variant &r_close, Variant &r_attr, Variant &r_count, Variant &r_piece, Variant &r_searchStart, Variant &r_equalsLength, Variant &r_element, Variant &r_maxCount, Variant &r_matchingCount, Variant &r_parts, Variant &r_title, Variant &r_argIndex, Variant &r_partIndex, Variant &r_argName, Variant &r_argValue, Variant &r_names, Variant &r_skippedBraces, Variant &r_enclosingAccum, Variant &r_xml) : v_text(r_text), v_flags(r_flags), v_rules(r_rules), v_forInclusion(r_forInclusion), v_xmlishElements(r_xmlishElements), v_enableOnlyinclude(r_enableOnlyinclude), v_ignoredTags(r_ignoredTags), v_ignoredElements(r_ignoredElements), v_xmlishRegex(r_xmlishRegex), v_elementsRegex(r_elementsRegex), v_stack(r_stack), v_searchBase(r_searchBase), v_revText(r_revText), v_i(r_i), v_accum(r_accum), v_findEquals(r_findEquals), v_findPipe(r_findPipe), v_headingIndex(r_headingIndex), v_inHeading(r_inHeading), v_noMoreGT(r_noMoreGT), v_findOnlyinclude(r_findOnlyinclude), v_fakeLineStart(r_fakeLineStart), v_startPos(r_startPos), v_tagEndPos(r_tagEndPos), v_found(r_found), v_curChar(r_curChar), v_search(r_search), v_currentClosing(r_currentClosing), v_rule(r_rule), v_literalLength(r_literalLength), v_matches(r_matches), v_endPos(r_endPos), v_inner(r_inner), v_wsStart(r_wsStart), v_wsEnd(r_wsEnd), v_wsLength(r_wsLength), v_part(r_part), v_name(r_name), v_lowerName(r_lowerName), v_attrStart(r_attrStart), v_tagStartPos(r_tagStartPos), v_attrEnd(r_attrEnd), v_close(r_close), v_attr(r_attr), v_count(r_count), v_piece(r_piece), v_searchStart(r_searchStart), v_equalsLength(r_equalsLength), v_element(r_element), v_maxCount(r_maxCount), v_matchingCount(r_matchingCount), v_parts(r_parts), v_title(r_title), v_argIndex(r_argIndex), v_partIndex(r_partIndex), v_argName(r_argName), v_argValue(r_argValue), v_names(r_names), v_skippedBraces(r_skippedBraces), v_enclosingAccum(r_enclosingAccum), v_xml(r_xml) {}
1687 virtual Variant &getImpl(CStrRef str, int64 hash) {
1688 const char *s __attribute__((__unused__)) = str.data();
1689 if (hash < 0) hash = hash_string(s);
1690 switch (hash & 127) {
1691 case 0:
1692 HASH_RETURN(0x2FA2EA3BE4385180LL, v_ignoredElements,
1693 ignoredElements);
1694 break;
1695 case 1:
1696 HASH_RETURN(0x4823DBE38D294B01LL, v_argValue,
1697 argValue);
1698 break;
1699 case 6:
1700 HASH_RETURN(0x1B3A1B4FC8E2BF86LL, v_findEquals,
1701 findEquals);
1702 break;
1703 case 9:
1704 HASH_RETURN(0x1AFD3E7207DEC289LL, v_element,
1705 element);
1706 break;
1707 case 13:
1708 HASH_RETURN(0x6AFDA85728FAE70DLL, v_flags,
1709 flags);
1710 HASH_RETURN(0x2708FDA74562AD8DLL, v_parts,
1711 parts);
1712 break;
1713 case 16:
1714 HASH_RETURN(0x7A62DFE604197490LL, v_rule,
1715 rule);
1716 break;
1717 case 24:
1718 HASH_RETURN(0x0EB22EDA95766E98LL, v_i,
1720 break;
1721 case 29:
1722 HASH_RETURN(0x749C3FAB1E74371DLL, v_startPos,
1723 startPos);
1724 break;
1725 case 30:
1726 HASH_RETURN(0x1D7680FEEF32A39ELL, v_attrStart,
1727 attrStart);
1728 HASH_RETURN(0x3ABE2A7FF197E79ELL, v_maxCount,
1729 maxCount);
1730 break;
1731 case 34:
1732 HASH_RETURN(0x7985846879851FA2LL, v_revText,
1733 revText);
1734 HASH_RETURN(0x6F571EAFB109D7A2LL, v_headingIndex,
1735 headingIndex);
1736 break;
1737 case 36:
1738 HASH_RETURN(0x07D9889BE123B524LL, v_searchBase,
1739 searchBase);
1740 break;
1741 case 37:
1742 HASH_RETURN(0x78D6949B972CFD25LL, v_rules,
1743 rules);
1744 break;
1745 case 40:
1746 HASH_RETURN(0x4761A194B0333B28LL, v_accum,
1747 accum);
1748 break;
1749 case 41:
1750 HASH_RETURN(0x2DD17595E81D9BA9LL, v_xmlishElements,
1751 xmlishElements);
1752 break;
1753 case 43:
1754 HASH_RETURN(0x5084E637B870262BLL, v_stack,
1755 stack);
1756 break;
1757 case 45:
1758 HASH_RETURN(0x73F30E0F2D277D2DLL, v_inHeading,
1759 inHeading);
1760 break;
1761 case 46:
1762 HASH_RETURN(0x7F0BF9704771F92ELL, v_literalLength,
1763 literalLength);
1764 HASH_RETURN(0x75716BF7E20AFAAELL, v_matchingCount,
1765 matchingCount);
1766 break;
1767 case 47:
1768 HASH_RETURN(0x7451350C607F1BAFLL, v_noMoreGT,
1769 noMoreGT);
1770 break;
1771 case 48:
1772 HASH_RETURN(0x6FD137A54D1BE930LL, v_wsStart,
1773 wsStart);
1774 break;
1775 case 49:
1776 HASH_RETURN(0x5893A9585C6502B1LL, v_xml,
1777 xml);
1778 break;
1779 case 50:
1780 HASH_RETURN(0x485CF5F18ACB2632LL, v_endPos,
1781 endPos);
1782 break;
1783 case 57:
1784 HASH_RETURN(0x61CFEEED54DD0AB9LL, v_matches,
1785 matches);
1786 break;
1787 case 59:
1788 HASH_RETURN(0x3D66B5980D54BABBLL, v_count,
1789 count);
1790 break;
1791 case 62:
1792 HASH_RETURN(0x4B89E9FF5DB696BELL, v_currentClosing,
1793 currentClosing);
1794 break;
1795 case 67:
1796 HASH_RETURN(0x2A28A0084DD3A743LL, v_text,
1797 text);
1798 HASH_RETURN(0x79E99297D9CF6243LL, v_search,
1799 search);
1800 break;
1801 case 75:
1802 HASH_RETURN(0x4D0B41A665B57E4BLL, v_searchStart,
1803 searchStart);
1804 break;
1805 case 78:
1806 HASH_RETURN(0x41CC31743A0270CELL, v_found,
1807 found);
1808 HASH_RETURN(0x5AE6844A0CCFE9CELL, v_attrEnd,
1809 attrEnd);
1810 HASH_RETURN(0x0B812E4C8D98FBCELL, v_argIndex,
1811 argIndex);
1812 break;
1813 case 86:
1814 HASH_RETURN(0x2C356137E4207156LL, v_tagStartPos,
1815 tagStartPos);
1816 break;
1817 case 89:
1818 HASH_RETURN(0x3FB915AA8F8F8ED9LL, v_fakeLineStart,
1819 fakeLineStart);
1820 break;
1821 case 91:
1822 HASH_RETURN(0x66866B45F7FF96DBLL, v_wsEnd,
1823 wsEnd);
1824 HASH_RETURN(0x7132B63767EAFEDBLL, v_piece,
1825 piece);
1826 break;
1827 case 92:
1828 HASH_RETURN(0x0BCDB293DC3CBDDCLL, v_name,
1829 name);
1830 break;
1831 case 93:
1832 HASH_RETURN(0x64311A2C8443755DLL, v_attr,
1833 attr);
1834 break;
1835 case 99:
1836 HASH_RETURN(0x40B8ADAF2E1FB7E3LL, v_elementsRegex,
1837 elementsRegex);
1838 break;
1839 case 101:
1840 HASH_RETURN(0x7FE16A3727F18DE5LL, v_findOnlyinclude,
1841 findOnlyinclude);
1842 HASH_RETURN(0x0AE2F3887B84C665LL, v_tagEndPos,
1843 tagEndPos);
1844 break;
1845 case 104:
1846 HASH_RETURN(0x5D2342E7226E4E68LL, v_skippedBraces,
1847 skippedBraces);
1848 break;
1849 case 107:
1850 HASH_RETURN(0x36B43082F052EC6BLL, v_close,
1851 close);
1852 break;
1853 case 108:
1854 HASH_RETURN(0x0FCC00A0960D4D6CLL, v_xmlishRegex,
1855 xmlishRegex);
1856 HASH_RETURN(0x5DBFA1F0A183E9ECLL, v_curChar,
1857 curChar);
1858 HASH_RETURN(0x7F144219D39BF1ECLL, v_part,
1859 part);
1860 break;
1861 case 109:
1862 HASH_RETURN(0x669278D2AC3068EDLL, v_ignoredTags,
1863 ignoredTags);
1864 break;
1865 case 114:
1866 HASH_RETURN(0x51A687446C1579F2LL, v_names,
1867 names);
1868 break;
1869 case 117:
1870 HASH_RETURN(0x217F5FC11124CC75LL, v_wsLength,
1871 wsLength);
1872 break;
1873 case 119:
1874 HASH_RETURN(0x5C804792579E2477LL, v_forInclusion,
1875 forInclusion);
1876 break;
1877 case 120:
1878 HASH_RETURN(0x77F20E4209A12DF8LL, v_enableOnlyinclude,
1879 enableOnlyinclude);
1880 HASH_RETURN(0x573F2D2FEF6C9378LL, v_argName,
1881 argName);
1882 break;
1883 case 121:
1884 HASH_RETURN(0x5AE3699687C882F9LL, v_findPipe,
1885 findPipe);
1886 HASH_RETURN(0x75E78845AE202B79LL, v_enclosingAccum,
1887 enclosingAccum);
1888 break;
1889 case 124:
1890 HASH_RETURN(0x35537723FE7928FCLL, v_lowerName,
1891 lowerName);
1892 break;
1893 case 125:
1894 HASH_RETURN(0x3179991995176C7DLL, v_partIndex,
1895 partIndex);
1896 break;
1897 case 126:
1898 HASH_RETURN(0x4F20D07BB803C1FELL, v_inner,
1899 inner);
1900 HASH_RETURN(0x66AD900A2301E2FELL, v_title,
1901 title);
1902 break;
1903 case 127:
1904 HASH_RETURN(0x41E37259D0CE717FLL, v_equalsLength,
1905 equalsLength);
1906 break;
1907 default:
1908 break;
1910 return lvalAt(str, hash);
1912 virtual bool exists(const char *s, int64 hash /* = -1 */) const {
1913 if (hash < 0) hash = hash_string(s);
1914 switch (hash & 127) {
1915 case 0:
1916 HASH_INITIALIZED(0x2FA2EA3BE4385180LL, v_ignoredElements,
1917 ignoredElements);
1918 break;
1919 case 1:
1920 HASH_INITIALIZED(0x4823DBE38D294B01LL, v_argValue,
1921 argValue);
1922 break;
1923 case 6:
1924 HASH_INITIALIZED(0x1B3A1B4FC8E2BF86LL, v_findEquals,
1925 findEquals);
1926 break;
1927 case 9:
1928 HASH_INITIALIZED(0x1AFD3E7207DEC289LL, v_element,
1929 element);
1930 break;
1931 case 13:
1932 HASH_INITIALIZED(0x6AFDA85728FAE70DLL, v_flags,
1933 flags);
1934 HASH_INITIALIZED(0x2708FDA74562AD8DLL, v_parts,
1935 parts);
1936 break;
1937 case 16:
1938 HASH_INITIALIZED(0x7A62DFE604197490LL, v_rule,
1939 rule);
1940 break;
1941 case 24:
1942 HASH_INITIALIZED(0x0EB22EDA95766E98LL, v_i,
1944 break;
1945 case 29:
1946 HASH_INITIALIZED(0x749C3FAB1E74371DLL, v_startPos,
1947 startPos);
1948 break;
1949 case 30:
1950 HASH_INITIALIZED(0x1D7680FEEF32A39ELL, v_attrStart,
1951 attrStart);
1952 HASH_INITIALIZED(0x3ABE2A7FF197E79ELL, v_maxCount,
1953 maxCount);
1954 break;
1955 case 34:
1956 HASH_INITIALIZED(0x7985846879851FA2LL, v_revText,
1957 revText);
1958 HASH_INITIALIZED(0x6F571EAFB109D7A2LL, v_headingIndex,
1959 headingIndex);
1960 break;
1961 case 36:
1962 HASH_INITIALIZED(0x07D9889BE123B524LL, v_searchBase,
1963 searchBase);
1964 break;
1965 case 37:
1966 HASH_INITIALIZED(0x78D6949B972CFD25LL, v_rules,
1967 rules);
1968 break;
1969 case 40:
1970 HASH_INITIALIZED(0x4761A194B0333B28LL, v_accum,
1971 accum);
1972 break;
1973 case 41:
1974 HASH_INITIALIZED(0x2DD17595E81D9BA9LL, v_xmlishElements,
1975 xmlishElements);
1976 break;
1977 case 43:
1978 HASH_INITIALIZED(0x5084E637B870262BLL, v_stack,
1979 stack);
1980 break;
1981 case 45:
1982 HASH_INITIALIZED(0x73F30E0F2D277D2DLL, v_inHeading,
1983 inHeading);
1984 break;
1985 case 46:
1986 HASH_INITIALIZED(0x7F0BF9704771F92ELL, v_literalLength,
1987 literalLength);
1988 HASH_INITIALIZED(0x75716BF7E20AFAAELL, v_matchingCount,
1989 matchingCount);
1990 break;
1991 case 47:
1992 HASH_INITIALIZED(0x7451350C607F1BAFLL, v_noMoreGT,
1993 noMoreGT);
1994 break;
1995 case 48:
1996 HASH_INITIALIZED(0x6FD137A54D1BE930LL, v_wsStart,
1997 wsStart);
1998 break;
1999 case 49:
2000 HASH_INITIALIZED(0x5893A9585C6502B1LL, v_xml,
2001 xml);
2002 break;
2003 case 50:
2004 HASH_INITIALIZED(0x485CF5F18ACB2632LL, v_endPos,
2005 endPos);
2006 break;
2007 case 57:
2008 HASH_INITIALIZED(0x61CFEEED54DD0AB9LL, v_matches,
2009 matches);
2010 break;
2011 case 59:
2012 HASH_INITIALIZED(0x3D66B5980D54BABBLL, v_count,
2013 count);
2014 break;
2015 case 62:
2016 HASH_INITIALIZED(0x4B89E9FF5DB696BELL, v_currentClosing,
2017 currentClosing);
2018 break;
2019 case 67:
2020 HASH_INITIALIZED(0x2A28A0084DD3A743LL, v_text,
2021 text);
2022 HASH_INITIALIZED(0x79E99297D9CF6243LL, v_search,
2023 search);
2024 break;
2025 case 75:
2026 HASH_INITIALIZED(0x4D0B41A665B57E4BLL, v_searchStart,
2027 searchStart);
2028 break;
2029 case 78:
2030 HASH_INITIALIZED(0x41CC31743A0270CELL, v_found,
2031 found);
2032 HASH_INITIALIZED(0x5AE6844A0CCFE9CELL, v_attrEnd,
2033 attrEnd);
2034 HASH_INITIALIZED(0x0B812E4C8D98FBCELL, v_argIndex,
2035 argIndex);
2036 break;
2037 case 86:
2038 HASH_INITIALIZED(0x2C356137E4207156LL, v_tagStartPos,
2039 tagStartPos);
2040 break;
2041 case 89:
2042 HASH_INITIALIZED(0x3FB915AA8F8F8ED9LL, v_fakeLineStart,
2043 fakeLineStart);
2044 break;
2045 case 91:
2046 HASH_INITIALIZED(0x66866B45F7FF96DBLL, v_wsEnd,
2047 wsEnd);
2048 HASH_INITIALIZED(0x7132B63767EAFEDBLL, v_piece,
2049 piece);
2050 break;
2051 case 92:
2052 HASH_INITIALIZED(0x0BCDB293DC3CBDDCLL, v_name,
2053 name);
2054 break;
2055 case 93:
2056 HASH_INITIALIZED(0x64311A2C8443755DLL, v_attr,
2057 attr);
2058 break;
2059 case 99:
2060 HASH_INITIALIZED(0x40B8ADAF2E1FB7E3LL, v_elementsRegex,
2061 elementsRegex);
2062 break;
2063 case 101:
2064 HASH_INITIALIZED(0x7FE16A3727F18DE5LL, v_findOnlyinclude,
2065 findOnlyinclude);
2066 HASH_INITIALIZED(0x0AE2F3887B84C665LL, v_tagEndPos,
2067 tagEndPos);
2068 break;
2069 case 104:
2070 HASH_INITIALIZED(0x5D2342E7226E4E68LL, v_skippedBraces,
2071 skippedBraces);
2072 break;
2073 case 107:
2074 HASH_INITIALIZED(0x36B43082F052EC6BLL, v_close,
2075 close);
2076 break;
2077 case 108:
2078 HASH_INITIALIZED(0x0FCC00A0960D4D6CLL, v_xmlishRegex,
2079 xmlishRegex);
2080 HASH_INITIALIZED(0x5DBFA1F0A183E9ECLL, v_curChar,
2081 curChar);
2082 HASH_INITIALIZED(0x7F144219D39BF1ECLL, v_part,
2083 part);
2084 break;
2085 case 109:
2086 HASH_INITIALIZED(0x669278D2AC3068EDLL, v_ignoredTags,
2087 ignoredTags);
2088 break;
2089 case 114:
2090 HASH_INITIALIZED(0x51A687446C1579F2LL, v_names,
2091 names);
2092 break;
2093 case 117:
2094 HASH_INITIALIZED(0x217F5FC11124CC75LL, v_wsLength,
2095 wsLength);
2096 break;
2097 case 119:
2098 HASH_INITIALIZED(0x5C804792579E2477LL, v_forInclusion,
2099 forInclusion);
2100 break;
2101 case 120:
2102 HASH_INITIALIZED(0x77F20E4209A12DF8LL, v_enableOnlyinclude,
2103 enableOnlyinclude);
2104 HASH_INITIALIZED(0x573F2D2FEF6C9378LL, v_argName,
2105 argName);
2106 break;
2107 case 121:
2108 HASH_INITIALIZED(0x5AE3699687C882F9LL, v_findPipe,
2109 findPipe);
2110 HASH_INITIALIZED(0x75E78845AE202B79LL, v_enclosingAccum,
2111 enclosingAccum);
2112 break;
2113 case 124:
2114 HASH_INITIALIZED(0x35537723FE7928FCLL, v_lowerName,
2115 lowerName);
2116 break;
2117 case 125:
2118 HASH_INITIALIZED(0x3179991995176C7DLL, v_partIndex,
2119 partIndex);
2120 break;
2121 case 126:
2122 HASH_INITIALIZED(0x4F20D07BB803C1FELL, v_inner,
2123 inner);
2124 HASH_INITIALIZED(0x66AD900A2301E2FELL, v_title,
2125 title);
2126 break;
2127 case 127:
2128 HASH_INITIALIZED(0x41E37259D0CE717FLL, v_equalsLength,
2129 equalsLength);
2130 break;
2131 default:
2132 break;
2134 return LVariableTable::exists(s, hash);
2136 } variableTable(v_text, v_flags, v_rules, v_forInclusion, v_xmlishElements, v_enableOnlyinclude, v_ignoredTags, v_ignoredElements, v_xmlishRegex, v_elementsRegex, v_stack, v_searchBase, v_revText, v_i, v_accum, v_findEquals, v_findPipe, v_headingIndex, v_inHeading, v_noMoreGT, v_findOnlyinclude, v_fakeLineStart, v_startPos, v_tagEndPos, v_found, v_curChar, v_search, v_currentClosing, v_rule, v_literalLength, v_matches, v_endPos, v_inner, v_wsStart, v_wsEnd, v_wsLength, v_part, v_name, v_lowerName, v_attrStart, v_tagStartPos, v_attrEnd, v_close, v_attr, v_count, v_piece, v_searchStart, v_equalsLength, v_element, v_maxCount, v_matchingCount, v_parts, v_title, v_argIndex, v_partIndex, v_argName, v_argValue, v_names, v_skippedBraces, v_enclosingAccum, v_xml);
2137 LVariableTable* __attribute__((__unused__)) variables = &variableTable;
2138 LINE(122,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "Preprocessor_DOM::preprocessToXml").create()), 0x0000000075359BAFLL));
2139 (v_rules = ScalarArrays::sa_[3]);
2140 (v_forInclusion = bitwise_and(v_flags, 1LL /* parser::PTD_FOR_INCLUSION */));
2141 (v_xmlishElements = LINE(143,m_parser.o_invoke_few_args("getStripList", 0x151B6C9D84BBC1F5LL, 0)));
2142 (v_enableOnlyinclude = false);
2143 if (toBoolean(v_forInclusion)) {
2144 (v_ignoredTags = ScalarArrays::sa_[4]);
2145 (v_ignoredElements = ScalarArrays::sa_[5]);
2146 v_xmlishElements.append(("noinclude"));
2147 if (!same(LINE(149,x_strpos(toString(v_text), "<onlyinclude>")), false) && !same(x_strpos(toString(v_text), "</onlyinclude>"), false)) {
2148 (v_enableOnlyinclude = true);
2151 else {
2152 (v_ignoredTags = ScalarArrays::sa_[6]);
2153 (v_ignoredElements = ScalarArrays::sa_[7]);
2154 v_xmlishElements.append(("includeonly"));
2156 (v_xmlishRegex = LINE(157,(assignCallTemp(eo_1, x_array_merge(2, v_xmlishElements, Array(ArrayInit(1).set(0, v_ignoredTags).create()))),x_implode("|", eo_1))));
2157 (v_elementsRegex = LINE(160,concat3("~(", toString(v_xmlishRegex), ")(\?:\\s|\\/>|>)|(!--)~iA")));
2158 (v_stack = ((Object)(LINE(162,p_ppdstack(p_ppdstack(NEWOBJ(c_ppdstack)())->create())))));
2159 (v_searchBase = "[{<\n");
2160 (v_revText = LINE(165,x_strrev(toString(v_text))));
2161 (v_i = 0LL);
2162 (v_accum = ref(LINE(168,v_stack.o_invoke_few_args("getAccum", 0x1A5F5A2CB292E516LL, 0))));
2163 (v_accum = "<root>");
2164 (v_findEquals = false);
2165 (v_findPipe = false);
2166 (v_headingIndex = 1LL);
2167 (v_inHeading = false);
2168 (v_noMoreGT = false);
2169 (v_findOnlyinclude = v_enableOnlyinclude);
2170 (v_fakeLineStart = true);
2171 LOOP_COUNTER(10);
2173 while (true) {
2174 LOOP_COUNTER_CHECK(10);
2176 if (toBoolean(v_findOnlyinclude)) {
2177 (v_startPos = LINE(183,x_strpos(toString(v_text), "<onlyinclude>", toInt32(v_i))));
2178 if (same(v_startPos, false)) {
2179 concat_assign(v_accum, LINE(186,(assignCallTemp(eo_1, x_htmlspecialchars(toString(x_substr(toString(v_text), toInt32(v_i))))),concat3("<ignore>", eo_1, "</ignore>"))));
2180 break;
2182 (v_tagEndPos = v_startPos + LINE(189,x_strlen("<onlyinclude>")));
2183 concat_assign(v_accum, LINE(190,(assignCallTemp(eo_1, x_htmlspecialchars(toString(x_substr(toString(v_text), toInt32(v_i), toInt32(v_tagEndPos - v_i))))),concat3("<ignore>", eo_1, "</ignore>"))));
2184 (v_i = v_tagEndPos);
2185 (v_findOnlyinclude = false);
2187 if (toBoolean(v_fakeLineStart)) {
2188 (v_found = "line-start");
2189 (v_curChar = "");
2191 else {
2192 (v_search = v_searchBase);
2193 if (same(v_stack.o_get("top", 0x1854FD73A00D89E8LL), false)) {
2194 (v_currentClosing = "");
2196 else {
2197 (v_currentClosing = v_stack.o_get("top", 0x1854FD73A00D89E8LL).o_get("close", 0x36B43082F052EC6BLL));
2198 concat_assign(v_search, toString(v_currentClosing));
2200 if (toBoolean(v_findPipe)) {
2201 concat_assign(v_search, "|");
2203 if (toBoolean(v_findEquals)) {
2204 concat_assign(v_search, "=");
2206 setNull(v_rule);
2207 (v_literalLength = LINE(216,x_strcspn(toString(v_text), toString(v_search), toInt32(v_i))));
2208 if (more(v_literalLength, 0LL)) {
2209 concat_assign(v_accum, LINE(218,x_htmlspecialchars(toString(x_substr(toString(v_text), toInt32(v_i), toInt32(v_literalLength))))));
2210 v_i += v_literalLength;
2212 if (not_less(v_i, LINE(221,x_strlen(toString(v_text))))) {
2213 if (equal(v_currentClosing, "\n")) {
2214 (v_curChar = "");
2215 (v_found = "line-end");
2217 else {
2218 break;
2221 else {
2222 (v_curChar = v_text.rvalAt(v_i));
2223 if (equal(v_curChar, "|")) {
2224 (v_found = "pipe");
2226 else if (equal(v_curChar, "=")) {
2227 (v_found = "equals");
2229 else if (equal(v_curChar, "<")) {
2230 (v_found = "angle");
2232 else if (equal(v_curChar, "\n")) {
2233 if (toBoolean(v_inHeading)) {
2234 (v_found = "line-end");
2236 else {
2237 (v_found = "line-start");
2240 else if (equal(v_curChar, v_currentClosing)) {
2241 (v_found = "close");
2243 else if (isset(v_rules, v_curChar)) {
2244 (v_found = "open");
2245 (v_rule = v_rules.rvalAt(v_curChar));
2247 else {
2248 ++v_i;
2249 continue;
2253 if (equal(v_found, "angle")) {
2254 (v_matches = false);
2255 if (toBoolean(v_enableOnlyinclude) && equal(LINE(261,(assignCallTemp(eo_0, toString(v_text)),assignCallTemp(eo_1, toInt32(v_i)),assignCallTemp(eo_2, x_strlen("</onlyinclude>")),x_substr(eo_0, eo_1, eo_2))), "</onlyinclude>")) {
2256 (v_findOnlyinclude = true);
2257 continue;
2259 if (!(toBoolean(LINE(267,x_preg_match(toString(v_elementsRegex), toString(v_text), ref(v_matches), toInt32(0LL), toInt32(v_i + 1LL)))))) {
2260 concat_assign(v_accum, "&lt;");
2261 ++v_i;
2262 continue;
2264 if (isset(v_matches, 2LL, 0x486AFCC090D5F98CLL) && equal(v_matches.rvalAt(2LL, 0x486AFCC090D5F98CLL), "!--")) {
2265 (v_endPos = LINE(280,x_strpos(toString(v_text), "-->", toInt32(v_i + 4LL))));
2266 if (same(v_endPos, false)) {
2267 (v_inner = LINE(283,x_substr(toString(v_text), toInt32(v_i))));
2268 concat_assign(v_accum, LINE(284,(assignCallTemp(eo_1, x_htmlspecialchars(toString(v_inner))),concat3("<comment>", eo_1, "</comment>"))));
2269 (v_i = LINE(285,x_strlen(toString(v_text))));
2271 else {
2272 (v_wsStart = toBoolean(v_i) ? ((Variant)((v_i - LINE(288,(assignCallTemp(eo_0, toString(v_revText)),assignCallTemp(eo_2, toInt32(x_strlen(toString(v_text)) - v_i)),x_strspn(eo_0, " ", eo_2)))))) : ((Variant)(0LL)));
2273 (v_wsEnd = v_endPos + 2LL + LINE(291,x_strspn(toString(v_text), " ", toInt32(v_endPos + 3LL))));
2274 if (more(v_wsStart, 0LL) && equal(LINE(296,x_substr(toString(v_text), toInt32(v_wsStart - 1LL), toInt32(1LL))), "\n") && equal(LINE(297,x_substr(toString(v_text), toInt32(v_wsEnd + 1LL), toInt32(1LL))), "\n")) {
2275 (v_startPos = v_wsStart);
2276 (v_endPos = v_wsEnd + 1LL);
2277 (v_wsLength = v_i - v_wsStart);
2278 if (more(v_wsLength, 0LL) && same_rev(LINE(304,x_str_repeat(" ", toInt32(v_wsLength))), x_substr(toString(v_accum), toInt32(negate(v_wsLength))))) {
2279 (v_accum = LINE(305,x_substr(toString(v_accum), toInt32(0LL), toInt32(negate(v_wsLength)))));
2281 (v_fakeLineStart = true);
2283 else {
2284 (v_startPos = v_i);
2285 v_endPos += 2LL;
2287 if (toBoolean(v_stack.o_get("top", 0x1854FD73A00D89E8LL))) {
2288 (v_part = LINE(316,v_stack.o_get("top", 0x1854FD73A00D89E8LL).o_invoke_few_args("getCurrentPart", 0x1726802D706D7BECLL, 0)));
2289 if (toObject(v_part)->t___isset("commentEnd") && equal(v_part.o_get("commentEnd", 0x5537E70C21E6C099LL), v_wsStart - 1LL)) {
2290 (v_part.o_lval("commentEnd", 0x5537E70C21E6C099LL) = v_wsEnd);
2292 else {
2293 (v_part.o_lval("visualEnd", 0x101972FF17696EF2LL) = v_wsStart);
2294 (v_part.o_lval("commentEnd", 0x5537E70C21E6C099LL) = v_endPos);
2297 (v_i = v_endPos + 1LL);
2298 (v_inner = LINE(326,x_substr(toString(v_text), toInt32(v_startPos), toInt32(v_endPos - v_startPos + 1LL))));
2299 concat_assign(v_accum, LINE(327,(assignCallTemp(eo_1, x_htmlspecialchars(toString(v_inner))),concat3("<comment>", eo_1, "</comment>"))));
2301 continue;
2303 (v_name = v_matches.rvalAt(1LL, 0x5BCA7C69B794F8CELL));
2304 (v_lowerName = LINE(332,x_strtolower(toString(v_name))));
2305 (v_attrStart = v_i + LINE(333,x_strlen(toString(v_name))) + 1LL);
2306 (v_tagEndPos = toBoolean(v_noMoreGT) ? ((Variant)(false)) : ((Variant)(LINE(336,x_strpos(toString(v_text), ">", toInt32(v_attrStart))))));
2307 if (same(v_tagEndPos, false)) {
2308 (v_noMoreGT = true);
2309 concat_assign(v_accum, "&lt;");
2310 ++v_i;
2311 continue;
2313 if (LINE(347,x_in_array(v_lowerName, v_ignoredTags))) {
2314 concat_assign(v_accum, LINE(348,(assignCallTemp(eo_1, x_htmlspecialchars(toString(x_substr(toString(v_text), toInt32(v_i), toInt32(v_tagEndPos - v_i + 1LL))))),concat3("<ignore>", eo_1, "</ignore>"))));
2315 (v_i = v_tagEndPos + 1LL);
2316 continue;
2318 (v_tagStartPos = v_i);
2319 if (equal(v_text.rvalAt(v_tagEndPos - 1LL), "/")) {
2320 (v_attrEnd = v_tagEndPos - 1LL);
2321 setNull(v_inner);
2322 (v_i = v_tagEndPos + 1LL);
2323 (v_close = "");
2325 else {
2326 (v_attrEnd = v_tagEndPos);
2327 if (toBoolean(LINE(363,(assignCallTemp(eo_0, LINE(362,(assignCallTemp(eo_6, x_preg_quote(toString(v_name), "/")),concat3("/<\\/", eo_6, "\\s*>/i")))),assignCallTemp(eo_1, toString(v_text)),assignCallTemp(eo_2, ref(v_matches)),assignCallTemp(eo_4, toInt32(v_tagEndPos + 1LL)),x_preg_match(eo_0, eo_1, eo_2, toInt32(256LL) /* PREG_OFFSET_CAPTURE */, eo_4))))) {
2328 (v_inner = LINE(365,x_substr(toString(v_text), toInt32(v_tagEndPos + 1LL), toInt32(v_matches.rvalAt(0LL, 0x77CFA1EEF01BCA90LL).rvalAt(1LL, 0x5BCA7C69B794F8CELL) - v_tagEndPos - 1LL))));
2329 (v_i = v_matches.rvalAt(0LL, 0x77CFA1EEF01BCA90LL).rvalAt(1LL, 0x5BCA7C69B794F8CELL) + LINE(366,x_strlen(toString(v_matches.rvalAt(0LL, 0x77CFA1EEF01BCA90LL).rvalAt(0LL, 0x77CFA1EEF01BCA90LL)))));
2330 (v_close = LINE(367,(assignCallTemp(eo_1, x_htmlspecialchars(toString(v_matches.rvalAt(0LL, 0x77CFA1EEF01BCA90LL).rvalAt(0LL, 0x77CFA1EEF01BCA90LL)))),concat3("<close>", eo_1, "</close>"))));
2332 else {
2333 (v_inner = LINE(370,x_substr(toString(v_text), toInt32(v_tagEndPos + 1LL))));
2334 (v_i = LINE(371,x_strlen(toString(v_text))));
2335 (v_close = "");
2338 if (LINE(376,x_in_array(v_lowerName, v_ignoredElements))) {
2339 concat_assign(v_accum, LINE(378,(assignCallTemp(eo_1, LINE(377,x_htmlspecialchars(toString(x_substr(toString(v_text), toInt32(v_tagStartPos), toInt32(v_i - v_tagStartPos)))))),concat3("<ignore>", eo_1, "</ignore>"))));
2340 continue;
2342 concat_assign(v_accum, "<ext>");
2343 if (not_more(v_attrEnd, v_attrStart)) {
2344 (v_attr = "");
2346 else {
2347 (v_attr = LINE(386,x_substr(toString(v_text), toInt32(v_attrStart), toInt32(v_attrEnd - v_attrStart))));
2349 concat_assign(v_accum, concat(concat_rev(LINE(391,x_htmlspecialchars(toString(v_attr))), (assignCallTemp(eo_1, LINE(388,x_htmlspecialchars(toString(v_name)))),concat3("<name>", eo_1, "</name><attr>"))), "</attr>"));
2350 if (!same(v_inner, null)) {
2351 concat_assign(v_accum, LINE(393,(assignCallTemp(eo_1, x_htmlspecialchars(toString(v_inner))),concat3("<inner>", eo_1, "</inner>"))));
2353 concat_assign(v_accum, concat(toString(v_close), "</ext>"));
2355 else if (equal(v_found, "line-start")) {
2356 if (toBoolean(v_fakeLineStart)) {
2357 (v_fakeLineStart = false);
2359 else {
2360 concat_assign(v_accum, toString(v_curChar));
2361 v_i++;
2363 (v_count = LINE(408,x_strspn(toString(v_text), "=", toInt32(v_i), toInt32(6LL))));
2364 if (equal(v_count, 1LL) && toBoolean(v_findEquals)) {
2366 else if (more(v_count, 0LL)) {
2367 (v_piece = Array(ArrayInit(5).set(0, "open", "\n", 0x6A760D2EC60228C6LL).set(1, "close", "\n", 0x36B43082F052EC6BLL).set(2, "parts", Array(ArrayInit(1).set(0, ((Object)(LINE(417,p_ppdpart(p_ppdpart(NEWOBJ(c_ppdpart)())->create(x_str_repeat("=", toInt32(v_count)))))))).create()), 0x2708FDA74562AD8DLL).set(3, "startPos", v_i, 0x749C3FAB1E74371DLL).set(4, "count", v_count, 0x3D66B5980D54BABBLL).create()));
2368 LINE(420,v_stack.o_invoke_few_args("push", 0x321E2BF5D878AA38LL, 1, v_piece));
2369 (v_accum = ref(LINE(421,v_stack.o_invoke_few_args("getAccum", 0x1A5F5A2CB292E516LL, 0))));
2370 (v_flags = LINE(422,v_stack.o_invoke_few_args("getFlags", 0x27E7DBA875AD17E1LL, 0)));
2371 LINE(423,extract(variables, toArray(v_flags)));
2372 v_i += v_count;
2375 else if (equal(v_found, "line-end")) {
2376 (v_piece = v_stack.o_get("top", 0x1854FD73A00D89E8LL));
2377 LINE(431,x_assert(equal(v_piece.o_get("open", 0x6A760D2EC60228C6LL), "\n")));
2378 (v_part = LINE(432,v_piece.o_invoke_few_args("getCurrentPart", 0x1726802D706D7BECLL, 0)));
2379 (v_wsLength = LINE(435,(assignCallTemp(eo_0, toString(v_revText)),assignCallTemp(eo_2, toInt32(x_strlen(toString(v_text)) - v_i)),x_strspn(eo_0, " \t", eo_2))));
2380 (v_searchStart = v_i - v_wsLength);
2381 if (toObject(v_part)->t___isset("commentEnd") && equal(v_searchStart - 1LL, v_part.o_get("commentEnd", 0x5537E70C21E6C099LL))) {
2382 (v_searchStart = v_part.o_get("visualEnd", 0x101972FF17696EF2LL));
2383 v_searchStart -= LINE(441,(assignCallTemp(eo_0, toString(v_revText)),assignCallTemp(eo_2, toInt32(x_strlen(toString(v_text)) - v_searchStart)),x_strspn(eo_0, " \t", eo_2)));
2385 (v_count = v_piece.o_get("count", 0x3D66B5980D54BABBLL));
2386 (v_equalsLength = LINE(444,(assignCallTemp(eo_0, toString(v_revText)),assignCallTemp(eo_2, toInt32(x_strlen(toString(v_text)) - v_searchStart)),x_strspn(eo_0, "=", eo_2))));
2387 if (more(v_equalsLength, 0LL)) {
2388 if (equal(v_i - v_equalsLength, v_piece.o_get("startPos", 0x749C3FAB1E74371DLL))) {
2389 (v_count = v_equalsLength);
2390 if (less(v_count, 3LL)) {
2391 (v_count = 0LL);
2393 else {
2394 (v_count = LINE(454,(assignCallTemp(eo_1, x_intval(divide((v_count - 1LL), 2LL))),x_min(2, 6LL, Array(ArrayInit(1).set(0, eo_1).create())))));
2397 else {
2398 (v_count = LINE(457,x_min(2, v_equalsLength, Array(ArrayInit(1).set(0, v_count).create()))));
2400 if (more(v_count, 0LL)) {
2401 (v_element = concat("<h level=\"", LINE(461,concat6(toString(v_count), "\" i=\"", toString(v_headingIndex), "\">", toString(v_accum), "</h>"))));
2402 v_headingIndex++;
2404 else {
2405 (v_element = v_accum);
2408 else {
2409 (v_element = v_accum);
2411 LINE(472,v_stack.o_invoke_few_args("pop", 0x773C5A963CD2AC13LL, 0));
2412 (v_accum = ref(LINE(473,v_stack.o_invoke_few_args("getAccum", 0x1A5F5A2CB292E516LL, 0))));
2413 (v_flags = LINE(474,v_stack.o_invoke_few_args("getFlags", 0x27E7DBA875AD17E1LL, 0)));
2414 LINE(475,extract(variables, toArray(v_flags)));
2415 concat_assign(v_accum, toString(v_element));
2417 else if (equal(v_found, "open")) {
2418 (v_count = LINE(488,x_strspn(toString(v_text), toString(v_curChar), toInt32(v_i))));
2419 if (not_less(v_count, v_rule.rvalAt("min", 0x66FFC7365E2D00CALL))) {
2420 (v_piece = Array(ArrayInit(4).set(0, "open", v_curChar, 0x6A760D2EC60228C6LL).set(1, "close", v_rule.rvalAt("end", 0x6DE935C204DC3D01LL), 0x36B43082F052EC6BLL).set(2, "count", v_count, 0x3D66B5980D54BABBLL).set(3, "lineStart", (more(v_i, 0LL) && equal(v_text.rvalAt(v_i - 1LL), "\n")), 0x0F84CB175598D0A5LL).create()));
2421 LINE(500,v_stack.o_invoke_few_args("push", 0x321E2BF5D878AA38LL, 1, v_piece));
2422 (v_accum = ref(LINE(501,v_stack.o_invoke_few_args("getAccum", 0x1A5F5A2CB292E516LL, 0))));
2423 (v_flags = LINE(502,v_stack.o_invoke_few_args("getFlags", 0x27E7DBA875AD17E1LL, 0)));
2424 LINE(503,extract(variables, toArray(v_flags)));
2426 else {
2427 concat_assign(v_accum, LINE(506,x_htmlspecialchars(x_str_repeat(toString(v_curChar), toInt32(v_count)))));
2429 v_i += v_count;
2431 else if (equal(v_found, "close")) {
2432 (v_piece = v_stack.o_get("top", 0x1854FD73A00D89E8LL));
2433 (v_maxCount = v_piece.o_get("count", 0x3D66B5980D54BABBLL));
2434 (v_count = LINE(515,x_strspn(toString(v_text), toString(v_curChar), toInt32(v_i), toInt32(v_maxCount))));
2435 (v_matchingCount = 0LL);
2436 (v_rule = v_rules.rvalAt(v_piece.o_get("open", 0x6A760D2EC60228C6LL)));
2437 if (more(v_count, v_rule.rvalAt("max", 0x022BD5C706BD9850LL))) {
2438 (v_matchingCount = v_rule.rvalAt("max", 0x022BD5C706BD9850LL));
2440 else {
2441 (v_matchingCount = v_count);
2442 LOOP_COUNTER(11);
2444 while (more(v_matchingCount, 0LL) && !(LINE(530,x_array_key_exists(v_matchingCount, v_rule.rvalAt("names", 0x51A687446C1579F2LL))))) {
2445 LOOP_COUNTER_CHECK(11);
2447 --v_matchingCount;
2452 if (not_more(v_matchingCount, 0LL)) {
2453 concat_assign(v_accum, LINE(538,x_htmlspecialchars(x_str_repeat(toString(v_curChar), toInt32(v_count)))));
2454 v_i += v_count;
2455 continue;
2457 (v_name = v_rule.rvalAt("names", 0x51A687446C1579F2LL).rvalAt(v_matchingCount));
2458 if (same(v_name, null)) {
2459 (v_element = concat_rev(LINE(545,x_str_repeat(toString(v_rule.rvalAt("end", 0x6DE935C204DC3D01LL)), toInt32(v_matchingCount))), toString(v_piece.o_invoke_few_args("breakSyntax", 0x1CF88FA5EFC88C39LL, 1, v_matchingCount))));
2461 else {
2462 (v_parts = v_piece.o_get("parts", 0x2708FDA74562AD8DLL));
2463 (v_title = v_parts.rvalAt(0LL, 0x77CFA1EEF01BCA90LL).o_get("out", 0x7C801AC012E9F722LL));
2464 v_parts.weakRemove(0LL, 0x77CFA1EEF01BCA90LL);
2465 if (equal(v_maxCount, v_matchingCount) && !(empty(toObject(v_piece).o_get("lineStart", 0x0F84CB175598D0A5LL)))) {
2466 (v_attr = " lineStart=\"1\"");
2468 else {
2469 (v_attr = "");
2471 (v_element = LINE(549,(assignCallTemp(eo_1, toString(v_name)),assignCallTemp(eo_2, toString(v_attr)),assignCallTemp(eo_4, LINE(562,concat3("<title>", toString(v_title), "</title>"))),concat5("<", eo_1, eo_2, ">", eo_4))));
2472 (v_argIndex = 1LL);
2474 LOOP_COUNTER(12);
2475 for (ArrayIterPtr iter14 = v_parts.begin("preprocessor_dom"); !iter14->end(); iter14->next()) {
2476 LOOP_COUNTER_CHECK(12);
2477 v_part = iter14->second();
2478 v_partIndex = iter14->first();
2480 if (toObject(v_part)->t___isset("eqpos")) {
2481 (v_argName = LINE(566,x_substr(toString(v_part.o_get("out", 0x7C801AC012E9F722LL)), toInt32(0LL), toInt32(v_part.o_get("eqpos", 0x33437B517F4D41D7LL)))));
2482 (v_argValue = LINE(567,x_substr(toString(v_part.o_get("out", 0x7C801AC012E9F722LL)), toInt32(v_part.o_get("eqpos", 0x33437B517F4D41D7LL) + 1LL))));
2483 concat_assign(v_element, LINE(568,concat5("<part><name>", toString(v_argName), "</name>=<value>", toString(v_argValue), "</value></part>")));
2485 else {
2486 concat_assign(v_element, LINE(570,concat5("<part><name index=\"", toString(v_argIndex), "\" /><value>", toString(v_part.o_get("out", 0x7C801AC012E9F722LL)), "</value></part>")));
2487 v_argIndex++;
2492 concat_assign(v_element, LINE(574,concat3("</", toString(v_name), ">")));
2494 v_i += v_matchingCount;
2495 LINE(581,v_stack.o_invoke_few_args("pop", 0x773C5A963CD2AC13LL, 0));
2496 (v_accum = ref(LINE(582,v_stack.o_invoke_few_args("getAccum", 0x1A5F5A2CB292E516LL, 0))));
2497 if (less(v_matchingCount, v_piece.o_get("count", 0x3D66B5980D54BABBLL))) {
2498 (v_piece.o_lval("parts", 0x2708FDA74562AD8DLL) = Array(ArrayInit(1).set(0, ((Object)(LINE(586,p_ppdpart(p_ppdpart(NEWOBJ(c_ppdpart)())->create()))))).create()));
2499 v_piece.o_lval("count", 0x3D66B5980D54BABBLL) -= v_matchingCount;
2500 (v_names = v_rules.rvalAt(v_piece.o_get("open", 0x6A760D2EC60228C6LL)).rvalAt("names", 0x51A687446C1579F2LL));
2501 (v_skippedBraces = 0LL);
2502 (v_enclosingAccum = ref(v_accum));
2503 LOOP_COUNTER(15);
2505 while (toBoolean(v_piece.o_get("count", 0x3D66B5980D54BABBLL))) {
2506 LOOP_COUNTER_CHECK(15);
2508 if (LINE(593,x_array_key_exists(v_piece.o_get("count", 0x3D66B5980D54BABBLL), v_names))) {
2509 LINE(594,v_stack.o_invoke_few_args("push", 0x321E2BF5D878AA38LL, 1, v_piece));
2510 (v_accum = ref(LINE(595,v_stack.o_invoke_few_args("getAccum", 0x1A5F5A2CB292E516LL, 0))));
2511 break;
2513 --lval(v_piece.o_lval("count", 0x3D66B5980D54BABBLL));
2514 v_skippedBraces++;
2518 concat_assign(v_enclosingAccum, LINE(601,x_str_repeat(toString(v_piece.o_get("open", 0x6A760D2EC60228C6LL)), toInt32(v_skippedBraces))));
2520 (v_flags = LINE(603,v_stack.o_invoke_few_args("getFlags", 0x27E7DBA875AD17E1LL, 0)));
2521 LINE(604,extract(variables, toArray(v_flags)));
2522 concat_assign(v_accum, toString(v_element));
2524 else if (equal(v_found, "pipe")) {
2525 (v_findEquals = true);
2526 LINE(612,v_stack.o_invoke_few_args("addPart", 0x499E72B719A4CAC2LL, 0));
2527 (v_accum = ref(LINE(613,v_stack.o_invoke_few_args("getAccum", 0x1A5F5A2CB292E516LL, 0))));
2528 ++v_i;
2530 else if (equal(v_found, "equals")) {
2531 (v_findEquals = false);
2532 (LINE(619,v_stack.o_invoke_few_args("getCurrentPart", 0x1726802D706D7BECLL, 0)).o_lval("eqpos", 0x33437B517F4D41D7LL) = x_strlen(toString(v_accum)));
2533 concat_assign(v_accum, "=");
2534 ++v_i;
2540 LOOP_COUNTER(16);
2541 Variant map17 = v_stack.o_get("stack", 0x5084E637B870262BLL);
2542 for (ArrayIterPtr iter18 = map17.begin("preprocessor_dom"); !iter18->end(); iter18->next()) {
2543 LOOP_COUNTER_CHECK(16);
2544 v_piece = iter18->second();
2546 concat_assign(v_stack.o_lval("rootAccum", 0x5F4D08F214717E0FLL), toString(LINE(627,v_piece.o_invoke_few_args("breakSyntax", 0x1CF88FA5EFC88C39LL, 0))));
2550 concat_assign(v_stack.o_lval("rootAccum", 0x5F4D08F214717E0FLL), "</root>");
2551 (v_xml = v_stack.o_get("rootAccum", 0x5F4D08F214717E0FLL));
2552 LINE(632,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "Preprocessor_DOM::preprocessToXml").create()), 0x00000000B599F276LL));
2553 return v_xml;
2554 } /* function */
2555 /* SRC: Preprocessor_DOM.php line 806 */
2556 Variant c_ppframe_dom::os_get(const char *s, int64 hash) {
2557 return c_ObjectData::os_get(s, hash);
2559 Variant &c_ppframe_dom::os_lval(const char *s, int64 hash) {
2560 return c_ObjectData::os_lval(s, hash);
2562 void c_ppframe_dom::o_get(ArrayElementVec &props) const {
2563 props.push_back(NEW(ArrayElement)("preprocessor", m_preprocessor.isReferenced() ? ref(m_preprocessor) : m_preprocessor));
2564 props.push_back(NEW(ArrayElement)("parser", m_parser.isReferenced() ? ref(m_parser) : m_parser));
2565 props.push_back(NEW(ArrayElement)("title", m_title.isReferenced() ? ref(m_title) : m_title));
2566 props.push_back(NEW(ArrayElement)("titleCache", m_titleCache.isReferenced() ? ref(m_titleCache) : m_titleCache));
2567 props.push_back(NEW(ArrayElement)("loopCheckHash", m_loopCheckHash.isReferenced() ? ref(m_loopCheckHash) : m_loopCheckHash));
2568 props.push_back(NEW(ArrayElement)("depth", m_depth.isReferenced() ? ref(m_depth) : m_depth));
2569 c_ObjectData::o_get(props);
2571 bool c_ppframe_dom::o_exists(CStrRef s, int64 hash) const {
2572 if (hash < 0) hash = hash_string(s.data(), s.length());
2573 switch (hash & 15) {
2574 case 2:
2575 HASH_EXISTS_STRING(0x18A8B9D71D4F2D02LL, parser, 6);
2576 break;
2577 case 3:
2578 HASH_EXISTS_STRING(0x0CD4D2916BE2CE13LL, titleCache, 10);
2579 break;
2580 case 5:
2581 HASH_EXISTS_STRING(0x757439BA20184735LL, loopCheckHash, 13);
2582 break;
2583 case 7:
2584 HASH_EXISTS_STRING(0x1AE700EECE6274C7LL, depth, 5);
2585 break;
2586 case 14:
2587 HASH_EXISTS_STRING(0x2940E17D1F5401AELL, preprocessor, 12);
2588 HASH_EXISTS_STRING(0x66AD900A2301E2FELL, title, 5);
2589 break;
2590 default:
2591 break;
2593 return c_ObjectData::o_exists(s, hash);
2595 Variant c_ppframe_dom::o_get(CStrRef s, int64 hash) {
2596 if (hash < 0) hash = hash_string(s.data(), s.length());
2597 switch (hash & 15) {
2598 case 2:
2599 HASH_RETURN_STRING(0x18A8B9D71D4F2D02LL, m_parser,
2600 parser, 6);
2601 break;
2602 case 3:
2603 HASH_RETURN_STRING(0x0CD4D2916BE2CE13LL, m_titleCache,
2604 titleCache, 10);
2605 break;
2606 case 5:
2607 HASH_RETURN_STRING(0x757439BA20184735LL, m_loopCheckHash,
2608 loopCheckHash, 13);
2609 break;
2610 case 7:
2611 HASH_RETURN_STRING(0x1AE700EECE6274C7LL, m_depth,
2612 depth, 5);
2613 break;
2614 case 14:
2615 HASH_RETURN_STRING(0x2940E17D1F5401AELL, m_preprocessor,
2616 preprocessor, 12);
2617 HASH_RETURN_STRING(0x66AD900A2301E2FELL, m_title,
2618 title, 5);
2619 break;
2620 default:
2621 break;
2623 return c_ObjectData::o_get(s, hash);
2625 Variant c_ppframe_dom::o_set(CStrRef s, int64 hash, CVarRef v,bool forInit /* = false */) {
2626 if (hash < 0) hash = hash_string(s.data(), s.length());
2627 switch (hash & 15) {
2628 case 2:
2629 HASH_SET_STRING(0x18A8B9D71D4F2D02LL, m_parser,
2630 parser, 6);
2631 break;
2632 case 3:
2633 HASH_SET_STRING(0x0CD4D2916BE2CE13LL, m_titleCache,
2634 titleCache, 10);
2635 break;
2636 case 5:
2637 HASH_SET_STRING(0x757439BA20184735LL, m_loopCheckHash,
2638 loopCheckHash, 13);
2639 break;
2640 case 7:
2641 HASH_SET_STRING(0x1AE700EECE6274C7LL, m_depth,
2642 depth, 5);
2643 break;
2644 case 14:
2645 HASH_SET_STRING(0x2940E17D1F5401AELL, m_preprocessor,
2646 preprocessor, 12);
2647 HASH_SET_STRING(0x66AD900A2301E2FELL, m_title,
2648 title, 5);
2649 break;
2650 default:
2651 break;
2653 return c_ObjectData::o_set(s, hash, v, forInit);
2655 Variant &c_ppframe_dom::o_lval(CStrRef s, int64 hash) {
2656 if (hash < 0) hash = hash_string(s.data(), s.length());
2657 switch (hash & 15) {
2658 case 2:
2659 HASH_RETURN_STRING(0x18A8B9D71D4F2D02LL, m_parser,
2660 parser, 6);
2661 break;
2662 case 3:
2663 HASH_RETURN_STRING(0x0CD4D2916BE2CE13LL, m_titleCache,
2664 titleCache, 10);
2665 break;
2666 case 5:
2667 HASH_RETURN_STRING(0x757439BA20184735LL, m_loopCheckHash,
2668 loopCheckHash, 13);
2669 break;
2670 case 7:
2671 HASH_RETURN_STRING(0x1AE700EECE6274C7LL, m_depth,
2672 depth, 5);
2673 break;
2674 case 14:
2675 HASH_RETURN_STRING(0x2940E17D1F5401AELL, m_preprocessor,
2676 preprocessor, 12);
2677 HASH_RETURN_STRING(0x66AD900A2301E2FELL, m_title,
2678 title, 5);
2679 break;
2680 default:
2681 break;
2683 return c_ObjectData::o_lval(s, hash);
2685 Variant c_ppframe_dom::os_constant(const char *s) {
2686 return c_ObjectData::os_constant(s);
2688 IMPLEMENT_CLASS(ppframe_dom)
2689 ObjectData *c_ppframe_dom::create(Variant v_preprocessor) {
2690 init();
2691 t___construct(v_preprocessor);
2692 return this;
2694 ObjectData *c_ppframe_dom::dynCreate(CArrRef params, bool init /* = true */) {
2695 if (init) {
2696 return (create(params.rvalAt(0)));
2697 } else return this;
2699 void c_ppframe_dom::dynConstruct(CArrRef params) {
2700 (t___construct(params.rvalAt(0)));
2702 ObjectData *c_ppframe_dom::cloneImpl() {
2703 c_ppframe_dom *obj = NEW(c_ppframe_dom)();
2704 cloneSet(obj);
2705 return obj;
2707 void c_ppframe_dom::cloneSet(c_ppframe_dom *clone) {
2708 clone->m_preprocessor = m_preprocessor.isReferenced() ? ref(m_preprocessor) : m_preprocessor;
2709 clone->m_parser = m_parser.isReferenced() ? ref(m_parser) : m_parser;
2710 clone->m_title = m_title.isReferenced() ? ref(m_title) : m_title;
2711 clone->m_titleCache = m_titleCache.isReferenced() ? ref(m_titleCache) : m_titleCache;
2712 clone->m_loopCheckHash = m_loopCheckHash.isReferenced() ? ref(m_loopCheckHash) : m_loopCheckHash;
2713 clone->m_depth = m_depth.isReferenced() ? ref(m_depth) : m_depth;
2714 ObjectData::cloneSet(clone);
2716 Variant c_ppframe_dom::o_invoke(const char *s, CArrRef params, int64 hash, bool fatal) {
2717 if (hash < 0) hash = hash_string_i(s);
2718 switch (hash & 31) {
2719 case 8:
2720 HASH_GUARD(0x6359F42D5FC265E8LL, isempty) {
2721 return (t_isempty());
2723 break;
2724 case 11:
2725 HASH_GUARD(0x409618A98590618BLL, virtualbracketedimplode) {
2726 int count = params.size();
2727 if (count <= 3) return (t_virtualbracketedimplode(count, params.rvalAt(0), params.rvalAt(1), params.rvalAt(2)));
2728 return (t_virtualbracketedimplode(count,params.rvalAt(0), params.rvalAt(1), params.rvalAt(2), params.slice(3, count - 3, false)));
2730 break;
2731 case 13:
2732 HASH_GUARD(0x39B7BB05F05A37CDLL, expand) {
2733 int count = params.size();
2734 if (count <= 1) return (t_expand(params.rvalAt(0)));
2735 return (t_expand(params.rvalAt(0), params.rvalAt(1)));
2737 break;
2738 case 14:
2739 HASH_GUARD(0x5047BA794DE2746ELL, implodewithflags) {
2740 int count = params.size();
2741 if (count <= 2) return (t_implodewithflags(count, params.rvalAt(0), params.rvalAt(1)));
2742 return (t_implodewithflags(count,params.rvalAt(0), params.rvalAt(1), params.slice(2, count - 2, false)));
2744 break;
2745 case 16:
2746 HASH_GUARD(0x7EF27F050E4E0390LL, getnamedarguments) {
2747 return (t_getnamedarguments());
2749 break;
2750 case 17:
2751 HASH_GUARD(0x1E2D3AE762AF0AF1LL, virtualimplode) {
2752 int count = params.size();
2753 if (count <= 1) return (t_virtualimplode(count, params.rvalAt(0)));
2754 return (t_virtualimplode(count,params.rvalAt(0), params.slice(1, count - 1, false)));
2756 break;
2757 case 19:
2758 HASH_GUARD(0x642C2D2994B34A13LL, __tostring) {
2759 return (t___tostring());
2761 break;
2762 case 23:
2763 HASH_GUARD(0x3685C90A1EB568B7LL, getarguments) {
2764 return (t_getarguments());
2766 break;
2767 case 24:
2768 HASH_GUARD(0x0A95A4780D41F7B8LL, getargument) {
2769 return (t_getargument(params.rvalAt(0)));
2771 break;
2772 case 25:
2773 HASH_GUARD(0x7CBE9654ADB6CFB9LL, istemplate) {
2774 return (t_istemplate());
2776 break;
2777 case 28:
2778 HASH_GUARD(0x7F4AB942B9CDE1BCLL, newchild) {
2779 int count = params.size();
2780 if (count <= 0) return (t_newchild());
2781 if (count == 1) return (t_newchild(params.rvalAt(0)));
2782 return (t_newchild(params.rvalAt(0), params.rvalAt(1)));
2784 break;
2785 case 29:
2786 HASH_GUARD(0x7F29FBB1CA49733DLL, getnumberedarguments) {
2787 return (t_getnumberedarguments());
2789 break;
2790 case 30:
2791 HASH_GUARD(0x36A80B48E08B753ELL, implode) {
2792 int count = params.size();
2793 if (count <= 1) return (t_implode(count, params.rvalAt(0)));
2794 return (t_implode(count,params.rvalAt(0), params.slice(1, count - 1, false)));
2796 break;
2797 case 31:
2798 HASH_GUARD(0x7BA9911BE4A4175FLL, loopcheck) {
2799 return (t_loopcheck(params.rvalAt(0)));
2801 HASH_GUARD(0x0D31D0AC229C615FLL, __construct) {
2802 return (t___construct(params.rvalAt(0)), null);
2804 break;
2805 default:
2806 break;
2808 return c_ObjectData::o_invoke(s, params, hash, fatal);
2810 Variant c_ppframe_dom::o_invoke_few_args(const char *s, int64 hash, int count, CVarRef a0, CVarRef a1, CVarRef a2, CVarRef a3, CVarRef a4, CVarRef a5) {
2811 if (hash < 0) hash = hash_string_i(s);
2812 switch (hash & 31) {
2813 case 8:
2814 HASH_GUARD(0x6359F42D5FC265E8LL, isempty) {
2815 return (t_isempty());
2817 break;
2818 case 11:
2819 HASH_GUARD(0x409618A98590618BLL, virtualbracketedimplode) {
2820 if (count <= 3) return (t_virtualbracketedimplode(count, a0, a1, a2));
2821 Array params;
2822 if (count >= 4) params.append(a3);
2823 if (count >= 5) params.append(a4);
2824 if (count >= 6) params.append(a5);
2825 return (t_virtualbracketedimplode(count,a0, a1, a2, params));
2827 break;
2828 case 13:
2829 HASH_GUARD(0x39B7BB05F05A37CDLL, expand) {
2830 if (count <= 1) return (t_expand(a0));
2831 return (t_expand(a0, a1));
2833 break;
2834 case 14:
2835 HASH_GUARD(0x5047BA794DE2746ELL, implodewithflags) {
2836 if (count <= 2) return (t_implodewithflags(count, a0, a1));
2837 Array params;
2838 if (count >= 3) params.append(a2);
2839 if (count >= 4) params.append(a3);
2840 if (count >= 5) params.append(a4);
2841 if (count >= 6) params.append(a5);
2842 return (t_implodewithflags(count,a0, a1, params));
2844 break;
2845 case 16:
2846 HASH_GUARD(0x7EF27F050E4E0390LL, getnamedarguments) {
2847 return (t_getnamedarguments());
2849 break;
2850 case 17:
2851 HASH_GUARD(0x1E2D3AE762AF0AF1LL, virtualimplode) {
2852 if (count <= 1) return (t_virtualimplode(count, a0));
2853 Array params;
2854 if (count >= 2) params.append(a1);
2855 if (count >= 3) params.append(a2);
2856 if (count >= 4) params.append(a3);
2857 if (count >= 5) params.append(a4);
2858 if (count >= 6) params.append(a5);
2859 return (t_virtualimplode(count,a0, params));
2861 break;
2862 case 19:
2863 HASH_GUARD(0x642C2D2994B34A13LL, __tostring) {
2864 return (t___tostring());
2866 break;
2867 case 23:
2868 HASH_GUARD(0x3685C90A1EB568B7LL, getarguments) {
2869 return (t_getarguments());
2871 break;
2872 case 24:
2873 HASH_GUARD(0x0A95A4780D41F7B8LL, getargument) {
2874 return (t_getargument(a0));
2876 break;
2877 case 25:
2878 HASH_GUARD(0x7CBE9654ADB6CFB9LL, istemplate) {
2879 return (t_istemplate());
2881 break;
2882 case 28:
2883 HASH_GUARD(0x7F4AB942B9CDE1BCLL, newchild) {
2884 if (count <= 0) return (t_newchild());
2885 if (count == 1) return (t_newchild(a0));
2886 return (t_newchild(a0, a1));
2888 break;
2889 case 29:
2890 HASH_GUARD(0x7F29FBB1CA49733DLL, getnumberedarguments) {
2891 return (t_getnumberedarguments());
2893 break;
2894 case 30:
2895 HASH_GUARD(0x36A80B48E08B753ELL, implode) {
2896 if (count <= 1) return (t_implode(count, a0));
2897 Array params;
2898 if (count >= 2) params.append(a1);
2899 if (count >= 3) params.append(a2);
2900 if (count >= 4) params.append(a3);
2901 if (count >= 5) params.append(a4);
2902 if (count >= 6) params.append(a5);
2903 return (t_implode(count,a0, params));
2905 break;
2906 case 31:
2907 HASH_GUARD(0x7BA9911BE4A4175FLL, loopcheck) {
2908 return (t_loopcheck(a0));
2910 HASH_GUARD(0x0D31D0AC229C615FLL, __construct) {
2911 return (t___construct(a0), null);
2913 break;
2914 default:
2915 break;
2917 return c_ObjectData::o_invoke_few_args(s, hash, count, a0, a1, a2, a3, a4, a5);
2919 Variant c_ppframe_dom::os_invoke(const char *c, const char *s, CArrRef params, int64 hash, bool fatal) {
2920 return c_ObjectData::os_invoke(c, s, params, hash, fatal);
2922 Variant cw_ppframe_dom$os_get(const char *s) {
2923 return c_ppframe_dom::os_get(s, -1);
2925 Variant &cw_ppframe_dom$os_lval(const char *s) {
2926 return c_ppframe_dom::os_lval(s, -1);
2928 Variant cw_ppframe_dom$os_constant(const char *s) {
2929 return c_ppframe_dom::os_constant(s);
2931 Variant cw_ppframe_dom$os_invoke(const char *c, const char *s, CArrRef params, bool fatal /* = true */) {
2932 return c_ppframe_dom::os_invoke(c, s, params, -1, fatal);
2934 void c_ppframe_dom::init() {
2935 m_preprocessor = null;
2936 m_parser = null;
2937 m_title = null;
2938 m_titleCache = null;
2939 m_loopCheckHash = null;
2940 m_depth = null;
2942 /* SRC: Preprocessor_DOM.php line 827 */
2943 void c_ppframe_dom::t___construct(Variant v_preprocessor) {
2944 INSTANCE_METHOD_INJECTION(PPFrame_DOM, PPFrame_DOM::__construct);
2945 bool oldInCtor = gasInCtor(true);
2946 (m_preprocessor = v_preprocessor);
2947 (m_parser = v_preprocessor.o_get("parser", 0x18A8B9D71D4F2D02LL));
2948 (m_title = m_parser.o_get("mTitle", 0x4C804C46307BF0EALL));
2949 (m_titleCache = Array(ArrayInit(1).set(0, toBoolean(m_title) ? ((Variant)(LINE(831,m_title.o_invoke_few_args("getPrefixedDBkey", 0x3E327BDC66DECDABLL, 0)))) : ((Variant)(false))).create()));
2950 (m_loopCheckHash = ScalarArrays::sa_[0]);
2951 (m_depth = 0LL);
2952 gasInCtor(oldInCtor);
2953 } /* function */
2954 /* SRC: Preprocessor_DOM.php line 840 */
2955 p_pptemplateframe_dom c_ppframe_dom::t_newchild(Variant v_args // = false
2956 , Variant v_title // = false
2958 INSTANCE_METHOD_INJECTION(PPFrame_DOM, PPFrame_DOM::newChild);
2959 Variant eo_0;
2960 Variant eo_1;
2961 Variant eo_2;
2962 Variant eo_3;
2963 DECLARE_GLOBAL_VARIABLES(g);
2964 Variant v_namedArgs;
2965 Variant v_numberedArgs;
2966 Variant v_xpath;
2967 Variant v_arg;
2968 Variant v_nameNodes;
2969 Variant v_value;
2970 Variant v_index;
2971 String v_name;
2973 (v_namedArgs = ScalarArrays::sa_[0]);
2974 (v_numberedArgs = ScalarArrays::sa_[0]);
2975 if (same(v_title, false)) {
2976 (v_title = m_title);
2978 if (!same(v_args, false)) {
2979 (v_xpath = false);
2980 if (instanceOf(v_args, "PPNode")) {
2981 (v_args = v_args.o_get("node", 0x75AF6DCF22783AC1LL));
2984 LOOP_COUNTER(19);
2985 for (ArrayIterPtr iter21 = v_args.begin("ppframe_dom"); !iter21->end(); iter21->next()) {
2986 LOOP_COUNTER_CHECK(19);
2987 v_arg = iter21->second();
2989 if (!(toBoolean(v_xpath))) {
2990 (v_xpath = ((Object)(LINE(853,p_domxpath(p_domxpath(NEWOBJ(c_domxpath)())->create(v_arg.o_get("ownerDocument", 0x0222D017809853C8LL)))))));
2992 (v_nameNodes = LINE(856,v_xpath.o_invoke_few_args("query", 0x356758D4414DA377LL, 2, "name", v_arg)));
2993 (v_value = LINE(857,v_xpath.o_invoke_few_args("query", 0x356758D4414DA377LL, 2, "value", v_arg)));
2994 if (toBoolean((assignCallTemp(eo_0, toObject(LINE(858,v_nameNodes.o_invoke_few_args("item", 0x0A41DBE0830902C6LL, 1, 0LL)))),eo_0.o_invoke_few_args("hasAttributes", 0x3CFA6EECF6F5AEB1LL, 0)))) {
2995 (v_index = (assignCallTemp(eo_1, toObject(LINE(860,v_nameNodes.o_invoke_few_args("item", 0x0A41DBE0830902C6LL, 1, 0LL)).o_get("attributes", 0x3E5975BA0FC37E03LL))),eo_1.o_invoke_few_args("getNamedItem", 0x5D3CEC627F9ADC3ALL, 1, "index")).o_get("textContent", 0x716294CDF72E1E6ELL));
2996 v_numberedArgs.set(v_index, (LINE(861,v_value.o_invoke_few_args("item", 0x0A41DBE0830902C6LL, 1, 0LL))));
2997 v_namedArgs.weakRemove(v_index);
2999 else {
3000 (v_name = LINE(865,x_trim(toString((assignCallTemp(eo_2, ref(v_nameNodes.o_invoke_few_args("item", 0x0A41DBE0830902C6LL, 1, 0LL))),o_root_invoke("expand", Array(ArrayInit(2).set(0, eo_2).set(1, 4LL /* ppframe::STRIP_COMMENTS */).create()), 0x39B7BB05F05A37CDLL))))));
3001 v_namedArgs.set(v_name, (LINE(866,v_value.o_invoke_few_args("item", 0x0A41DBE0830902C6LL, 1, 0LL))));
3002 v_numberedArgs.weakRemove(v_name);
3008 return ((Object)(LINE(871,p_pptemplateframe_dom(p_pptemplateframe_dom(NEWOBJ(c_pptemplateframe_dom)())->create(m_preprocessor, ((Object)(this)), v_numberedArgs, v_namedArgs, v_title)))));
3009 } /* function */
3010 /* SRC: Preprocessor_DOM.php line 874 */
3011 Variant c_ppframe_dom::t_expand(Variant v_root, Variant v_flags // = 0LL
3013 INSTANCE_METHOD_INJECTION(PPFrame_DOM, PPFrame_DOM::expand);
3014 Variant eo_0;
3015 Variant eo_1;
3016 Variant eo_2;
3017 Variant eo_3;
3018 DECLARE_GLOBAL_VARIABLES(g);
3019 Variant &sv_expansionDepth __attribute__((__unused__)) = g->sv_ppframe_dom$$expand$$expansionDepth.lvalAt(this->o_getClassName());
3020 Variant &inited_sv_expansionDepth __attribute__((__unused__)) = g->inited_sv_ppframe_dom$$expand$$expansionDepth.lvalAt(this->o_getClassName());
3021 Variant v_outStack;
3022 Variant v_iteratorStack;
3023 Variant v_indexStack;
3024 int64 v_level = 0;
3025 Variant v_iteratorNode;
3026 Variant v_out;
3027 Variant v_index;
3028 Variant v_contextNode;
3029 Variant v_newIterator;
3030 p_domxpath v_xpath;
3031 Variant v_titles;
3032 Variant v_title;
3033 Variant v_parts;
3034 Variant v_lineStart;
3035 Variant v_params;
3036 Variant v_ret;
3037 Variant v_names;
3038 Variant v_attrs;
3039 Variant v_inners;
3040 Variant v_closes;
3041 Variant v_s;
3042 Variant v_headingIndex;
3043 Variant v_titleText;
3044 int64 v_serial = 0;
3045 Variant v_marker;
3046 Variant v_count;
3048 if (!inited_sv_expansionDepth) {
3049 (sv_expansionDepth = 0LL);
3050 inited_sv_expansionDepth = true;
3052 if (LINE(876,x_is_string(v_root))) {
3053 return v_root;
3055 if (more(++lval(m_parser.o_lval("mPPNodeCount", 0x17B591196693E481LL)), m_parser.o_get("mOptions", 0x79AC63B0E96DC6E9LL).o_get("mMaxPPNodeCount", 0x3DD526BE5013BD55LL))) {
3056 return "<span class=\"error\">Node-count limit exceeded</span>";
3058 if (more(sv_expansionDepth, m_parser.o_get("mOptions", 0x79AC63B0E96DC6E9LL).o_get("mMaxPPExpandDepth", 0x2F1977A57AF7D6DELL))) {
3059 return "<span class=\"error\">Expansion depth limit exceeded</span>";
3061 LINE(888,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "PPFrame_DOM::expand").create()), 0x0000000075359BAFLL));
3062 ++sv_expansionDepth;
3063 if (instanceOf(v_root, "PPNode_DOM")) {
3064 (v_root = v_root.o_get("node", 0x75AF6DCF22783AC1LL));
3066 if (instanceOf(v_root, "DOMDocument")) {
3067 (v_root = v_root.o_get("documentElement", 0x34E37E9EAB48521BLL));
3069 (v_outStack = ScalarArrays::sa_[9]);
3070 (v_iteratorStack = Array(ArrayInit(2).set(0, false).set(1, v_root).create()));
3071 (v_indexStack = ScalarArrays::sa_[10]);
3072 LOOP_COUNTER(22);
3074 while (more(LINE(902,x_count(v_iteratorStack)), 1LL)) {
3075 LOOP_COUNTER_CHECK(22);
3077 (v_level = LINE(903,x_count(v_outStack)) - 1LL);
3078 (v_iteratorNode = ref(lval(v_iteratorStack.lvalAt(v_level))));
3079 (v_out = ref(lval(v_outStack.lvalAt(v_level))));
3080 (v_index = ref(lval(v_indexStack.lvalAt(v_level))));
3081 if (instanceOf(v_iteratorNode, "PPNode_DOM")) (v_iteratorNode = v_iteratorNode.o_get("node", 0x75AF6DCF22783AC1LL));
3082 if (LINE(910,x_is_array(v_iteratorNode))) {
3083 if (not_less(v_index, LINE(911,x_count(v_iteratorNode)))) {
3084 v_iteratorStack.set(v_level, (false));
3085 (v_contextNode = false);
3087 else {
3088 (v_contextNode = v_iteratorNode.rvalAt(v_index));
3089 v_index++;
3092 else if (instanceOf(v_iteratorNode, "DOMNodeList")) {
3093 if (not_less(v_index, v_iteratorNode.o_get("length", 0x2993E8EB119CAB21LL))) {
3094 v_iteratorStack.set(v_level, (false));
3095 (v_contextNode = false);
3097 else {
3098 (v_contextNode = LINE(925,v_iteratorNode.o_invoke_few_args("item", 0x0A41DBE0830902C6LL, 1, v_index)));
3099 v_index++;
3102 else {
3103 (v_contextNode = v_iteratorStack.rvalAt(v_level));
3104 v_iteratorStack.set(v_level, (false));
3106 if (instanceOf(v_contextNode, "PPNode_DOM")) (v_contextNode = v_contextNode.o_get("node", 0x75AF6DCF22783AC1LL));
3107 (v_newIterator = false);
3108 if (same(v_contextNode, false)) {
3110 else if (LINE(941,x_is_string(v_contextNode))) {
3111 concat_assign(v_out, toString(v_contextNode));
3113 else if (LINE(943,x_is_array(v_contextNode)) || instanceOf(v_contextNode, "DOMNodeList")) {
3114 (v_newIterator = v_contextNode);
3116 else if (instanceOf(v_contextNode, "DOMNode")) {
3117 if (equal(v_contextNode.o_get("nodeType", 0x3135FA95D8255239LL), 3LL /* XML_TEXT_NODE */)) {
3118 concat_assign(v_out, toString(v_contextNode.o_get("nodeValue", 0x410C368CB95B4985LL)));
3120 else if (equal(v_contextNode.o_get("nodeName", 0x009B66FACA616B3CLL), "template")) {
3121 ((Object)((v_xpath = ((Object)(LINE(950,p_domxpath(p_domxpath(NEWOBJ(c_domxpath)())->create(v_contextNode.o_get("ownerDocument", 0x0222D017809853C8LL)))))))));
3122 (v_titles = LINE(951,v_xpath->t_query("title", toObject(v_contextNode))));
3123 (v_title = LINE(952,v_titles.o_invoke_few_args("item", 0x0A41DBE0830902C6LL, 1, 0LL)));
3124 (v_parts = LINE(953,v_xpath->t_query("part", toObject(v_contextNode))));
3125 if (toBoolean(bitwise_and(v_flags, throw_fatal("unknown class constant ppframe_dom::NO_TEMPLATES")))) {
3126 (v_newIterator = LINE(955,o_root_invoke_few_args("virtualBracketedImplode", 0x409618A98590618BLL, 5, "{{", "|", "}}", v_title, v_parts)));
3128 else {
3129 (v_lineStart = LINE(957,v_contextNode.o_invoke_few_args("getAttribute", 0x49F89C466612FC28LL, 1, "lineStart")));
3130 (v_params = (assignCallTemp(eo_0, ((Object)(LINE(959,p_ppnode_dom(p_ppnode_dom(NEWOBJ(c_ppnode_dom)())->create(v_title)))))),assignCallTemp(eo_1, ((Object)(LINE(960,p_ppnode_dom(p_ppnode_dom(NEWOBJ(c_ppnode_dom)())->create(v_parts)))))),assignCallTemp(eo_2, v_lineStart),Array(ArrayInit(3).set(0, "title", eo_0, 0x66AD900A2301E2FELL).set(1, "parts", eo_1, 0x2708FDA74562AD8DLL).set(2, "lineStart", eo_2, 0x0F84CB175598D0A5LL).create())));
3131 (v_ret = LINE(962,m_parser.o_invoke_few_args("braceSubstitution", 0x392E383BDD5B10F7LL, 2, v_params, this)));
3132 if (isset(v_ret, "object", 0x7F30BC4E222B1861LL)) {
3133 (v_newIterator = v_ret.rvalAt("object", 0x7F30BC4E222B1861LL));
3135 else {
3136 concat_assign(v_out, toString(v_ret.rvalAt("text", 0x2A28A0084DD3A743LL)));
3140 else if (equal(v_contextNode.o_get("nodeName", 0x009B66FACA616B3CLL), "tplarg")) {
3141 ((Object)((v_xpath = ((Object)(LINE(971,p_domxpath(p_domxpath(NEWOBJ(c_domxpath)())->create(v_contextNode.o_get("ownerDocument", 0x0222D017809853C8LL)))))))));
3142 (v_titles = LINE(972,v_xpath->t_query("title", toObject(v_contextNode))));
3143 (v_title = LINE(973,v_titles.o_invoke_few_args("item", 0x0A41DBE0830902C6LL, 1, 0LL)));
3144 (v_parts = LINE(974,v_xpath->t_query("part", toObject(v_contextNode))));
3145 if (toBoolean(bitwise_and(v_flags, throw_fatal("unknown class constant ppframe_dom::NO_ARGS")))) {
3146 (v_newIterator = LINE(976,o_root_invoke_few_args("virtualBracketedImplode", 0x409618A98590618BLL, 5, "{{{", "|", "}}}", v_title, v_parts)));
3148 else {
3149 (v_params = (assignCallTemp(eo_0, ((Object)(LINE(979,p_ppnode_dom(p_ppnode_dom(NEWOBJ(c_ppnode_dom)())->create(v_title)))))),assignCallTemp(eo_1, ((Object)(LINE(980,p_ppnode_dom(p_ppnode_dom(NEWOBJ(c_ppnode_dom)())->create(v_parts)))))),Array(ArrayInit(2).set(0, "title", eo_0, 0x66AD900A2301E2FELL).set(1, "parts", eo_1, 0x2708FDA74562AD8DLL).create())));
3150 (v_ret = LINE(981,m_parser.o_invoke_few_args("argSubstitution", 0x333DE406BD9436D1LL, 2, v_params, this)));
3151 if (isset(v_ret, "object", 0x7F30BC4E222B1861LL)) {
3152 (v_newIterator = v_ret.rvalAt("object", 0x7F30BC4E222B1861LL));
3154 else {
3155 concat_assign(v_out, toString(v_ret.rvalAt("text", 0x2A28A0084DD3A743LL)));
3159 else if (equal(v_contextNode.o_get("nodeName", 0x009B66FACA616B3CLL), "comment")) {
3160 if (toBoolean(m_parser.o_get("ot", 0x48663D83DD673D4DLL).rvalAt("html", 0x5CA91C812230855DLL)) || (toBoolean(m_parser.o_get("ot", 0x48663D83DD673D4DLL).rvalAt("pre", 0x633242EDD179FBACLL)) && toBoolean(LINE(992,m_parser.o_get("mOptions", 0x79AC63B0E96DC6E9LL).o_invoke_few_args("getRemoveComments", 0x4E73BF37061917D4LL, 0)))) || (toBoolean(bitwise_and(v_flags, throw_fatal("unknown class constant ppframe_dom::STRIP_COMMENTS"))))) {
3161 concat_assign(v_out, "");
3163 else if (toBoolean(m_parser.o_get("ot", 0x48663D83DD673D4DLL).rvalAt("wiki", 0x24648D2BCD794D21LL)) && !((toBoolean(bitwise_and(v_flags, throw_fatal("unknown class constant ppframe_dom::RECOVER_COMMENTS")))))) {
3164 concat_assign(v_out, toString(LINE(1000,m_parser.o_invoke_few_args("insertStripItem", 0x0A4CA37F020D70E2LL, 1, v_contextNode.o_lval("textContent", 0x716294CDF72E1E6ELL)))));
3166 else {
3167 concat_assign(v_out, toString(v_contextNode.o_get("textContent", 0x716294CDF72E1E6ELL)));
3170 else if (equal(v_contextNode.o_get("nodeName", 0x009B66FACA616B3CLL), "ignore")) {
3171 if ((!(t___isset("parent")) && toBoolean(m_parser.o_get("ot", 0x48663D83DD673D4DLL).rvalAt("wiki", 0x24648D2BCD794D21LL))) || (toBoolean(bitwise_and(v_flags, throw_fatal("unknown class constant ppframe_dom::NO_IGNORE"))))) {
3172 concat_assign(v_out, toString(v_contextNode.o_get("textContent", 0x716294CDF72E1E6ELL)));
3174 else {
3175 concat_assign(v_out, "");
3178 else if (equal(v_contextNode.o_get("nodeName", 0x009B66FACA616B3CLL), "ext")) {
3179 ((Object)((v_xpath = ((Object)(LINE(1018,p_domxpath(p_domxpath(NEWOBJ(c_domxpath)())->create(v_contextNode.o_get("ownerDocument", 0x0222D017809853C8LL)))))))));
3180 (v_names = LINE(1019,v_xpath->t_query("name", toObject(v_contextNode))));
3181 (v_attrs = LINE(1020,v_xpath->t_query("attr", toObject(v_contextNode))));
3182 (v_inners = LINE(1021,v_xpath->t_query("inner", toObject(v_contextNode))));
3183 (v_closes = LINE(1022,v_xpath->t_query("close", toObject(v_contextNode))));
3184 (v_params = (assignCallTemp(eo_0, ((Object)(LINE(1024,p_ppnode_dom(p_ppnode_dom(NEWOBJ(c_ppnode_dom)())->create(v_names.o_invoke_few_args("item", 0x0A41DBE0830902C6LL, 1, 0LL))))))),assignCallTemp(eo_1, more(v_attrs.o_get("length", 0x2993E8EB119CAB21LL), 0LL) ? ((Variant)(((Object)(LINE(1025,p_ppnode_dom(p_ppnode_dom(NEWOBJ(c_ppnode_dom)())->create(v_attrs.o_invoke_few_args("item", 0x0A41DBE0830902C6LL, 1, 0LL)))))))) : ((Variant)(null))),assignCallTemp(eo_2, more(v_inners.o_get("length", 0x2993E8EB119CAB21LL), 0LL) ? ((Variant)(((Object)(LINE(1026,p_ppnode_dom(p_ppnode_dom(NEWOBJ(c_ppnode_dom)())->create(v_inners.o_invoke_few_args("item", 0x0A41DBE0830902C6LL, 1, 0LL)))))))) : ((Variant)(null))),assignCallTemp(eo_3, more(v_closes.o_get("length", 0x2993E8EB119CAB21LL), 0LL) ? ((Variant)(((Object)(LINE(1027,p_ppnode_dom(p_ppnode_dom(NEWOBJ(c_ppnode_dom)())->create(v_closes.o_invoke_few_args("item", 0x0A41DBE0830902C6LL, 1, 0LL)))))))) : ((Variant)(null))),Array(ArrayInit(4).set(0, "name", eo_0, 0x0BCDB293DC3CBDDCLL).set(1, "attr", eo_1, 0x64311A2C8443755DLL).set(2, "inner", eo_2, 0x4F20D07BB803C1FELL).set(3, "close", eo_3, 0x36B43082F052EC6BLL).create())));
3185 concat_assign(v_out, toString(LINE(1029,m_parser.o_invoke_few_args("extensionSubstitution", 0x7D371E851A4798E9LL, 2, v_params, this))));
3187 else if (equal(v_contextNode.o_get("nodeName", 0x009B66FACA616B3CLL), "h")) {
3188 (v_s = LINE(1032,o_root_invoke_few_args("expand", 0x39B7BB05F05A37CDLL, 2, v_contextNode.o_lval("childNodes", 0x795010C5D07D8B8ELL), v_flags)));
3189 if (equal(v_contextNode.o_get("parentNode", 0x59F3B1B79CC95A9DLL).o_get("nodeName", 0x009B66FACA616B3CLL), "root") && toBoolean(m_parser.o_get("ot", 0x48663D83DD673D4DLL).rvalAt("html", 0x5CA91C812230855DLL))) {
3190 (v_headingIndex = LINE(1040,v_contextNode.o_invoke_few_args("getAttribute", 0x49F89C466612FC28LL, 1, "i")));
3191 (v_titleText = LINE(1041,m_title.o_invoke_few_args("getPrefixedDBkey", 0x3E327BDC66DECDABLL, 0)));
3192 lval(m_parser.o_lval("mHeadings", 0x5EB895444FBC1E6BLL)).append((Array(ArrayInit(2).set(0, v_titleText).set(1, v_headingIndex).create())));
3193 (v_serial = LINE(1043,x_count(m_parser.o_get("mHeadings", 0x5EB895444FBC1E6BLL))) - 1LL);
3194 (v_marker = LINE(1044,concat4(toString(m_parser.o_get("mUniqPrefix", 0x22D00FA247E8311DLL)), "-h-", toString(v_serial), "--QINU\177")));
3195 (v_count = LINE(1045,v_contextNode.o_invoke_few_args("getAttribute", 0x49F89C466612FC28LL, 1, "level")));
3196 (v_s = concat_rev(toString(LINE(1046,x_substr(toString(v_s), toInt32(v_count)))), concat(toString(x_substr(toString(v_s), toInt32(0LL), toInt32(v_count))), toString(v_marker))));
3197 LINE(1047,m_parser.o_get("mStripState", 0x7207EA9A5BBFBF69LL).o_get("general", 0x661B15A9C00F7127LL).o_invoke_few_args("setPair", 0x1CA93325C3BDD490LL, 2, v_marker, ""));
3199 concat_assign(v_out, toString(v_s));
3201 else {
3202 (v_newIterator = v_contextNode.o_get("childNodes", 0x795010C5D07D8B8ELL));
3205 else {
3206 LINE(1055,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "PPFrame_DOM::expand").create()), 0x00000000B599F276LL));
3207 throw_exception(LINE(1056,create_object("mwexception", Array(ArrayInit(1).set(0, "PPFrame_DOM::expand: Invalid parameter type").create()))));
3209 if (!same(v_newIterator, false)) {
3210 if (instanceOf(v_newIterator, "PPNode_DOM")) {
3211 (v_newIterator = v_newIterator.o_get("node", 0x75AF6DCF22783AC1LL));
3213 v_outStack.append((""));
3214 v_iteratorStack.append((v_newIterator));
3215 v_indexStack.append((0LL));
3217 else if (same(v_iteratorStack.rvalAt(v_level), false)) {
3218 LOOP_COUNTER(23);
3220 while (same(v_iteratorStack.rvalAt(v_level), false) && more(v_level, 0LL)) {
3221 LOOP_COUNTER_CHECK(23);
3223 concat_assign(lval(v_outStack.lvalAt(v_level - 1LL)), toString(v_out));
3224 LINE(1071,x_array_pop(ref(v_outStack)));
3225 LINE(1072,x_array_pop(ref(v_iteratorStack)));
3226 LINE(1073,x_array_pop(ref(v_indexStack)));
3227 v_level--;
3235 --sv_expansionDepth;
3236 LINE(1079,invoke_failed("wfprofileout", Array(ArrayInit(1).set(0, "PPFrame_DOM::expand").create()), 0x00000000B599F276LL));
3237 return v_outStack.rvalAt(0LL, 0x77CFA1EEF01BCA90LL);
3238 } /* function */
3239 /* SRC: Preprocessor_DOM.php line 1083 */
3240 Variant c_ppframe_dom::t_implodewithflags(int num_args, CVarRef v_sep, Variant v_flags, Array args /* = Array() */) {
3241 INSTANCE_METHOD_INJECTION(PPFrame_DOM, PPFrame_DOM::implodeWithFlags);
3242 Variant eo_0;
3243 Variant eo_1;
3244 Variant v_args;
3245 bool v_first = false;
3246 Variant v_s;
3247 Variant v_root;
3248 Variant v_node;
3250 (v_args = LINE(1084,(assignCallTemp(eo_0, func_get_args(num_args, Array(ArrayInit(2).set(0, v_sep).set(1, v_flags).create()),args)),x_array_slice(eo_0, toInt32(2LL)))));
3251 (v_first = true);
3252 (v_s = "");
3254 LOOP_COUNTER(24);
3255 for (ArrayIterPtr iter26 = v_args.begin("ppframe_dom"); !iter26->end(); iter26->next()) {
3256 LOOP_COUNTER_CHECK(24);
3257 v_root = iter26->second();
3259 if (instanceOf(v_root, "PPNode_DOM")) (v_root = v_root.o_get("node", 0x75AF6DCF22783AC1LL));
3260 if (!(LINE(1090,x_is_array(v_root))) && !((instanceOf(v_root, "DOMNodeList")))) {
3261 (v_root = Array(ArrayInit(1).set(0, v_root).create()));
3264 LOOP_COUNTER(27);
3265 for (ArrayIterPtr iter29 = v_root.begin("ppframe_dom"); !iter29->end(); iter29->next()) {
3266 LOOP_COUNTER_CHECK(27);
3267 v_node = iter29->second();
3269 if (v_first) {
3270 (v_first = false);
3272 else {
3273 concat_assign(v_s, toString(v_sep));
3275 concat_assign(v_s, toString(LINE(1099,o_root_invoke_few_args("expand", 0x39B7BB05F05A37CDLL, 2, v_node, v_flags))));
3282 return v_s;
3283 } /* function */
3284 /* SRC: Preprocessor_DOM.php line 1109 */
3285 Variant c_ppframe_dom::t_implode(int num_args, CVarRef v_sep, Array args /* = Array() */) {
3286 INSTANCE_METHOD_INJECTION(PPFrame_DOM, PPFrame_DOM::implode);
3287 Variant eo_0;
3288 Variant eo_1;
3289 Variant v_args;
3290 bool v_first = false;
3291 Variant v_s;
3292 Variant v_root;
3293 Variant v_node;
3295 (v_args = LINE(1110,(assignCallTemp(eo_0, func_get_args(num_args, Array(ArrayInit(1).set(0, v_sep).create()),args)),x_array_slice(eo_0, toInt32(1LL)))));
3296 (v_first = true);
3297 (v_s = "");
3299 LOOP_COUNTER(30);
3300 for (ArrayIterPtr iter32 = v_args.begin("ppframe_dom"); !iter32->end(); iter32->next()) {
3301 LOOP_COUNTER_CHECK(30);
3302 v_root = iter32->second();
3304 if (instanceOf(v_root, "PPNode_DOM")) (v_root = v_root.o_get("node", 0x75AF6DCF22783AC1LL));
3305 if (!(LINE(1116,x_is_array(v_root))) && !((instanceOf(v_root, "DOMNodeList")))) {
3306 (v_root = Array(ArrayInit(1).set(0, v_root).create()));
3309 LOOP_COUNTER(33);
3310 for (ArrayIterPtr iter35 = v_root.begin("ppframe_dom"); !iter35->end(); iter35->next()) {
3311 LOOP_COUNTER_CHECK(33);
3312 v_node = iter35->second();
3314 if (v_first) {
3315 (v_first = false);
3317 else {
3318 concat_assign(v_s, toString(v_sep));
3320 concat_assign(v_s, toString(LINE(1125,o_root_invoke_few_args("expand", 0x39B7BB05F05A37CDLL, 1, v_node))));
3327 return v_s;
3328 } /* function */
3329 /* SRC: Preprocessor_DOM.php line 1135 */
3330 Array c_ppframe_dom::t_virtualimplode(int num_args, CVarRef v_sep, Array args /* = Array() */) {
3331 INSTANCE_METHOD_INJECTION(PPFrame_DOM, PPFrame_DOM::virtualImplode);
3332 Variant eo_0;
3333 Variant eo_1;
3334 Variant v_args;
3335 Array v_out;
3336 bool v_first = false;
3337 Variant v_root;
3338 Variant v_node;
3340 (v_args = LINE(1136,(assignCallTemp(eo_0, func_get_args(num_args, Array(ArrayInit(1).set(0, v_sep).create()),args)),x_array_slice(eo_0, toInt32(1LL)))));
3341 (v_out = ScalarArrays::sa_[0]);
3342 (v_first = true);
3343 if (instanceOf(v_root, "PPNode_DOM")) (v_root = v_root.o_get("node", 0x75AF6DCF22783AC1LL));
3345 LOOP_COUNTER(36);
3346 for (ArrayIterPtr iter38 = v_args.begin("ppframe_dom"); !iter38->end(); iter38->next()) {
3347 LOOP_COUNTER_CHECK(36);
3348 v_root = iter38->second();
3350 if (!(LINE(1142,x_is_array(v_root))) && !((instanceOf(v_root, "DOMNodeList")))) {
3351 (v_root = Array(ArrayInit(1).set(0, v_root).create()));
3354 LOOP_COUNTER(39);
3355 for (ArrayIterPtr iter41 = v_root.begin("ppframe_dom"); !iter41->end(); iter41->next()) {
3356 LOOP_COUNTER_CHECK(39);
3357 v_node = iter41->second();
3359 if (v_first) {
3360 (v_first = false);
3362 else {
3363 v_out.append((v_sep));
3365 v_out.append((v_node));
3372 return v_out;
3373 } /* function */
3374 /* SRC: Preprocessor_DOM.php line 1160 */
3375 Array c_ppframe_dom::t_virtualbracketedimplode(int num_args, CVarRef v_start, CVarRef v_sep, CVarRef v_end, Array args /* = Array() */) {
3376 INSTANCE_METHOD_INJECTION(PPFrame_DOM, PPFrame_DOM::virtualBracketedImplode);
3377 Variant eo_0;
3378 Variant eo_1;
3379 Variant v_args;
3380 Array v_out;
3381 bool v_first = false;
3382 Variant v_root;
3383 Variant v_node;
3385 (v_args = LINE(1161,(assignCallTemp(eo_0, func_get_args(num_args, Array(ArrayInit(3).set(0, v_start).set(1, v_sep).set(2, v_end).create()),args)),x_array_slice(eo_0, toInt32(3LL)))));
3386 (v_out = Array(ArrayInit(1).set(0, v_start).create()));
3387 (v_first = true);
3389 LOOP_COUNTER(42);
3390 for (ArrayIterPtr iter44 = v_args.begin("ppframe_dom"); !iter44->end(); iter44->next()) {
3391 LOOP_COUNTER_CHECK(42);
3392 v_root = iter44->second();
3394 if (instanceOf(v_root, "PPNode_DOM")) (v_root = v_root.o_get("node", 0x75AF6DCF22783AC1LL));
3395 if (!(LINE(1167,x_is_array(v_root))) && !((instanceOf(v_root, "DOMNodeList")))) {
3396 (v_root = Array(ArrayInit(1).set(0, v_root).create()));
3399 LOOP_COUNTER(45);
3400 for (ArrayIterPtr iter47 = v_root.begin("ppframe_dom"); !iter47->end(); iter47->next()) {
3401 LOOP_COUNTER_CHECK(45);
3402 v_node = iter47->second();
3404 if (v_first) {
3405 (v_first = false);
3407 else {
3408 v_out.append((v_sep));
3410 v_out.append((v_node));
3417 v_out.append((v_end));
3418 return v_out;
3419 } /* function */
3420 /* SRC: Preprocessor_DOM.php line 1183 */
3421 String c_ppframe_dom::t___tostring() {
3422 INSTANCE_METHOD_INJECTION(PPFrame_DOM, PPFrame_DOM::__toString);
3423 return "frame{}";
3424 } /* function */
3425 /* SRC: Preprocessor_DOM.php line 1187 */
3426 Variant c_ppframe_dom::t_getpdbk(bool v_level // = false
3428 INSTANCE_METHOD_INJECTION(PPFrame_DOM, PPFrame_DOM::getPDBK);
3429 if (same(v_level, false)) {
3430 return LINE(1189,m_title.o_invoke_few_args("getPrefixedDBkey", 0x3E327BDC66DECDABLL, 0));
3432 else {
3433 return isset(m_titleCache, v_level) ? ((Variant)(m_titleCache.rvalAt(v_level))) : ((Variant)(false));
3435 return null;
3436 } /* function */
3437 /* SRC: Preprocessor_DOM.php line 1195 */
3438 Array c_ppframe_dom::t_getarguments() {
3439 INSTANCE_METHOD_INJECTION(PPFrame_DOM, PPFrame_DOM::getArguments);
3440 return ScalarArrays::sa_[0];
3441 } /* function */
3442 /* SRC: Preprocessor_DOM.php line 1199 */
3443 Array c_ppframe_dom::t_getnumberedarguments() {
3444 INSTANCE_METHOD_INJECTION(PPFrame_DOM, PPFrame_DOM::getNumberedArguments);
3445 return ScalarArrays::sa_[0];
3446 } /* function */
3447 /* SRC: Preprocessor_DOM.php line 1203 */
3448 Array c_ppframe_dom::t_getnamedarguments() {
3449 INSTANCE_METHOD_INJECTION(PPFrame_DOM, PPFrame_DOM::getNamedArguments);
3450 return ScalarArrays::sa_[0];
3451 } /* function */
3452 /* SRC: Preprocessor_DOM.php line 1210 */
3453 bool c_ppframe_dom::t_isempty() {
3454 INSTANCE_METHOD_INJECTION(PPFrame_DOM, PPFrame_DOM::isEmpty);
3455 return true;
3456 } /* function */
3457 /* SRC: Preprocessor_DOM.php line 1214 */
3458 bool c_ppframe_dom::t_getargument(CVarRef v_name) {
3459 INSTANCE_METHOD_INJECTION(PPFrame_DOM, PPFrame_DOM::getArgument);
3460 return false;
3461 } /* function */
3462 /* SRC: Preprocessor_DOM.php line 1221 */
3463 bool c_ppframe_dom::t_loopcheck(CVarRef v_title) {
3464 INSTANCE_METHOD_INJECTION(PPFrame_DOM, PPFrame_DOM::loopCheck);
3465 return !(isset(m_loopCheckHash, LINE(1222,toObject(v_title)->o_invoke_few_args("getPrefixedDBkey", 0x3E327BDC66DECDABLL, 0))));
3466 } /* function */
3467 /* SRC: Preprocessor_DOM.php line 1228 */
3468 bool c_ppframe_dom::t_istemplate() {
3469 INSTANCE_METHOD_INJECTION(PPFrame_DOM, PPFrame_DOM::isTemplate);
3470 return false;
3471 } /* function */
3472 /* SRC: Preprocessor_DOM.php line 1350 */
3473 Variant c_ppcustomframe_dom::os_get(const char *s, int64 hash) {
3474 return c_ppframe_dom::os_get(s, hash);
3476 Variant &c_ppcustomframe_dom::os_lval(const char *s, int64 hash) {
3477 return c_ppframe_dom::os_lval(s, hash);
3479 void c_ppcustomframe_dom::o_get(ArrayElementVec &props) const {
3480 props.push_back(NEW(ArrayElement)("args", m_args.isReferenced() ? ref(m_args) : m_args));
3481 c_ppframe_dom::o_get(props);
3483 bool c_ppcustomframe_dom::o_exists(CStrRef s, int64 hash) const {
3484 if (hash < 0) hash = hash_string(s.data(), s.length());
3485 switch (hash & 1) {
3486 case 0:
3487 HASH_EXISTS_STRING(0x4AF7CD17F976719ELL, args, 4);
3488 break;
3489 default:
3490 break;
3492 return c_ppframe_dom::o_exists(s, hash);
3494 Variant c_ppcustomframe_dom::o_get(CStrRef s, int64 hash) {
3495 if (hash < 0) hash = hash_string(s.data(), s.length());
3496 switch (hash & 1) {
3497 case 0:
3498 HASH_RETURN_STRING(0x4AF7CD17F976719ELL, m_args,
3499 args, 4);
3500 break;
3501 default:
3502 break;
3504 return c_ppframe_dom::o_get(s, hash);
3506 Variant c_ppcustomframe_dom::o_set(CStrRef s, int64 hash, CVarRef v,bool forInit /* = false */) {
3507 if (hash < 0) hash = hash_string(s.data(), s.length());
3508 switch (hash & 1) {
3509 case 0:
3510 HASH_SET_STRING(0x4AF7CD17F976719ELL, m_args,
3511 args, 4);
3512 break;
3513 default:
3514 break;
3516 return c_ppframe_dom::o_set(s, hash, v, forInit);
3518 Variant &c_ppcustomframe_dom::o_lval(CStrRef s, int64 hash) {
3519 if (hash < 0) hash = hash_string(s.data(), s.length());
3520 switch (hash & 1) {
3521 case 0:
3522 HASH_RETURN_STRING(0x4AF7CD17F976719ELL, m_args,
3523 args, 4);
3524 break;
3525 default:
3526 break;
3528 return c_ppframe_dom::o_lval(s, hash);
3530 Variant c_ppcustomframe_dom::os_constant(const char *s) {
3531 return c_ppframe_dom::os_constant(s);
3533 IMPLEMENT_CLASS(ppcustomframe_dom)
3534 ObjectData *c_ppcustomframe_dom::create(Variant v_preprocessor, Variant v_args) {
3535 init();
3536 t___construct(v_preprocessor, v_args);
3537 return this;
3539 ObjectData *c_ppcustomframe_dom::dynCreate(CArrRef params, bool init /* = true */) {
3540 if (init) {
3541 return (create(params.rvalAt(0), params.rvalAt(1)));
3542 } else return this;
3544 void c_ppcustomframe_dom::dynConstruct(CArrRef params) {
3545 (t___construct(params.rvalAt(0), params.rvalAt(1)));
3547 ObjectData *c_ppcustomframe_dom::cloneImpl() {
3548 c_ppcustomframe_dom *obj = NEW(c_ppcustomframe_dom)();
3549 cloneSet(obj);
3550 return obj;
3552 void c_ppcustomframe_dom::cloneSet(c_ppcustomframe_dom *clone) {
3553 clone->m_args = m_args.isReferenced() ? ref(m_args) : m_args;
3554 c_ppframe_dom::cloneSet(clone);
3556 Variant c_ppcustomframe_dom::o_invoke(const char *s, CArrRef params, int64 hash, bool fatal) {
3557 if (hash < 0) hash = hash_string_i(s);
3558 switch (hash & 31) {
3559 case 8:
3560 HASH_GUARD(0x6359F42D5FC265E8LL, isempty) {
3561 return (t_isempty());
3563 break;
3564 case 11:
3565 HASH_GUARD(0x409618A98590618BLL, virtualbracketedimplode) {
3566 int count = params.size();
3567 if (count <= 3) return (t_virtualbracketedimplode(count, params.rvalAt(0), params.rvalAt(1), params.rvalAt(2)));
3568 return (t_virtualbracketedimplode(count,params.rvalAt(0), params.rvalAt(1), params.rvalAt(2), params.slice(3, count - 3, false)));
3570 break;
3571 case 13:
3572 HASH_GUARD(0x39B7BB05F05A37CDLL, expand) {
3573 int count = params.size();
3574 if (count <= 1) return (t_expand(params.rvalAt(0)));
3575 return (t_expand(params.rvalAt(0), params.rvalAt(1)));
3577 break;
3578 case 14:
3579 HASH_GUARD(0x5047BA794DE2746ELL, implodewithflags) {
3580 int count = params.size();
3581 if (count <= 2) return (t_implodewithflags(count, params.rvalAt(0), params.rvalAt(1)));
3582 return (t_implodewithflags(count,params.rvalAt(0), params.rvalAt(1), params.slice(2, count - 2, false)));
3584 break;
3585 case 16:
3586 HASH_GUARD(0x7EF27F050E4E0390LL, getnamedarguments) {
3587 return (t_getnamedarguments());
3589 break;
3590 case 17:
3591 HASH_GUARD(0x1E2D3AE762AF0AF1LL, virtualimplode) {
3592 int count = params.size();
3593 if (count <= 1) return (t_virtualimplode(count, params.rvalAt(0)));
3594 return (t_virtualimplode(count,params.rvalAt(0), params.slice(1, count - 1, false)));
3596 break;
3597 case 19:
3598 HASH_GUARD(0x642C2D2994B34A13LL, __tostring) {
3599 return (t___tostring());
3601 break;
3602 case 23:
3603 HASH_GUARD(0x3685C90A1EB568B7LL, getarguments) {
3604 return (t_getarguments());
3606 break;
3607 case 24:
3608 HASH_GUARD(0x0A95A4780D41F7B8LL, getargument) {
3609 return (t_getargument(params.rvalAt(0)));
3611 break;
3612 case 25:
3613 HASH_GUARD(0x7CBE9654ADB6CFB9LL, istemplate) {
3614 return (t_istemplate());
3616 break;
3617 case 28:
3618 HASH_GUARD(0x7F4AB942B9CDE1BCLL, newchild) {
3619 int count = params.size();
3620 if (count <= 0) return (t_newchild());
3621 if (count == 1) return (t_newchild(params.rvalAt(0)));
3622 return (t_newchild(params.rvalAt(0), params.rvalAt(1)));
3624 break;
3625 case 29:
3626 HASH_GUARD(0x7F29FBB1CA49733DLL, getnumberedarguments) {
3627 return (t_getnumberedarguments());
3629 break;
3630 case 30:
3631 HASH_GUARD(0x36A80B48E08B753ELL, implode) {
3632 int count = params.size();
3633 if (count <= 1) return (t_implode(count, params.rvalAt(0)));
3634 return (t_implode(count,params.rvalAt(0), params.slice(1, count - 1, false)));
3636 break;
3637 case 31:
3638 HASH_GUARD(0x7BA9911BE4A4175FLL, loopcheck) {
3639 return (t_loopcheck(params.rvalAt(0)));
3641 HASH_GUARD(0x0D31D0AC229C615FLL, __construct) {
3642 return (t___construct(params.rvalAt(0), params.rvalAt(1)), null);
3644 break;
3645 default:
3646 break;
3648 return c_ppframe_dom::o_invoke(s, params, hash, fatal);
3650 Variant c_ppcustomframe_dom::o_invoke_few_args(const char *s, int64 hash, int count, CVarRef a0, CVarRef a1, CVarRef a2, CVarRef a3, CVarRef a4, CVarRef a5) {
3651 if (hash < 0) hash = hash_string_i(s);
3652 switch (hash & 31) {
3653 case 8:
3654 HASH_GUARD(0x6359F42D5FC265E8LL, isempty) {
3655 return (t_isempty());
3657 break;
3658 case 11:
3659 HASH_GUARD(0x409618A98590618BLL, virtualbracketedimplode) {
3660 if (count <= 3) return (t_virtualbracketedimplode(count, a0, a1, a2));
3661 Array params;
3662 if (count >= 4) params.append(a3);
3663 if (count >= 5) params.append(a4);
3664 if (count >= 6) params.append(a5);
3665 return (t_virtualbracketedimplode(count,a0, a1, a2, params));
3667 break;
3668 case 13:
3669 HASH_GUARD(0x39B7BB05F05A37CDLL, expand) {
3670 if (count <= 1) return (t_expand(a0));
3671 return (t_expand(a0, a1));
3673 break;
3674 case 14:
3675 HASH_GUARD(0x5047BA794DE2746ELL, implodewithflags) {
3676 if (count <= 2) return (t_implodewithflags(count, a0, a1));
3677 Array params;
3678 if (count >= 3) params.append(a2);
3679 if (count >= 4) params.append(a3);
3680 if (count >= 5) params.append(a4);
3681 if (count >= 6) params.append(a5);
3682 return (t_implodewithflags(count,a0, a1, params));
3684 break;
3685 case 16:
3686 HASH_GUARD(0x7EF27F050E4E0390LL, getnamedarguments) {
3687 return (t_getnamedarguments());
3689 break;
3690 case 17:
3691 HASH_GUARD(0x1E2D3AE762AF0AF1LL, virtualimplode) {
3692 if (count <= 1) return (t_virtualimplode(count, a0));
3693 Array params;
3694 if (count >= 2) params.append(a1);
3695 if (count >= 3) params.append(a2);
3696 if (count >= 4) params.append(a3);
3697 if (count >= 5) params.append(a4);
3698 if (count >= 6) params.append(a5);
3699 return (t_virtualimplode(count,a0, params));
3701 break;
3702 case 19:
3703 HASH_GUARD(0x642C2D2994B34A13LL, __tostring) {
3704 return (t___tostring());
3706 break;
3707 case 23:
3708 HASH_GUARD(0x3685C90A1EB568B7LL, getarguments) {
3709 return (t_getarguments());
3711 break;
3712 case 24:
3713 HASH_GUARD(0x0A95A4780D41F7B8LL, getargument) {
3714 return (t_getargument(a0));
3716 break;
3717 case 25:
3718 HASH_GUARD(0x7CBE9654ADB6CFB9LL, istemplate) {
3719 return (t_istemplate());
3721 break;
3722 case 28:
3723 HASH_GUARD(0x7F4AB942B9CDE1BCLL, newchild) {
3724 if (count <= 0) return (t_newchild());
3725 if (count == 1) return (t_newchild(a0));
3726 return (t_newchild(a0, a1));
3728 break;
3729 case 29:
3730 HASH_GUARD(0x7F29FBB1CA49733DLL, getnumberedarguments) {
3731 return (t_getnumberedarguments());
3733 break;
3734 case 30:
3735 HASH_GUARD(0x36A80B48E08B753ELL, implode) {
3736 if (count <= 1) return (t_implode(count, a0));
3737 Array params;
3738 if (count >= 2) params.append(a1);
3739 if (count >= 3) params.append(a2);
3740 if (count >= 4) params.append(a3);
3741 if (count >= 5) params.append(a4);
3742 if (count >= 6) params.append(a5);
3743 return (t_implode(count,a0, params));
3745 break;
3746 case 31:
3747 HASH_GUARD(0x7BA9911BE4A4175FLL, loopcheck) {
3748 return (t_loopcheck(a0));
3750 HASH_GUARD(0x0D31D0AC229C615FLL, __construct) {
3751 return (t___construct(a0, a1), null);
3753 break;
3754 default:
3755 break;
3757 return c_ppframe_dom::o_invoke_few_args(s, hash, count, a0, a1, a2, a3, a4, a5);
3759 Variant c_ppcustomframe_dom::os_invoke(const char *c, const char *s, CArrRef params, int64 hash, bool fatal) {
3760 return c_ppframe_dom::os_invoke(c, s, params, hash, fatal);
3762 Variant cw_ppcustomframe_dom$os_get(const char *s) {
3763 return c_ppcustomframe_dom::os_get(s, -1);
3765 Variant &cw_ppcustomframe_dom$os_lval(const char *s) {
3766 return c_ppcustomframe_dom::os_lval(s, -1);
3768 Variant cw_ppcustomframe_dom$os_constant(const char *s) {
3769 return c_ppcustomframe_dom::os_constant(s);
3771 Variant cw_ppcustomframe_dom$os_invoke(const char *c, const char *s, CArrRef params, bool fatal /* = true */) {
3772 return c_ppcustomframe_dom::os_invoke(c, s, params, -1, fatal);
3774 void c_ppcustomframe_dom::init() {
3775 c_ppframe_dom::init();
3776 m_args = null;
3778 /* SRC: Preprocessor_DOM.php line 1353 */
3779 void c_ppcustomframe_dom::t___construct(Variant v_preprocessor, Variant v_args) {
3780 INSTANCE_METHOD_INJECTION(PPCustomFrame_DOM, PPCustomFrame_DOM::__construct);
3781 bool oldInCtor = gasInCtor(true);
3782 LINE(1354,c_ppframe_dom::t___construct(v_preprocessor));
3783 (m_args = v_args);
3784 gasInCtor(oldInCtor);
3785 } /* function */
3786 /* SRC: Preprocessor_DOM.php line 1358 */
3787 String c_ppcustomframe_dom::t___tostring() {
3788 INSTANCE_METHOD_INJECTION(PPCustomFrame_DOM, PPCustomFrame_DOM::__toString);
3789 Variant eo_0;
3790 Variant eo_1;
3791 Variant eo_2;
3792 Variant eo_3;
3793 Variant eo_4;
3794 Variant eo_5;
3795 Variant eo_6;
3796 Variant eo_7;
3797 String v_s;
3798 bool v_first = false;
3799 Primitive v_name = 0;
3800 Variant v_value;
3802 (v_s = "cstmframe{");
3803 (v_first = true);
3805 LOOP_COUNTER(48);
3806 Variant map49 = m_args;
3807 for (ArrayIterPtr iter50 = map49.begin("ppcustomframe_dom"); !iter50->end(); iter50->next()) {
3808 LOOP_COUNTER_CHECK(48);
3809 v_value = iter50->second();
3810 v_name = iter50->first();
3812 if (v_first) {
3813 (v_first = false);
3815 else {
3816 concat_assign(v_s, ", ");
3818 concat_assign(v_s, LINE(1368,(assignCallTemp(eo_1, toString(v_name)),assignCallTemp(eo_3, toString((assignCallTemp(eo_7, v_value.o_invoke_few_args("__toString", 0x642C2D2994B34A13LL, 0)),x_str_replace("\"", "\\\"", eo_7)))),concat5("\"", eo_1, "\":\"", eo_3, "\""))));
3822 concat_assign(v_s, "}");
3823 return v_s;
3824 } /* function */
3825 /* SRC: Preprocessor_DOM.php line 1374 */
3826 bool c_ppcustomframe_dom::t_isempty() {
3827 INSTANCE_METHOD_INJECTION(PPCustomFrame_DOM, PPCustomFrame_DOM::isEmpty);
3828 return !(toBoolean(LINE(1375,x_count(m_args))));
3829 } /* function */
3830 /* SRC: Preprocessor_DOM.php line 1378 */
3831 Variant c_ppcustomframe_dom::t_getargument(CVarRef v_index) {
3832 INSTANCE_METHOD_INJECTION(PPCustomFrame_DOM, PPCustomFrame_DOM::getArgument);
3833 if (!(isset(m_args, v_index))) {
3834 return false;
3836 return m_args.rvalAt(v_index);
3837 } /* function */
3838 /* SRC: Preprocessor_DOM.php line 1237 */
3839 Variant c_pptemplateframe_dom::os_get(const char *s, int64 hash) {
3840 return c_ppframe_dom::os_get(s, hash);
3842 Variant &c_pptemplateframe_dom::os_lval(const char *s, int64 hash) {
3843 return c_ppframe_dom::os_lval(s, hash);
3845 void c_pptemplateframe_dom::o_get(ArrayElementVec &props) const {
3846 props.push_back(NEW(ArrayElement)("numberedArgs", m_numberedArgs.isReferenced() ? ref(m_numberedArgs) : m_numberedArgs));
3847 props.push_back(NEW(ArrayElement)("namedArgs", m_namedArgs.isReferenced() ? ref(m_namedArgs) : m_namedArgs));
3848 props.push_back(NEW(ArrayElement)("parent", m_parent.isReferenced() ? ref(m_parent) : m_parent));
3849 props.push_back(NEW(ArrayElement)("numberedExpansionCache", m_numberedExpansionCache.isReferenced() ? ref(m_numberedExpansionCache) : m_numberedExpansionCache));
3850 props.push_back(NEW(ArrayElement)("namedExpansionCache", m_namedExpansionCache.isReferenced() ? ref(m_namedExpansionCache) : m_namedExpansionCache));
3851 c_ppframe_dom::o_get(props);
3853 bool c_pptemplateframe_dom::o_exists(CStrRef s, int64 hash) const {
3854 if (hash < 0) hash = hash_string(s.data(), s.length());
3855 switch (hash & 15) {
3856 case 5:
3857 HASH_EXISTS_STRING(0x21A0BD85B8757635LL, numberedExpansionCache, 22);
3858 break;
3859 case 8:
3860 HASH_EXISTS_STRING(0x4C84B2F1BC8BA768LL, namedExpansionCache, 19);
3861 break;
3862 case 9:
3863 HASH_EXISTS_STRING(0x00263ABC07EFFD29LL, numberedArgs, 12);
3864 break;
3865 case 10:
3866 HASH_EXISTS_STRING(0x3F849A2980280C0ALL, namedArgs, 9);
3867 break;
3868 case 12:
3869 HASH_EXISTS_STRING(0x16E2F26FFB10FD8CLL, parent, 6);
3870 break;
3871 default:
3872 break;
3874 return c_ppframe_dom::o_exists(s, hash);
3876 Variant c_pptemplateframe_dom::o_get(CStrRef s, int64 hash) {
3877 if (hash < 0) hash = hash_string(s.data(), s.length());
3878 switch (hash & 15) {
3879 case 5:
3880 HASH_RETURN_STRING(0x21A0BD85B8757635LL, m_numberedExpansionCache,
3881 numberedExpansionCache, 22);
3882 break;
3883 case 8:
3884 HASH_RETURN_STRING(0x4C84B2F1BC8BA768LL, m_namedExpansionCache,
3885 namedExpansionCache, 19);
3886 break;
3887 case 9:
3888 HASH_RETURN_STRING(0x00263ABC07EFFD29LL, m_numberedArgs,
3889 numberedArgs, 12);
3890 break;
3891 case 10:
3892 HASH_RETURN_STRING(0x3F849A2980280C0ALL, m_namedArgs,
3893 namedArgs, 9);
3894 break;
3895 case 12:
3896 HASH_RETURN_STRING(0x16E2F26FFB10FD8CLL, m_parent,
3897 parent, 6);
3898 break;
3899 default:
3900 break;
3902 return c_ppframe_dom::o_get(s, hash);
3904 Variant c_pptemplateframe_dom::o_set(CStrRef s, int64 hash, CVarRef v,bool forInit /* = false */) {
3905 if (hash < 0) hash = hash_string(s.data(), s.length());
3906 switch (hash & 15) {
3907 case 5:
3908 HASH_SET_STRING(0x21A0BD85B8757635LL, m_numberedExpansionCache,
3909 numberedExpansionCache, 22);
3910 break;
3911 case 8:
3912 HASH_SET_STRING(0x4C84B2F1BC8BA768LL, m_namedExpansionCache,
3913 namedExpansionCache, 19);
3914 break;
3915 case 9:
3916 HASH_SET_STRING(0x00263ABC07EFFD29LL, m_numberedArgs,
3917 numberedArgs, 12);
3918 break;
3919 case 10:
3920 HASH_SET_STRING(0x3F849A2980280C0ALL, m_namedArgs,
3921 namedArgs, 9);
3922 break;
3923 case 12:
3924 HASH_SET_STRING(0x16E2F26FFB10FD8CLL, m_parent,
3925 parent, 6);
3926 break;
3927 default:
3928 break;
3930 return c_ppframe_dom::o_set(s, hash, v, forInit);
3932 Variant &c_pptemplateframe_dom::o_lval(CStrRef s, int64 hash) {
3933 if (hash < 0) hash = hash_string(s.data(), s.length());
3934 switch (hash & 15) {
3935 case 5:
3936 HASH_RETURN_STRING(0x21A0BD85B8757635LL, m_numberedExpansionCache,
3937 numberedExpansionCache, 22);
3938 break;
3939 case 8:
3940 HASH_RETURN_STRING(0x4C84B2F1BC8BA768LL, m_namedExpansionCache,
3941 namedExpansionCache, 19);
3942 break;
3943 case 9:
3944 HASH_RETURN_STRING(0x00263ABC07EFFD29LL, m_numberedArgs,
3945 numberedArgs, 12);
3946 break;
3947 case 10:
3948 HASH_RETURN_STRING(0x3F849A2980280C0ALL, m_namedArgs,
3949 namedArgs, 9);
3950 break;
3951 case 12:
3952 HASH_RETURN_STRING(0x16E2F26FFB10FD8CLL, m_parent,
3953 parent, 6);
3954 break;
3955 default:
3956 break;
3958 return c_ppframe_dom::o_lval(s, hash);
3960 Variant c_pptemplateframe_dom::os_constant(const char *s) {
3961 return c_ppframe_dom::os_constant(s);
3963 IMPLEMENT_CLASS(pptemplateframe_dom)
3964 ObjectData *c_pptemplateframe_dom::create(Variant v_preprocessor, Variant v_parent // = false
3965 , Variant v_numberedArgs // = ScalarArrays::sa_[0]
3966 , Variant v_namedArgs // = ScalarArrays::sa_[0]
3967 , Variant v_title // = false
3969 init();
3970 t___construct(v_preprocessor, v_parent, v_numberedArgs, v_namedArgs, v_title);
3971 return this;
3973 ObjectData *c_pptemplateframe_dom::dynCreate(CArrRef params, bool init /* = true */) {
3974 if (init) {
3975 int count = params.size();
3976 if (count <= 1) return (create(params.rvalAt(0)));
3977 if (count == 2) return (create(params.rvalAt(0), params.rvalAt(1)));
3978 if (count == 3) return (create(params.rvalAt(0), params.rvalAt(1), params.rvalAt(2)));
3979 if (count == 4) return (create(params.rvalAt(0), params.rvalAt(1), params.rvalAt(2), params.rvalAt(3)));
3980 return (create(params.rvalAt(0), params.rvalAt(1), params.rvalAt(2), params.rvalAt(3), params.rvalAt(4)));
3981 } else return this;
3983 void c_pptemplateframe_dom::dynConstruct(CArrRef params) {
3984 int count = params.size();
3985 if (count <= 1) (t___construct(params.rvalAt(0)));
3986 if (count == 2) (t___construct(params.rvalAt(0), params.rvalAt(1)));
3987 if (count == 3) (t___construct(params.rvalAt(0), params.rvalAt(1), params.rvalAt(2)));
3988 if (count == 4) (t___construct(params.rvalAt(0), params.rvalAt(1), params.rvalAt(2), params.rvalAt(3)));
3989 (t___construct(params.rvalAt(0), params.rvalAt(1), params.rvalAt(2), params.rvalAt(3), params.rvalAt(4)));
3991 ObjectData *c_pptemplateframe_dom::cloneImpl() {
3992 c_pptemplateframe_dom *obj = NEW(c_pptemplateframe_dom)();
3993 cloneSet(obj);
3994 return obj;
3996 void c_pptemplateframe_dom::cloneSet(c_pptemplateframe_dom *clone) {
3997 clone->m_numberedArgs = m_numberedArgs.isReferenced() ? ref(m_numberedArgs) : m_numberedArgs;
3998 clone->m_namedArgs = m_namedArgs.isReferenced() ? ref(m_namedArgs) : m_namedArgs;
3999 clone->m_parent = m_parent.isReferenced() ? ref(m_parent) : m_parent;
4000 clone->m_numberedExpansionCache = m_numberedExpansionCache.isReferenced() ? ref(m_numberedExpansionCache) : m_numberedExpansionCache;
4001 clone->m_namedExpansionCache = m_namedExpansionCache.isReferenced() ? ref(m_namedExpansionCache) : m_namedExpansionCache;
4002 c_ppframe_dom::cloneSet(clone);
4004 Variant c_pptemplateframe_dom::o_invoke(const char *s, CArrRef params, int64 hash, bool fatal) {
4005 if (hash < 0) hash = hash_string_i(s);
4006 switch (hash & 31) {
4007 case 8:
4008 HASH_GUARD(0x6359F42D5FC265E8LL, isempty) {
4009 return (t_isempty());
4011 break;
4012 case 11:
4013 HASH_GUARD(0x409618A98590618BLL, virtualbracketedimplode) {
4014 int count = params.size();
4015 if (count <= 3) return (t_virtualbracketedimplode(count, params.rvalAt(0), params.rvalAt(1), params.rvalAt(2)));
4016 return (t_virtualbracketedimplode(count,params.rvalAt(0), params.rvalAt(1), params.rvalAt(2), params.slice(3, count - 3, false)));
4018 break;
4019 case 13:
4020 HASH_GUARD(0x39B7BB05F05A37CDLL, expand) {
4021 int count = params.size();
4022 if (count <= 1) return (t_expand(params.rvalAt(0)));
4023 return (t_expand(params.rvalAt(0), params.rvalAt(1)));
4025 break;
4026 case 14:
4027 HASH_GUARD(0x5047BA794DE2746ELL, implodewithflags) {
4028 int count = params.size();
4029 if (count <= 2) return (t_implodewithflags(count, params.rvalAt(0), params.rvalAt(1)));
4030 return (t_implodewithflags(count,params.rvalAt(0), params.rvalAt(1), params.slice(2, count - 2, false)));
4032 break;
4033 case 16:
4034 HASH_GUARD(0x7EF27F050E4E0390LL, getnamedarguments) {
4035 return (t_getnamedarguments());
4037 break;
4038 case 17:
4039 HASH_GUARD(0x1E2D3AE762AF0AF1LL, virtualimplode) {
4040 int count = params.size();
4041 if (count <= 1) return (t_virtualimplode(count, params.rvalAt(0)));
4042 return (t_virtualimplode(count,params.rvalAt(0), params.slice(1, count - 1, false)));
4044 break;
4045 case 19:
4046 HASH_GUARD(0x642C2D2994B34A13LL, __tostring) {
4047 return (t___tostring());
4049 break;
4050 case 23:
4051 HASH_GUARD(0x3685C90A1EB568B7LL, getarguments) {
4052 return (t_getarguments());
4054 break;
4055 case 24:
4056 HASH_GUARD(0x0A95A4780D41F7B8LL, getargument) {
4057 return (t_getargument(params.rvalAt(0)));
4059 break;
4060 case 25:
4061 HASH_GUARD(0x7CBE9654ADB6CFB9LL, istemplate) {
4062 return (t_istemplate());
4064 break;
4065 case 28:
4066 HASH_GUARD(0x7F4AB942B9CDE1BCLL, newchild) {
4067 int count = params.size();
4068 if (count <= 0) return (t_newchild());
4069 if (count == 1) return (t_newchild(params.rvalAt(0)));
4070 return (t_newchild(params.rvalAt(0), params.rvalAt(1)));
4072 break;
4073 case 29:
4074 HASH_GUARD(0x7F29FBB1CA49733DLL, getnumberedarguments) {
4075 return (t_getnumberedarguments());
4077 break;
4078 case 30:
4079 HASH_GUARD(0x36A80B48E08B753ELL, implode) {
4080 int count = params.size();
4081 if (count <= 1) return (t_implode(count, params.rvalAt(0)));
4082 return (t_implode(count,params.rvalAt(0), params.slice(1, count - 1, false)));
4084 break;
4085 case 31:
4086 HASH_GUARD(0x7BA9911BE4A4175FLL, loopcheck) {
4087 return (t_loopcheck(params.rvalAt(0)));
4089 HASH_GUARD(0x0D31D0AC229C615FLL, __construct) {
4090 int count = params.size();
4091 if (count <= 1) return (t___construct(params.rvalAt(0)), null);
4092 if (count == 2) return (t___construct(params.rvalAt(0), params.rvalAt(1)), null);
4093 if (count == 3) return (t___construct(params.rvalAt(0), params.rvalAt(1), params.rvalAt(2)), null);
4094 if (count == 4) return (t___construct(params.rvalAt(0), params.rvalAt(1), params.rvalAt(2), params.rvalAt(3)), null);
4095 return (t___construct(params.rvalAt(0), params.rvalAt(1), params.rvalAt(2), params.rvalAt(3), params.rvalAt(4)), null);
4097 break;
4098 default:
4099 break;
4101 return c_ppframe_dom::o_invoke(s, params, hash, fatal);
4103 Variant c_pptemplateframe_dom::o_invoke_few_args(const char *s, int64 hash, int count, CVarRef a0, CVarRef a1, CVarRef a2, CVarRef a3, CVarRef a4, CVarRef a5) {
4104 if (hash < 0) hash = hash_string_i(s);
4105 switch (hash & 31) {
4106 case 8:
4107 HASH_GUARD(0x6359F42D5FC265E8LL, isempty) {
4108 return (t_isempty());
4110 break;
4111 case 11:
4112 HASH_GUARD(0x409618A98590618BLL, virtualbracketedimplode) {
4113 if (count <= 3) return (t_virtualbracketedimplode(count, a0, a1, a2));
4114 Array params;
4115 if (count >= 4) params.append(a3);
4116 if (count >= 5) params.append(a4);
4117 if (count >= 6) params.append(a5);
4118 return (t_virtualbracketedimplode(count,a0, a1, a2, params));
4120 break;
4121 case 13:
4122 HASH_GUARD(0x39B7BB05F05A37CDLL, expand) {
4123 if (count <= 1) return (t_expand(a0));
4124 return (t_expand(a0, a1));
4126 break;
4127 case 14:
4128 HASH_GUARD(0x5047BA794DE2746ELL, implodewithflags) {
4129 if (count <= 2) return (t_implodewithflags(count, a0, a1));
4130 Array params;
4131 if (count >= 3) params.append(a2);
4132 if (count >= 4) params.append(a3);
4133 if (count >= 5) params.append(a4);
4134 if (count >= 6) params.append(a5);
4135 return (t_implodewithflags(count,a0, a1, params));
4137 break;
4138 case 16:
4139 HASH_GUARD(0x7EF27F050E4E0390LL, getnamedarguments) {
4140 return (t_getnamedarguments());
4142 break;
4143 case 17:
4144 HASH_GUARD(0x1E2D3AE762AF0AF1LL, virtualimplode) {
4145 if (count <= 1) return (t_virtualimplode(count, a0));
4146 Array params;
4147 if (count >= 2) params.append(a1);
4148 if (count >= 3) params.append(a2);
4149 if (count >= 4) params.append(a3);
4150 if (count >= 5) params.append(a4);
4151 if (count >= 6) params.append(a5);
4152 return (t_virtualimplode(count,a0, params));
4154 break;
4155 case 19:
4156 HASH_GUARD(0x642C2D2994B34A13LL, __tostring) {
4157 return (t___tostring());
4159 break;
4160 case 23:
4161 HASH_GUARD(0x3685C90A1EB568B7LL, getarguments) {
4162 return (t_getarguments());
4164 break;
4165 case 24:
4166 HASH_GUARD(0x0A95A4780D41F7B8LL, getargument) {
4167 return (t_getargument(a0));
4169 break;
4170 case 25:
4171 HASH_GUARD(0x7CBE9654ADB6CFB9LL, istemplate) {
4172 return (t_istemplate());
4174 break;
4175 case 28:
4176 HASH_GUARD(0x7F4AB942B9CDE1BCLL, newchild) {
4177 if (count <= 0) return (t_newchild());
4178 if (count == 1) return (t_newchild(a0));
4179 return (t_newchild(a0, a1));
4181 break;
4182 case 29:
4183 HASH_GUARD(0x7F29FBB1CA49733DLL, getnumberedarguments) {
4184 return (t_getnumberedarguments());
4186 break;
4187 case 30:
4188 HASH_GUARD(0x36A80B48E08B753ELL, implode) {
4189 if (count <= 1) return (t_implode(count, a0));
4190 Array params;
4191 if (count >= 2) params.append(a1);
4192 if (count >= 3) params.append(a2);
4193 if (count >= 4) params.append(a3);
4194 if (count >= 5) params.append(a4);
4195 if (count >= 6) params.append(a5);
4196 return (t_implode(count,a0, params));
4198 break;
4199 case 31:
4200 HASH_GUARD(0x7BA9911BE4A4175FLL, loopcheck) {
4201 return (t_loopcheck(a0));
4203 HASH_GUARD(0x0D31D0AC229C615FLL, __construct) {
4204 if (count <= 1) return (t___construct(a0), null);
4205 if (count == 2) return (t___construct(a0, a1), null);
4206 if (count == 3) return (t___construct(a0, a1, a2), null);
4207 if (count == 4) return (t___construct(a0, a1, a2, a3), null);
4208 return (t___construct(a0, a1, a2, a3, a4), null);
4210 break;
4211 default:
4212 break;
4214 return c_ppframe_dom::o_invoke_few_args(s, hash, count, a0, a1, a2, a3, a4, a5);
4216 Variant c_pptemplateframe_dom::os_invoke(const char *c, const char *s, CArrRef params, int64 hash, bool fatal) {
4217 return c_ppframe_dom::os_invoke(c, s, params, hash, fatal);
4219 Variant cw_pptemplateframe_dom$os_get(const char *s) {
4220 return c_pptemplateframe_dom::os_get(s, -1);
4222 Variant &cw_pptemplateframe_dom$os_lval(const char *s) {
4223 return c_pptemplateframe_dom::os_lval(s, -1);
4225 Variant cw_pptemplateframe_dom$os_constant(const char *s) {
4226 return c_pptemplateframe_dom::os_constant(s);
4228 Variant cw_pptemplateframe_dom$os_invoke(const char *c, const char *s, CArrRef params, bool fatal /* = true */) {
4229 return c_pptemplateframe_dom::os_invoke(c, s, params, -1, fatal);
4231 void c_pptemplateframe_dom::init() {
4232 c_ppframe_dom::init();
4233 m_numberedArgs = null;
4234 m_namedArgs = null;
4235 m_parent = null;
4236 m_numberedExpansionCache = null;
4237 m_namedExpansionCache = null;
4239 /* SRC: Preprocessor_DOM.php line 1241 */
4240 void c_pptemplateframe_dom::t___construct(Variant v_preprocessor, Variant v_parent // = false
4241 , Variant v_numberedArgs // = ScalarArrays::sa_[0]
4242 , Variant v_namedArgs // = ScalarArrays::sa_[0]
4243 , Variant v_title // = false
4245 INSTANCE_METHOD_INJECTION(PPTemplateFrame_DOM, PPTemplateFrame_DOM::__construct);
4246 bool oldInCtor = gasInCtor(true);
4247 Variant v_pdbk;
4249 LINE(1242,c_ppframe_dom::t___construct(v_preprocessor));
4250 (m_parent = v_parent);
4251 (m_numberedArgs = v_numberedArgs);
4252 (m_namedArgs = v_namedArgs);
4253 (m_title = v_title);
4254 (v_pdbk = toBoolean(v_title) ? ((Variant)(LINE(1247,v_title.o_invoke_few_args("getPrefixedDBkey", 0x3E327BDC66DECDABLL, 0)))) : ((Variant)(false)));
4255 (m_titleCache = v_parent.o_get("titleCache", 0x0CD4D2916BE2CE13LL));
4256 m_titleCache.append((v_pdbk));
4257 (m_loopCheckHash = v_parent.o_get("loopCheckHash", 0x757439BA20184735LL));
4258 if (!same(v_pdbk, false)) {
4259 m_loopCheckHash.set(v_pdbk, (true));
4261 (m_depth = v_parent.o_get("depth", 0x1AE700EECE6274C7LL) + 1LL);
4262 (m_numberedExpansionCache = (m_namedExpansionCache = ScalarArrays::sa_[0]));
4263 gasInCtor(oldInCtor);
4264 } /* function */
4265 /* SRC: Preprocessor_DOM.php line 1258 */
4266 String c_pptemplateframe_dom::t___tostring() {
4267 INSTANCE_METHOD_INJECTION(PPTemplateFrame_DOM, PPTemplateFrame_DOM::__toString);
4268 Variant eo_0;
4269 Variant eo_1;
4270 Variant eo_2;
4271 Variant eo_3;
4272 Variant eo_4;
4273 Variant eo_5;
4274 Variant eo_6;
4275 Variant eo_7;
4276 String v_s;
4277 bool v_first = false;
4278 Variant v_args;
4279 Primitive v_name = 0;
4280 Variant v_value;
4282 (v_s = "tplframe{");
4283 (v_first = true);
4284 (v_args = m_numberedArgs + m_namedArgs);
4286 LOOP_COUNTER(51);
4287 for (ArrayIterPtr iter53 = v_args.begin("pptemplateframe_dom"); !iter53->end(); iter53->next()) {
4288 LOOP_COUNTER_CHECK(51);
4289 v_value = iter53->second();
4290 v_name = iter53->first();
4292 if (v_first) {
4293 (v_first = false);
4295 else {
4296 concat_assign(v_s, ", ");
4298 concat_assign(v_s, LINE(1269,(assignCallTemp(eo_1, toString(v_name)),assignCallTemp(eo_3, toString((assignCallTemp(eo_7, v_value.o_get("ownerDocument", 0x0222D017809853C8LL).o_invoke_few_args("saveXML", 0x26D66F56DDDC32E5LL, 1, v_value)),x_str_replace("\"", "\\\"", eo_7)))),concat5("\"", eo_1, "\":\"", eo_3, "\""))));
4302 concat_assign(v_s, "}");
4303 return v_s;
4304 } /* function */
4305 /* SRC: Preprocessor_DOM.php line 1277 */
4306 bool c_pptemplateframe_dom::t_isempty() {
4307 INSTANCE_METHOD_INJECTION(PPTemplateFrame_DOM, PPTemplateFrame_DOM::isEmpty);
4308 return !(toBoolean(LINE(1278,x_count(m_numberedArgs)))) && !(toBoolean(x_count(m_namedArgs)));
4309 } /* function */
4310 /* SRC: Preprocessor_DOM.php line 1281 */
4311 Variant c_pptemplateframe_dom::t_getarguments() {
4312 INSTANCE_METHOD_INJECTION(PPTemplateFrame_DOM, PPTemplateFrame_DOM::getArguments);
4313 Variant eo_0;
4314 Variant eo_1;
4315 Variant v_arguments;
4316 Variant v_key;
4318 (v_arguments = ScalarArrays::sa_[0]);
4320 LOOP_COUNTER(54);
4321 Variant map55 = LINE(1285,(assignCallTemp(eo_0, LINE(1284,x_array_keys(m_numberedArgs))),assignCallTemp(eo_1, LINE(1285,x_array_keys(m_namedArgs))),x_array_merge(2, eo_0, Array(ArrayInit(1).set(0, eo_1).create()))));
4322 for (ArrayIterPtr iter56 = map55.begin("pptemplateframe_dom"); !iter56->end(); iter56->next()) {
4323 LOOP_COUNTER_CHECK(54);
4324 v_key = iter56->second();
4326 v_arguments.set(v_key, (LINE(1286,o_root_invoke_few_args("getArgument", 0x0A95A4780D41F7B8LL, 1, v_key))));
4330 return v_arguments;
4331 } /* function */
4332 /* SRC: Preprocessor_DOM.php line 1291 */
4333 Variant c_pptemplateframe_dom::t_getnumberedarguments() {
4334 INSTANCE_METHOD_INJECTION(PPTemplateFrame_DOM, PPTemplateFrame_DOM::getNumberedArguments);
4335 Variant v_arguments;
4336 Variant v_key;
4338 (v_arguments = ScalarArrays::sa_[0]);
4340 LOOP_COUNTER(57);
4341 Variant map58 = LINE(1293,x_array_keys(m_numberedArgs));
4342 for (ArrayIterPtr iter59 = map58.begin("pptemplateframe_dom"); !iter59->end(); iter59->next()) {
4343 LOOP_COUNTER_CHECK(57);
4344 v_key = iter59->second();
4346 v_arguments.set(v_key, (LINE(1294,o_root_invoke_few_args("getArgument", 0x0A95A4780D41F7B8LL, 1, v_key))));
4350 return v_arguments;
4351 } /* function */
4352 /* SRC: Preprocessor_DOM.php line 1299 */
4353 Variant c_pptemplateframe_dom::t_getnamedarguments() {
4354 INSTANCE_METHOD_INJECTION(PPTemplateFrame_DOM, PPTemplateFrame_DOM::getNamedArguments);
4355 Variant v_arguments;
4356 Variant v_key;
4358 (v_arguments = ScalarArrays::sa_[0]);
4360 LOOP_COUNTER(60);
4361 Variant map61 = LINE(1301,x_array_keys(m_namedArgs));
4362 for (ArrayIterPtr iter62 = map61.begin("pptemplateframe_dom"); !iter62->end(); iter62->next()) {
4363 LOOP_COUNTER_CHECK(60);
4364 v_key = iter62->second();
4366 v_arguments.set(v_key, (LINE(1302,o_root_invoke_few_args("getArgument", 0x0A95A4780D41F7B8LL, 1, v_key))));
4370 return v_arguments;
4371 } /* function */
4372 /* SRC: Preprocessor_DOM.php line 1307 */
4373 Variant c_pptemplateframe_dom::t_getnumberedargument(CVarRef v_index) {
4374 INSTANCE_METHOD_INJECTION(PPTemplateFrame_DOM, PPTemplateFrame_DOM::getNumberedArgument);
4375 if (!(isset(m_numberedArgs, v_index))) {
4376 return false;
4378 if (!(isset(m_numberedExpansionCache, v_index))) {
4379 m_numberedExpansionCache.set(v_index, (LINE(1313,m_parent.o_invoke_few_args("expand", 0x39B7BB05F05A37CDLL, 2, m_numberedArgs.refvalAt(v_index), throw_fatal("unknown class constant pptemplateframe_dom::STRIP_COMMENTS")))));
4381 return m_numberedExpansionCache.rvalAt(v_index);
4382 } /* function */
4383 /* SRC: Preprocessor_DOM.php line 1318 */
4384 Variant c_pptemplateframe_dom::t_getnamedargument(CVarRef v_name) {
4385 INSTANCE_METHOD_INJECTION(PPTemplateFrame_DOM, PPTemplateFrame_DOM::getNamedArgument);
4386 if (!(isset(m_namedArgs, v_name))) {
4387 return false;
4389 if (!(isset(m_namedExpansionCache, v_name))) {
4390 m_namedExpansionCache.set(v_name, (LINE(1325,x_trim(toString(m_parent.o_invoke_few_args("expand", 0x39B7BB05F05A37CDLL, 2, m_namedArgs.refvalAt(v_name), throw_fatal("unknown class constant pptemplateframe_dom::STRIP_COMMENTS")))))));
4392 return m_namedExpansionCache.rvalAt(v_name);
4393 } /* function */
4394 /* SRC: Preprocessor_DOM.php line 1330 */
4395 Variant c_pptemplateframe_dom::t_getargument(CVarRef v_name) {
4396 INSTANCE_METHOD_INJECTION(PPTemplateFrame_DOM, PPTemplateFrame_DOM::getArgument);
4397 Variant v_text;
4399 (v_text = LINE(1331,t_getnumberedargument(v_name)));
4400 if (same(v_text, false)) {
4401 (v_text = LINE(1333,t_getnamedargument(v_name)));
4403 return v_text;
4404 } /* function */
4405 /* SRC: Preprocessor_DOM.php line 1341 */
4406 bool c_pptemplateframe_dom::t_istemplate() {
4407 INSTANCE_METHOD_INJECTION(PPTemplateFrame_DOM, PPTemplateFrame_DOM::isTemplate);
4408 return true;
4409 } /* function */
4410 Object co_ppdpart(CArrRef params, bool init /* = true */) {
4411 return Object(p_ppdpart(NEW(c_ppdpart)())->dynCreate(params, init));
4413 Object co_ppdstackelement(CArrRef params, bool init /* = true */) {
4414 return Object(p_ppdstackelement(NEW(c_ppdstackelement)())->dynCreate(params, init));
4416 Object co_ppnode_dom(CArrRef params, bool init /* = true */) {
4417 return Object(p_ppnode_dom(NEW(c_ppnode_dom)())->dynCreate(params, init));
4419 Object co_ppdstack(CArrRef params, bool init /* = true */) {
4420 return Object(p_ppdstack(NEW(c_ppdstack)())->dynCreate(params, init));
4422 Object co_preprocessor_dom(CArrRef params, bool init /* = true */) {
4423 return Object(p_preprocessor_dom(NEW(c_preprocessor_dom)())->dynCreate(params, init));
4425 Object co_ppframe_dom(CArrRef params, bool init /* = true */) {
4426 return Object(p_ppframe_dom(NEW(c_ppframe_dom)())->dynCreate(params, init));
4428 Object co_ppcustomframe_dom(CArrRef params, bool init /* = true */) {
4429 return Object(p_ppcustomframe_dom(NEW(c_ppcustomframe_dom)())->dynCreate(params, init));
4431 Object co_pptemplateframe_dom(CArrRef params, bool init /* = true */) {
4432 return Object(p_pptemplateframe_dom(NEW(c_pptemplateframe_dom)())->dynCreate(params, init));
4434 Variant pm_php$Preprocessor_DOM_php(bool incOnce /* = false */, LVariableTable* variables /* = NULL */) {
4435 FUNCTION_INJECTION(run_init::Preprocessor_DOM.php);
4437 DECLARE_GLOBAL_VARIABLES(g);
4438 bool &alreadyRun = g->run_pm_php$Preprocessor_DOM_php;
4439 if (alreadyRun) { if (incOnce) return true;}
4440 else alreadyRun = true;
4441 if (!variables) variables = g;
4443 DECLARE_GLOBAL_VARIABLES(g);
4444 LVariableTable *gVariables __attribute__((__unused__)) = get_variable_table();
4445 return true;
4446 } /* function */
4448 ///////////////////////////////////////////////////////////////////////////////