Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/jqMtg
function name: (null)
number of ops: 22
compiled vars: !0 = $output, !1 = $example, !2 = $callables
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
28 0 E > ASSIGN !0, '%0A%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0A%28%25d%29+%25s+%3A++%25s%0A%0A++++callable+%3A+%25s%0A++++__invoke+%3A+%25s%0A++++closure++%3A+%25s+%0A'
39 1 NEW $4 'Potherca%5CExample%5CTypeHints%5CExample'
2 DO_FCALL 0
3 ASSIGN !1, $4
42 4 INIT_ARRAY ~7 'foo', 1
43 5 ADD_ARRAY_ELEMENT ~7 'trim', 2
44 6 ADD_ARRAY_ELEMENT ~7 '%5CPotherca%5CExample%5CTypeHints%5CExample%3A%3AtypeHintMissing', 3
42 7 ADD_ARRAY_ELEMENT ~7 <array>, 4
46 8 INIT_ARRAY ~8 !1
9 ADD_ARRAY_ELEMENT ~8 'typeHintMissing'
10 ADD_ARRAY_ELEMENT ~7 ~8, 5
47 11 ADD_ARRAY_ELEMENT ~7 !1, 6
48 12 DECLARE_LAMBDA_FUNCTION ~9 [0]
13 ADD_ARRAY_ELEMENT ~7 ~9, 7
41 14 ASSIGN !2, ~7
51 15 INIT_NS_FCALL_BY_NAME 'Potherca%5CExample%5CTypeHints%5Carray_walk'
16 SEND_VAR_EX !2
17 DECLARE_LAMBDA_FUNCTION ~11 [1]
18 BIND_LEXICAL ~11, !0
79 19 SEND_VAL_EX ~11
51 20 DO_FCALL 0
79 21 > RETURN 1
Dynamic Functions:
Dynamic Function 0
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/jqMtg
function name: Potherca\Example\TypeHints\{closure}
number of ops: 3
compiled vars: !0 = $subject
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
48 0 E > RECV !0
1 > RETURN !0
2* > RETURN null
End of Dynamic Function 0
Dynamic Function 1
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 16, Position 2 = 23
Branch analysis from position: 16
2 jumps found. (Code = 43) Position 1 = 25, Position 2 = 28
Branch analysis from position: 25
2 jumps found. (Code = 43) Position 1 = 30, Position 2 = 33
Branch analysis from position: 30
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 33
Branch analysis from position: 28
Branch analysis from position: 23
filename: /in/jqMtg
function name: Potherca\Example\TypeHints\{closure}
number of ops: 68
compiled vars: !0 = $callable, !1 = $key, !2 = $output, !3 = $is_callable, !4 = $is_invoke, !5 = $is_closure
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
51 0 E > RECV !0
1 RECV !1
2 BIND_STATIC !2
53 3 INIT_NS_FCALL_BY_NAME 'Potherca%5CExample%5CTypeHints%5Cis_callable'
4 SEND_VAR_EX !0
5 DO_FCALL 0 $6
6 ASSIGN !3, $6
54 7 INIT_NS_FCALL_BY_NAME 'Potherca%5CExample%5CTypeHints%5Cmethod_exists'
8 SEND_VAR_EX !0
9 SEND_VAL_EX '__invoke'
10 DO_FCALL 0 $8
11 ASSIGN !4, $8
55 12 INSTANCEOF ~10 !0, 'Closure'
13 ASSIGN !5, ~10
57 14 TYPE_CHECK 8 !3
15 > JMPZ ~12, ->23
59 16 > INIT_NS_FCALL_BY_NAME 'Potherca%5CExample%5CTypeHints%5Ccall_user_func'
17 SEND_VAR_EX !0
18 SEND_VAL_EX 'foo'
19 DO_FCALL 0
60 20 INIT_STATIC_METHOD_CALL 'Potherca%5CExample%5CTypeHints%5CExample', 'typeHintCallable'
21 SEND_VAR !0
22 DO_FCALL 0
63 23 > TYPE_CHECK 8 !5
24 > JMPZ ~15, ->28
64 25 > INIT_STATIC_METHOD_CALL 'Potherca%5CExample%5CTypeHints%5CExample', 'typeHintClosure'
26 SEND_VAR !0
27 DO_FCALL 0
67 28 > TYPE_CHECK 8 !4
29 > JMPZ ~17, ->33
68 30 > INIT_DYNAMIC_CALL !0
31 SEND_VAL_EX 'foo'
32 DO_FCALL 0
71 33 > INIT_NS_FCALL_BY_NAME 'Potherca%5CExample%5CTypeHints%5Cvprintf'
34 SEND_VAR_EX !2
72 35 INIT_ARRAY ~19 !1, 'key'
73 36 INIT_NS_FCALL_BY_NAME 'Potherca%5CExample%5CTypeHints%5Cgettype'
37 SEND_VAR_EX !0
38 DO_FCALL 0 $20
39 ADD_ARRAY_ELEMENT ~19 $20, 'type'
74 40 INIT_NS_FCALL_BY_NAME 'Potherca%5CExample%5CTypeHints%5Cstr_replace'
41 SEND_VAL_EX <array>
42 SEND_VAL_EX ''
43 INIT_NS_FCALL_BY_NAME 'Potherca%5CExample%5CTypeHints%5Cvar_export'
44 SEND_VAR_EX !0
45 SEND_VAL_EX <true>
46 DO_FCALL 0 $21
47 SEND_VAR_NO_REF_EX $21
48 DO_FCALL 0 $22
49 ADD_ARRAY_ELEMENT ~19 $22, 'value'
75 50 INIT_NS_FCALL_BY_NAME 'Potherca%5CExample%5CTypeHints%5Cvar_export'
51 SEND_VAR_EX !3
52 SEND_VAL_EX <true>
53 DO_FCALL 0 $23
54 ADD_ARRAY_ELEMENT ~19 $23, 'is_callable'
76 55 INIT_NS_FCALL_BY_NAME 'Potherca%5CExample%5CTypeHints%5Cvar_export'
56 SEND_VAR_EX !4
57 SEND_VAL_EX <true>
58 DO_FCALL 0 $24
59 ADD_ARRAY_ELEMENT ~19 $24, 'is_invoke'
77 60 INIT_NS_FCALL_BY_NAME 'Potherca%5CExample%5CTypeHints%5Cvar_export'
61 SEND_VAR_EX !5
62 SEND_VAL_EX <true>
63 DO_FCALL 0 $25
64 ADD_ARRAY_ELEMENT ~19 $25, 'is_closure'
65 SEND_VAL_EX ~19
71 66 DO_FCALL 0
79 67 > RETURN null
End of Dynamic Function 1
Class Potherca\Example\TypeHints\Example:
Function typehintmissing:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/jqMtg
function name: typeHintMissing
number of ops: 3
compiled vars: !0 = $subject
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
7 0 E > RECV !0
9 1 > RETURN !0
10 2* > RETURN null
End of function typehintmissing
Function typehintcallable:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/jqMtg
function name: typeHintCallable
number of ops: 3
compiled vars: !0 = $subject
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
12 0 E > RECV !0
14 1 > RETURN !0
15 2* > RETURN null
End of function typehintcallable
Function typehintclosure:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/jqMtg
function name: typeHintClosure
number of ops: 3
compiled vars: !0 = $subject
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
17 0 E > RECV !0
19 1 > RETURN !0
20 2* > RETURN null
End of function typehintclosure
Function __invoke:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/jqMtg
function name: __invoke
number of ops: 3
compiled vars: !0 = $subject
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
22 0 E > RECV !0
24 1 > RETURN !0
25 2* > RETURN null
End of function __invoke
End of class Potherca\Example\TypeHints\Example.
Generated using Vulcan Logic Dumper, using php 8.0.0