| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| phan.phar | 2026-10-13 | 14.3 MB | |
| phan.phar.asc | 2026-10-13 | 566 Bytes | |
| 6.0.10 source code.tar.gz | 2026-10-12 | 2.3 MB | |
| 6.0.10 source code.zip | 2026-10-12 | 2.7 MB | |
| README.md | 2026-10-12 | 1.9 kB | |
| Totals: 5 Items | 19.3 MB | 0 | |
Bug fixes:
- Fix
/** @var int */ public mixed $value;being inferred as?intinstead ofint(a 6.0.8 regression of #5560 that reportedPhanTypeMismatchArgumentNullablewhen the property was passed to anintparameter):mixedsays nothing about the property, so the@vartype is used as for an untyped property; only an explicitly nullable native type such as?Boxkeeps its nullability (#5596) - Fix false positives in
catchblocks for variables assigned in a branch of thetryblock that ends in athrow(e.g.PhanNonClassMethodCallon a variable inferred as alwaysnull, orPhanUndeclaredVariableinstead ofPhanPossiblyUndeclaredVariable): the catch blocks now also see the variables at eachthrowstatement andthrowexpression in thetryblock, not only those before and at the end of it (#5598) - Fix false positives
PhanNonClassMethodCallandPhanTypeExpectedObjectPropAccessButGotNullfor$x?->method()and$x?->propwhen$xis known to benull: the nullsafe operator short-circuits tonull, so the method is never called and the property never accessed. Receivers of other non-object types are still reported (#5597) - Fix an unwarranted
nullin the type of an offset read from a union of an array shape andmixed, e.g.$g[$k]['tax']after$g[$k]['tax'] = $v;on anarray $gwith an unknown key$k(where$g[$k]isarray{tax:int}|mixed): the type is nowintinstead ofint|null, and unknown instead ofnullwhen the assigned value has no known type, soPhanTypeMismatchArgumentis no longer reported for a non-nullable parameter. Only an array that may itself be null still makes the element nullable (#5599)