Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/LJB3k
function name: (null)
number of ops: 65
compiled vars: !0 = $userJson, !1 = $badUserJson, !2 = $noAgeUserJson, !3 = $noAddressUserJson, !4 = $userData, !5 = $errors
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
3 0 E > ASSIGN !0, '%7B%0A+++%22name%22%3A%22Vasya%22%2C%0A+++%22surname%22%3A%22Popov%22%2C%0A+++%22age%22%3A33%2C%0A+++%22address%22%3A%7B%0A++++++%22street%22%3A%22Pushkina%22%2C%0A++++++%22house%22%3A%22Kolotushkina%22%0A+++%7D%0A%7D'
13 1 ASSIGN !1, '%7B%0A+++%22name%22%3A%22Vasya%22%2C%0A+++%22surname%22%3A%22Popov%22%2C%0A+++%22age%22%3A%2233%22%2C%0A+++%22address%22%3A%7B%0A++++++%22street%22%3A%22Pushkina%22%2C%0A++++++%22house%22%3A%22Kolotushkina%22%0A+++%7D%0A%7D'
23 2 ASSIGN !2, '%7B%0A+++%22name%22%3A%22Vasya%22%2C%0A+++%22surname%22%3A%22Popov%22%2C%0A%0A+++%22address%22%3A%7B%0A++++++%22street%22%3A%22Pushkina%22%2C%0A++++++%22house%22%3A%22Kolotushkina%22%0A+++%7D%0A%7D'
33 3 ASSIGN !3, '%7B%0A+++%22name%22%3A%22Vasya%22%2C%0A+++%22surname%22%3A%22Popov%22%0A%7D'
124 4 INIT_FCALL 'json_decode'
5 SEND_VAR !0
6 SEND_VAL <false>
7 DO_ICALL $10
8 ASSIGN !4, $10
125 9 INIT_FCALL 'var_dump'
10 SEND_VAR !4
11 DO_ICALL
127 12 INIT_STATIC_METHOD_CALL 'UserDataValidator', 'validate'
13 SEND_VAR !4
14 DO_FCALL 0 $13
15 ASSIGN !5, $13
128 16 INIT_FCALL 'print_r'
17 SEND_VAR !5
18 DO_ICALL
131 19 INIT_FCALL 'json_decode'
20 SEND_VAR !1
21 SEND_VAL <false>
22 DO_ICALL $16
23 ASSIGN !4, $16
132 24 INIT_FCALL 'var_dump'
25 SEND_VAR !4
26 DO_ICALL
134 27 INIT_STATIC_METHOD_CALL 'UserDataValidator', 'validate'
28 SEND_VAR !4
29 DO_FCALL 0 $19
30 ASSIGN !5, $19
135 31 INIT_FCALL 'print_r'
32 SEND_VAR !5
33 DO_ICALL
138 34 INIT_FCALL 'json_decode'
35 SEND_VAR !2
36 SEND_VAL <false>
37 DO_ICALL $22
38 ASSIGN !4, $22
139 39 INIT_FCALL 'var_dump'
40 SEND_VAR !4
41 DO_ICALL
141 42 INIT_STATIC_METHOD_CALL 'UserDataValidator', 'validate'
43 SEND_VAR !4
44 DO_FCALL 0 $25
45 ASSIGN !5, $25
142 46 INIT_FCALL 'print_r'
47 SEND_VAR !5
48 DO_ICALL
145 49 INIT_FCALL 'json_decode'
50 SEND_VAR !3
51 SEND_VAL <false>
52 DO_ICALL $28
53 ASSIGN !4, $28
146 54 INIT_FCALL 'var_dump'
55 SEND_VAR !4
56 DO_ICALL
148 57 INIT_STATIC_METHOD_CALL 'UserDataValidator', 'validate'
58 SEND_VAR !4
59 DO_FCALL 0 $31
60 ASSIGN !5, $31
149 61 INIT_FCALL 'print_r'
62 SEND_VAR !5
63 DO_ICALL
64 > RETURN 1
Class UserData: [no user functions]
Class AddressData: [no user functions]
Class JsonValidator:
Function isstring:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 4, Position 2 = 13
Branch analysis from position: 4
1 jumps found. (Code = 108) Position 1 = -2
Branch analysis from position: 13
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/LJB3k
function name: isString
number of ops: 14
compiled vars: !0 = $value
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
58 0 E > RECV !0
60 1 TYPE_CHECK 64 ~1 !0
2 TYPE_CHECK 4 ~1
3 > JMPZ ~2, ->13
61 4 > NEW $3 'Exception'
62 5 GET_TYPE ~4 !0
6 CONCAT ~5 'Wrong+json+value+type.+Expected%3A+%22string%22+received%3A+%22', ~4
7 CONCAT ~6 ~5, '%22+value%3A+%22'
8 CONCAT ~7 ~6, !0
9 CONCAT ~8 ~7, '%22'
10 SEND_VAL_EX ~8
61 11 DO_FCALL 0
62 12 > THROW 0 $3
65 13 > > RETURN null
End of function isstring
Function isint:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 4, Position 2 = 13
Branch analysis from position: 4
1 jumps found. (Code = 108) Position 1 = -2
Branch analysis from position: 13
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/LJB3k
function name: isInt
number of ops: 14
compiled vars: !0 = $value
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
67 0 E > RECV !0
69 1 TYPE_CHECK 16 ~1 !0
2 TYPE_CHECK 4 ~1
3 > JMPZ ~2, ->13
70 4 > NEW $3 'Exception'
71 5 GET_TYPE ~4 !0
6 CONCAT ~5 'Wrong+json+value+type.+Expected%3A+%22int%22+received%3A+%22', ~4
7 CONCAT ~6 ~5, '%22+value%3A+%22'
8 CONCAT ~7 ~6, !0
9 CONCAT ~8 ~7, '%22'
10 SEND_VAL_EX ~8
70 11 DO_FCALL 0
71 12 > THROW 0 $3
74 13 > > RETURN null
End of function isint
Function validate:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 8, Position 2 = 31
Branch analysis from position: 8
2 jumps found. (Code = 78) Position 1 = 9, Position 2 = 31
Branch analysis from position: 9
1 jumps found. (Code = 42) Position 1 = 23
Branch analysis from position: 23
2 jumps found. (Code = 46) Position 1 = 25, Position 2 = 27
Branch analysis from position: 25
2 jumps found. (Code = 43) Position 1 = 28, Position 2 = 30
Branch analysis from position: 28
1 jumps found. (Code = 42) Position 1 = 8
Branch analysis from position: 8
Branch analysis from position: 30
Branch analysis from position: 27
Branch analysis from position: 31
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 31
Found catch point at position: 17
Branch analysis from position: 17
2 jumps found. (Code = 107) Position 1 = 18, Position 2 = -2
Branch analysis from position: 18
2 jumps found. (Code = 46) Position 1 = 25, Position 2 = 27
Branch analysis from position: 25
Branch analysis from position: 27
filename: /in/LJB3k
function name: validate
number of ops: 38
compiled vars: !0 = $data, !1 = $allErrors, !2 = $assertionFunction, !3 = $parameterName, !4 = $parameterValue, !5 = $errors, !6 = $exception
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
76 0 E > RECV !0
78 1 ASSIGN !1, <array>
80 2 INIT_FCALL 'set_error_handler'
3 DECLARE_LAMBDA_FUNCTION ~8 [0]
82 4 SEND_VAL ~8
80 5 DO_ICALL
84 6 FETCH_STATIC_PROP_R global lock ~10 'assertions'
7 > FE_RESET_R $11 ~10, ->31
8 > > FE_FETCH_R ~12 $11, !2, ->31
9 > ASSIGN !3, ~12
86 10 FETCH_OBJ_R ~14 !0, !3
11 ASSIGN !4, ~14
87 12 INIT_USER_CALL 1 'call_user_func', !2
13 SEND_USER !4
14 DO_FCALL 0 $16
15 ASSIGN !5, $16
16 > JMP ->23
88 17 E > > CATCH last 'Throwable'
89 18 > INIT_METHOD_CALL !6, 'getMessage'
19 DO_FCALL 0 $20
20 FETCH_DIM_W $18 !1, !3
21 ASSIGN_DIM $18
22 OP_DATA $20
92 23 > ISSET_ISEMPTY_CV ~21 !5
24 > JMPZ_EX ~21 ~21, ->27
25 > COUNT ~22 !5
26 BOOL ~21 ~22
27 > > JMPZ ~21, ->30
93 28 > ASSIGN_DIM !1, !3
29 OP_DATA !5
84 30 > > JMP ->8
31 > FE_FREE $11
97 32 INIT_FCALL 'restore_error_handler'
33 DO_ICALL
99 34 VERIFY_RETURN_TYPE !1
35 > RETURN !1
100 36* VERIFY_RETURN_TYPE
37* > RETURN null
Dynamic Functions:
Dynamic Function 0
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 108) Position 1 = -2
filename: /in/LJB3k
function name: {closure}
number of ops: 13
compiled vars: !0 = $errno, !1 = $errstr, !2 = $errfile, !3 = $errline
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
80 0 E > RECV !0
1 RECV !1
2 RECV !2
3 RECV !3
81 4 NEW $4 'ErrorException'
5 SEND_VAR_EX !1
6 SEND_VAL_EX 0
7 SEND_VAR_EX !0
8 SEND_VAR_EX !2
9 SEND_VAR_EX !3
10 DO_FCALL 0
11 > THROW 0 $4
82 12* > RETURN null
End of Dynamic Function 0
End of function validate
End of class JsonValidator.
Class UserDataValidator:
Function isstring:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 4, Position 2 = 13
Branch analysis from position: 4
1 jumps found. (Code = 108) Position 1 = -2
Branch analysis from position: 13
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/LJB3k
function name: isString
number of ops: 14
compiled vars: !0 = $value
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
58 0 E > RECV !0
60 1 TYPE_CHECK 64 ~1 !0
2 TYPE_CHECK 4 ~1
3 > JMPZ ~2, ->13
61 4 > NEW $3 'Exception'
62 5 GET_TYPE ~4 !0
6 CONCAT ~5 'Wrong+json+value+type.+Expected%3A+%22string%22+received%3A+%22', ~4
7 CONCAT ~6 ~5, '%22+value%3A+%22'
8 CONCAT ~7 ~6, !0
9 CONCAT ~8 ~7, '%22'
10 SEND_VAL_EX ~8
61 11 DO_FCALL 0
62 12 > THROW 0 $3
65 13 > > RETURN null
End of function isstring
Function isint:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 4, Position 2 = 13
Branch analysis from position: 4
1 jumps found. (Code = 108) Position 1 = -2
Branch analysis from position: 13
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/LJB3k
function name: isInt
number of ops: 14
compiled vars: !0 = $value
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
67 0 E > RECV !0
69 1 TYPE_CHECK 16 ~1 !0
2 TYPE_CHECK 4 ~1
3 > JMPZ ~2, ->13
70 4 > NEW $3 'Exception'
71 5 GET_TYPE ~4 !0
6 CONCAT ~5 'Wrong+json+value+type.+Expected%3A+%22int%22+received%3A+%22', ~4
7 CONCAT ~6 ~5, '%22+value%3A+%22'
8 CONCAT ~7 ~6, !0
9 CONCAT ~8 ~7, '%22'
10 SEND_VAL_EX ~8
70 11 DO_FCALL 0
71 12 > THROW 0 $3
74 13 > > RETURN null
End of function isint
Function validate:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 8, Position 2 = 31
Branch analysis from position: 8
2 jumps found. (Code = 78) Position 1 = 9, Position 2 = 31
Branch analysis from position: 9
1 jumps found. (Code = 42) Position 1 = 23
Branch analysis from position: 23
2 jumps found. (Code = 46) Position 1 = 25, Position 2 = 27
Branch analysis from position: 25
2 jumps found. (Code = 43) Position 1 = 28, Position 2 = 30
Branch analysis from position: 28
1 jumps found. (Code = 42) Position 1 = 8
Branch analysis from position: 8
Branch analysis from position: 30
Branch analysis from position: 27
Branch analysis from position: 31
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 31
Found catch point at position: 17
Branch analysis from position: 17
2 jumps found. (Code = 107) Position 1 = 18, Position 2 = -2
Branch analysis from position: 18
2 jumps found. (Code = 46) Position 1 = 25, Position 2 = 27
Branch analysis from position: 25
Branch analysis from position: 27
filename: /in/LJB3k
function name: validate
number of ops: 38
compiled vars: !0 = $data, !1 = $allErrors, !2 = $assertionFunction, !3 = $parameterName, !4 = $parameterValue, !5 = $errors, !6 = $exception
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
76 0 E > RECV !0
78 1 ASSIGN !1, <array>
80 2 INIT_FCALL 'set_error_handler'
3 DECLARE_LAMBDA_FUNCTION ~8 [0]
82 4 SEND_VAL ~8
80 5 DO_ICALL
84 6 FETCH_STATIC_PROP_R global lock ~10 'assertions'
7 > FE_RESET_R $11 ~10, ->31
8 > > FE_FETCH_R ~12 $11, !2, ->31
9 > ASSIGN !3, ~12
86 10 FETCH_OBJ_R ~14 !0, !3
11 ASSIGN !4, ~14
87 12 INIT_USER_CALL 1 'call_user_func', !2
13 SEND_USER !4
14 DO_FCALL 0 $16
15 ASSIGN !5, $16
16 > JMP ->23
88 17 E > > CATCH last 'Throwable'
89 18 > INIT_METHOD_CALL !6, 'getMessage'
19 DO_FCALL 0 $20
20 FETCH_DIM_W $18 !1, !3
21 ASSIGN_DIM $18
22 OP_DATA $20
92 23 > ISSET_ISEMPTY_CV ~21 !5
24 > JMPZ_EX ~21 ~21, ->27
25 > COUNT ~22 !5
26 BOOL ~21 ~22
27 > > JMPZ ~21, ->30
93 28 > ASSIGN_DIM !1, !3
29 OP_DATA !5
84 30 > > JMP ->8
31 > FE_FREE $11
97 32 INIT_FCALL 'restore_error_handler'
33 DO_ICALL
99 34 VERIFY_RETURN_TYPE !1
35 > RETURN !1
100 36* VERIFY_RETURN_TYPE
37* > RETURN null
Dynamic Functions:
Dynamic Function 0
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 108) Position 1 = -2
filename: /in/LJB3k
function name: {closure}
number of ops: 13
compiled vars: !0 = $errno, !1 = $errstr, !2 = $errfile, !3 = $errline
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
80 0 E > RECV !0
1 RECV !1
2 RECV !2
3 RECV !3
81 4 NEW $4 'ErrorException'
5 SEND_VAR_EX !1
6 SEND_VAL_EX 0
7 SEND_VAR_EX !0
8 SEND_VAR_EX !2
9 SEND_VAR_EX !3
10 DO_FCALL 0
11 > THROW 0 $4
82 12* > RETURN null
End of Dynamic Function 0
End of function validate
End of class UserDataValidator.
Class AddressDataValidator:
Function isstring:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 4, Position 2 = 13
Branch analysis from position: 4
1 jumps found. (Code = 108) Position 1 = -2
Branch analysis from position: 13
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/LJB3k
function name: isString
number of ops: 14
compiled vars: !0 = $value
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
58 0 E > RECV !0
60 1 TYPE_CHECK 64 ~1 !0
2 TYPE_CHECK 4 ~1
3 > JMPZ ~2, ->13
61 4 > NEW $3 'Exception'
62 5 GET_TYPE ~4 !0
6 CONCAT ~5 'Wrong+json+value+type.+Expected%3A+%22string%22+received%3A+%22', ~4
7 CONCAT ~6 ~5, '%22+value%3A+%22'
8 CONCAT ~7 ~6, !0
9 CONCAT ~8 ~7, '%22'
10 SEND_VAL_EX ~8
61 11 DO_FCALL 0
62 12 > THROW 0 $3
65 13 > > RETURN null
End of function isstring
Function isint:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 4, Position 2 = 13
Branch analysis from position: 4
1 jumps found. (Code = 108) Position 1 = -2
Branch analysis from position: 13
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/LJB3k
function name: isInt
number of ops: 14
compiled vars: !0 = $value
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
67 0 E > RECV !0
69 1 TYPE_CHECK 16 ~1 !0
2 TYPE_CHECK 4 ~1
3 > JMPZ ~2, ->13
70 4 > NEW $3 'Exception'
71 5 GET_TYPE ~4 !0
6 CONCAT ~5 'Wrong+json+value+type.+Expected%3A+%22int%22+received%3A+%22', ~4
7 CONCAT ~6 ~5, '%22+value%3A+%22'
8 CONCAT ~7 ~6, !0
9 CONCAT ~8 ~7, '%22'
10 SEND_VAL_EX ~8
70 11 DO_FCALL 0
71 12 > THROW 0 $3
74 13 > > RETURN null
End of function isint
Function validate:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 8, Position 2 = 31
Branch analysis from position: 8
2 jumps found. (Code = 78) Position 1 = 9, Position 2 = 31
Branch analysis from position: 9
1 jumps found. (Code = 42) Position 1 = 23
Branch analysis from position: 23
2 jumps found. (Code = 46) Position 1 = 25, Position 2 = 27
Branch analysis from position: 25
2 jumps found. (Code = 43) Position 1 = 28, Position 2 = 30
Branch analysis from position: 28
1 jumps found. (Code = 42) Position 1 = 8
Branch analysis from position: 8
Branch analysis from position: 30
Branch analysis from position: 27
Branch analysis from position: 31
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 31
Found catch point at position: 17
Branch analysis from position: 17
2 jumps found. (Code = 107) Position 1 = 18, Position 2 = -2
Branch analysis from position: 18
2 jumps found. (Code = 46) Position 1 = 25, Position 2 = 27
Branch analysis from position: 25
Branch analysis from position: 27
filename: /in/LJB3k
function name: validate
number of ops: 38
compiled vars: !0 = $data, !1 = $allErrors, !2 = $assertionFunction, !3 = $parameterName, !4 = $parameterValue, !5 = $errors, !6 = $exception
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
76 0 E > RECV !0
78 1 ASSIGN !1, <array>
80 2 INIT_FCALL 'set_error_handler'
3 DECLARE_LAMBDA_FUNCTION ~8 [0]
82 4 SEND_VAL ~8
80 5 DO_ICALL
84 6 FETCH_STATIC_PROP_R global lock ~10 'assertions'
7 > FE_RESET_R $11 ~10, ->31
8 > > FE_FETCH_R ~12 $11, !2, ->31
9 > ASSIGN !3, ~12
86 10 FETCH_OBJ_R ~14 !0, !3
11 ASSIGN !4, ~14
87 12 INIT_USER_CALL 1 'call_user_func', !2
13 SEND_USER !4
14 DO_FCALL 0 $16
15 ASSIGN !5, $16
16 > JMP ->23
88 17 E > > CATCH last 'Throwable'
89 18 Generated using Vulcan Logic Dumper, using php 8.0.0