Finding entry points Branch analysis from position: 0 1 jumps found. (Code = 62) Position 1 = -2 filename: /in/fNHMA function name: (null) number of ops: 101 compiled vars: !0 = $a, !1 = $b, !2 = $c line #* E I O op fetch ext return operands ------------------------------------------------------------------------------------- 35 0 E > ECHO 'No+circular+dependency%3A%0A' 36 1 NEW $3 'SomethingBuilder' 2 SEND_VAL_EX 'A' 3 DO_FCALL 0 4 ASSIGN !0, $3 37 5 NEW $6 'SomethingBuilder' 6 SEND_VAL_EX 'B' 7 DO_FCALL 0 8 ASSIGN !1, $6 38 9 INIT_METHOD_CALL !0, 'setSuper' 10 SEND_VAR_EX !1 11 DO_FCALL 0 39 12 ECHO 'ORIGINAL%3A%0A' 40 13 INIT_FCALL 'var_dump' 14 SEND_VAR !0 15 DO_ICALL 41 16 ECHO 'COPY%3A%0A' 42 17 INIT_FCALL 'var_dump' 18 INIT_METHOD_CALL !0, 'copy' 19 DO_FCALL 0 $11 20 SEND_VAR $11 21 DO_ICALL 44 22 ECHO '%0A----------%0A%0A' 46 23 ECHO 'Self+circular+dependency%3A%0A' 47 24 NEW $13 'SomethingBuilder' 25 SEND_VAL_EX 'A' 26 DO_FCALL 0 27 ASSIGN !0, $13 48 28 INIT_METHOD_CALL !0, 'setSuper' 29 SEND_VAR_EX !0 30 DO_FCALL 0 49 31 ECHO 'ORIGINAL%3A%0A' 50 32 INIT_FCALL 'var_dump' 33 SEND_VAR !0 34 DO_ICALL 51 35 ECHO 'COPY%3A%0A' 52 36 INIT_FCALL 'var_dump' 37 INIT_METHOD_CALL !0, 'copy' 38 DO_FCALL 0 $18 39 SEND_VAR $18 40 DO_ICALL 54 41 ECHO '%0A----------%0A%0A' 56 42 ECHO 'Two+items+circular+dependency%3A%0A' 57 43 NEW $20 'SomethingBuilder' 44 SEND_VAL_EX 'A' 45 DO_FCALL 0 46 ASSIGN !0, $20 58 47 NEW $23 'SomethingBuilder' 48 SEND_VAL_EX 'B' 49 DO_FCALL 0 50 ASSIGN !1, $23 59 51 INIT_METHOD_CALL !1, 'setSuper' 52 SEND_VAR_EX !0 53 DO_FCALL 0 60 54 INIT_METHOD_CALL !0, 'setSuper' 55 SEND_VAR_EX !1 56 DO_FCALL 0 61 57 ECHO 'ORIGINAL%3A%0A' 62 58 INIT_FCALL 'var_dump' 59 SEND_VAR !0 60 DO_ICALL 63 61 ECHO 'COPY%3A%0A' 64 62 INIT_FCALL 'var_dump' 63 INIT_METHOD_CALL !0, 'copy' 64 DO_FCALL 0 $29 65 SEND_VAR $29 66 DO_ICALL 66 67 ECHO '%0A----------%0A%0A' 68 68 ECHO 'Three+items+circular+dependency%3A%0A' 69 69 NEW $31 'SomethingBuilder' 70 SEND_VAL_EX 'A' 71 DO_FCALL 0 72 ASSIGN !0, $31 70 73 NEW $34 'SomethingBuilder' 74 SEND_VAL_EX 'B' 75 DO_FCALL 0 76 ASSIGN !1, $34 71 77 NEW $37 'SomethingBuilder' 78 SEND_VAL_EX 'C' 79 DO_FCALL 0 80 ASSIGN !2, $37 72 81 INIT_METHOD_CALL !0, 'setSuper' 82 SEND_VAR_EX !2 83 DO_FCALL 0 73 84 INIT_METHOD_CALL !1, 'setSuper' 85 SEND_VAR_EX !0 86 DO_FCALL 0 74 87 INIT_METHOD_CALL !2, 'setSuper' 88 SEND_VAR_EX !1 89 DO_FCALL 0 76 90 ECHO 'ORIGINAL%3A%0A' 77 91 INIT_FCALL 'var_dump' 92 SEND_VAR !0 93 DO_ICALL 78 94 ECHO 'COPY%3A%0A' 79 95 INIT_FCALL 'var_dump' 96 INIT_METHOD_CALL !0, 'copy' 97 DO_FCALL 0 $44 98 SEND_VAR $44 99 DO_ICALL 100 > RETURN 1 Class SomethingBuilder: Function __construct: Finding entry points Branch analysis from position: 0 1 jumps found. (Code = 62) Position 1 = -2 filename: /in/fNHMA function name: __construct number of ops: 4 compiled vars: !0 = $name line #* E I O op fetch ext return operands ------------------------------------------------------------------------------------- 8 0 E > RECV !0 9 1 ASSIGN_OBJ 'name' 2 OP_DATA !0 10 3 > RETURN null End of function __construct Function setsuper: Finding entry points Branch analysis from position: 0 1 jumps found. (Code = 62) Position 1 = -2 filename: /in/fNHMA function name: setSuper number of ops: 4 compiled vars: !0 = $super line #* E I O op fetch ext return operands ------------------------------------------------------------------------------------- 12 0 E > RECV !0 13 1 ASSIGN_OBJ 'super' 2 OP_DATA !0 14 3 > RETURN null End of function setsuper Function getsuper: Finding entry points Branch analysis from position: 0 1 jumps found. (Code = 62) Position 1 = -2 filename: /in/fNHMA function name: getSuper number of ops: 3 compiled vars: none line #* E I O op fetch ext return operands ------------------------------------------------------------------------------------- 17 0 E > FETCH_OBJ_R ~0 'super' 1 > RETURN ~0 18 2* > RETURN null End of function getsuper Function copy: Finding entry points Branch analysis from position: 0 2 jumps found. (Code = 43) Position 1 = 5, Position 2 = 28 Branch analysis from position: 5 2 jumps found. (Code = 43) Position 1 = 13, Position 2 = 26 Branch analysis from position: 13 1 jumps found. (Code = 62) Position 1 = -2 Branch analysis from position: 26 Branch analysis from position: 28 1 jumps found. (Code = 62) Position 1 = -2 filename: /in/fNHMA function name: copy number of ops: 30 compiled vars: !0 = $whatToCopy, !1 = $copyOfwhatToCopy, !2 = $copy line #* E I O op fetch ext return operands ------------------------------------------------------------------------------------- 20 0 E > RECV_INIT !0 null 1 RECV_INIT !1 null 21 2 FETCH_THIS ~3 3 IS_NOT_IDENTICAL !0, ~3 4 > JMPZ ~4, ->28 22 5 > NEW $5 'SomethingBuilder' 6 CHECK_FUNC_ARG 7 FETCH_OBJ_FUNC_ARG $6 'name' 8 SEND_FUNC_ARG $6 9 DO_FCALL 0 10 ASSIGN !2, $5 23 11 FETCH_OBJ_R ~9 'super' 12 > JMPZ ~9, ->26 24 13 > INIT_METHOD_CALL !2, 'setSuper' 14 FETCH_OBJ_R ~10 'super' 15 INIT_METHOD_CALL ~10, 'copy' 25 16 COALESCE ~11 !0 17 FETCH_THIS ~12 18 QM_ASSIGN ~11 ~12 19 SEND_VAL_EX ~11 26 20 COALESCE ~13 !1 21 QM_ASSIGN ~13 !2 22 SEND_VAL_EX ~13 23 DO_FCALL 0 $14 24 SEND_VAR_NO_REF_EX $14 25 DO_FCALL 0 28 26 > > RETURN !2 27* JMP ->29 30 28 > > RETURN !1 32 29* > RETURN null End of function copy End of class SomethingBuilder.
Generated using Vulcan Logic Dumper, using php 8.0.0