Finding entry points Branch analysis from position: 0 1 jumps found. (Code = 42) Position 1 = 72 Branch analysis from position: 72 2 jumps found. (Code = 44) Position 1 = 78, Position 2 = 12 Branch analysis from position: 78 2 jumps found. (Code = 43) Position 1 = 87, Position 2 = 89 Branch analysis from position: 87 2 jumps found. (Code = 43) Position 1 = 95, Position 2 = 97 Branch analysis from position: 95 1 jumps found. (Code = 62) Position 1 = -2 Branch analysis from position: 97 Branch analysis from position: 89 Branch analysis from position: 12 2 jumps found. (Code = 43) Position 1 = 14, Position 2 = 33 Branch analysis from position: 14 1 jumps found. (Code = 42) Position 1 = 26 Branch analysis from position: 26 2 jumps found. (Code = 44) Position 1 = 31, Position 2 = 16 Branch analysis from position: 31 1 jumps found. (Code = 42) Position 1 = 72 Branch analysis from position: 72 Branch analysis from position: 16 2 jumps found. (Code = 44) Position 1 = 31, Position 2 = 16 Branch analysis from position: 31 Branch analysis from position: 16 Branch analysis from position: 33 2 jumps found. (Code = 44) Position 1 = 78, Position 2 = 12 Branch analysis from position: 78 Branch analysis from position: 12 filename: /in/kttGv function name: (null) number of ops: 98 compiled vars: !0 = $db, !1 = $handle, !2 = $row, !3 = $columns, !4 = $c, !5 = $columnIndex, !6 = $columnKey, !7 = $data, !8 = $cat line #* E I O op fetch ext return operands ------------------------------------------------------------------------------------- 229 0 E > NEW $9 'RefactoringGuru%5CFlyweight%5CRealWorld%5CCatDataBase' 1 DO_FCALL 0 2 ASSIGN !0, $9 231 3 ECHO 'Client%3A+Let%27s+see+what+we+have+in+%22cats.csv%22.%0A' 236 4 INIT_NS_FCALL_BY_NAME 'RefactoringGuru%5CFlyweight%5CRealWorld%5Cfopen' 5 SEND_VAL_EX '%2Fin%2Fcats.csv' 6 SEND_VAL_EX 'r' 7 DO_FCALL 0 $12 8 ASSIGN !1, $12 237 9 ASSIGN !2, 0 238 10 ASSIGN !3, <array> 239 11 > JMP ->72 240 12 > IS_EQUAL !2, 0 13 > JMPZ ~16, ->33 241 14 > ASSIGN !4, 0 15 > JMP ->26 242 16 > ASSIGN !5, !4 243 17 INIT_NS_FCALL_BY_NAME 'RefactoringGuru%5CFlyweight%5CRealWorld%5Cstrtolower' 18 CHECK_FUNC_ARG 19 FETCH_DIM_FUNC_ARG $19 !7, !4 20 SEND_FUNC_ARG $19 21 DO_FCALL 0 $20 22 ASSIGN !6, $20 244 23 ASSIGN_DIM !3, !6 24 OP_DATA !5 241 25 PRE_INC !4 26 > INIT_NS_FCALL_BY_NAME 'RefactoringGuru%5CFlyweight%5CRealWorld%5Ccount' 27 SEND_VAR_EX !7 28 DO_FCALL 0 $24 29 IS_SMALLER !4, $24 30 > JMPNZ ~25, ->16 246 31 > PRE_INC !2 247 32 > JMP ->72 250 33 > INIT_METHOD_CALL !0, 'addCat' 34 CHECK_FUNC_ARG 251 35 FETCH_DIM_R ~27 !3, 'name' 36 FETCH_DIM_FUNC_ARG $28 !7, ~27 37 SEND_FUNC_ARG $28 38 CHECK_FUNC_ARG 252 39 FETCH_DIM_R ~29 !3, 'age' 40 FETCH_DIM_FUNC_ARG $30 !7, ~29 41 SEND_FUNC_ARG $30 42 CHECK_FUNC_ARG 253 43 FETCH_DIM_R ~31 !3, 'owner' 44 FETCH_DIM_FUNC_ARG $32 !7, ~31 45 SEND_FUNC_ARG $32 46 CHECK_FUNC_ARG 254 47 FETCH_DIM_R ~33 !3, 'breed' 48 FETCH_DIM_FUNC_ARG $34 !7, ~33 49 SEND_FUNC_ARG $34 50 CHECK_FUNC_ARG 255 51 FETCH_DIM_R ~35 !3, 'image' 52 FETCH_DIM_FUNC_ARG $36 !7, ~35 53 SEND_FUNC_ARG $36 54 CHECK_FUNC_ARG 256 55 FETCH_DIM_R ~37 !3, 'color' 56 FETCH_DIM_FUNC_ARG $38 !7, ~37 57 SEND_FUNC_ARG $38 58 CHECK_FUNC_ARG 257 59 FETCH_DIM_R ~39 !3, 'texture' 60 FETCH_DIM_FUNC_ARG $40 !7, ~39 61 SEND_FUNC_ARG $40 62 CHECK_FUNC_ARG 258 63 FETCH_DIM_R ~41 !3, 'fur' 64 FETCH_DIM_FUNC_ARG $42 !7, ~41 65 SEND_FUNC_ARG $42 66 CHECK_FUNC_ARG 259 67 FETCH_DIM_R ~43 !3, 'size' 68 FETCH_DIM_FUNC_ARG $44 !7, ~43 69 SEND_FUNC_ARG $44 70 DO_FCALL 0 261 71 PRE_INC !2 239 72 > INIT_NS_FCALL_BY_NAME 'RefactoringGuru%5CFlyweight%5CRealWorld%5Cfgetcsv' 73 SEND_VAR_EX !1 74 DO_FCALL 0 $47 75 ASSIGN ~48 !7, $47 76 TYPE_CHECK 1018 ~48 77 > JMPNZ ~49, ->12 263 78 > INIT_NS_FCALL_BY_NAME 'RefactoringGuru%5CFlyweight%5CRealWorld%5Cfclose' 79 SEND_VAR_EX !1 80 DO_FCALL 0 267 81 ECHO '%0AClient%3A+Let%27s+look+for+a+cat+named+%22Siri%22.%0A' 268 82 INIT_METHOD_CALL !0, 'findCat' 83 SEND_VAL_EX <array> 84 DO_FCALL 0 $51 85 ASSIGN !8, $51 269 86 > JMPZ !8, ->89 270 87 > INIT_METHOD_CALL !8, 'render' 88 DO_FCALL 0 273 89 > ECHO '%0AClient%3A+Let%27s+look+for+a+cat+named+%22Bob%22.%0A' 274 90 INIT_METHOD_CALL !0, 'findCat' 91 SEND_VAL_EX <array> 92 DO_FCALL 0 $54 93 ASSIGN !8, $54 275 94 > JMPZ !8, ->97 276 95 > INIT_METHOD_CALL !8, 'render' 96 DO_FCALL 0 277 97 > > RETURN 1 Class RefactoringGuru\Flyweight\RealWorld\CatVariation: Function __construct: Finding entry points Branch analysis from position: 0 1 jumps found. (Code = 62) Position 1 = -2 filename: /in/kttGv function name: __construct number of ops: 19 compiled vars: !0 = $breed, !1 = $image, !2 = $color, !3 = $texture, !4 = $fur, !5 = $size line #* E I O op fetch ext return operands ------------------------------------------------------------------------------------- 26 0 E > RECV !0 1 RECV !1 2 RECV !2 3 RECV !3 4 RECV !4 5 RECV !5 34 6 ASSIGN_OBJ 'breed' 7 OP_DATA !0 35 8 ASSIGN_OBJ 'image' 9 OP_DATA !1 36 10 ASSIGN_OBJ 'color' 11 OP_DATA !2 37 12 ASSIGN_OBJ 'texture' 13 OP_DATA !3 38 14 ASSIGN_OBJ 'fur' 15 OP_DATA !4 39 16 ASSIGN_OBJ 'size' 17 OP_DATA !5 40 18 > RETURN null End of function __construct Function renderprofile: Finding entry points Branch analysis from position: 0 1 jumps found. (Code = 62) Position 1 = -2 filename: /in/kttGv function name: renderProfile number of ops: 36 compiled vars: !0 = $name, !1 = $age, !2 = $owner line #* E I O op fetch ext return operands ------------------------------------------------------------------------------------- 67 0 E > RECV !0 1 RECV !1 2 RECV !2 69 3 ROPE_INIT 3 ~4 '%3D+' 4 ROPE_ADD 1 ~4 ~4, !0 5 ROPE_END 2 ~3 ~4, '+%3D%0A' 6 ECHO ~3 70 7 ROPE_INIT 3 ~7 'Age%3A+' 8 ROPE_ADD 1 ~7 ~7, !1 9 ROPE_END 2 ~6 ~7, '%0A' 10 ECHO ~6 71 11 ROPE_INIT 3 ~10 'Owner%3A+' 12 ROPE_ADD 1 ~10 ~10, !2 13 ROPE_END 2 ~9 ~10, '%0A' 14 ECHO ~9 72 15 ROPE_INIT 3 ~14 'Breed%3A+' 16 FETCH_OBJ_R ~12 'breed' 17 ROPE_ADD 1 ~14 ~14, ~12 18 ROPE_END 2 ~13 ~14, '%0A' 19 ECHO ~13 73 20 ROPE_INIT 3 ~18 'Image%3A+' 21 FETCH_OBJ_R ~16 'image' 22 ROPE_ADD 1 ~18 ~18, ~16 23 ROPE_END 2 ~17 ~18, '%0A' 24 ECHO ~17 74 25 ROPE_INIT 3 ~22 'Color%3A+' 26 FETCH_OBJ_R ~20 'color' 27 ROPE_ADD 1 ~22 ~22, ~20 28 ROPE_END 2 ~21 ~22, '%0A' 29 ECHO ~21 75 30 ROPE_INIT 3 ~26 'Texture%3A+' 31 FETCH_OBJ_R ~24 'texture' 32 ROPE_ADD 1 ~26 ~26, ~24 33 ROPE_END 2 ~25 ~26, '%0A' 34 ECHO ~25 76 35 > RETURN null End of function renderprofile End of class RefactoringGuru\Flyweight\RealWorld\CatVariation. Class RefactoringGuru\Flyweight\RealWorld\Cat: Function __construct: Finding entry points Branch analysis from position: 0 1 jumps found. (Code = 62) Position 1 = -2 filename: /in/kttGv function name: __construct number of ops: 13 compiled vars: !0 = $name, !1 = $age, !2 = $owner, !3 = $variation line #* E I O op fetch ext return operands ------------------------------------------------------------------------------------- 102 0 E > RECV !0 1 RECV !1 2 RECV !2 3 RECV !3 104 4 ASSIGN_OBJ 'name' 5 OP_DATA !0 105 6 ASSIGN_OBJ 'age' 7 OP_DATA !1 106 8 ASSIGN_OBJ 'owner' 9 OP_DATA !2 107 10 ASSIGN_OBJ 'variation' 11 OP_DATA !3 108 12 > RETURN null End of function __construct Function matches: Finding entry points Branch analysis from position: 0 2 jumps found. (Code = 77) Position 1 = 2, Position 2 = 33 Branch analysis from position: 2 2 jumps found. (Code = 78) Position 1 = 3, Position 2 = 33 Branch analysis from position: 3 2 jumps found. (Code = 43) Position 1 = 10, Position 2 = 16 Branch analysis from position: 10 2 jumps found. (Code = 43) Position 1 = 13, Position 2 = 15 Branch analysis from position: 13 1 jumps found. (Code = 62) Position 1 = -2 Branch analysis from position: 15 1 jumps found. (Code = 42) Position 1 = 32 Branch analysis from position: 32 1 jumps found. (Code = 42) Position 1 = 2 Branch analysis from position: 2 Branch analysis from position: 16 2 jumps found. (Code = 43) Position 1 = 23, Position 2 = 30 Branch analysis from position: 23 2 jumps found. (Code = 43) Position 1 = 27, Position 2 = 29 Branch analysis from position: 27 1 jumps found. (Code = 62) Position 1 = -2 Branch analysis from position: 29 1 jumps found. (Code = 42) Position 1 = 32 Branch analysis from position: 32 Branch analysis from position: 30 1 jumps found. (Code = 62) Position 1 = -2 Branch analysis from position: 33 1 jumps found. (Code = 62) Position 1 = -2 Branch analysis from position: 33 filename: /in/kttGv function name: matches number of ops: 37 compiled vars: !0 = $query, !1 = $value, !2 = $key line #* E I O op fetch ext return operands ------------------------------------------------------------------------------------- 115 0 E > RECV !0 117 1 > FE_RESET_R $3 !0, ->33 2 > > FE_FETCH_R ~4 $3, !1, ->33 3 > ASSIGN !2, ~4 118 4 INIT_NS_FCALL_BY_NAME 'RefactoringGuru%5CFlyweight%5CRealWorld%5Cproperty_exists' 5 FETCH_THIS $6 6 SEND_VAR_EX $6 7 SEND_VAR_EX !2 8 DO_FCALL 0 $7 9 > JMPZ $7, ->16 119 10 > FETCH_OBJ_R ~8 !2 11 IS_NOT_EQUAL !1, ~8 12 > JMPZ ~9, ->15 120 13 > FE_FREE $3 14 > RETURN <false> 15 > > JMP ->32 122 16 > INIT_NS_FCALL_BY_NAME 'RefactoringGuru%5CFlyweight%5CRealWorld%5Cproperty_exists' 17 CHECK_FUNC_ARG 18 FETCH_OBJ_FUNC_ARG $10 'variation' 19 SEND_FUNC_ARG $10 20 SEND_VAR_EX !2 21 DO_FCALL 0 $11 22 > JMPZ $11, ->30 123 23 > FETCH_OBJ_R ~12 'variation' 24 FETCH_OBJ_R ~13 ~12, !2 25 IS_NOT_EQUAL !1, ~13 26 > JMPZ ~14, ->29 124 27 > FE_FREE $3 28 > RETURN <false> 29 > > JMP ->32 127 30 > FE_FREE $3 31 > RETURN <false> 117 32 > > JMP ->2 33 > FE_FREE $3 131 34 > RETURN <true> 132 35* VERIFY_RETURN_TYPE 36* > RETURN null End of function matches Function render: Finding entry points Branch analysis from position: 0 1 jumps found. (Code = 62) Position 1 = -2 filename: /in/kttGv function name: render number of ops: 14 compiled vars: none line #* E I O op fetch ext return operands ------------------------------------------------------------------------------------- 142 0 E > FETCH_OBJ_R ~0 'variation' 1 INIT_METHOD_CALL ~0, 'renderProfile' 2 CHECK_FUNC_ARG 3 FETCH_OBJ_FUNC_ARG $1 'name' 4 SEND_FUNC_ARG $1 5 CHECK_FUNC_ARG 6 FETCH_OBJ_FUNC_ARG $2 'age' 7 SEND_FUNC_ARG $2 8 CHECK_FUNC_ARG 9 FETCH_OBJ_FUNC_ARG $3 'owner' 10 SEND_FUNC_ARG $3 11 DO_FCALL 0 143 12 VERIFY_RETURN_TYPE 13 > RETURN null End of function render End of class RefactoringGuru\Flyweight\RealWorld\Cat. Class RefactoringGuru\Flyweight\RealWorld\CatDataBase: Function addcat: Finding entry points Branch analysis from position: 0 1 jumps found. (Code = 62) Position 1 = -2 filename: /in/kttGv function name: addCat number of ops: 34 compiled vars: !0 = $name, !1 = $age, !2 = $owner, !3 = $breed, !4 = $image, !5 = $color, !6 = $texture, !7 = $fur, !8 = $size, !9 = $variation line #* E I O op fetch ext return operands ------------------------------------------------------------------------------------- 166 0 E > RECV !0 1 RECV !1 2 RECV !2 3 RECV !3 4 RECV !4 5 RECV !5 6 RECV !6 7 RECV !7 8 RECV !8 178 9 INIT_METHOD_CALL 'getVariation' 10 SEND_VAR_EX !3 11 SEND_VAR_EX !4 12 SEND_VAR_EX !5 13 SEND_VAR_EX !6 14 SEND_VAR_EX !7 15 SEND_VAR_EX !8 16 DO_FCALL 0 $10 177 17 ASSIGN !9, $10 179 18 NEW $14 'RefactoringGuru%5CFlyweight%5CRealWorld%5CCat' 19 SEND_VAR_EX !0 20 SEND_VAR_EX !1 21 SEND_VAR_EX !2 22 SEND_VAR_EX !9 23 DO_FCALL 0 24 FETCH_OBJ_W $12 'cats' 25 ASSIGN_DIM $12 26 OP_DATA $14 180 27 ROPE_INIT 5 ~17 'CatDataBase%3A+Added+a+cat+%28' 28 ROPE_ADD 1 ~17 ~17, !0 29 ROPE_ADD 2 ~17 ~17, '%2C+' 30 ROPE_ADD 3 ~17 ~17, !3 31 ROPE_END 4 ~16 ~17, '%29.%0A' 32 ECHO ~16 181 33 > RETURN null End of function addcat Function getvariation: Finding entry points Branch analysis from position: 0 2 jumps found. (Code = 43) Position 1 = 16, Position 2 = 27 Branch analysis from position: 16 1 jumps found. (Code = 62) Position 1 = -2 Branch analysis from position: 27 filename: /in/kttGv function name: getVariation number of ops: 33 compiled vars: !0 = $breed, !1 = $image, !2 = $color, !3 = $texture, !4 = $fur, !5 = $size, !6 = $key line #* E I O op fetch ext return operands ------------------------------------------------------------------------------------- 187 0 E > RECV !0 1 RECV !1 2 RECV !2 3 RECV !3 4 RECV !4 5 RECV !5 194 6 INIT_METHOD_CALL 'getKey' 7 INIT_NS_FCALL_BY_NAME 'RefactoringGuru%5CFlyweight%5CRealWorld%5Cget_defined_vars' 8 DO_FCALL 0 $7 9 SEND_VAR_NO_REF_EX $7 10 DO_FCALL 0 $8 11 ASSIGN !6, $8 196 12 FETCH_OBJ_IS ~10 'variations' 13 ISSET_ISEMPTY_DIM_OBJ 0 ~11 ~10, !6 14 BOOL_NOT ~12 ~11 15 > JMPZ ~12, ->27 198 16 > NEW $15 'RefactoringGuru%5CFlyweight%5CRealWorld%5CCatVariation' 17 SEND_VAR_EX !0 18 SEND_VAR_EX !1 19 SEND_VAR_EX !2 20 SEND_VAR_EX !3 21 SEND_VAR_EX !4 22 SEND_VAR_EX !5 23 DO_FCALL 0 197 24 FETCH_OBJ_W $13 'variations' 25 ASSIGN_DIM $13, !6 198 26 OP_DATA $15 201 27 > FETCH_OBJ_R ~17 'variations' 28 FETCH_DIM_R ~18 ~17, !6 29 VERIFY_RETURN_TYPE ~18 30 > RETURN ~18 202 31* VERIFY_RETURN_TYPE 32* > RETURN null End of function getvariation Function getkey: Finding entry points Branch analysis from position: 0 1 jumps found. (Code = 62) Position 1 = -2 filename: /in/kttGv function name: getKey number of ops: 12 compiled vars: !0 = $data line #* E I O op fetch ext return operands ------------------------------------------------------------------------------------- 207 0 E > RECV !0 209 1 INIT_NS_FCALL_BY_NAME 'RefactoringGuru%5CFlyweight%5CRealWorld%5Cmd5' 2 INIT_NS_FCALL_BY_NAME 'RefactoringGuru%5CFlyweight%5CRealWorld%5Cimplode' 3 SEND_VAL_EX '_' 4 SEND_VAR_EX !0 5 DO_FCALL 0 $1 6 SEND_VAR_NO_REF_EX $1 7 DO_FCALL 0 $2 8 VERIFY_RETURN_TYPE $2 9 > RETURN $2 210 10* VERIFY_RETURN_TYPE 11* > RETURN null End of function getkey Function findcat: Finding entry points Branch analysis from position: 0 2 jumps found. (Code = 77) Position 1 = 3, Position 2 = 11 Branch analysis from position: 3 2 jumps found. (Code = 78) Position 1 = 4, Position 2 = 11 Branch analysis from position: 4 2 jumps found. (Code = 43) Position 1 = 8, Position 2 = 10 Branch analysis from position: 8 1 jumps found. (Code = 62) Position 1 = -2 Branch analysis from position: 10 1 jumps found. (Code = 42) Position 1 = 3 Branch analysis from position: 3 Branch analysis from position: 11 1 jumps found. (Code = 62) Position 1 = -2 Branch analysis from position: 11 filename: /in/kttGv function name: findCat number of ops: 14 compiled vars: !0 = $query, !1 = $cat line #* E I O op fetch ext return operands ------------------------------------------------------------------------------------- 215 0 E > RECV !0 217 1 FETCH_OBJ_R ~2 'cats' 2 > FE_RESET_R
Generated using Vulcan Logic Dumper, using php 8.0.0