Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/uaQCm
function name: (null)
number of ops: 71
compiled vars: !0 = $a, !1 = $span, !2 = $img
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
2 0 E > DECLARE_CLASS 'element'
81 1 INIT_FCALL 'define'
2 SEND_VAL 'NewLine'
3 SEND_VAL '%3Cbr+%2F%3E'
4 DO_ICALL
82 5 INIT_FCALL 'define'
6 SEND_VAL 'DocType'
7 SEND_VAL '%3C%21DOCTYPE+html%3E'
8 DO_ICALL
83 9 DECLARE_CLASS 'attribute'
116 10 NEW $5 'Element'
11 SEND_VAL_EX 'a'
12 DO_FCALL 0
13 ASSIGN !0, $5
117 14 INIT_METHOD_CALL !0, 'AddAttr'
15 NEW $8 'Attribute'
16 SEND_VAL_EX 'href'
17 SEND_VAL_EX 'http%3A%2F%2Ftwitter.nl'
18 DO_FCALL 0
19 SEND_VAR_NO_REF_EX $8
20 DO_FCALL 0
118 21 INIT_METHOD_CALL !0, 'AddAttr'
22 NEW $11 'Attribute'
23 SEND_VAL_EX 'target'
24 SEND_VAL_EX '_blank'
25 DO_FCALL 0
26 SEND_VAR_NO_REF_EX $11
27 DO_FCALL 0
119 28 NEW $14 'Element'
29 SEND_VAL_EX 'span'
30 DO_FCALL 0
31 ASSIGN !1, $14
120 32 INIT_METHOD_CALL !1, 'AddAttr'
33 NEW $17 'Attribute'
34 SEND_VAL_EX 'style'
35 SEND_VAL_EX <array>
36 DO_FCALL 0
37 SEND_VAR_NO_REF_EX $17
38 DO_FCALL 0
121 39 INIT_METHOD_CALL !1, 'Value'
40 SEND_VAL_EX 'doei'
41 DO_FCALL 0
122 42 INIT_METHOD_CALL !1, 'AttrFromString'
43 SEND_VAL_EX 'rel%3D%27none%27'
44 DO_FCALL 0
123 45 NEW $22 'Element'
46 SEND_VAL_EX 'img'
47 SEND_VAL_EX <true>
48 DO_FCALL 0
49 ASSIGN !2, $22
124 50 INIT_METHOD_CALL !2, 'AddAttr'
51 NEW $25 'Attribute'
52 SEND_VAL_EX 'src'
53 SEND_VAL_EX 'https%3A%2F%2Fwww.google.nl%2Fimages%2Fsrpr%2Flogo4w.png'
54 DO_FCALL 0
55 SEND_VAR_NO_REF_EX $25
56 DO_FCALL 0
125 57 INIT_METHOD_CALL !0, 'RemoveAttr'
58 SEND_VAL_EX 'href'
59 DO_FCALL 0
126 60 INIT_METHOD_CALL !0, 'Value'
61 FETCH_CONSTANT ~29 'NewLine'
62 CONCAT ~30 !1, ~29
63 CONCAT ~31 ~30, 'hello+world'
64 FETCH_CONSTANT ~32 'NewLine'
65 CONCAT ~33 ~31, ~32
66 CONCAT ~34 ~33, !2
67 SEND_VAL_EX ~34
68 DO_FCALL 0
129 69 ECHO !0
70 > RETURN 1
Class Element:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/uaQCm
function name: __construct
number of ops: 7
compiled vars: !0 = $tag, !1 = $single
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
4 0 E > RECV !0
1 RECV_INIT !1 <false>
5 2 ASSIGN_OBJ 'tag'
3 OP_DATA !0
6 4 ASSIGN_OBJ 'single'
5 OP_DATA !1
7 6 > RETURN null
End of function __construct
Function value:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/uaQCm
function name: Value
number of ops: 4
compiled vars: !0 = $value
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
8 0 E > RECV !0
9 1 ASSIGN_OBJ 'value'
2 OP_DATA !0
10 3 > RETURN null
End of function value
Function addattr:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 3, Position 2 = 9
Branch analysis from position: 3
1 jumps found. (Code = 42) Position 1 = 14
Branch analysis from position: 14
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 9
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/uaQCm
function name: AddAttr
number of ops: 15
compiled vars: !0 = $attr, !1 = $list
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
11 0 E > RECV !0
1 RECV_INIT !1 <false>
12 2 > JMPZ !1, ->9
13 3 > INIT_FCALL 'array_merge'
4 FETCH_OBJ_R ~2 'attr'
5 SEND_VAL ~2
6 SEND_VAR !1
7 DO_ICALL
12 8 > JMP ->14
16 9 > INIT_FCALL 'array_push'
10 FETCH_OBJ_W $4 'attr'
11 SEND_REF $4
12 SEND_VAR !0
13 DO_ICALL
18 14 > > RETURN null
End of function addattr
Function getattr:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 3, Position 2 = 6
Branch analysis from position: 3
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 6
2 jumps found. (Code = 77) Position 1 = 8, Position 2 = 18
Branch analysis from position: 8
2 jumps found. (Code = 78) Position 1 = 9, Position 2 = 18
Branch analysis from position: 9
2 jumps found. (Code = 43) Position 1 = 13, Position 2 = 17
Branch analysis from position: 13
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 17
1 jumps found. (Code = 42) Position 1 = 8
Branch analysis from position: 8
Branch analysis from position: 18
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 18
filename: /in/uaQCm
function name: GetAttr
number of ops: 24
compiled vars: !0 = $name, !1 = $i, !2 = $try
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
19 0 E > RECV_INIT !0 null
20 1 TYPE_CHECK 2 !1
2 > JMPZ ~3, ->6
21 3 > FETCH_OBJ_R ~4 'attr'
4 > RETURN ~4
20 5* JMP ->23
24 6 > FETCH_OBJ_R ~5 'attr'
7 > FE_RESET_R $6 ~5, ->18
8 > > FE_FETCH_R $6, !2, ->18
25 9 > INIT_METHOD_CALL !2, 'Name'
10 DO_FCALL 0 $7
11 IS_IDENTICAL !0, $7
12 > JMPZ ~8, ->17
26 13 > FETCH_OBJ_R ~9 'attr'
14 FETCH_DIM_R ~10 ~9, !0
15 FE_FREE $6
16 > RETURN ~10
24 17 > > JMP ->8
18 > FE_FREE $6
29 19 NEW $11 'Attribute'
20 SEND_VAL_EX ''
21 DO_FCALL 0
22 > RETURN $11
31 23* > RETURN null
End of function getattr
Function setattr:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 5, Position 2 = 15
Branch analysis from position: 5
2 jumps found. (Code = 78) Position 1 = 6, Position 2 = 15
Branch analysis from position: 6
2 jumps found. (Code = 43) Position 1 = 10, Position 2 = 14
Branch analysis from position: 10
1 jumps found. (Code = 42) Position 1 = 5
Branch analysis from position: 5
Branch analysis from position: 14
Branch analysis from position: 15
2 jumps found. (Code = 43) Position 1 = 18, Position 2 = 27
Branch analysis from position: 18
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 27
Branch analysis from position: 15
filename: /in/uaQCm
function name: SetAttr
number of ops: 28
compiled vars: !0 = $name, !1 = $value, !2 = $exist, !3 = $try
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
32 0 E > RECV !0
1 RECV !1
33 2 ASSIGN !2, <false>
34 3 FETCH_OBJ_R ~5 'attr'
4 > FE_RESET_R $6 ~5, ->15
5 > > FE_FETCH_R $6, !3, ->15
35 6 > INIT_METHOD_CALL !3, 'Name'
7 DO_FCALL 0 $7
8 IS_IDENTICAL !0, $7
9 > JMPZ ~8, ->14
36 10 > INIT_METHOD_CALL !3, 'Value'
11 SEND_VAR_EX !1
12 DO_FCALL 0
37 13 ASSIGN !2, <true>
34 14 > > JMP ->5
15 > FE_FREE $6
40 16 BOOL_NOT ~11 !2
17 > JMPZ ~11, ->27
41 18 > INIT_FCALL 'array_push'
19 FETCH_OBJ_W $12 'attr'
20 SEND_REF $12
21 NEW $13 'Attr'
22 SEND_VAR_EX !0
23 SEND_VAR_EX !1
24 DO_FCALL 0
25 SEND_VAR $13
26 DO_ICALL
44 27 > > RETURN null
End of function setattr
Function attrfromstring:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 8, Position 2 = 66
Branch analysis from position: 8
2 jumps found. (Code = 78) Position 1 = 9, Position 2 = 66
Branch analysis from position: 9
2 jumps found. (Code = 43) Position 1 = 15, Position 2 = 21
Branch analysis from position: 15
1 jumps found. (Code = 42) Position 1 = 25
Branch analysis from position: 25
2 jumps found. (Code = 47) Position 1 = 33, Position 2 = 41
Branch analysis from position: 33
2 jumps found. (Code = 43) Position 1 = 42, Position 2 = 53
Branch analysis from position: 42
1 jumps found. (Code = 42) Position 1 = 8
Branch analysis from position: 8
Branch analysis from position: 53
Branch analysis from position: 41
Branch analysis from position: 21
2 jumps found. (Code = 47) Position 1 = 33, Position 2 = 41
Branch analysis from position: 33
Branch analysis from position: 41
Branch analysis from position: 66
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 66
filename: /in/uaQCm
function name: AttrFromString
number of ops: 73
compiled vars: !0 = $string, !1 = $items, !2 = $newlist, !3 = $yes, !4 = $as
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
45 0 E > RECV !0
46 1 INIT_FCALL 'explode'
2 SEND_VAL '+'
3 SEND_VAR !0
4 DO_ICALL $5
5 ASSIGN !1, $5
47 6 ASSIGN !2, <array>
48 7 > FE_RESET_R $8 !1, ->66
8 > > FE_FETCH_R $8, !3, ->66
49 9 > INIT_FCALL 'strpos'
10 SEND_VAR !3
11 SEND_VAL '%3D'
12 DO_ICALL $9
13 TYPE_CHECK 1018 $9
14 > JMPZ ~10, ->21
50 15 > INIT_FCALL 'explode'
16 SEND_VAL '%3D'
17 SEND_VAR !3
18 DO_ICALL $11
19 ASSIGN !4, $11
49 20 > JMP ->25
53 21 > ASSIGN_DIM !4, 0
22 OP_DATA !3
54 23 ASSIGN_DIM !4, 1
24 OP_DATA ''
56 25 > INIT_FCALL 'substr'
26 FETCH_DIM_R ~15 !4, 1
27 SEND_VAL ~15
28 SEND_VAL 0
29 SEND_VAL 1
30 DO_ICALL $16
31 IS_EQUAL ~17 $16, '%27'
32 > JMPNZ_EX ~17 ~17, ->41
33 > INIT_FCALL 'substr'
34 FETCH_DIM_R ~18 !4, 1
35 SEND_VAL ~18
36 SEND_VAL 0
37 SEND_VAL 1
38 DO_ICALL $19
39 IS_EQUAL ~20 $19, '%22'
40 BOOL ~17 ~20
41 > > JMPZ ~17, ->53
57 42 > INIT_FCALL 'substr'
43 FETCH_DIM_R ~22 !4, 1
44 SEND_VAL ~22
45 SEND_VAL 1
46 FETCH_DIM_R ~23 !4, 1
47 STRLEN ~24 ~23
48 SUB ~25 ~24, 1
49 SEND_VAL ~25
50 DO_ICALL $26
51 ASSIGN_DIM !4, 1
52 OP_DATA $26
59 53 > INIT_FCALL 'array_push'
54 SEND_REF !2
55 NEW $27 'Attribute'
56 CHECK_FUNC_ARG
57 FETCH_DIM_FUNC_ARG $28 !4, 0
58 SEND_FUNC_ARG $28
59 CHECK_FUNC_ARG
60 FETCH_DIM_FUNC_ARG $29 !4, 1
61 SEND_FUNC_ARG $29
62 DO_FCALL 0
63 SEND_VAR $27
64 DO_ICALL
48 65 > JMP ->8
66 > FE_FREE $8
61 67 INIT_FCALL 'array_merge'
68 FETCH_OBJ_R ~32 'attr'
69 SEND_VAL ~32
70 SEND_VAR !2
71 DO_ICALL
62 72 > RETURN null
End of function attrfromstring
Function removeattr:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 3, Position 2 = 6
Branch analysis from position: 3
1 jumps found. (Code = 42) Position 1 = 21
Branch analysis from position: 21
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 6
1 jumps found. (Code = 42) Position 1 = 17
Branch analysis from position: 17
2 jumps found. (Code = 44) Position 1 = 21, Position 2 = 8
Branch analysis from position: 21
Branch analysis from position: 8
2 jumps found. (Code = 43) Position 1 = 14, Position 2 = 16
Branch analysis from position: 14
2 jumps found. (Code = 44) Position 1 = 21, Position 2 = 8
Branch analysis from position: 21
Branch analysis from position: 8
Branch analysis from position: 16
filename: /in/uaQCm
function name: RemoveAttr
number of ops: 22
compiled vars: !0 = $name, !1 = $i
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
63 0 E > RECV_INIT !0 null
64 1 TYPE_CHECK 2 !0
2 > JMPZ ~2, ->6
65 3 > ASSIGN_OBJ 'attr'
4 OP_DATA <array>
64 5 > JMP ->21
68 6 > ASSIGN !1, 0
7 > JMP ->17
69 8 > FETCH_OBJ_R ~5 'attr'
9 FETCH_DIM_R ~6 ~5, !1
10 INIT_METHOD_CALL ~6, 'Name'
11 DO_FCALL 0 $7
12 IS_IDENTICAL !0, $7
13 > JMPZ ~8, ->16
70 14 > FETCH_OBJ_UNSET $9 'attr'
15 UNSET_DIM $9, !1
68 16 > PRE_INC !1
17 > FETCH_OBJ_R ~11 'attr'
18 COUNT ~12 ~11
19 IS_SMALLER !1, ~12
20 > JMPNZ ~13, ->8
75 21 > > RETURN null
End of function removeattr
Function __tostring:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 11, Position 2 = 23
Branch analysis from position: 11
2 jumps found. (Code = 43) Position 1 = 14, Position 2 = 19
Branch analysis from position: 14
1 jumps found. (Code = 42) Position 1 = 20
Branch analysis from position: 20
1 jumps found. (Code = 42) Position 1 = 30
Branch analysis from position: 30
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 19
1 jumps found. (Code = 42) Position 1 = 30
Branch analysis from position: 30
Branch analysis from position: 23
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/uaQCm
function name: __toString
number of ops: 35
compiled vars: none
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
78 0 E > FETCH_OBJ_R ~0 'tag'
1 CONCAT ~1 '%3C', ~0
2 CONCAT ~2 ~1, '+'
3 INIT_FCALL 'implode'
4 SEND_VAL '+'
5 FETCH_OBJ_R ~3 'attr'
6 SEND_VAL ~3
7 DO_ICALL $4
8 CONCAT ~5 ~2, $4
9 FETCH_OBJ_R ~6 'single'
10 > JMPZ ~6, ->23
11 > ISSET_ISEMPTY_PROP_OBJ ~7 'value'
12 BOOL_NOT ~8 ~7
13 > JMPZ ~8, ->19
14 > FETCH_OBJ_R ~9 'value'
15 CONCAT ~10 'value%3D%27', ~9
16 CONCAT ~11 ~10, '%27'
17 QM_ASSIGN ~12 ~11
18 > JMP ->20
19 > QM_ASSIGN ~12 ''
20 > CONCAT ~13 ~12, '%2F%3E'
21 QM_ASSIGN ~14 ~13
22 > JMP ->30
23 > FETCH_OBJ_R ~15 'value'
24 CONCAT ~16 '%3E', ~15
25 CONCAT ~17 ~16, '%3C%2F'
26 FETCH_OBJ_R ~18 'tag'
27 CONCAT ~19 ~17, ~18
28 CONCAT ~20 ~19, '%3E'
29 QM_ASSIGN ~14 ~20
30 > CONCAT ~21 ~5, ~14
31 VERIFY_RETURN_TYPE ~21
32 > RETURN ~21
79 33* VERIFY_RETURN_TYPE
34* > RETURN null
End of function __tostring
End of class Element.
Class Attribute:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/uaQCm
function name: __construct
number of ops: 7
compiled vars: !0 = $name, !1 = $value
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
85 0 E > RECV !0
1 RECV_INIT !1 ''
86 2 ASSIGN_OBJ 'name'
3 OP_DATA !0
87 4 ASSIGN_OBJ 'value'
5 OP_DATA !1
88 6 > RETURN null
End of function __construct
Function name:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 3, Position 2 = 6
Branch analysis from position: 3
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 6
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/uaQCm
function name: Name
number of ops: 9
compiled vars: !0 = $name
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
89 0 E > RECV_INIT !0 null
90 1 TYPE_CHECK 2 !0
2 > JMPZ ~1, ->6
91 3 > FETCH_OBJ_R ~2 'name'
4 > RETURN ~2
90 5* JMP ->8
94 6 > ASSIGN_OBJ 'name'
7 OP_DATA !0
96 8 > RETURN null
End of function name
Function vGenerated using Vulcan Logic Dumper, using php 8.0.0