Matt Brown
e62b711c36
Fix docblock
2018-07-06 14:14:24 -04:00
Matt Brown
a887d09ca9
Fix #867 - make some system constant types more broad
2018-07-06 13:35:36 -04:00
Matthew Brown
16e270f0ee
Improve loading of stub file and autoload file information
...
Ref #849
2018-06-30 15:29:37 -04:00
Matthew Brown
3670f066bb
Improve dead code detection
2018-06-16 20:01:41 -04:00
Matthew Brown
04cc920101
Fix #378 - improve handling of InvalidScope
2018-06-09 11:50:17 -04:00
Matthew Brown
3a3c10d044
Improve handling of ? before type
2018-06-08 23:54:07 -04:00
Matt Brown
091fa53c72
Fix #798 - update magic property handling so it corresponds to PHP behaviour
2018-06-08 11:08:57 -04:00
Matt Brown
9bbe437f22
Fix issue with initially undefined variable in isset
2018-06-01 10:52:26 -04:00
Matt Brown
2b697a34f8
Fix #786 - improve treatment of array isset checks
2018-05-31 15:07:03 -04:00
Matt Brown
549e90eca4
Treat required files the same as the files that require them, reporting-wise
2018-05-30 16:19:18 -04:00
Matthew Brown
c217849737
Improve handling of projects that use include/require heavily
2018-05-22 23:39:01 -04:00
Matthew Brown
b0733254bb
Use individual type objects for each string ( #757 )
...
* Experiment with individual types for each string
* Fix bunch of errors
* Fix a few more issues
* Fix a whole bunch of bugs
* Fix most remaining bugs
* Fix isset warnings
* Fix psalm errors in psalm
* Limit big string size
* Fix falsiness of ints
* Fix issue with type widening, allowing value set in nested if to be altered
* Don’t complain if type is mixed
* Add skipped-for-now test
* Add specific test to address issue
2018-05-18 11:02:50 -04:00
Matthew Brown
8de8ce2ef4
Only assign new offset types when it’s safe to do so
2018-05-12 11:19:31 -04:00
Matthew Brown
5589aa89be
Fix #736 - only remove offset type when it doesn’t contain const array type
2018-05-12 11:17:41 -04:00
Matthew Brown
1b8fd75a77
Suppress possibly-invalid key issue
2018-05-11 23:24:50 -04:00
Matthew Brown
b9b2a909a1
Fix #729 and prevent impossible const array access
2018-05-11 23:14:44 -04:00
Matthew Brown
a33d52d935
Add support for referencedProperty error restrictions
2018-05-11 00:07:41 -04:00
Matt Brown
ad94761e15
Fix undefined property fetch redundant condition
2018-05-09 12:54:31 -04:00
Matthew Brown
5c39fb5ab1
Fix #716 - uss string inference to inform property names
2018-05-08 21:21:22 -04:00
Matthew Brown
c1440c11dc
Create separate file for magic properties
2018-05-08 20:25:39 -04:00
Matt Brown
03ea65cff8
Don’t complain about false values on properties when we don’t care
2018-05-08 16:57:16 -04:00
Matthew Brown
8d8fdad924
Always set array offset type
2018-05-05 17:50:19 -04:00
Matthew Brown
21261172a8
Fix #713 - support offsets of known array types
2018-05-05 17:30:18 -04:00
Matthew Brown
1a4ddc7cdd
Support value types ( #707 )
...
* Add first idea
* Add initial count experiments
* Remove false positives
* Fix getId to support changes in conditionals
* Add better tests
* Strip types when not exists
* Fix array offsets
* More fixes
* Add class constant value types
* Clone constants everywhere
* Don’t complain unnecessarily
* Be more lenient with possibly invalid __sets
* Fix mixed issues
* Fix bug concerning orred string equality
* Remove unnecessary casts
2018-05-03 13:56:30 -04:00
Matt Brown
521237dc56
Fix #705 - don’t be so strict about undefined constants
2018-05-03 13:20:42 -04:00
Matthew Brown
7ccc17cd98
Fix #324 - improve undefined array handling
2018-05-02 20:10:08 -04:00
Matthew Brown
15e1003c37
Warn about impossible empty
2018-04-30 22:13:13 -04:00
Matt Brown
8d7c365e5f
Fix #679 - improve template param type checks
2018-04-20 10:52:23 -04:00
Matt Brown
1f3837d972
Fix #686 - allow undefined class inside class_exists call
2018-04-19 12:16:00 -04:00
Matt Brown
5a2f6ff0e0
Fix #624 - change some innaccurate issue names
2018-04-17 14:07:02 -04:00
Matt Brown
6afaf5aae9
Make Psalm compatible with PHP Parser 4
2018-04-17 13:06:02 -04:00
Matt Brown
3cc549384f
Type explode more accurately
2018-04-16 16:03:04 -04:00
Matt Brown
6426dbbf0e
Propagate array key updates after assertions to base array
2018-04-11 14:19:42 -04:00
Matthew Brown
f15c26d7f4
Change how type impossibilities are treated to improve message types
2018-04-10 01:27:26 -04:00
Matt Brown
60c6bb4021
Fix #650 - be more judicious about inserting mixed into places
2018-04-06 18:28:22 -04:00
Matt Brown
c932ed7764
Fix #651 - allow Psalm to understand assertions on properties of array objects
2018-04-06 16:23:10 -04:00
Matt Brown
4927dfd337
Fix issue with InvalidArrayOffset from falsable
2018-04-05 13:57:01 -04:00
Matthew Brown
4552e69ef2
Allow classes to be instantiated by their name only
...
Ref #641
2018-04-03 22:20:00 -04:00
Matthew Brown
452fd2e7c9
Make UndefinedClass an explicit class-related issue
2018-03-21 10:17:57 -04:00
Matthew Brown
025b7049fd
Allow $argv/$argc to be accessed from namespace
2018-03-18 10:38:08 -04:00
Matthew Brown
2e0aded816
Fix issue with empty checks and array_key_exists for property keys
2018-03-17 19:28:01 -04:00
Matthew Brown
4175d1a887
Add PossiblyUndefinedVariable warning when using possibly undefined array key
2018-03-17 17:35:36 -04:00
Matthew Brown
eb3750d8f3
Remove unnecessary @var annotations
2018-03-17 00:19:55 -04:00
Matt Brown
651b375c62
Fix #579 - improve checks for meta-type negation
2018-03-15 14:25:04 -04:00
Matt Brown
850998ed1a
Add class-string type for enforcing use of ::class constants
2018-03-05 16:06:06 -05:00
Tyson Andre
aea3779c96
Fix unused imports in psalm, wrong param order doc comments ( #523 )
...
(Some of the imports appear as strings elsewhere in the same file)
2018-02-18 17:55:11 -05:00
Matthew Brown
09f86ceee7
Introduce MissingDependency issue, separate from UndefinedClass
...
Ref #511
2018-02-17 11:36:20 -05:00
Matthew Brown
88ca7d2fa7
Fix #515 - make Psalm aware of variable array keys
2018-02-17 11:24:08 -05:00
Matthew Brown
24416feb62
Improve handling of unset calls with possibly undefined variables
2018-02-10 10:30:08 -05:00
Matt Brown
283e0a6af2
Migrate class constant handling into codebase classes
2018-02-08 18:18:34 -05:00