Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 8, Position 2 = 10
Branch analysis from position: 8
1 jumps found. (Code = 42) Position 1 = 11
Branch analysis from position: 11
2 jumps found. (Code = 43) Position 1 = 14, Position 2 = 16
Branch analysis from position: 14
1 jumps found. (Code = 42) Position 1 = 17
Branch analysis from position: 17
2 jumps found. (Code = 43) Position 1 = 20, Position 2 = 22
Branch analysis from position: 20
1 jumps found. (Code = 42) Position 1 = 23
Branch analysis from position: 23
2 jumps found. (Code = 43) Position 1 = 26, Position 2 = 28
Branch analysis from position: 26
1 jumps found. (Code = 42) Position 1 = 29
Branch analysis from position: 29
2 jumps found. (Code = 43) Position 1 = 32, Position 2 = 34
Branch analysis from position: 32
1 jumps found. (Code = 42) Position 1 = 35
Branch analysis from position: 35
2 jumps found. (Code = 43) Position 1 = 38, Position 2 = 40
Branch analysis from position: 38
1 jumps found. (Code = 42) Position 1 = 41
Branch analysis from position: 41
2 jumps found. (Code = 77) Position 1 = 49, Position 2 = 53
Branch analysis from position: 49
2 jumps found. (Code = 78) Position 1 = 50, Position 2 = 53
Branch analysis from position: 50
1 jumps found. (Code = 42) Position 1 = 49
Branch analysis from position: 49
Branch analysis from position: 53
2 jumps found. (Code = 77) Position 1 = 60, Position 2 = 64
Branch analysis from position: 60
2 jumps found. (Code = 78) Position 1 = 61, Position 2 = 64
Branch analysis from position: 61
1 jumps found. (Code = 42) Position 1 = 60
Branch analysis from position: 60
Branch analysis from position: 64
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 64
Branch analysis from position: 53
Branch analysis from position: 40
2 jumps found. (Code = 77) Position 1 = 49, Position 2 = 53
Branch analysis from position: 49
Branch analysis from position: 53
Branch analysis from position: 34
2 jumps found. (Code = 43) Position 1 = 38, Position 2 = 40
Branch analysis from position: 38
Branch analysis from position: 40
Branch analysis from position: 28
2 jumps found. (Code = 43) Position 1 = 32, Position 2 = 34
Branch analysis from position: 32
Branch analysis from position: 34
Branch analysis from position: 22
2 jumps found. (Code = 43) Position 1 = 26, Position 2 = 28
Branch analysis from position: 26
Branch analysis from position: 28
Branch analysis from position: 16
2 jumps found. (Code = 43) Position 1 = 20, Position 2 = 22
Branch analysis from position: 20
Branch analysis from position: 22
Branch analysis from position: 10
2 jumps found. (Code = 43) Position 1 = 14, Position 2 = 16
Branch analysis from position: 14
Branch analysis from position: 16
filename: /in/vWOmn
function name: (null)
number of ops: 66
compiled vars: !0 = $testObject, !1 = $types, !2 = $type
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
10 0 E > DECLARE_CLASS 'abstract1'
14 1 DECLARE_CLASS 'class1', 'abstract1'
16 2 DECLARE_CLASS 'class2', 'class1'
20 3 NEW $3 'Class2'
4 DO_FCALL 0
5 ASSIGN !0, $3
23 6 INSTANCEOF !0, 'Class2'
7 > JMPZ ~6, ->10
8 > QM_ASSIGN ~7 '.'
9 > JMP ->11
10 > QM_ASSIGN ~7 'X'
11 > ECHO ~7
24 12 INSTANCEOF !0, 'Class1'
13 > JMPZ ~8, ->16
14 > QM_ASSIGN ~9 '.'
15 > JMP ->17
16 > QM_ASSIGN ~9 'X'
17 > ECHO ~9
25 18 INSTANCEOF !0, 'Abstract1'
19 > JMPZ ~10, ->22
20 > QM_ASSIGN ~11 '.'
21 > JMP ->23
22 > QM_ASSIGN ~11 'X'
23 > ECHO ~11
26 24 INSTANCEOF !0, 'Interface3'
25 > JMPZ ~12, ->28
26 > QM_ASSIGN ~13 '.'
27 > JMP ->29
28 > QM_ASSIGN ~13 'X'
29 > ECHO ~13
27 30 INSTANCEOF !0, 'Interface2'
31 > JMPZ ~14, ->34
32 > QM_ASSIGN ~15 '.'
33 > JMP ->35
34 > QM_ASSIGN ~15 'X'
35 > ECHO ~15
28 36 INSTANCEOF !0, 'Interface1'
37 > JMPZ ~16, ->40
38 > QM_ASSIGN ~17 '.'
39 > JMP ->41
40 > QM_ASSIGN ~17 'X'
41 > ECHO ~17
29 42 ECHO '%0A'
31 43 ECHO '----------%0A'
33 44 INIT_FCALL_BY_NAME 'getAllTypes'
45 SEND_VAR_EX !0
46 DO_FCALL 0 $18
47 ASSIGN !1, $18
35 48 > FE_RESET_R $20 !1, ->53
49 > > FE_FETCH_R $20, !2, ->53
36 50 > CONCAT ~21 !2, '%0A'
51 ECHO ~21
35 52 > JMP ->49
53 > FE_FREE $20
39 54 ECHO '----------%0A'
41 55 INIT_FCALL_BY_NAME 'getAllTypesEasy'
56 SEND_VAR_EX !0
57 DO_FCALL 0 $22
58 ASSIGN !1, $22
43 59 > FE_RESET_R $24 !1, ->64
60 > > FE_FETCH_R $24, !2, ->64
44 61 > CONCAT ~25 !2, '%0A'
62 ECHO ~25
43 63 > JMP ->60
64 > FE_FREE $24
66 65 > RETURN 1
Function getalltypes:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 30
Branch analysis from position: 30
2 jumps found. (Code = 44) Position 1 = 34, Position 2 = 19
Branch analysis from position: 34
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 19
2 jumps found. (Code = 44) Position 1 = 34, Position 2 = 19
Branch analysis from position: 34
Branch analysis from position: 19
filename: /in/vWOmn
function name: getAllTypes
number of ops: 36
compiled vars: !0 = $object, !1 = $reflection, !2 = $types
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
47 0 E > RECV !0
48 1 NEW $3 'ReflectionObject'
2 SEND_VAR_EX !0
3 DO_FCALL 0
4 ASSIGN !1, $3
49 5 INIT_METHOD_CALL !1, 'getInterfaceNames'
6 DO_FCALL 0 $6
7 ASSIGN !2, $6
50 8 GET_CLASS ~9 !0
9 ASSIGN_DIM !2
10 OP_DATA ~9
51 11 INIT_FCALL 'array_merge'
12 SEND_VAR !2
13 INIT_METHOD_CALL !1, 'getTraitNames'
14 DO_FCALL 0 $10
15 SEND_VAR $10
16 DO_ICALL $11
17 ASSIGN !2, $11
52 18 > JMP ->30
53 19 > INIT_METHOD_CALL !1, 'getName'
20 DO_FCALL 0 $14
21 ASSIGN_DIM !2
22 OP_DATA $14
54 23 INIT_FCALL 'array_merge'
24 SEND_VAR !2
25 INIT_METHOD_CALL !1, 'getTraitNames'
26 DO_FCALL 0 $15
27 SEND_VAR $15
28 DO_ICALL $16
29 ASSIGN !2, $16
52 30 > INIT_METHOD_CALL !1, 'getParentClass'
31 DO_FCALL 0 $18
32 ASSIGN ~19 !1, $18
33 > JMPNZ ~19, ->19
56 34 > > RETURN !2
57 35* > RETURN null
End of function getalltypes
Function getalltypeseasy:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/vWOmn
function name: getAllTypesEasy
number of ops: 20
compiled vars: !0 = $object
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
59 0 E > RECV !0
60 1 INIT_FCALL 'array_merge'
61 2 GET_CLASS ~1 !0
3 INIT_ARRAY ~2 ~1
4 SEND_VAL ~2
62 5 INIT_FCALL 'class_parents'
6 SEND_VAR !0
7 DO_ICALL $3
8 SEND_VAR $3
63 9 INIT_FCALL 'class_implements'
10 SEND_VAR !0
11 DO_ICALL $4
12 SEND_VAR $4
64 13 INIT_FCALL 'class_uses'
14 SEND_VAR !0
15 DO_ICALL $5
16 SEND_VAR $5
60 17 DO_ICALL $6
64 18 > RETURN $6
66 19* > RETURN null
End of function getalltypeseasy
Class Trait1: [no user functions]
Class Trait2: [no user functions]
Class Interface1: [no user functions]
Class Interface2: [no user functions]
Class Interface3: [no user functions]
Class Abstract1: [no user functions]
Class Class1: [no user functions]
Class Class2: [no user functions]
Generated using Vulcan Logic Dumper, using php 8.0.0