Matthew Brown
c1440c11dc
Create separate file for magic properties
2018-05-08 20:25:39 -04:00
Matt Brown
6b3759a266
Fix #699 - prevent stubs from overriding known functions
2018-04-27 15:00:22 -04:00
Matthew Brown
e2400920b9
Fix #693 - add @TysonAndre’s fix for atomic type checks
2018-04-24 21:27:31 -04:00
Matthew Brown
668cf2c0be
Fix #692 - remove text after the end of a method
2018-04-23 09:52:40 -04:00
Matthew Brown
2fabdf3353
Fix #314 - add a way to indicate @method list is comprehensive
2018-04-22 00:40:30 -04:00
Matthew Brown
1c7568e612
Fix #642 - allow @method to override existing methods
...
behind usePhpDocMethodsWithoutMagicCall="true"
2018-04-21 23:08:08 -04:00
Matthew Brown
8b50cdf315
Fix #632 - add support for @method annotations when method can’t be found
2018-04-21 22:44:54 -04:00
Matthew Brown
d02b148820
Fix #633 - support @method for magic __call methods
2018-04-21 22:13:10 -04:00
Matt Brown
8b9753a235
Fix parsing of nested callable without args
2018-04-20 15:22:48 -04:00
Matthew Brown
7345a44494
Fix callable parse issue
2018-04-15 18:16:31 -04:00
Radosław Kowalewski
15c1a82d8c
Few fixes to make tests pass on windows
...
* changed / to DIRECTORY_SEPARATOR in expected messages
* cahnged most occurences PHP_EOL to "\n" in tests and src
* added output buffering in test to avoid marking test as risky
2018-04-12 22:41:13 -04:00
Matt Brown
6d572096d6
Prohibit bad characters from types
2018-04-05 14:11:57 -04:00
Matt Brown
b4fba8f805
Allow capitalised reserved words
2018-04-04 12:39:05 -04:00
Matthew Brown
2a544c3076
Fix #560 - ignore @param $var annotations
2018-03-30 17:46:12 -04:00
Matthew Brown
7a0c7f4d1e
Improve handling of ||
...
Ref #630
2018-03-29 02:20:19 -04:00
Matt Brown
fd9e783a37
Emit InvalidDocblock for bad static keyword in @var
...
Ref #623
2018-03-27 11:34:48 -04:00
Matthew Brown
74aa376ec7
Fix #617 - catch exception on bad square brackets
2018-03-24 21:02:44 -04:00
Matthew Brown
bc0c4322d5
Allow object-like with all optional vars to be compared to empty array
2018-03-21 10:46:21 -04:00
Matthew Brown
def0d87782
Add test for phpstorm generic property
2018-03-17 15:40:57 -04:00
Matt Brown
b664c85642
Add new issue conditional on config flag
2018-03-06 12:19:50 -05:00
Matt Brown
357ad1aa82
Add config flags to allow stricter class invocation checks
2018-03-06 11:20:59 -05:00
Matt Brown
7c5986de01
Add return type checks for missing classes
2018-03-05 17:46:13 -05:00
Matt Brown
57c2adb923
Fix #558 - add extra tests around functionality
2018-03-05 17:10:52 -05:00
Matt Brown
850998ed1a
Add class-string type for enforcing use of ::class constants
2018-03-05 16:06:06 -05:00
Matt Brown
2846e549dd
Fix #546 - allow iterable phpstorm generics
2018-03-01 11:19:23 -05:00
Matt Brown
09d708981a
Add mixed checks to property __set calls
2018-02-21 19:34:21 -05:00
Nicky Robinson
8e77ff1ce9
Throw error if magic getter or setter called for undefined property or invalid type specified with annotations ( #500 )
...
* Fix path to psalm
* If a magic getter or setter is used to access a property on a class
that is not defined but a `@property` annotation for the property
exists, throw an error. If no `@property` annotation exists, it's not
an error because you're allowed to make magic getters and setters do
crazy things.
Fixes #480
* Move logic to a better place to avoid duplicate checks
* Move logic into function
* Remove some nesting
* Check psalm-seal-properties and property type correctly
2018-02-09 19:37:09 -05:00
Matthew Brown
6955f77e2e
Fix #493 - add support for multiple @var lines per docblock
2018-02-07 23:33:31 -05:00
Matt Brown
7f4be858c2
Fix #498 - add better issue type for docblock contradiction
2018-02-07 15:20:47 -05:00
Matt Brown
1df4c3d196
Add DocblockTypeContradiction to find possible issues with docblock types
...
Fixes #491
2018-02-06 18:44:53 -05:00
Matthew Brown
645602a38e
Properly namespace @property types
2018-02-03 23:10:22 -05:00
Matthew Brown
861d907845
Add more information to TooMany/TooFewArguments issues
...
Fixes #481
2018-02-02 11:26:55 -05:00
Matthew Brown
8d2baf584e
Fix #479 - allow PhpStorm generic syntax behind a config flag
2018-02-01 01:10:27 -05:00
Matthew Brown
3482ee3b39
Split UntypedParam into MissingParamType and MissingClosureParamType
2018-01-28 20:03:47 -05:00
Matthew Brown
507007a2bf
Add DeprecatedInterface and emit DeprecatedClass in more places
...
Fixes #463
2018-01-23 09:09:43 -05:00
Matthew Brown
9b6b03ff9f
Create Config before ProjectChecker, and remove test-specific code from FileChecker
2018-01-21 10:22:04 -05:00
Matthew Brown
799aef628e
Fix type assignment checks
2018-01-20 11:48:16 -05:00
Matt Brown
9f2a0847a4
Fix #453 - catch bad objectlike type when analysing docblock
2018-01-19 16:06:30 -05:00
Tyson Andre
d688b51534
Be strict about matching word boundaries for expected messages
...
E.g. don't allow InvalidPropertyAssignmentValue where
InvalidPropertyAssignment was expected
2018-01-11 18:04:11 -05:00
Matt Brown
2120d258a4
Fix formatting of return type adder
2018-01-11 15:50:58 -05:00
Matthew Brown
75daea5f04
Fix #382 - improve reserved word checks
2018-01-10 00:07:47 -05:00
Matthew Brown
6b68da0e4d
Always check typehints for bad classes
2018-01-09 22:46:55 -05:00
Matt Brown
b373d6093a
Be more lenient with nullable docblock types, allow no return statements
2018-01-08 17:17:49 -05:00
Matt Brown
a76fde5b98
Break out mismatching param/return type issues from InvalidDocblock
2018-01-05 12:11:12 -05:00
Matthew Brown
17d208bdd5
Increase test coverage
2017-12-30 10:54:01 -05:00
Matthew Brown
3b7c84f484
Detect instances where loop invariants are invalidated
...
Fixes #389
2017-12-17 10:58:03 -05:00
Tyson Andre
136d48f77c
Support @property-read and @property-write as new tags. ( #317 )
...
In combination with `@psalm-seal-properties`, this can be used to
have in-depth checking of magic properties.
2017-12-14 14:22:27 -05:00
Matthew Brown
1a39224abc
Fix issues that improved array checks found
2017-11-19 12:14:02 -05:00
Tyson Andre
1c25ca1a0c
Fix false positives, add tests of @psalm-seal-properties
( #318 )
2017-11-17 16:19:48 -05:00
Matthew Brown
a08306973a
Fix #302 - add a way to seal objects with magic properties
2017-11-16 20:47:58 -05:00