phan v2.4.9 Release Notes
Release Date: 2020-02-13 // about 4 years ago-
๐ New Features(Analysis):
Infer that
class_exists
implies the first argument is a class-string,
and thatmethod_exists
implies the first argument is a class-string or an object. (#2804, #3058)Note that Phan still does not infer that the class or method actually exists.
Emit
PhanRedefineClass
on all occurrences of a duplicate class, not just the ones after the first occurrence of the class. (#511)Emit
PhanRedefineFunction
on all occurrences of a duplicate function/method, not just the ones after the first.๐ Emit
PhanRedefinedClassReference
for many types of uses of user-defined classes that Phan has parsed multiple definitions of.
Phan will not warn about internal classes, because the duplicate definition is probably a polyfill.
(e.g.new DuplicateClass()
,DuplicateClass::someMethod()
)๐ Bug fixes:
- Fix false positive
PhanParamSuspiciousOrder
forpreg_replace_callback
(#3680) - ๐ Fix false positive
PhanUnanalyzableInheritance
for renamed methods from traits. (#3695) - ๐ Fix false positive
PhanUndeclaredConstant
previously seen for inherited class constants in some parse orders. (#3706) - ๐ Fix uncaught
TypeError
convertingiterable<T>
to nullable (#3709)
- Fix false positive