Finding entry points Branch analysis from position: 0 2 jumps found. (Code = 77) Position 1 = 2, Position 2 = 18 Branch analysis from position: 2 2 jumps found. (Code = 78) Position 1 = 3, Position 2 = 18 Branch analysis from position: 3 1 jumps found. (Code = 42) Position 1 = 2 Branch analysis from position: 2 Branch analysis from position: 18 1 jumps found. (Code = 62) Position 1 = -2 Branch analysis from position: 18 filename: /in/ig4oB function name: (null) number of ops: 20 compiled vars: !0 = $tests, !1 = $base, !2 = $path, !3 = $result line #* E I O op fetch ext return operands ------------------------------------------------------------------------------------- 52 0 E > ASSIGN !0, <array> 56 1 > FE_RESET_R $5 !0, ->18 2 > > FE_FETCH_R ~6 $5, !1, ->18 3 > ASSIGN !2, ~6 57 4 INIT_FCALL 'resolve_path' 5 SEND_VAR !2 6 SEND_VAR !1 7 DO_FCALL 0 $8 8 ASSIGN !3, $8 59 9 ROPE_INIT 7 ~11 '%0APath%3A+++' 60 10 ROPE_ADD 1 ~11 ~11, !2 11 ROPE_ADD 2 ~11 ~11, '%0ABase%3A+++' 61 12 ROPE_ADD 3 ~11 ~11, !1 13 ROPE_ADD 4 ~11 ~11, '%0AResult%3A+' 62 14 ROPE_ADD 5 ~11 ~11, !3 15 ROPE_END 6 ~10 ~11, '%0A' 16 ECHO ~10 56 17 > JMP ->2 18 > FE_FREE $5 64 19 > RETURN 1 Function resolve_path: Finding entry points Branch analysis from position: 0 2 jumps found. (Code = 47) Position 1 = 8, Position 2 = 14 Branch analysis from position: 8 2 jumps found. (Code = 43) Position 1 = 15, Position 2 = 17 Branch analysis from position: 15 1 jumps found. (Code = 42) Position 1 = 18 Branch analysis from position: 18 2 jumps found. (Code = 46) Position 1 = 22, Position 2 = 29 Branch analysis from position: 22 2 jumps found. (Code = 47) Position 1 = 25, Position 2 = 28 Branch analysis from position: 25 2 jumps found. (Code = 47) Position 1 = 30, Position 2 = 40 Branch analysis from position: 30 2 jumps found. (Code = 46) Position 1 = 32, Position 2 = 39 Branch analysis from position: 32 2 jumps found. (Code = 47) Position 1 = 35, Position 2 = 38 Branch analysis from position: 35 2 jumps found. (Code = 43) Position 1 = 43, Position 2 = 51 Branch analysis from position: 43 1 jumps found. (Code = 42) Position 1 = 52 Branch analysis from position: 52 2 jumps found. (Code = 77) Position 1 = 63, Position 2 = 82 Branch analysis from position: 63 2 jumps found. (Code = 78) Position 1 = 64, Position 2 = 82 Branch analysis from position: 64 4 jumps found. (Code = 188) Position 1 = 73, Position 2 = 74, Position 3 = 78, Position 4 = 68 Branch analysis from position: 73 1 jumps found. (Code = 42) Position 1 = 81 Branch analysis from position: 81 1 jumps found. (Code = 42) Position 1 = 63 Branch analysis from position: 63 Branch analysis from position: 74 1 jumps found. (Code = 42) Position 1 = 81 Branch analysis from position: 81 Branch analysis from position: 78 1 jumps found. (Code = 42) Position 1 = 81 Branch analysis from position: 81 Branch analysis from position: 68 2 jumps found. (Code = 44) Position 1 = 70, Position 2 = 73 Branch analysis from position: 70 2 jumps found. (Code = 44) Position 1 = 72, Position 2 = 74 Branch analysis from position: 72 1 jumps found. (Code = 42) Position 1 = 78 Branch analysis from position: 78 Branch analysis from position: 74 Branch analysis from position: 73 Branch analysis from position: 82 2 jumps found. (Code = 47) Position 1 = 89, Position 2 = 91 Branch analysis from position: 89 2 jumps found. (Code = 43) Position 1 = 92, Position 2 = 94 Branch analysis from position: 92 2 jumps found. (Code = 43) Position 1 = 95, Position 2 = 99 Branch analysis from position: 95 1 jumps found. (Code = 62) Position 1 = -2 Branch analysis from position: 99 Branch analysis from position: 94 Branch analysis from position: 91 Branch analysis from position: 82 Branch analysis from position: 51 2 jumps found. (Code = 77) Position 1 = 63, Position 2 = 82 Branch analysis from position: 63 Branch analysis from position: 82 Branch analysis from position: 38 Branch analysis from position: 39 Branch analysis from position: 40 Branch analysis from position: 28 Branch analysis from position: 29 Branch analysis from position: 17 2 jumps found. (Code = 46) Position 1 = 22, Position 2 = 29 Branch analysis from position: 22 Branch analysis from position: 29 Branch analysis from position: 14 filename: /in/ig4oB function name: resolve_path number of ops: 105 compiled vars: !0 = $path, !1 = $relativeBase, !2 = $separator, !3 = $isAbsolute, !4 = $target, !5 = $component, !6 = $lastChar line #* E I O op fetch ext return operands ------------------------------------------------------------------------------------- 10 0 E > RECV !0 1 RECV_INIT !1 null 13 2 INIT_FCALL 'strpos' 3 SEND_VAR !0 4 SEND_VAL '%5C' 5 DO_ICALL $7 6 TYPE_CHECK 1018 ~8 $7 7 > JMPNZ_EX ~8 ~8, ->14 8 > INIT_FCALL 'strpos' 9 SEND_VAR !1 10 SEND_VAL '%5C' 11 DO_ICALL $9 12 TYPE_CHECK 1018 ~10 $9 13 BOOL ~8 ~10 14 > > JMPZ ~8, ->17 15 > QM_ASSIGN ~11 '%5C' 16 > JMP ->18 17 > QM_ASSIGN ~11 '%2F' 18 > ASSIGN !2, ~11 14 19 ISSET_ISEMPTY_CV ~13 !1 20 BOOL_NOT ~14 ~13 21 > JMPZ_EX ~14 ~14, ->29 22 > FETCH_DIM_R ~15 !0, 0 23 IS_IDENTICAL ~16 ~15, '%2F' 24 > JMPNZ_EX ~16 ~16, ->28 25 > FETCH_DIM_R ~17 !0, 0 26 IS_IDENTICAL ~18 ~17, '%5C' 27 BOOL ~16 ~18 28 > BOOL ~14 ~16 29 > > JMPNZ_EX ~14 ~14, ->40 15 30 > ISSET_ISEMPTY_CV ~19 !1 31 > JMPZ_EX ~19 ~19, ->39 32 > FETCH_DIM_R ~20 !1, 0 33 IS_IDENTICAL ~21 ~20, '%2F' 34 > JMPNZ_EX ~21 ~21, ->38 35 > FETCH_DIM_R ~22 !1, 0 36 IS_IDENTICAL ~23 ~22, '%5C' 37 BOOL ~21 ~23 38 > BOOL ~19 ~21 39 > BOOL ~14 ~19 14 40 > ASSIGN !3, ~14 18 41 TYPE_CHECK 1020 !1 42 > JMPZ ~25, ->51 43 > INIT_FCALL 'preg_split' 44 SEND_VAL '%23%5B%5C%5C%2F%5D%2B%23' 45 SEND_VAR !1 46 SEND_VAL -1 47 SEND_VAL 1 48 DO_ICALL $26 49 QM_ASSIGN ~27 $26 50 > JMP ->52 51 > QM_ASSIGN ~27 <array> 52 > ASSIGN !4, ~27 19 53 INIT_FCALL 'var_dump' 54 SEND_VAR !4 55 DO_ICALL 22 56 INIT_FCALL 'preg_split' 57 SEND_VAL '%23%5B%5C%5C%2F%5D%2B%23' 58 SEND_VAR !0 59 SEND_VAL -1 60 SEND_VAL 1 61 DO_ICALL $30 62 > FE_RESET_R $31 $30, ->82 63 > > FE_FETCH_R $31, !5, ->82 23 64 > INIT_FCALL 'var_dump' 65 SEND_VAR !5 66 DO_ICALL 24 67 > SWITCH_STRING !5, [ '.':->73, '..':->74, ], ->78 25 68 > IS_EQUAL !5, '.' 69 > JMPNZ ~33, ->73 28 70 > IS_EQUAL !5, '..' 71 > JMPNZ ~33, ->74 72 > > JMP ->78 26 73 > > JMP ->81 29 74 > INIT_FCALL 'array_pop' 75 SEND_REF !4 76 DO_ICALL 30 77 > JMP ->81 33 78 > ASSIGN_DIM !4 79 OP_DATA !5 34 80 > JMP ->81 22 81 > > JMP ->63 82 > FE_FREE $31 39 83 STRLEN ~36 !0 84 SUB ~37 ~36, 1 85 FETCH_DIM_R ~38 !0, ~37 86 ASSIGN !6, ~38 40 87 IS_IDENTICAL ~40 !6, '%2F' 88 > JMPNZ_EX ~40 ~40, ->91 89 > IS_IDENTICAL ~41 !6, '%5C' 90 BOOL ~40 ~41 91 > > JMPZ ~40, ->94 41 92 > ASSIGN_DIM !4 93 OP_DATA '' 45 94 > > JMPZ !3, ->99 46 95 > INIT_FCALL 'array_unshift' 96 SEND_REF !4 97 SEND_VAR !2 98 DO_ICALL 49 99 > INIT_FCALL 'implode' 100 SEND_VAR !2 101 SEND_VAR !4 102 DO_ICALL $44 103 > RETURN $44 50 104* > RETURN null End of function resolve_path
Generated using Vulcan Logic Dumper, using php 8.0.0