Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/e90m1
function name: (null)
number of ops: 29
compiled vars: !0 = $monkey, !1 = $squirrel, !2 = $dog
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
20 0 E > DECLARE_CLASS 'refactoringguru%5Cchainofresponsibility%5Cconceptual%5Cabstracthandler'
50 1 DECLARE_CLASS 'refactoringguru%5Cchainofresponsibility%5Cconceptual%5Cmonkeyhandler', 'refactoringguru%5Cchainofresponsibility%5Cconceptual%5Cabstracthandler'
62 2 DECLARE_CLASS 'refactoringguru%5Cchainofresponsibility%5Cconceptual%5Csquirrelhandler', 'refactoringguru%5Cchainofresponsibility%5Cconceptual%5Cabstracthandler'
74 3 DECLARE_CLASS 'refactoringguru%5Cchainofresponsibility%5Cconceptual%5Cdoghandler', 'refactoringguru%5Cchainofresponsibility%5Cconceptual%5Cabstracthandler'
107 4 NEW $3 'RefactoringGuru%5CChainOfResponsibility%5CConceptual%5CMonkeyHandler'
5 DO_FCALL 0
6 ASSIGN !0, $3
108 7 NEW $6 'RefactoringGuru%5CChainOfResponsibility%5CConceptual%5CSquirrelHandler'
8 DO_FCALL 0
9 ASSIGN !1, $6
109 10 NEW $9 'RefactoringGuru%5CChainOfResponsibility%5CConceptual%5CDogHandler'
11 DO_FCALL 0
12 ASSIGN !2, $9
111 13 INIT_METHOD_CALL !0, 'setNext'
14 SEND_VAR_EX !1
15 DO_FCALL 0 $12
16 INIT_METHOD_CALL $12, 'setNext'
17 SEND_VAR_EX !2
18 DO_FCALL 0
117 19 ECHO 'Chain%3A+Monkey+%3E+Squirrel+%3E+Dog%0A%0A'
118 20 INIT_NS_FCALL_BY_NAME 'RefactoringGuru%5CChainOfResponsibility%5CConceptual%5CclientCode'
21 SEND_VAR_EX !0
22 DO_FCALL 0
119 23 ECHO '%0A'
121 24 ECHO 'Subchain%3A+Squirrel+%3E+Dog%0A%0A'
122 25 INIT_NS_FCALL_BY_NAME 'RefactoringGuru%5CChainOfResponsibility%5CConceptual%5CclientCode'
26 SEND_VAR_EX !1
27 DO_FCALL 0
28 > RETURN 1
Function refactoringguru%5Cchainofresponsibility%5Cconceptual%5Cclientcode:
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
2 jumps found. (Code = 43) Position 1 = 11, Position 2 = 14
Branch analysis from position: 11
1 jumps found. (Code = 42) Position 1 = 17
Branch analysis from position: 17
1 jumps found. (Code = 42) Position 1 = 2
Branch analysis from position: 2
Branch analysis from position: 14
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/e90m1
function name: RefactoringGuru\ChainOfResponsibility\Conceptual\clientCode
number of ops: 20
compiled vars: !0 = $handler, !1 = $food, !2 = $result
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
91 0 E > RECV !0
93 1 > FE_RESET_R $3 <array>, ->18
2 > > FE_FETCH_R $3, !1, ->18
94 3 > CONCAT ~4 'Client%3A+Who+wants+a+', !1
4 CONCAT ~5 ~4, '%3F%0A'
5 ECHO ~5
95 6 INIT_METHOD_CALL !0, 'handle'
7 SEND_VAR_EX !1
8 DO_FCALL 0 $6
9 ASSIGN !2, $6
96 10 > JMPZ !2, ->14
97 11 > CONCAT ~8 '++', !2
12 ECHO ~8
96 13 > JMP ->17
99 14 > CONCAT ~9 '++', !1
15 CONCAT ~10 ~9, '+was+left+untouched.%0A'
16 ECHO ~10
93 17 > > JMP ->2
18 > FE_FREE $3
102 19 > RETURN null
End of function refactoringguru%5Cchainofresponsibility%5Cconceptual%5Cclientcode
Class RefactoringGuru\ChainOfResponsibility\Conceptual\Handler:
Function setnext:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/e90m1
function name: setNext
number of ops: 3
compiled vars: !0 = $handler
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
11 0 E > RECV !0
1 VERIFY_RETURN_TYPE
2 > RETURN null
End of function setnext
Function handle:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/e90m1
function name: handle
number of ops: 3
compiled vars: !0 = $request
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
13 0 E > RECV !0
1 VERIFY_RETURN_TYPE
2 > RETURN null
End of function handle
End of class RefactoringGuru\ChainOfResponsibility\Conceptual\Handler.
Class RefactoringGuru\ChainOfResponsibility\Conceptual\AbstractHandler:
Function setnext:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/e90m1
function name: setNext
number of ops: 7
compiled vars: !0 = $handler
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
27 0 E > RECV !0
29 1 ASSIGN_OBJ 'nextHandler'
2 OP_DATA !0
33 3 VERIFY_RETURN_TYPE !0
4 > RETURN !0
34 5* VERIFY_RETURN_TYPE
6* > RETURN null
End of function setnext
Function handle:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 3, Position 2 = 9
Branch analysis from position: 3
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 9
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/e90m1
function name: handle
number of ops: 12
compiled vars: !0 = $request
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
36 0 E > RECV !0
38 1 FETCH_OBJ_R ~1 'nextHandler'
2 > JMPZ ~1, ->9
39 3 > FETCH_OBJ_R ~2 'nextHandler'
4 INIT_METHOD_CALL ~2, 'handle'
5 SEND_VAR_EX !0
6 DO_FCALL 0 $3
7 VERIFY_RETURN_TYPE $3
8 > RETURN $3
42 9 > > RETURN null
43 10* VERIFY_RETURN_TYPE
11* > RETURN null
End of function handle
End of class RefactoringGuru\ChainOfResponsibility\Conceptual\AbstractHandler.
Class RefactoringGuru\ChainOfResponsibility\Conceptual\MonkeyHandler:
Function handle:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 3, Position 2 = 8
Branch analysis from position: 3
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 8
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/e90m1
function name: handle
number of ops: 15
compiled vars: !0 = $request
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
52 0 E > RECV !0
54 1 IS_IDENTICAL !0, 'Banana'
2 > JMPZ ~1, ->8
55 3 > CONCAT ~2 'Monkey%3A+I%27ll+eat+the+', !0
4 CONCAT ~3 ~2, '.%0A'
5 VERIFY_RETURN_TYPE ~3
6 > RETURN ~3
54 7* JMP ->13
57 8 > INIT_STATIC_METHOD_CALL 'handle'
9 SEND_VAR_EX !0
10 DO_FCALL 0 $4
11 VERIFY_RETURN_TYPE $4
12 > RETURN $4
59 13* VERIFY_RETURN_TYPE
14* > RETURN null
End of function handle
End of class RefactoringGuru\ChainOfResponsibility\Conceptual\MonkeyHandler.
Class RefactoringGuru\ChainOfResponsibility\Conceptual\SquirrelHandler:
Function handle:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 3, Position 2 = 8
Branch analysis from position: 3
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 8
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/e90m1
function name: handle
number of ops: 15
compiled vars: !0 = $request
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
64 0 E > RECV !0
66 1 IS_IDENTICAL !0, 'Nut'
2 > JMPZ ~1, ->8
67 3 > CONCAT ~2 'Squirrel%3A+I%27ll+eat+the+', !0
4 CONCAT ~3 ~2, '.%0A'
5 VERIFY_RETURN_TYPE ~3
6 > RETURN ~3
66 7* JMP ->13
69 8 > INIT_STATIC_METHOD_CALL 'handle'
9 SEND_VAR_EX !0
10 DO_FCALL 0 $4
11 VERIFY_RETURN_TYPE $4
12 > RETURN $4
71 13* VERIFY_RETURN_TYPE
14* > RETURN null
End of function handle
End of class RefactoringGuru\ChainOfResponsibility\Conceptual\SquirrelHandler.
Class RefactoringGuru\ChainOfResponsibility\Conceptual\DogHandler:
Function handle:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 3, Position 2 = 8
Branch analysis from position: 3
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 8
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/e90m1
function name: handle
number of ops: 15
compiled vars: !0 = $request
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
76 0 E > RECV !0
78 1 IS_IDENTICAL !0, 'MeatBall'
2 > JMPZ ~1, ->8
79 3 > CONCAT ~2 'Dog%3A+I%27ll+eat+the+', !0
4 CONCAT ~3 ~2, '.%0A'
5 VERIFY_RETURN_TYPE ~3
6 > RETURN ~3
78 7* JMP ->13
81 8 > INIT_STATIC_METHOD_CALL 'handle'
9 SEND_VAR_EX !0
10 DO_FCALL 0 $4
11 VERIFY_RETURN_TYPE $4
12 > RETURN $4
83 13* VERIFY_RETURN_TYPE
14* > RETURN null
End of function handle
End of class RefactoringGuru\ChainOfResponsibility\Conceptual\DogHandler.
Generated using Vulcan Logic Dumper, using php 8.0.0