2 #include <php/Parser.h>
3 #include <php/Preprocessor.h>
4 #include <php/Preprocessor_DOM.h>
5 #include <cpp/ext/ext.h>
8 ///////////////////////////////////////////////////////////////////////////////
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());
27 HASH_EXISTS_STRING(0x7C801AC012E9F722LL
, out
, 3);
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());
38 HASH_RETURN_STRING(0x7C801AC012E9F722LL
, m_out
,
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());
50 HASH_SET_STRING(0x7C801AC012E9F722LL
, m_out
,
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());
62 HASH_RETURN_STRING(0x7C801AC012E9F722LL
, m_out
,
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
// = ""
80 ObjectData
*c_ppdpart::dynCreate(CArrRef params
, bool init
/* = true */) {
82 int count
= params
.size();
83 if (count
<= 0) return (create());
84 return (create(params
.rvalAt(0)));
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
)();
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
);
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
);
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
);
120 HASH_GUARD(0x0D31D0AC229C615FLL
, __construct
) {
121 if (count
<= 0) return (t___construct(), null
);
122 return (t___construct(a0
), null
);
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() {
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);
154 gasInCtor(oldInCtor
);
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());
176 HASH_EXISTS_STRING(0x2DAB7B8AC94308B1LL
, partClass
, 9);
179 HASH_EXISTS_STRING(0x0F84CB175598D0A5LL
, lineStart
, 9);
182 HASH_EXISTS_STRING(0x6A760D2EC60228C6LL
, open
, 4);
185 HASH_EXISTS_STRING(0x36B43082F052EC6BLL
, close
, 5);
186 HASH_EXISTS_STRING(0x3D66B5980D54BABBLL
, count
, 5);
189 HASH_EXISTS_STRING(0x2708FDA74562AD8DLL
, parts
, 5);
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());
200 HASH_RETURN_STRING(0x2DAB7B8AC94308B1LL
, m_partClass
,
204 HASH_RETURN_STRING(0x0F84CB175598D0A5LL
, m_lineStart
,
208 HASH_RETURN_STRING(0x6A760D2EC60228C6LL
, m_open
,
212 HASH_RETURN_STRING(0x36B43082F052EC6BLL
, m_close
,
214 HASH_RETURN_STRING(0x3D66B5980D54BABBLL
, m_count
,
218 HASH_RETURN_STRING(0x2708FDA74562AD8DLL
, m_parts
,
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());
230 HASH_SET_STRING(0x2DAB7B8AC94308B1LL
, m_partClass
,
234 HASH_SET_STRING(0x0F84CB175598D0A5LL
, m_lineStart
,
238 HASH_SET_STRING(0x6A760D2EC60228C6LL
, m_open
,
242 HASH_SET_STRING(0x36B43082F052EC6BLL
, m_close
,
244 HASH_SET_STRING(0x3D66B5980D54BABBLL
, m_count
,
248 HASH_SET_STRING(0x2708FDA74562AD8DLL
, m_parts
,
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());
260 HASH_RETURN_STRING(0x2DAB7B8AC94308B1LL
, m_partClass
,
264 HASH_RETURN_STRING(0x0F84CB175598D0A5LL
, m_lineStart
,
268 HASH_RETURN_STRING(0x6A760D2EC60228C6LL
, m_open
,
272 HASH_RETURN_STRING(0x36B43082F052EC6BLL
, m_close
,
274 HASH_RETURN_STRING(0x3D66B5980D54BABBLL
, m_count
,
278 HASH_RETURN_STRING(0x2708FDA74562AD8DLL
, m_parts
,
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]
293 t___construct(v_data
);
296 ObjectData
*c_ppdstackelement::dynCreate(CArrRef params
, bool init
/* = true */) {
298 int count
= params
.size();
299 if (count
<= 0) return (create());
300 return (create(params
.rvalAt(0)));
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
)();
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
);
326 HASH_GUARD(0x27E7DBA875AD17E1LL
, getflags
) {
327 return (t_getflags());
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
);
338 HASH_GUARD(0x1A5F5A2CB292E516LL
, getaccum
) {
339 return ref(t_getaccum());
343 HASH_GUARD(0x1CF88FA5EFC88C39LL
, breaksyntax
) {
344 int count
= params
.size();
345 if (count
<= 0) return (t_breaksyntax());
346 return (t_breaksyntax(params
.rvalAt(0)));
350 HASH_GUARD(0x1726802D706D7BECLL
, getcurrentpart
) {
351 return (t_getcurrentpart());
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
);
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
);
370 HASH_GUARD(0x27E7DBA875AD17E1LL
, getflags
) {
371 return (t_getflags());
375 HASH_GUARD(0x499E72B719A4CAC2LL
, addpart
) {
376 if (count
<= 0) return (t_addpart(), null
);
377 return (t_addpart(a0
), null
);
381 HASH_GUARD(0x1A5F5A2CB292E516LL
, getaccum
) {
382 return ref(t_getaccum());
386 HASH_GUARD(0x1CF88FA5EFC88C39LL
, breaksyntax
) {
387 if (count
<= 0) return (t_breaksyntax());
388 return (t_breaksyntax(a0
));
392 HASH_GUARD(0x1726802D706D7BECLL
, getcurrentpart
) {
393 return (t_getcurrentpart());
397 HASH_GUARD(0x0D31D0AC229C615FLL
, __construct
) {
398 if (count
<= 0) return (t___construct(), null
);
399 return (t___construct(a0
), null
);
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() {
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);
436 Primitive v_name
= 0;
439 (v_class
= m_partClass
);
440 (m_parts
= Array(ArrayInit(1).set(0, LINE(731,create_object(toString(v_class
), Array()))).create()));
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
);
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
)));
459 /* SRC: Preprocessor_DOM.php line 742 */
460 void c_ppdstackelement::t_addpart(Variant v_s
// = ""
462 INSTANCE_METHOD_INJECTION(PPDStackElement
, PPDStackElement::addPart
);
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())))));
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);
473 /* SRC: Preprocessor_DOM.php line 751 */
474 Array
c_ppdstackelement::t_getflags() {
475 INSTANCE_METHOD_INJECTION(PPDStackElement
, PPDStackElement::getFlags
);
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());
483 /* SRC: Preprocessor_DOM.php line 764 */
484 Variant
c_ppdstackelement::t_breaksyntax(Variant v_openingCount
// = false
486 INSTANCE_METHOD_INJECTION(PPDStackElement
, PPDStackElement::breakSyntax
);
488 bool v_first
= false;
491 if (equal(m_open
, "\n")) {
492 (v_s
= m_parts
.rvalAt(0LL, 0x77CFA1EEF01BCA90LL
).o_get("out", 0x7C801AC012E9F722LL
));
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
))));
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();
511 concat_assign(v_s
, "|");
513 concat_assign(v_s
, toString(v_part
.o_get("out", 0x7C801AC012E9F722LL
)));
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());
535 HASH_EXISTS_STRING(0x75AF6DCF22783AC1LL
, node
, 4);
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());
546 HASH_RETURN_STRING(0x75AF6DCF22783AC1LL
, m_node
,
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());
558 HASH_SET_STRING(0x75AF6DCF22783AC1LL
, m_node
,
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());
570 HASH_RETURN_STRING(0x75AF6DCF22783AC1LL
, m_node
,
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
585 t___construct(v_node
, v_xpath
);
588 ObjectData
*c_ppnode_dom::dynCreate(CArrRef params
, bool init
/* = true */) {
590 int count
= params
.size();
591 if (count
<= 1) return (create(params
.rvalAt(0)));
592 return (create(params
.rvalAt(0), params
.rvalAt(1)));
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
)();
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
);
613 HASH_GUARD(0x73E7C3304C0C5360LL
, splitarg
) {
614 return (t_splitarg());
618 HASH_GUARD(0x23F51CDECC198965LL
, getname
) {
619 return (t_getname());
623 HASH_GUARD(0x0A41DBE0830902C6LL
, item
) {
624 return (t_item(params
.rvalAt(0)));
628 HASH_GUARD(0x050681239965E069LL
, getfirstchild
) {
629 return (t_getfirstchild());
633 HASH_GUARD(0x47D4EE3CB3EB696CLL
, splitext
) {
634 return (t_splitext());
638 HASH_GUARD(0x0621AE2D22A1922DLL
, splitheading
) {
639 return (t_splitheading());
643 HASH_GUARD(0x5ABDC66291F1CA2ELL
, getchildrenoftype
) {
644 return (t_getchildrenoftype(params
.rvalAt(0)));
648 HASH_GUARD(0x732EC1BDA8EC520FLL
, getchildren
) {
649 return (t_getchildren());
653 HASH_GUARD(0x642C2D2994B34A13LL
, __tostring
) {
654 return (t___tostring());
658 HASH_GUARD(0x41EB078EF92C44D4LL
, getlength
) {
659 return (t_getlength());
663 HASH_GUARD(0x4CB333CF2D880119LL
, getnextsibling
) {
664 return (t_getnextsibling());
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
);
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
);
683 HASH_GUARD(0x73E7C3304C0C5360LL
, splitarg
) {
684 return (t_splitarg());
688 HASH_GUARD(0x23F51CDECC198965LL
, getname
) {
689 return (t_getname());
693 HASH_GUARD(0x0A41DBE0830902C6LL
, item
) {
698 HASH_GUARD(0x050681239965E069LL
, getfirstchild
) {
699 return (t_getfirstchild());
703 HASH_GUARD(0x47D4EE3CB3EB696CLL
, splitext
) {
704 return (t_splitext());
708 HASH_GUARD(0x0621AE2D22A1922DLL
, splitheading
) {
709 return (t_splitheading());
713 HASH_GUARD(0x5ABDC66291F1CA2ELL
, getchildrenoftype
) {
714 return (t_getchildrenoftype(a0
));
718 HASH_GUARD(0x732EC1BDA8EC520FLL
, getchildren
) {
719 return (t_getchildren());
723 HASH_GUARD(0x642C2D2994B34A13LL
, __tostring
) {
724 return (t___tostring());
728 HASH_GUARD(0x41EB078EF92C44D4LL
, getlength
) {
729 return (t_getlength());
733 HASH_GUARD(0x4CB333CF2D880119LL
, getnextsibling
) {
734 return (t_getnextsibling());
738 HASH_GUARD(0x0D31D0AC229C615FLL
, __construct
) {
739 if (count
<= 1) return (t___construct(a0
), null
);
740 return (t___construct(a0
, a1
), null
);
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() {
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);
772 gasInCtor(oldInCtor
);
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
);
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
;
789 /* SRC: Preprocessor_DOM.php line 1403 */
790 String
c_ppnode_dom::t___tostring() {
791 INSTANCE_METHOD_INJECTION(PPNode_DOM
, PPNode_DOM::__toString
);
795 if (instanceOf(m_node
, "DOMNodeList")) {
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
))));
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
);
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));
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));
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));
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())));
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
);
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
);
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));
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")) {
860 return m_node
.o_get("nodeName", 0x009B66FACA616B3CLL
);
864 /* SRC: Preprocessor_DOM.php line 1458 */
865 Array
c_ppnode_dom::t_splitarg() {
866 INSTANCE_METHOD_INJECTION(PPNode_DOM
, PPNode_DOM::splitArg
);
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()));
884 /* SRC: Preprocessor_DOM.php line 1476 */
885 Variant
c_ppnode_dom::t_splitext() {
886 INSTANCE_METHOD_INJECTION(PPNode_DOM
, PPNode_DOM::splitExt
);
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
);
911 /* SRC: Preprocessor_DOM.php line 1499 */
912 Array
c_ppnode_dom::t_splitheading() {
913 INSTANCE_METHOD_INJECTION(PPNode_DOM
, PPNode_DOM::splitHeading
);
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()));
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
);
928 HASH_RETURN(0x03CADA938C98C156LL
, g
->s_ppdstack$$
false,
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
);
941 HASH_RETURN(0x03CADA938C98C156LL
, g
->s_ppdstack$$
false,
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());
961 HASH_EXISTS_STRING(0x7C801AC012E9F722LL
, out
, 3);
964 HASH_EXISTS_STRING(0x7DD6ABCF558AD1B3LL
, elementClass
, 12);
967 HASH_EXISTS_STRING(0x1854FD73A00D89E8LL
, top
, 3);
970 HASH_EXISTS_STRING(0x5084E637B870262BLL
, stack
, 5);
973 HASH_EXISTS_STRING(0x5F4D08F214717E0FLL
, rootAccum
, 9);
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());
984 HASH_RETURN_STRING(0x7C801AC012E9F722LL
, m_out
,
988 HASH_RETURN_STRING(0x7DD6ABCF558AD1B3LL
, m_elementClass
,
992 HASH_RETURN_STRING(0x1854FD73A00D89E8LL
, m_top
,
996 HASH_RETURN_STRING(0x5084E637B870262BLL
, m_stack
,
1000 HASH_RETURN_STRING(0x5F4D08F214717E0FLL
, m_rootAccum
,
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) {
1012 HASH_SET_STRING(0x7C801AC012E9F722LL
, m_out
,
1016 HASH_SET_STRING(0x7DD6ABCF558AD1B3LL
, m_elementClass
,
1020 HASH_SET_STRING(0x1854FD73A00D89E8LL
, m_top
,
1024 HASH_SET_STRING(0x5084E637B870262BLL
, m_stack
,
1028 HASH_SET_STRING(0x5F4D08F214717E0FLL
, m_rootAccum
,
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) {
1040 HASH_RETURN_STRING(0x7C801AC012E9F722LL
, m_out
,
1044 HASH_RETURN_STRING(0x7DD6ABCF558AD1B3LL
, m_elementClass
,
1048 HASH_RETURN_STRING(0x1854FD73A00D89E8LL
, m_top
,
1052 HASH_RETURN_STRING(0x5084E637B870262BLL
, m_stack
,
1056 HASH_RETURN_STRING(0x5F4D08F214717E0FLL
, m_rootAccum
,
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() {
1073 ObjectData
*c_ppdstack::dynCreate(CArrRef params
, bool init
/* = true */) {
1078 void c_ppdstack::dynConstruct(CArrRef params
) {
1081 ObjectData
*c_ppdstack::cloneImpl() {
1082 c_ppdstack
*obj
= NEW(c_ppdstack
)();
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) {
1098 HASH_GUARD(0x5CEFA5A265104D10LL
, count
) {
1103 HASH_GUARD(0x27E7DBA875AD17E1LL
, getflags
) {
1104 return (t_getflags());
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
);
1115 HASH_GUARD(0x773C5A963CD2AC13LL
, pop
) {
1120 HASH_GUARD(0x1A5F5A2CB292E516LL
, getaccum
) {
1121 return ref(t_getaccum());
1125 HASH_GUARD(0x321E2BF5D878AA38LL
, push
) {
1126 return (t_push(params
.rvalAt(0)), null
);
1130 HASH_GUARD(0x1726802D706D7BECLL
, getcurrentpart
) {
1131 return (t_getcurrentpart());
1135 HASH_GUARD(0x0D31D0AC229C615FLL
, __construct
) {
1136 return (t___construct(), null
);
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) {
1148 HASH_GUARD(0x5CEFA5A265104D10LL
, count
) {
1153 HASH_GUARD(0x27E7DBA875AD17E1LL
, getflags
) {
1154 return (t_getflags());
1158 HASH_GUARD(0x499E72B719A4CAC2LL
, addpart
) {
1159 if (count
<= 0) return (t_addpart(), null
);
1160 return (t_addpart(a0
), null
);
1164 HASH_GUARD(0x773C5A963CD2AC13LL
, pop
) {
1169 HASH_GUARD(0x1A5F5A2CB292E516LL
, getaccum
) {
1170 return ref(t_getaccum());
1174 HASH_GUARD(0x321E2BF5D878AA38LL
, push
) {
1175 return (t_push(a0
), null
);
1179 HASH_GUARD(0x1726802D706D7BECLL
, getcurrentpart
) {
1180 return (t_getcurrentpart());
1184 HASH_GUARD(0x0D31D0AC229C615FLL
, __construct
) {
1185 return (t___construct(), null
);
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() {
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]);
1229 (o_lval("accum", 0x4761A194B0333B28LL
) = ref(lval(m_rootAccum
)));
1230 gasInCtor(oldInCtor
);
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
));
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
)));
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)) {
1249 return LINE(668,m_top
.o_invoke_few_args("getCurrentPart", 0x1726802D706D7BECLL
, 0));
1253 /* SRC: Preprocessor_DOM.php line 672 */
1254 void c_ppdstack::t_push(Variant v_data
) {
1255 INSTANCE_METHOD_INJECTION(PPDStack
, PPDStack::push
);
1258 if (instanceOf(v_data
, toString(m_elementClass
))) {
1259 m_stack
.append((v_data
));
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))));
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
);
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))));
1283 (m_top
= g
->s_ppdstack$$
false);
1284 (o_lval("accum", 0x4761A194B0333B28LL
) = ref(lval(m_rootAccum
)));
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))));
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];
1302 return LINE(712,m_top
.o_invoke_few_args("getFlags", 0x27E7DBA875AD17E1LL
, 0));
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());
1323 HASH_EXISTS_STRING(0x18A8B9D71D4F2D02LL
, parser
, 6);
1326 HASH_EXISTS_STRING(0x65AD8A7E91F7756BLL
, memoryLimit
, 11);
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());
1337 HASH_RETURN_STRING(0x18A8B9D71D4F2D02LL
, m_parser
,
1341 HASH_RETURN_STRING(0x65AD8A7E91F7756BLL
, m_memoryLimit
,
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());
1353 HASH_SET_STRING(0x18A8B9D71D4F2D02LL
, m_parser
,
1357 HASH_SET_STRING(0x65AD8A7E91F7756BLL
, m_memoryLimit
,
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());
1369 HASH_RETURN_STRING(0x18A8B9D71D4F2D02LL
, m_parser
,
1373 HASH_RETURN_STRING(0x65AD8A7E91F7756BLL
, m_memoryLimit
,
1379 return c_ObjectData::o_lval(s
, hash
);
1381 Variant
c_preprocessor_dom::os_constant(const char *s
) {
1382 int64 hash
= hash_string(s
);
1385 HASH_RETURN(0x6AD33BF0C16EEC43LL
, q_preprocessor_dom_CACHE_VERSION
, CACHE_VERSION
);
1390 return c_ObjectData::os_constant(s
);
1392 IMPLEMENT_CLASS(preprocessor_dom
)
1393 ObjectData
*c_preprocessor_dom::create(Variant v_parser
) {
1395 t___construct(v_parser
);
1398 ObjectData
*c_preprocessor_dom::dynCreate(CArrRef params
, bool init
/* = true */) {
1400 return (create(params
.rvalAt(0)));
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
)();
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
);
1420 HASH_GUARD(0x5A11FE5B629AF7A0LL
, newcustomframe
) {
1421 return (t_newcustomframe(params
.rvalAt(0)));
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)));
1432 HASH_GUARD(0x787B6141D7721675LL
, newframe
) {
1433 return (t_newframe());
1437 HASH_GUARD(0x0D31D0AC229C615FLL
, __construct
) {
1438 return (t___construct(params
.rvalAt(0)), null
);
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
);
1450 HASH_GUARD(0x5A11FE5B629AF7A0LL
, newcustomframe
) {
1451 return (t_newcustomframe(a0
));
1455 HASH_GUARD(0x0BA55A9913645813LL
, preprocesstoobj
) {
1456 if (count
<= 1) return (t_preprocesstoobj(a0
));
1457 return (t_preprocesstoobj(a0
, a1
));
1461 HASH_GUARD(0x787B6141D7721675LL
, newframe
) {
1462 return (t_newframe());
1466 HASH_GUARD(0x0D31D0AC229C615FLL
, __construct
) {
1467 return (t___construct(a0
), null
);
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() {
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);
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
);
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)))))));
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
)))));
1524 /* SRC: Preprocessor_DOM.php line 32 */
1525 bool c_preprocessor_dom::t_memcheck() {
1526 INSTANCE_METHOD_INJECTION(Preprocessor_DOM
, Preprocessor_DOM::memCheck
);
1530 if (same(m_memoryLimit
, 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);
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
);
1547 DECLARE_GLOBAL_VARIABLES(g
);
1548 Variant
&gv_wgMemc
__attribute__((__unused__
)) = g
->GV(wgMemc
);
1549 Variant
&gv_wgPreprocessorCacheThreshold
__attribute__((__unused__
)) = g
->GV(wgPreprocessorCacheThreshold
);
1551 bool v_cacheable
= false;
1553 Variant v_cacheValue
;
1555 p_domdocument v_dom
;
1559 LINE(67,invoke_failed("wfprofilein", Array(ArrayInit(1).set(0, "Preprocessor_DOM::preprocessToObj").create()), 0x0000000075359BAFLL
));
1563 (v_cacheable
= more(LINE(71,x_strlen(toString(v_text
))), gv_wgPreprocessorCacheThreshold
));
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)) {
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
)));
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
));
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
));
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
);
1621 DECLARE_GLOBAL_VARIABLES(g
);
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
;
1631 Variant v_searchBase
;
1635 Variant v_findEquals
;
1637 Variant v_headingIndex
;
1638 Variant v_inHeading
;
1640 Variant v_findOnlyinclude
;
1641 Variant v_fakeLineStart
;
1643 Variant v_tagEndPos
;
1647 Variant v_currentClosing
;
1649 Variant v_literalLength
;
1658 Variant v_lowerName
;
1659 Variant v_attrStart
;
1660 Variant v_tagStartPos
;
1666 Variant v_searchStart
;
1667 Variant v_equalsLength
;
1670 Variant v_matchingCount
;
1674 Variant v_partIndex
;
1678 Variant v_skippedBraces
;
1679 Variant v_enclosingAccum
;
1683 class VariableTable
: public LVariableTable
{
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) {
1692 HASH_RETURN(0x2FA2EA3BE4385180LL
, v_ignoredElements
,
1696 HASH_RETURN(0x4823DBE38D294B01LL
, v_argValue
,
1700 HASH_RETURN(0x1B3A1B4FC8E2BF86LL
, v_findEquals
,
1704 HASH_RETURN(0x1AFD3E7207DEC289LL
, v_element
,
1708 HASH_RETURN(0x6AFDA85728FAE70DLL
, v_flags
,
1710 HASH_RETURN(0x2708FDA74562AD8DLL
, v_parts
,
1714 HASH_RETURN(0x7A62DFE604197490LL
, v_rule
,
1718 HASH_RETURN(0x0EB22EDA95766E98LL
, v_i
,
1722 HASH_RETURN(0x749C3FAB1E74371DLL
, v_startPos
,
1726 HASH_RETURN(0x1D7680FEEF32A39ELL
, v_attrStart
,
1728 HASH_RETURN(0x3ABE2A7FF197E79ELL
, v_maxCount
,
1732 HASH_RETURN(0x7985846879851FA2LL
, v_revText
,
1734 HASH_RETURN(0x6F571EAFB109D7A2LL
, v_headingIndex
,
1738 HASH_RETURN(0x07D9889BE123B524LL
, v_searchBase
,
1742 HASH_RETURN(0x78D6949B972CFD25LL
, v_rules
,
1746 HASH_RETURN(0x4761A194B0333B28LL
, v_accum
,
1750 HASH_RETURN(0x2DD17595E81D9BA9LL
, v_xmlishElements
,
1754 HASH_RETURN(0x5084E637B870262BLL
, v_stack
,
1758 HASH_RETURN(0x73F30E0F2D277D2DLL
, v_inHeading
,
1762 HASH_RETURN(0x7F0BF9704771F92ELL
, v_literalLength
,
1764 HASH_RETURN(0x75716BF7E20AFAAELL
, v_matchingCount
,
1768 HASH_RETURN(0x7451350C607F1BAFLL
, v_noMoreGT
,
1772 HASH_RETURN(0x6FD137A54D1BE930LL
, v_wsStart
,
1776 HASH_RETURN(0x5893A9585C6502B1LL
, v_xml
,
1780 HASH_RETURN(0x485CF5F18ACB2632LL
, v_endPos
,
1784 HASH_RETURN(0x61CFEEED54DD0AB9LL
, v_matches
,
1788 HASH_RETURN(0x3D66B5980D54BABBLL
, v_count
,
1792 HASH_RETURN(0x4B89E9FF5DB696BELL
, v_currentClosing
,
1796 HASH_RETURN(0x2A28A0084DD3A743LL
, v_text
,
1798 HASH_RETURN(0x79E99297D9CF6243LL
, v_search
,
1802 HASH_RETURN(0x4D0B41A665B57E4BLL
, v_searchStart
,
1806 HASH_RETURN(0x41CC31743A0270CELL
, v_found
,
1808 HASH_RETURN(0x5AE6844A0CCFE9CELL
, v_attrEnd
,
1810 HASH_RETURN(0x0B812E4C8D98FBCELL
, v_argIndex
,
1814 HASH_RETURN(0x2C356137E4207156LL
, v_tagStartPos
,
1818 HASH_RETURN(0x3FB915AA8F8F8ED9LL
, v_fakeLineStart
,
1822 HASH_RETURN(0x66866B45F7FF96DBLL
, v_wsEnd
,
1824 HASH_RETURN(0x7132B63767EAFEDBLL
, v_piece
,
1828 HASH_RETURN(0x0BCDB293DC3CBDDCLL
, v_name
,
1832 HASH_RETURN(0x64311A2C8443755DLL
, v_attr
,
1836 HASH_RETURN(0x40B8ADAF2E1FB7E3LL
, v_elementsRegex
,
1840 HASH_RETURN(0x7FE16A3727F18DE5LL
, v_findOnlyinclude
,
1842 HASH_RETURN(0x0AE2F3887B84C665LL
, v_tagEndPos
,
1846 HASH_RETURN(0x5D2342E7226E4E68LL
, v_skippedBraces
,
1850 HASH_RETURN(0x36B43082F052EC6BLL
, v_close
,
1854 HASH_RETURN(0x0FCC00A0960D4D6CLL
, v_xmlishRegex
,
1856 HASH_RETURN(0x5DBFA1F0A183E9ECLL
, v_curChar
,
1858 HASH_RETURN(0x7F144219D39BF1ECLL
, v_part
,
1862 HASH_RETURN(0x669278D2AC3068EDLL
, v_ignoredTags
,
1866 HASH_RETURN(0x51A687446C1579F2LL
, v_names
,
1870 HASH_RETURN(0x217F5FC11124CC75LL
, v_wsLength
,
1874 HASH_RETURN(0x5C804792579E2477LL
, v_forInclusion
,
1878 HASH_RETURN(0x77F20E4209A12DF8LL
, v_enableOnlyinclude
,
1880 HASH_RETURN(0x573F2D2FEF6C9378LL
, v_argName
,
1884 HASH_RETURN(0x5AE3699687C882F9LL
, v_findPipe
,
1886 HASH_RETURN(0x75E78845AE202B79LL
, v_enclosingAccum
,
1890 HASH_RETURN(0x35537723FE7928FCLL
, v_lowerName
,
1894 HASH_RETURN(0x3179991995176C7DLL
, v_partIndex
,
1898 HASH_RETURN(0x4F20D07BB803C1FELL
, v_inner
,
1900 HASH_RETURN(0x66AD900A2301E2FELL
, v_title
,
1904 HASH_RETURN(0x41E37259D0CE717FLL
, v_equalsLength
,
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) {
1916 HASH_INITIALIZED(0x2FA2EA3BE4385180LL
, v_ignoredElements
,
1920 HASH_INITIALIZED(0x4823DBE38D294B01LL
, v_argValue
,
1924 HASH_INITIALIZED(0x1B3A1B4FC8E2BF86LL
, v_findEquals
,
1928 HASH_INITIALIZED(0x1AFD3E7207DEC289LL
, v_element
,
1932 HASH_INITIALIZED(0x6AFDA85728FAE70DLL
, v_flags
,
1934 HASH_INITIALIZED(0x2708FDA74562AD8DLL
, v_parts
,
1938 HASH_INITIALIZED(0x7A62DFE604197490LL
, v_rule
,
1942 HASH_INITIALIZED(0x0EB22EDA95766E98LL
, v_i
,
1946 HASH_INITIALIZED(0x749C3FAB1E74371DLL
, v_startPos
,
1950 HASH_INITIALIZED(0x1D7680FEEF32A39ELL
, v_attrStart
,
1952 HASH_INITIALIZED(0x3ABE2A7FF197E79ELL
, v_maxCount
,
1956 HASH_INITIALIZED(0x7985846879851FA2LL
, v_revText
,
1958 HASH_INITIALIZED(0x6F571EAFB109D7A2LL
, v_headingIndex
,
1962 HASH_INITIALIZED(0x07D9889BE123B524LL
, v_searchBase
,
1966 HASH_INITIALIZED(0x78D6949B972CFD25LL
, v_rules
,
1970 HASH_INITIALIZED(0x4761A194B0333B28LL
, v_accum
,
1974 HASH_INITIALIZED(0x2DD17595E81D9BA9LL
, v_xmlishElements
,
1978 HASH_INITIALIZED(0x5084E637B870262BLL
, v_stack
,
1982 HASH_INITIALIZED(0x73F30E0F2D277D2DLL
, v_inHeading
,
1986 HASH_INITIALIZED(0x7F0BF9704771F92ELL
, v_literalLength
,
1988 HASH_INITIALIZED(0x75716BF7E20AFAAELL
, v_matchingCount
,
1992 HASH_INITIALIZED(0x7451350C607F1BAFLL
, v_noMoreGT
,
1996 HASH_INITIALIZED(0x6FD137A54D1BE930LL
, v_wsStart
,
2000 HASH_INITIALIZED(0x5893A9585C6502B1LL
, v_xml
,
2004 HASH_INITIALIZED(0x485CF5F18ACB2632LL
, v_endPos
,
2008 HASH_INITIALIZED(0x61CFEEED54DD0AB9LL
, v_matches
,
2012 HASH_INITIALIZED(0x3D66B5980D54BABBLL
, v_count
,
2016 HASH_INITIALIZED(0x4B89E9FF5DB696BELL
, v_currentClosing
,
2020 HASH_INITIALIZED(0x2A28A0084DD3A743LL
, v_text
,
2022 HASH_INITIALIZED(0x79E99297D9CF6243LL
, v_search
,
2026 HASH_INITIALIZED(0x4D0B41A665B57E4BLL
, v_searchStart
,
2030 HASH_INITIALIZED(0x41CC31743A0270CELL
, v_found
,
2032 HASH_INITIALIZED(0x5AE6844A0CCFE9CELL
, v_attrEnd
,
2034 HASH_INITIALIZED(0x0B812E4C8D98FBCELL
, v_argIndex
,
2038 HASH_INITIALIZED(0x2C356137E4207156LL
, v_tagStartPos
,
2042 HASH_INITIALIZED(0x3FB915AA8F8F8ED9LL
, v_fakeLineStart
,
2046 HASH_INITIALIZED(0x66866B45F7FF96DBLL
, v_wsEnd
,
2048 HASH_INITIALIZED(0x7132B63767EAFEDBLL
, v_piece
,
2052 HASH_INITIALIZED(0x0BCDB293DC3CBDDCLL
, v_name
,
2056 HASH_INITIALIZED(0x64311A2C8443755DLL
, v_attr
,
2060 HASH_INITIALIZED(0x40B8ADAF2E1FB7E3LL
, v_elementsRegex
,
2064 HASH_INITIALIZED(0x7FE16A3727F18DE5LL
, v_findOnlyinclude
,
2066 HASH_INITIALIZED(0x0AE2F3887B84C665LL
, v_tagEndPos
,
2070 HASH_INITIALIZED(0x5D2342E7226E4E68LL
, v_skippedBraces
,
2074 HASH_INITIALIZED(0x36B43082F052EC6BLL
, v_close
,
2078 HASH_INITIALIZED(0x0FCC00A0960D4D6CLL
, v_xmlishRegex
,
2080 HASH_INITIALIZED(0x5DBFA1F0A183E9ECLL
, v_curChar
,
2082 HASH_INITIALIZED(0x7F144219D39BF1ECLL
, v_part
,
2086 HASH_INITIALIZED(0x669278D2AC3068EDLL
, v_ignoredTags
,
2090 HASH_INITIALIZED(0x51A687446C1579F2LL
, v_names
,
2094 HASH_INITIALIZED(0x217F5FC11124CC75LL
, v_wsLength
,
2098 HASH_INITIALIZED(0x5C804792579E2477LL
, v_forInclusion
,
2102 HASH_INITIALIZED(0x77F20E4209A12DF8LL
, v_enableOnlyinclude
,
2104 HASH_INITIALIZED(0x573F2D2FEF6C9378LL
, v_argName
,
2108 HASH_INITIALIZED(0x5AE3699687C882F9LL
, v_findPipe
,
2110 HASH_INITIALIZED(0x75E78845AE202B79LL
, v_enclosingAccum
,
2114 HASH_INITIALIZED(0x35537723FE7928FCLL
, v_lowerName
,
2118 HASH_INITIALIZED(0x3179991995176C7DLL
, v_partIndex
,
2122 HASH_INITIALIZED(0x4F20D07BB803C1FELL
, v_inner
,
2124 HASH_INITIALIZED(0x66AD900A2301E2FELL
, v_title
,
2128 HASH_INITIALIZED(0x41E37259D0CE717FLL
, v_equalsLength
,
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);
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
))));
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);
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>"))));
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");
2192 (v_search
= v_searchBase
);
2193 if (same(v_stack
.o_get("top", 0x1854FD73A00D89E8LL
), false)) {
2194 (v_currentClosing
= "");
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
, "=");
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")) {
2215 (v_found
= "line-end");
2222 (v_curChar
= v_text
.rvalAt(v_i
));
2223 if (equal(v_curChar
, "|")) {
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");
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
)) {
2245 (v_rule
= v_rules
.rvalAt(v_curChar
));
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);
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
, "<");
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
))));
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);
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
);
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>"))));
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
, "<");
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);
2318 (v_tagStartPos
= v_i
);
2319 if (equal(v_text
.rvalAt(v_tagEndPos
- 1LL), "/")) {
2320 (v_attrEnd
= v_tagEndPos
- 1LL);
2322 (v_i
= v_tagEndPos
+ 1LL);
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>"))));
2333 (v_inner
= LINE(370,x_substr(toString(v_text
), toInt32(v_tagEndPos
+ 1LL))));
2334 (v_i
= LINE(371,x_strlen(toString(v_text
))));
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>"))));
2342 concat_assign(v_accum
, "<ext>");
2343 if (not_more(v_attrEnd
, v_attrStart
)) {
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);
2360 concat_assign(v_accum
, toString(v_curChar
));
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
)));
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)) {
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())))));
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>"))));
2405 (v_element
= v_accum
);
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
)));
2427 concat_assign(v_accum
, LINE(506,x_htmlspecialchars(x_str_repeat(toString(v_curChar
), toInt32(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
));
2441 (v_matchingCount
= v_count
);
2444 while (more(v_matchingCount
, 0LL) && !(LINE(530,x_array_key_exists(v_matchingCount
, v_rule
.rvalAt("names", 0x51A687446C1579F2LL
))))) {
2445 LOOP_COUNTER_CHECK(11);
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
)))));
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
))));
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\"");
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
))));
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>")));
2486 concat_assign(v_element
, LINE(570,concat5("<part><name index=\"", toString(v_argIndex
), "\" /><value>", toString(v_part
.o_get("out", 0x7C801AC012E9F722LL
)), "</value></part>")));
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
));
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))));
2513 --lval(v_piece
.o_lval("count", 0x3D66B5980D54BABBLL
));
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))));
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
, "=");
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
));
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) {
2575 HASH_EXISTS_STRING(0x18A8B9D71D4F2D02LL
, parser
, 6);
2578 HASH_EXISTS_STRING(0x0CD4D2916BE2CE13LL
, titleCache
, 10);
2581 HASH_EXISTS_STRING(0x757439BA20184735LL
, loopCheckHash
, 13);
2584 HASH_EXISTS_STRING(0x1AE700EECE6274C7LL
, depth
, 5);
2587 HASH_EXISTS_STRING(0x2940E17D1F5401AELL
, preprocessor
, 12);
2588 HASH_EXISTS_STRING(0x66AD900A2301E2FELL
, title
, 5);
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) {
2599 HASH_RETURN_STRING(0x18A8B9D71D4F2D02LL
, m_parser
,
2603 HASH_RETURN_STRING(0x0CD4D2916BE2CE13LL
, m_titleCache
,
2607 HASH_RETURN_STRING(0x757439BA20184735LL
, m_loopCheckHash
,
2611 HASH_RETURN_STRING(0x1AE700EECE6274C7LL
, m_depth
,
2615 HASH_RETURN_STRING(0x2940E17D1F5401AELL
, m_preprocessor
,
2617 HASH_RETURN_STRING(0x66AD900A2301E2FELL
, m_title
,
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) {
2629 HASH_SET_STRING(0x18A8B9D71D4F2D02LL
, m_parser
,
2633 HASH_SET_STRING(0x0CD4D2916BE2CE13LL
, m_titleCache
,
2637 HASH_SET_STRING(0x757439BA20184735LL
, m_loopCheckHash
,
2641 HASH_SET_STRING(0x1AE700EECE6274C7LL
, m_depth
,
2645 HASH_SET_STRING(0x2940E17D1F5401AELL
, m_preprocessor
,
2647 HASH_SET_STRING(0x66AD900A2301E2FELL
, m_title
,
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) {
2659 HASH_RETURN_STRING(0x18A8B9D71D4F2D02LL
, m_parser
,
2663 HASH_RETURN_STRING(0x0CD4D2916BE2CE13LL
, m_titleCache
,
2667 HASH_RETURN_STRING(0x757439BA20184735LL
, m_loopCheckHash
,
2671 HASH_RETURN_STRING(0x1AE700EECE6274C7LL
, m_depth
,
2675 HASH_RETURN_STRING(0x2940E17D1F5401AELL
, m_preprocessor
,
2677 HASH_RETURN_STRING(0x66AD900A2301E2FELL
, m_title
,
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
) {
2691 t___construct(v_preprocessor
);
2694 ObjectData
*c_ppframe_dom::dynCreate(CArrRef params
, bool init
/* = true */) {
2696 return (create(params
.rvalAt(0)));
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
)();
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) {
2720 HASH_GUARD(0x6359F42D5FC265E8LL
, isempty
) {
2721 return (t_isempty());
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)));
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)));
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)));
2746 HASH_GUARD(0x7EF27F050E4E0390LL
, getnamedarguments
) {
2747 return (t_getnamedarguments());
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)));
2758 HASH_GUARD(0x642C2D2994B34A13LL
, __tostring
) {
2759 return (t___tostring());
2763 HASH_GUARD(0x3685C90A1EB568B7LL
, getarguments
) {
2764 return (t_getarguments());
2768 HASH_GUARD(0x0A95A4780D41F7B8LL
, getargument
) {
2769 return (t_getargument(params
.rvalAt(0)));
2773 HASH_GUARD(0x7CBE9654ADB6CFB9LL
, istemplate
) {
2774 return (t_istemplate());
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)));
2786 HASH_GUARD(0x7F29FBB1CA49733DLL
, getnumberedarguments
) {
2787 return (t_getnumberedarguments());
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)));
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
);
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) {
2814 HASH_GUARD(0x6359F42D5FC265E8LL
, isempty
) {
2815 return (t_isempty());
2819 HASH_GUARD(0x409618A98590618BLL
, virtualbracketedimplode
) {
2820 if (count
<= 3) return (t_virtualbracketedimplode(count
, a0
, a1
, a2
));
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
));
2829 HASH_GUARD(0x39B7BB05F05A37CDLL
, expand
) {
2830 if (count
<= 1) return (t_expand(a0
));
2831 return (t_expand(a0
, a1
));
2835 HASH_GUARD(0x5047BA794DE2746ELL
, implodewithflags
) {
2836 if (count
<= 2) return (t_implodewithflags(count
, a0
, a1
));
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
));
2846 HASH_GUARD(0x7EF27F050E4E0390LL
, getnamedarguments
) {
2847 return (t_getnamedarguments());
2851 HASH_GUARD(0x1E2D3AE762AF0AF1LL
, virtualimplode
) {
2852 if (count
<= 1) return (t_virtualimplode(count
, a0
));
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
));
2863 HASH_GUARD(0x642C2D2994B34A13LL
, __tostring
) {
2864 return (t___tostring());
2868 HASH_GUARD(0x3685C90A1EB568B7LL
, getarguments
) {
2869 return (t_getarguments());
2873 HASH_GUARD(0x0A95A4780D41F7B8LL
, getargument
) {
2874 return (t_getargument(a0
));
2878 HASH_GUARD(0x7CBE9654ADB6CFB9LL
, istemplate
) {
2879 return (t_istemplate());
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
));
2890 HASH_GUARD(0x7F29FBB1CA49733DLL
, getnumberedarguments
) {
2891 return (t_getnumberedarguments());
2895 HASH_GUARD(0x36A80B48E08B753ELL
, implode
) {
2896 if (count
<= 1) return (t_implode(count
, a0
));
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
));
2907 HASH_GUARD(0x7BA9911BE4A4175FLL
, loopcheck
) {
2908 return (t_loopcheck(a0
));
2910 HASH_GUARD(0x0D31D0AC229C615FLL
, __construct
) {
2911 return (t___construct(a0
), null
);
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
;
2938 m_titleCache
= null
;
2939 m_loopCheckHash
= 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]);
2952 gasInCtor(oldInCtor
);
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
);
2963 DECLARE_GLOBAL_VARIABLES(g
);
2964 Variant v_namedArgs
;
2965 Variant v_numberedArgs
;
2968 Variant v_nameNodes
;
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)) {
2980 if (instanceOf(v_args
, "PPNode")) {
2981 (v_args
= v_args
.o_get("node", 0x75AF6DCF22783AC1LL
));
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
);
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
)))));
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
);
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());
3022 Variant v_iteratorStack
;
3023 Variant v_indexStack
;
3025 Variant v_iteratorNode
;
3028 Variant v_contextNode
;
3029 Variant v_newIterator
;
3034 Variant v_lineStart
;
3042 Variant v_headingIndex
;
3043 Variant v_titleText
;
3048 if (!inited_sv_expansionDepth
) {
3049 (sv_expansionDepth
= 0LL);
3050 inited_sv_expansionDepth
= true;
3052 if (LINE(876,x_is_string(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]);
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);
3088 (v_contextNode
= v_iteratorNode
.rvalAt(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);
3098 (v_contextNode
= LINE(925,v_iteratorNode
.o_invoke_few_args("item", 0x0A41DBE0830902C6LL
, 1, v_index
)));
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
)));
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
));
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
)));
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
));
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
)))));
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
)));
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
));
3202 (v_newIterator
= v_contextNode
.o_get("childNodes", 0x795010C5D07D8B8ELL
));
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)) {
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
)));
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
);
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
);
3245 bool v_first
= false;
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)))));
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()));
3265 for (ArrayIterPtr iter29
= v_root
.begin("ppframe_dom"); !iter29
->end(); iter29
->next()) {
3266 LOOP_COUNTER_CHECK(27);
3267 v_node
= iter29
->second();
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
))));
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
);
3290 bool v_first
= false;
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)))));
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()));
3310 for (ArrayIterPtr iter35
= v_root
.begin("ppframe_dom"); !iter35
->end(); iter35
->next()) {
3311 LOOP_COUNTER_CHECK(33);
3312 v_node
= iter35
->second();
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
))));
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
);
3336 bool v_first
= false;
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]);
3343 if (instanceOf(v_root
, "PPNode_DOM")) (v_root
= v_root
.o_get("node", 0x75AF6DCF22783AC1LL
));
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()));
3355 for (ArrayIterPtr iter41
= v_root
.begin("ppframe_dom"); !iter41
->end(); iter41
->next()) {
3356 LOOP_COUNTER_CHECK(39);
3357 v_node
= iter41
->second();
3363 v_out
.append((v_sep
));
3365 v_out
.append((v_node
));
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
);
3381 bool v_first
= false;
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()));
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()));
3400 for (ArrayIterPtr iter47
= v_root
.begin("ppframe_dom"); !iter47
->end(); iter47
->next()) {
3401 LOOP_COUNTER_CHECK(45);
3402 v_node
= iter47
->second();
3408 v_out
.append((v_sep
));
3410 v_out
.append((v_node
));
3417 v_out
.append((v_end
));
3420 /* SRC: Preprocessor_DOM.php line 1183 */
3421 String
c_ppframe_dom::t___tostring() {
3422 INSTANCE_METHOD_INJECTION(PPFrame_DOM
, PPFrame_DOM::__toString
);
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));
3433 return isset(m_titleCache
, v_level
) ? ((Variant
)(m_titleCache
.rvalAt(v_level
))) : ((Variant
)(false));
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];
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];
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];
3452 /* SRC: Preprocessor_DOM.php line 1210 */
3453 bool c_ppframe_dom::t_isempty() {
3454 INSTANCE_METHOD_INJECTION(PPFrame_DOM
, PPFrame_DOM::isEmpty
);
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
);
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))));
3467 /* SRC: Preprocessor_DOM.php line 1228 */
3468 bool c_ppframe_dom::t_istemplate() {
3469 INSTANCE_METHOD_INJECTION(PPFrame_DOM
, PPFrame_DOM::isTemplate
);
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());
3487 HASH_EXISTS_STRING(0x4AF7CD17F976719ELL
, args
, 4);
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());
3498 HASH_RETURN_STRING(0x4AF7CD17F976719ELL
, m_args
,
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());
3510 HASH_SET_STRING(0x4AF7CD17F976719ELL
, m_args
,
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());
3522 HASH_RETURN_STRING(0x4AF7CD17F976719ELL
, m_args
,
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
) {
3536 t___construct(v_preprocessor
, v_args
);
3539 ObjectData
*c_ppcustomframe_dom::dynCreate(CArrRef params
, bool init
/* = true */) {
3541 return (create(params
.rvalAt(0), params
.rvalAt(1)));
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
)();
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) {
3560 HASH_GUARD(0x6359F42D5FC265E8LL
, isempty
) {
3561 return (t_isempty());
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)));
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)));
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)));
3586 HASH_GUARD(0x7EF27F050E4E0390LL
, getnamedarguments
) {
3587 return (t_getnamedarguments());
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)));
3598 HASH_GUARD(0x642C2D2994B34A13LL
, __tostring
) {
3599 return (t___tostring());
3603 HASH_GUARD(0x3685C90A1EB568B7LL
, getarguments
) {
3604 return (t_getarguments());
3608 HASH_GUARD(0x0A95A4780D41F7B8LL
, getargument
) {
3609 return (t_getargument(params
.rvalAt(0)));
3613 HASH_GUARD(0x7CBE9654ADB6CFB9LL
, istemplate
) {
3614 return (t_istemplate());
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)));
3626 HASH_GUARD(0x7F29FBB1CA49733DLL
, getnumberedarguments
) {
3627 return (t_getnumberedarguments());
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)));
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
);
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) {
3654 HASH_GUARD(0x6359F42D5FC265E8LL
, isempty
) {
3655 return (t_isempty());
3659 HASH_GUARD(0x409618A98590618BLL
, virtualbracketedimplode
) {
3660 if (count
<= 3) return (t_virtualbracketedimplode(count
, a0
, a1
, a2
));
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
));
3669 HASH_GUARD(0x39B7BB05F05A37CDLL
, expand
) {
3670 if (count
<= 1) return (t_expand(a0
));
3671 return (t_expand(a0
, a1
));
3675 HASH_GUARD(0x5047BA794DE2746ELL
, implodewithflags
) {
3676 if (count
<= 2) return (t_implodewithflags(count
, a0
, a1
));
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
));
3686 HASH_GUARD(0x7EF27F050E4E0390LL
, getnamedarguments
) {
3687 return (t_getnamedarguments());
3691 HASH_GUARD(0x1E2D3AE762AF0AF1LL
, virtualimplode
) {
3692 if (count
<= 1) return (t_virtualimplode(count
, a0
));
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
));
3703 HASH_GUARD(0x642C2D2994B34A13LL
, __tostring
) {
3704 return (t___tostring());
3708 HASH_GUARD(0x3685C90A1EB568B7LL
, getarguments
) {
3709 return (t_getarguments());
3713 HASH_GUARD(0x0A95A4780D41F7B8LL
, getargument
) {
3714 return (t_getargument(a0
));
3718 HASH_GUARD(0x7CBE9654ADB6CFB9LL
, istemplate
) {
3719 return (t_istemplate());
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
));
3730 HASH_GUARD(0x7F29FBB1CA49733DLL
, getnumberedarguments
) {
3731 return (t_getnumberedarguments());
3735 HASH_GUARD(0x36A80B48E08B753ELL
, implode
) {
3736 if (count
<= 1) return (t_implode(count
, a0
));
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
));
3747 HASH_GUARD(0x7BA9911BE4A4175FLL
, loopcheck
) {
3748 return (t_loopcheck(a0
));
3750 HASH_GUARD(0x0D31D0AC229C615FLL
, __construct
) {
3751 return (t___construct(a0
, a1
), null
);
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();
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
));
3784 gasInCtor(oldInCtor
);
3786 /* SRC: Preprocessor_DOM.php line 1358 */
3787 String
c_ppcustomframe_dom::t___tostring() {
3788 INSTANCE_METHOD_INJECTION(PPCustomFrame_DOM
, PPCustomFrame_DOM::__toString
);
3798 bool v_first
= false;
3799 Primitive v_name
= 0;
3802 (v_s
= "cstmframe{");
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();
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
, "}");
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
))));
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
))) {
3836 return m_args
.rvalAt(v_index
);
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) {
3857 HASH_EXISTS_STRING(0x21A0BD85B8757635LL
, numberedExpansionCache
, 22);
3860 HASH_EXISTS_STRING(0x4C84B2F1BC8BA768LL
, namedExpansionCache
, 19);
3863 HASH_EXISTS_STRING(0x00263ABC07EFFD29LL
, numberedArgs
, 12);
3866 HASH_EXISTS_STRING(0x3F849A2980280C0ALL
, namedArgs
, 9);
3869 HASH_EXISTS_STRING(0x16E2F26FFB10FD8CLL
, parent
, 6);
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) {
3880 HASH_RETURN_STRING(0x21A0BD85B8757635LL
, m_numberedExpansionCache
,
3881 numberedExpansionCache
, 22);
3884 HASH_RETURN_STRING(0x4C84B2F1BC8BA768LL
, m_namedExpansionCache
,
3885 namedExpansionCache
, 19);
3888 HASH_RETURN_STRING(0x00263ABC07EFFD29LL
, m_numberedArgs
,
3892 HASH_RETURN_STRING(0x3F849A2980280C0ALL
, m_namedArgs
,
3896 HASH_RETURN_STRING(0x16E2F26FFB10FD8CLL
, m_parent
,
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) {
3908 HASH_SET_STRING(0x21A0BD85B8757635LL
, m_numberedExpansionCache
,
3909 numberedExpansionCache
, 22);
3912 HASH_SET_STRING(0x4C84B2F1BC8BA768LL
, m_namedExpansionCache
,
3913 namedExpansionCache
, 19);
3916 HASH_SET_STRING(0x00263ABC07EFFD29LL
, m_numberedArgs
,
3920 HASH_SET_STRING(0x3F849A2980280C0ALL
, m_namedArgs
,
3924 HASH_SET_STRING(0x16E2F26FFB10FD8CLL
, m_parent
,
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) {
3936 HASH_RETURN_STRING(0x21A0BD85B8757635LL
, m_numberedExpansionCache
,
3937 numberedExpansionCache
, 22);
3940 HASH_RETURN_STRING(0x4C84B2F1BC8BA768LL
, m_namedExpansionCache
,
3941 namedExpansionCache
, 19);
3944 HASH_RETURN_STRING(0x00263ABC07EFFD29LL
, m_numberedArgs
,
3948 HASH_RETURN_STRING(0x3F849A2980280C0ALL
, m_namedArgs
,
3952 HASH_RETURN_STRING(0x16E2F26FFB10FD8CLL
, m_parent
,
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
3970 t___construct(v_preprocessor
, v_parent
, v_numberedArgs
, v_namedArgs
, v_title
);
3973 ObjectData
*c_pptemplateframe_dom::dynCreate(CArrRef params
, bool init
/* = true */) {
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)));
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
)();
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) {
4008 HASH_GUARD(0x6359F42D5FC265E8LL
, isempty
) {
4009 return (t_isempty());
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)));
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)));
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)));
4034 HASH_GUARD(0x7EF27F050E4E0390LL
, getnamedarguments
) {
4035 return (t_getnamedarguments());
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)));
4046 HASH_GUARD(0x642C2D2994B34A13LL
, __tostring
) {
4047 return (t___tostring());
4051 HASH_GUARD(0x3685C90A1EB568B7LL
, getarguments
) {
4052 return (t_getarguments());
4056 HASH_GUARD(0x0A95A4780D41F7B8LL
, getargument
) {
4057 return (t_getargument(params
.rvalAt(0)));
4061 HASH_GUARD(0x7CBE9654ADB6CFB9LL
, istemplate
) {
4062 return (t_istemplate());
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)));
4074 HASH_GUARD(0x7F29FBB1CA49733DLL
, getnumberedarguments
) {
4075 return (t_getnumberedarguments());
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)));
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
);
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) {
4107 HASH_GUARD(0x6359F42D5FC265E8LL
, isempty
) {
4108 return (t_isempty());
4112 HASH_GUARD(0x409618A98590618BLL
, virtualbracketedimplode
) {
4113 if (count
<= 3) return (t_virtualbracketedimplode(count
, a0
, a1
, a2
));
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
));
4122 HASH_GUARD(0x39B7BB05F05A37CDLL
, expand
) {
4123 if (count
<= 1) return (t_expand(a0
));
4124 return (t_expand(a0
, a1
));
4128 HASH_GUARD(0x5047BA794DE2746ELL
, implodewithflags
) {
4129 if (count
<= 2) return (t_implodewithflags(count
, a0
, a1
));
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
));
4139 HASH_GUARD(0x7EF27F050E4E0390LL
, getnamedarguments
) {
4140 return (t_getnamedarguments());
4144 HASH_GUARD(0x1E2D3AE762AF0AF1LL
, virtualimplode
) {
4145 if (count
<= 1) return (t_virtualimplode(count
, a0
));
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
));
4156 HASH_GUARD(0x642C2D2994B34A13LL
, __tostring
) {
4157 return (t___tostring());
4161 HASH_GUARD(0x3685C90A1EB568B7LL
, getarguments
) {
4162 return (t_getarguments());
4166 HASH_GUARD(0x0A95A4780D41F7B8LL
, getargument
) {
4167 return (t_getargument(a0
));
4171 HASH_GUARD(0x7CBE9654ADB6CFB9LL
, istemplate
) {
4172 return (t_istemplate());
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
));
4183 HASH_GUARD(0x7F29FBB1CA49733DLL
, getnumberedarguments
) {
4184 return (t_getnumberedarguments());
4188 HASH_GUARD(0x36A80B48E08B753ELL
, implode
) {
4189 if (count
<= 1) return (t_implode(count
, a0
));
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
));
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
);
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
;
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);
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
);
4265 /* SRC: Preprocessor_DOM.php line 1258 */
4266 String
c_pptemplateframe_dom::t___tostring() {
4267 INSTANCE_METHOD_INJECTION(PPTemplateFrame_DOM
, PPTemplateFrame_DOM::__toString
);
4277 bool v_first
= false;
4279 Primitive v_name
= 0;
4282 (v_s
= "tplframe{");
4284 (v_args
= m_numberedArgs
+ m_namedArgs
);
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();
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
, "}");
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
)));
4310 /* SRC: Preprocessor_DOM.php line 1281 */
4311 Variant
c_pptemplateframe_dom::t_getarguments() {
4312 INSTANCE_METHOD_INJECTION(PPTemplateFrame_DOM
, PPTemplateFrame_DOM::getArguments
);
4315 Variant v_arguments
;
4318 (v_arguments
= ScalarArrays::sa_
[0]);
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
))));
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
;
4338 (v_arguments
= ScalarArrays::sa_
[0]);
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
))));
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
;
4358 (v_arguments
= ScalarArrays::sa_
[0]);
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
))));
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
))) {
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
);
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
))) {
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
);
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
);
4399 (v_text
= LINE(1331,t_getnumberedargument(v_name
)));
4400 if (same(v_text
, false)) {
4401 (v_text
= LINE(1333,t_getnamedargument(v_name
)));
4405 /* SRC: Preprocessor_DOM.php line 1341 */
4406 bool c_pptemplateframe_dom::t_istemplate() {
4407 INSTANCE_METHOD_INJECTION(PPTemplateFrame_DOM
, PPTemplateFrame_DOM::isTemplate
);
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();
4448 ///////////////////////////////////////////////////////////////////////////////