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/IXluP 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 ------------------------------------------------------------------------------------- 50 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 = 60, Position 2 = 76 Branch analysis from position: 60 2 jumps found. (Code = 78) Position 1 = 61, Position 2 = 76 Branch analysis from position: 61 4 jumps found. (Code = 188) Position 1 = 67, Position 2 = 68, Position 3 = 72, Position 4 = 62 Branch analysis from position: 67 1 jumps found. (Code = 42) Position 1 = 75 Branch analysis from position: 75 1 jumps found. (Code = 42) Position 1 = 60 Branch analysis from position: 60 Branch analysis from position: 68 1 jumps found. (Code = 42) Position 1 = 75 Branch analysis from position: 75 Branch analysis from position: 72 1 jumps found. (Code = 42) Position 1 = 75 Branch analysis from position: 75 Branch analysis from position: 62 2 jumps found. (Code = 44) Position 1 = 64, Position 2 = 67 Branch analysis from position: 64 2 jumps found. (Code = 44) Position 1 = 66, Position 2 = 68 Branch analysis from position: 66 1 jumps found. (Code = 42) Position 1 = 72 Branch analysis from position: 72 Branch analysis from position: 68 Branch analysis from position: 67 Branch analysis from position: 76 2 jumps found. (Code = 47) Position 1 = 83, Position 2 = 85 Branch analysis from position: 83 2 jumps found. (Code = 43) Position 1 = 86, Position 2 = 88 Branch analysis from position: 86 2 jumps found. (Code = 43) Position 1 = 89, Position 2 = 93 Branch analysis from position: 89 1 jumps found. (Code = 62) Position 1 = -2 Branch analysis from position: 93 Branch analysis from position: 88 Branch analysis from position: 85 Branch analysis from position: 76 Branch analysis from position: 51 2 jumps found. (Code = 77) Position 1 = 60, Position 2 = 76 Branch analysis from position: 60 Branch analysis from position: 76 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/IXluP function name: resolve_path number of ops: 99 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 21 53 INIT_FCALL 'preg_split' 54 SEND_VAL '%23%5B%5C%5C%2F%5D%2B%23' 55 SEND_VAR !0 56 SEND_VAL -1 57 SEND_VAL 1 58 DO_ICALL $29 59 > FE_RESET_R $30 $29, ->76 60 > > FE_FETCH_R $30, !5, ->76 22 61 > > SWITCH_STRING !5, [ '.':->67, '..':->68, ], ->72 23 62 > IS_EQUAL !5, '.' 63 > JMPNZ ~31, ->67 26 64 > IS_EQUAL !5, '..' 65 > JMPNZ ~31, ->68 66 > > JMP ->72 24 67 > > JMP ->75 27 68 > INIT_FCALL 'array_pop' 69 SEND_REF !4 70 DO_ICALL 28 71 > JMP ->75 31 72 > ASSIGN_DIM !4 73 OP_DATA !5 32 74 > JMP ->75 21 75 > > JMP ->60 76 > FE_FREE $30 37 77 STRLEN ~34 !0 78 SUB ~35 ~34, 1 79 FETCH_DIM_R ~36 !0, ~35 80 ASSIGN !6, ~36 38 81 IS_IDENTICAL ~38 !6, '%2F' 82 > JMPNZ_EX ~38 ~38, ->85 83 > IS_IDENTICAL ~39 !6, '%5C' 84 BOOL ~38 ~39 85 > > JMPZ ~38, ->88 39 86 > ASSIGN_DIM !4 87 OP_DATA '' 43 88 > > JMPZ !3, ->93 44 89 > INIT_FCALL 'array_unshift' 90 SEND_REF !4 91 SEND_VAL '' 92 DO_ICALL 47 93 > INIT_FCALL 'implode' 94 SEND_VAR !2 95 SEND_VAR !4 96 DO_ICALL $42 97 > RETURN $42 48 98* > RETURN null End of function resolve_path
Generated using Vulcan Logic Dumper, using php 8.0.0