Matthew Brown
754a4d9950
Allow Psalm to be run outside of the directory it's installed in ( #154 )
...
* Add --root option when not running Psalm from root directory
* Add informative error when running Psalm outside of its project directory
* Add better message in help
* Fix autoloader precedence
2017-05-04 14:25:58 -04:00
Jon Ursenbach
f65c618b2e
PSR-2 adjustments and adding PHPCS checks into the Travis config. ( #149 )
...
* PSR-2 adjustments and adding PHPCS checks into the Travis config.
* Reverting some CallChecker changes and no longer casting vars to null.
2017-04-28 00:31:55 -04:00
Matthew Brown
a89018d9ae
Only warn about issues in files that we’re trying to scan
2017-03-24 18:34:46 -04:00
Matthew Brown
d69ff4e16e
Remove var_dump
2017-03-19 18:25:30 -04:00
Matthew Brown
f2f944d4c0
Prevent trying to open invalid file paths
2017-03-19 18:20:48 -04:00
Matt Brown
0c0a30d6ea
Make Psalm insensitive to case-sensitive filenames
2017-03-16 10:58:13 -04:00
Matthew Brown
f6066aaded
Log references to parent classes
2017-03-10 19:36:17 -05:00
Matt Brown
4619ef1390
Re-enable dead code detection
2017-03-03 15:54:08 -05:00
Matthew Brown
7f3a763303
Allow multiple references per row
2017-03-02 01:10:00 -05:00
Matthew Brown
5cd1b6735f
Add even more references in docblocks
2017-03-01 22:27:52 -05:00
Matthew Brown
f55c754eab
Include use references to classes in reference collection
2017-02-28 00:29:28 -05:00
Matt Brown
b948198ca9
Also collect use path locations
2017-02-27 18:24:20 -05:00
Matthew Brown
d9433c9491
Add way to find all references to a given class or method in the codebase
2017-02-27 01:30:44 -05:00
Matthew Brown
cd5f727d2e
Collect explicit references to classes/methods
2017-02-26 23:09:18 -05:00
Matt Brown
182f715b62
Add dead code detection for possibly unused public methods
2017-02-23 19:52:23 -05:00
Matthew Brown
e61ea17db5
Move FileChecker functionality into separate, better-contained classes
2017-02-18 13:41:27 -05:00
Matthew Brown
8ae4bf6a18
Add initial support for server mode
2017-02-15 00:16:29 -05:00
Matthew Brown
0277ca49ba
Add config creation utility
2017-02-12 23:59:43 -05:00
Matthew Brown
f32fabd798
Remove dead code
2017-02-11 19:30:06 -05:00
Matthew Brown
8ff6634e7b
Add issue for possibly unused variables in public/private methods
...
also changed a lot of access
2017-02-11 18:56:38 -05:00
Matt Brown
32d85e20da
Remove unused vars
2017-02-10 19:10:13 -05:00
Matt Brown
c0a6fc9125
Fix #90 - add genericised stubs for common array functions
2017-02-10 18:12:59 -05:00
Matthew Brown
89a5f109e8
Fix method reference
2017-02-08 00:42:53 -05:00
Matthew Brown
cdcacc395d
Rename DeadCode to UnusedVariable, UnusedMethod and UnusedClass
2017-02-08 00:28:26 -05:00
Matthew Brown
0fbf8b5619
Remove more dead code
2017-02-02 00:45:23 -05:00
Matthew Brown
ec65f31aaa
Improve dead code analysis and fix errors found
2017-02-02 00:20:58 -05:00
Matthew Brown
76b6bc9b3d
Prevent Psalm from storing unnecessary checkers
2017-02-01 18:11:00 -05:00
Matthew Brown
d3abc0011d
Fix #80 - add dead code checks via command line
2017-01-31 23:24:33 -05:00
Matthew Brown
eeccf791ad
Add unused method & unused class analysis ref #80
2017-01-31 20:47:16 -05:00
Matt Brown
004fd42062
Fix #83 - add support for stubbing
2017-01-31 19:21:33 -05:00
Matthew Brown
4114456bf4
Key off lowercase classname and reduce dead code false positives
2017-01-30 00:26:17 -05:00
Matthew Brown
1ece3071f9
Add reference counting for methods and remove dead code
2017-01-29 23:44:05 -05:00
Matthew Brown
e9ba513250
Add classlike reference counts
2017-01-29 22:30:27 -05:00
Matthew Brown
9d1b382820
Fix #48 by recording class definition line number & file path
2017-01-19 23:45:21 -05:00
Matt Brown
fd290c41d4
Fix tests
2017-01-19 12:15:42 -05:00
Matt Brown
0ba02f304f
Make project checker always aware of file paths to classes
2017-01-19 10:55:58 -05:00
Matthew Brown
3b18f58cae
Add missing param
2017-01-18 23:38:21 -05:00
Matthew Brown
87871e61f2
Allow checking of folders not in project directories
2017-01-18 23:34:56 -05:00
Matt Brown
686891f30f
Make directory recursion robust and windows-safe
2017-01-18 09:36:16 -05:00
Matt Brown
875717bb96
Fix #63 by adding directory separators
2017-01-17 22:10:21 -05:00
Matthew Brown
315e7029fe
Fix non-full-dir Psalm checks
2017-01-16 11:51:42 -05:00
Matthew Brown
856870cf37
Fix #62 - die quickly and explicitly if files cannot be located
2017-01-16 11:41:57 -05:00
Matthew Brown
0deccccdbb
Add emacs-compatible report format
2017-01-15 22:39:26 -05:00
Matthew Brown
f614944b63
Add predefined functions to avoid throwing errors
2017-01-15 20:11:02 -05:00
Matt Brown
93688dffe0
Fix update-docblocks command
2017-01-13 14:06:05 -05:00
Matthew Brown
b4ca657ea2
Fix diff checking
2017-01-12 01:12:01 -05:00
Matthew Brown
5f54a9571c
Fix deep project checks
2017-01-12 01:03:48 -05:00
Matthew Brown
03c5ea3cef
Store all class keys lowercased
2017-01-09 00:14:39 -05:00
Matthew Brown
cc887d48aa
Prevent erroneous debug messages
2017-01-08 13:21:21 -05:00
Matthew Brown
e670ce4ca4
Revisit files to save memory usage
2017-01-08 12:55:32 -05:00
Matthew Brown
28cd8caca8
Change analyzeMethods to analyze
2017-01-07 15:57:25 -05:00
Matthew Brown
17329015dc
Discriminate between checking, visiting and analyzing in method names
2017-01-07 15:09:47 -05:00
Matthew Brown
7609ca02c0
Fix #32 by evaluating all class references in files lazily
2017-01-04 23:42:58 -05:00
Matthew Brown
bc01169910
Fix debug end results
2016-12-30 18:28:43 -05:00
Matthew Brown
21816723c7
Make config schema more relaxed about ordering and fix trait bugs
2016-12-30 01:51:29 -05:00
Matthew Brown
749735a3ec
Update config file API still further
2016-12-29 10:24:10 -05:00
Matthew Brown
9746c8972f
Fix MixedAssignment errors
2016-12-17 00:48:31 -05:00
Matthew Brown
a5195b2571
Add JSON output format
2016-12-07 22:38:57 -05:00
Matthew Brown
4b3f63c843
Fix missing properties
2016-11-20 22:02:26 -05:00
Matthew Brown
5a9f99c24e
Fix namespacing issues in PHP 5.6
2016-11-20 21:49:06 -05:00
Matthew Brown
38daca5edd
Fix Psalm errors in Psalm
2016-11-13 11:24:46 -05:00
Matthew Brown
87bb4a2f52
Fix various issues with docblock updates
2016-11-13 01:43:51 -05:00
Matthew Brown
8dfca6cce2
Add dummy --update-docblocks option
2016-11-12 18:51:48 -05:00
Matthew Brown
12a12e15c2
Emit issue if return type is missing
2016-11-07 17:07:59 -05:00
Matthew Brown
e9b4eb69e5
Improve diff mechanism to hit prevent unnecessary file_get_contents
2016-11-06 00:59:29 -04:00
Jon Ursenbach
8a6e8e9940
Fixing remaining PSR-2 violations.
2016-11-03 20:51:56 -04:00
Jon Ursenbach
27c2db1d1d
PSR-2
2016-11-02 17:50:54 -04:00
Matthew Brown
991806a2c4
Ignore files outside project dirs for diffs
2016-10-18 10:17:25 -04:00
Matthew Brown
ca3dfe6e39
Fix Psalm errors in Psalm
2016-10-15 00:12:57 -04:00
Matthew Brown
566fa8e838
Do not check deleted files
2016-10-08 20:49:14 -04:00
Matthew Brown
eecd35f10b
Also scan deleted files
2016-10-07 13:26:29 -04:00
Matthew Brown
d8d26a3f40
Add more robust in-psalm check
2016-10-07 00:58:08 -04:00
Matthew Brown
ed2c157762
Accept space-separated arguments
2016-10-05 17:08:20 -04:00
Matthew Brown
3f742ee954
Generate big graph of all files that could possibly be affected
2016-10-05 13:24:46 -04:00
Matthew Brown
8c5adf477a
Add support for key/value array typing
2016-09-09 16:21:49 -04:00
Matthew Brown
47f66bf4dd
Add support for exposing errors in external files
2016-08-31 23:12:35 -04:00
Matthew Brown
defc4cebc1
Add support for checking inherited constants
2016-08-13 19:44:24 -04:00
Matthew Brown
7d1a106fd5
Big file reorg with ClassLikeChecker as new ClassChecker
2016-08-13 14:20:46 -04:00