Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Summary: When running in "lint" mode, we should not report errors that rely on having seen the whole program: - Dont report MissingAbstractMethodImpl, if there is a redeclared, or missing base class - Dont assume that undefined constants have type string (potentially resulting in BadArgumentType errors) - Dont report UseUndeclaredVariable to class statics, if the class has a redeclared, or missing base class. Test Plan: No unexpected CodeErrors from: <?php class foo extends baz {} interface buz { function fiz(); } class bar extends foo implements buz { protected $x = null; protected static $a = array(); protected function biz($params = array()) { $this->x = array_merge(self::$a, self::$a); } } function t(int $x) { } t(FIZZLE); (previously reported self::$a as UseUndeclaredVariable, t(FIZZLE) as BadArgumentType and MissingAbstractMethodImpl for class bar). Reviewers: qigao, myang Reviewed By: myang CC: ps, mwilliams, myang Differential Revision: 340737
- Loading branch information