Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 17
Branch analysis from position: 17
1 jumps found. (Code = 62) Position 1 = -2
Found catch point at position: 12
Branch analysis from position: 12
2 jumps found. (Code = 107) Position 1 = 13, Position 2 = -2
Branch analysis from position: 13
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/ShPun
function name: (null)
number of ops: 18
compiled vars: !0 = $foo, !1 = $e
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
17 0 E > ASSIGN !0, <array>
26 1 INIT_FCALL 'var_export'
2 INIT_FCALL 'getvaluerecursive'
3 SEND_VAR !0
4 SEND_VAL 'a'
5 SEND_VAL 'b'
6 SEND_VAL 'c'
7 SEND_VAL 0
8 DO_FCALL 0 $3
9 SEND_VAR $3
10 DO_ICALL
11 > JMP ->17
27 12 E > > CATCH last 'Exception'
28 13 > INIT_METHOD_CALL !1, 'getMessage'
14 DO_FCALL 0 $5
15 CONCAT ~6 'Caught+exception%3A+', $5
16 ECHO ~6
29 17 > > RETURN 1
Function getvaluerecursive:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 3, Position 2 = 24
Branch analysis from position: 3
2 jumps found. (Code = 78) Position 1 = 4, Position 2 = 24
Branch analysis from position: 4
2 jumps found. (Code = 43) Position 1 = 7, Position 2 = 11
Branch analysis from position: 7
1 jumps found. (Code = 108) Position 1 = -2
Branch analysis from position: 11
2 jumps found. (Code = 43) Position 1 = 17, Position 2 = 21
Branch analysis from position: 17
1 jumps found. (Code = 108) Position 1 = -2
Branch analysis from position: 21
1 jumps found. (Code = 42) Position 1 = 3
Branch analysis from position: 3
Branch analysis from position: 24
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 24
filename: /in/ShPun
function name: getValueRecursive
number of ops: 27
compiled vars: !0 = $array, !1 = $keys, !2 = $key
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
4 0 E > RECV !0
1 RECV_VARIADIC !1
5 2 > FE_RESET_R $3 !1, ->24
3 > > FE_FETCH_R $3, !2, ->24
6 4 > TYPE_CHECK 128 ~4 !0
5 BOOL_NOT ~5 ~4
6 > JMPZ ~5, ->11
7 7 > NEW $6 'Exception'
8 SEND_VAL_EX 'non-array+entity+in+key+path'
9 DO_FCALL 0
10 > THROW 0 $6
9 11 > INIT_FCALL 'key_exists'
12 SEND_VAR !2
13 SEND_VAR !0
14 DO_ICALL $8
15 BOOL_NOT ~9 $8
16 > JMPZ ~9, ->21
10 17 > NEW $10 'Exception'
18 SEND_VAL_EX 'key+path+invalid'
19 DO_FCALL 0
20 > THROW 0 $10
12 21 > FETCH_DIM_R ~12 !0, !2
22 ASSIGN !0, ~12
5 23 > JMP ->3
24 > FE_FREE $3
14 25 > RETURN !0
15 26* > RETURN null
End of function getvaluerecursive
Generated using Vulcan Logic Dumper, using php 8.0.0