Commit Graph

269 Commits

Author SHA1 Message Date
Basile Burg 734d47e9a2
add a check for the auto functions without return statement 2016-09-07 07:08:13 +02:00
Basile Burg f9bb76782c
fixup for #368, readme and source comment still stated the prev.behavior 2016-09-03 22:31:32 +02:00
Basile Burg f51a689a7d
add detection of undocumented enums and their members 2016-08-30 01:47:09 +02:00
Hackerpilot 5a790b4d41 Fix #368 2016-07-27 12:21:51 -07:00
Hackerpilot 40961297e7 Issue #365 2016-07-14 15:39:27 -07:00
Hackerpilot b9fa74ba7b Fix #360 2016-07-05 15:59:15 -07:00
Hackerpilot 0ccdfa2984 Update libdparse to improve handling of align attributes 2016-06-30 15:48:54 -07:00
Hackerpilot 18bfad3619 Update C++ linkage attribute handling 2016-06-30 14:50:48 -07:00
Hackerpilot e4426081dd Fix indentation 2016-06-30 14:50:28 -07:00
LaurentTreguier 7945792784 Correct small typo
It looks like there was a typo here...
2016-06-30 20:54:00 +02:00
Hackerpilot 5994c760a4 Fix #355 2016-06-10 18:27:59 -07:00
Hackerpilot d7ab1023a7 Fix #356 2016-06-10 15:28:50 -07:00
Ianis G. Vasilev 322a191d5d Added a mechanism for searching for dscanner.ini upwards through the file hierarchy 2016-05-20 01:45:23 +03:00
Hackerpilot 428043db71 Fix null pointer error in comma expression check 2016-05-19 00:37:01 -07:00
Basile Burg c101a6e1f7 Added an option that allows to skip the unittests analysis
allow each check to be individually skipped in the unit tests

useless assertions must always be detected
2016-05-12 17:14:32 +02:00
Hackerpilot f0bc0d933c Merge commit '162a5fb' 2016-05-11 16:41:53 -07:00
Hackerpilot 162a5fb332 Fix memory leaks 2016-05-11 16:41:42 -07:00
Hackerpilot 15c780fac4 Fix #341 2016-05-09 15:57:26 -07:00
Hackerpilot e7a1b1fd2f Fix parse error 2016-05-09 15:49:36 -07:00
Brian Schott c602036e0f Merge pull request #309 from dhasenan/master
Added a test for static if...else if mistakes.
2016-05-06 14:32:18 -07:00
Hackerpilot 3d6fdfe2a3 Fix #339 2016-05-06 14:24:10 -07:00
Hackerpilot 02f8f3c423 Enable the comma operator warning in synchronized statements 2016-05-04 03:24:32 -07:00
Hackerpilot 97c4e48ce5 Fix bug in token display 2016-05-04 03:24:11 -07:00
Sebastian Wilzbach c61800a7bc fix small typo in dscanner.ini 2016-04-27 12:27:23 +03:00
Hackerpilot 9b81989011 Fix #334 2016-04-18 14:09:10 -07:00
Hackerpilot 553394b621 Fix import 2016-04-18 14:02:27 -07:00
Hackerpilot a78c4610a2 Fix #314 2016-03-27 16:29:43 -07:00
Hackerpilot 8671674cd5 Update version number 2016-03-24 15:17:14 -07:00
Hackerpilot a18ebe0c86 Merge branch 'allocator_improvements' 2016-03-17 03:09:48 -07:00
Hackerpilot b5e9281f1b #313 2016-03-17 03:09:45 -07:00
dhasenan 673e784a03 Don't warn about renamed imports. 2016-03-14 17:29:20 +00:00
dhasenan 0943820ebe Added a test for static if...else if mistakes.
If you write your code as:
static if (foo)
  doFoo();
else if (bar)
  doBar();

This check will catch it. If you write it as:
static if (foo)
  doFoo();
else {
  if (bar)
    doBar();
}

This isn't a bug and we won't warn about it.

If you write your code in an intermediate style, we'll still warn about it:
static if (foo)
  doFoo();
else
  if (bar)
    doBar();

Which probably isn't optimal, but what the hey.
2016-03-11 17:59:27 +00:00
Hackerpilot 76765a621d Move old alias syntax warning out of the parser, see Hackerpilot/libdparse#80 2016-03-02 21:11:38 -08:00
Hackerpilot 95077d333d Update dparse and dsymbol 2016-03-02 02:41:46 -08:00
Hackerpilot c7861d4c60 Fix information about package protection arguments being missing in AST output 2016-02-07 02:25:45 -08:00
Hackerpilot c252b3420e Fix part of #305 2016-02-07 00:46:40 -08:00
Hackerpilot d2502be9e9 Fix issues with AST output 2016-02-05 02:25:49 -08:00
Hackerpilot 5099545546 Fix #305 2016-02-04 15:18:49 -08:00
Hackerpilot 49de812e47 Fix mismatched XML tags 2016-02-01 03:07:02 -08:00
Hackerpilot 359f52d25b Update libdparse 2016-01-29 01:33:31 -08:00
Martin Nowak a69706e3ac fixup for 1c96fddeb5 2016-01-27 15:33:19 +01:00
Hackerpilot 1c96fddeb5 Run dfmt 2016-01-27 00:16:50 -08:00
Hackerpilot 72fb0ef8b2 Make help text comply with docopt standard 2016-01-26 23:35:26 -08:00
Hackerpilot 831b499fcd Decrease memory use of ctags generation 2016-01-26 23:34:56 -08:00
Hackerpilot b5102bcfd5 Fix #300 2016-01-25 15:15:01 -08:00
Hackerpilot 314b0ef3df More correct checking for undocumented declarations 2016-01-25 15:14:46 -08:00
Hackerpilot ecf476a341 Dub updates 2016-01-14 00:25:19 -08:00
Hackerpilot 47f454711d Update dependencies 2016-01-14 00:25:03 -08:00
Hackerpilot 96ec168f77 Dependency updates 2016-01-11 17:41:55 -08:00
Hackerpilot 26500bf876 Token dump now uses the parser behavior while lexing 2016-01-11 17:41:39 -08:00
Hackerpilot ef46a70d9a Check for opCast being non-const 2015-11-09 17:35:13 -08:00
Hackerpilot f04ede1d91 Fix #274 2015-11-09 15:43:10 -08:00
Hackerpilot 93d2bc17d8 Fix #241 2015-11-04 17:20:01 -08:00
Hackerpilot 54dca3c4da #241 2015-11-04 17:04:38 -08:00
Hackerpilot 289481182a Minor cleanup 2015-11-04 17:04:14 -08:00
Hackerpilot 61770ee4c7 Fix #262 2015-11-04 15:51:52 -08:00
Hackerpilot cdc9d4d85c Fix typo 2015-10-30 16:29:45 -07:00
Hackerpilot 563df24b42 Fix #290 2015-10-30 16:28:16 -07:00
Hackerpilot cc7d0112f3 Warning message consistency 2015-10-30 16:28:00 -07:00
Hackerpilot fab67f9abd Fix #272 2015-10-30 14:43:13 -07:00
Hackerpilot 8494e6a601 Clean up import 2015-10-30 14:42:24 -07:00
Hackerpilot b3e22eb10e Fix false positive for strings with newlines 2015-10-30 14:41:38 -07:00
Hackerpilot ceff31d216 Fix #132 2015-10-30 13:33:54 -07:00
Hackerpilot aa54c3d5c9 Remove unused code 2015-10-30 12:35:22 -07:00
Hackerpilot 73ddd29ce2 Use new dparse and dsymbol 2015-10-29 16:15:03 -07:00
Hackerpilot e5279e94f7 Fix #286 2015-10-09 14:54:28 -07:00
Hackerpilot f99d4ae954 Fix #226 2015-09-25 17:54:45 -07:00
Hackerpilot 2cf8ebe956 Fix bug in mismatched arg name checker 2015-09-25 15:40:17 -07:00
Hackerpilot ec14694db1 Fix duplicated output for unary expressions 2015-09-25 14:40:53 -07:00
Hackerpilot 280c8a53f2 Fix failing unit test 2015-09-18 11:48:24 -07:00
Hackerpilot dffed0ab24 Fix #238 2015-09-18 11:47:28 -07:00
Hackerpilot 27a423e3fa Fix #269 2015-09-18 05:22:03 -07:00
Hackerpilot c09abbdab6 Fix range error in mismatched argument checker, disable logging from dsymbol 2015-09-18 04:06:18 -07:00
Hackerpilot 4e1cdf23be Fix null pointer crash 2015-09-18 03:58:37 -07:00
Hackerpilot 380064de6a Merge master and update dependencies 2015-09-18 02:56:30 -07:00
Hackerpilot eb50bc9e18 Fix #270 2015-09-17 23:39:38 -07:00
Martin Nowak 71575a8e18 fix statement is not reachable error in unittest 2015-09-14 19:32:16 +02:00
Whitebyte af53b74106 Check args similar to tokenCount 2015-08-27 20:43:10 +06:00
Joakim Brannstrom 3025185a55 Update after code review. 2015-07-17 13:01:16 +02:00
Joakim Brannstrom 81bc94e873 Extended ctags generation with Exuberant metadata used by Vim. 2015-07-17 01:33:04 +02:00
Hackerpilot ae7df76154 Fix sefgault in undocumented declaration check^C 2015-06-11 15:50:15 -07:00
Hackerpilot 7a0eb5f13d Update to beta1 2015-06-04 17:35:58 -07:00
Hackerpilot cad1f05367 Implement #243 2015-06-04 17:35:20 -07:00
Hackerpilot 77a7b4f5d2 Implement #239 2015-06-04 16:50:29 -07:00
Hackerpilot 017d208405 Get rid of run function 2015-06-04 16:35:02 -07:00
Hackerpilot 81c38d5ee8 Fix #255 2015-06-04 16:33:16 -07:00
Hackerpilot a078e7bbe1 Use regex for better getter/setter function detection 2015-06-04 16:17:56 -07:00
Hackerpilot 066c44070e Fix #266 2015-06-04 14:41:57 -07:00
Hackerpilot 0d80bcf5e3 Implement #258 2015-06-04 13:51:16 -07:00
Hackerpilot f4db04bcb0 Delete commented code 2015-06-04 13:48:20 -07:00
Hackerpilot 5d18abc4e2 Merge branch 'master' of https://github.com/Hackerpilot/Dscanner into 0.3.0-dev 2015-05-29 09:29:55 -07:00
Hackerpilot d251a7aeb2 Fix #261 2015-05-29 09:06:08 -07:00
Hackerpilot b6233f6d7d Fix #260 by skipping declarations inside of version(unittest) or version(none) 2015-05-29 08:58:09 -07:00
Hackerpilot e48dc0acc5 Enable function parameter caching for cached symbols 2015-05-29 08:47:57 -07:00
Hackerpilot faf5816322 Fix #260 by skipping declarations inside of version(unittest) or version(none) 2015-05-29 08:47:01 -07:00
Hackerpilot 7e0d0dd130 Improve accuracy of unmodified variable check 2015-05-29 08:45:27 -07:00
Hackerpilot f6dde09c57 Comment cleanup 2015-05-29 08:43:06 -07:00
Hackerpilot 6b345f5c01 Merge remote-tracking branch 'origin' into 0.3.0-dev 2015-05-28 11:16:36 -07:00
Hackerpilot 6b18fa8640 #244 2015-05-28 10:24:49 -07:00
Basile Burg 816bd492de removed a probable debug message 2015-05-27 14:47:26 +02:00
Hackerpilot a3c4a5384a Starting work on 0.3.0 2015-05-26 00:24:21 -07:00
Hackerpilot 4786c1fc1b Fix #256 2015-05-17 17:12:37 -07:00
Hackerpilot 960881e607 WIP 2015-05-17 16:22:51 -07:00
Brian Schott fd4b4edda9 Merge pull request #254 from WalterWaldron/fix242fix
unused_label: Fix crash on empty label statement
2015-05-12 10:10:20 -07:00
WalterW 38b6deaa25 unused_label: Fix crash on empty label statement 2015-05-12 09:04:58 -04:00
Timothee Cour d283576390 fix https://github.com/Hackerpilot/Dscanner/issues/251 2015-05-11 21:30:01 -07:00
Timothee Cour fbd88477b8 fix https://github.com/Hackerpilot/Dscanner/issues/251 2015-05-11 21:28:09 -07:00
Timothee Cour 42923725cb _ 2015-05-11 20:15:53 -07:00
WalterW 1945b4bee9 Fix #242 - Warn about unused labels 2015-05-11 10:15:53 -04:00
Dan Olson 41b9ef708e Don't etag private/package by default
Declarations hidden from other packages (private or package protection)
will not be tagged.  New option --etagAll to tag private/package too.
2015-05-09 15:42:30 -07:00
Dan Olson 5790fc3db0 etags: add module, alias, and anonymous struct fix
Added tags for module declaration and aliases.  Fix tagging for
anonymous struct members.  Also fixed off-by-one error index a tag is on
first line.
2015-05-09 15:40:54 -07:00
Basile Burg 352c6ee8e6 fix, 32bit compilation 2015-05-05 03:22:18 +02:00
Hackerpilot b73e8c4fca Update libdparse 2015-05-04 14:55:36 -07:00
Dan Olson 7eedcef77b Generate etags
Generate Emacs style etags with -e.  Uses similar pattern as ctags.
This verison scopes all tags with module name and does not generate tags
for function or unittest scoped declarations.  May want to make some of
this configurable and add other stuff like tags for aliases.
2015-04-28 00:33:40 -07:00
Hackerpilot 7b115caf3f Cleanup 2015-04-23 19:32:57 -07:00
Hackerpilot b5c9bca463 Fix #236 2015-04-23 19:20:02 -07:00
Hackerpilot 5e24ca4a7e Not suitable for stellar cartography 2015-04-13 16:42:46 -07:00
Hackerpilot 2633834e64 Remove useless import 2015-04-13 16:37:37 -07:00
Hackerpilot 25b856f607 Update libdparse 2015-04-13 16:37:24 -07:00
George Sapkin 52155be821 Fixed compilation with dmd 2.066 2015-03-07 10:56:36 +01:00
Hackerpilot 4849326745 Disable redundant if expression check due to false positives 2015-02-21 22:52:50 -08:00
Hackerpilot dbea951e5d Implement #232 2015-02-21 02:13:38 -08:00
Hackerpilot 2b79fca42e False positive on inout @property functions 2015-02-01 03:08:42 -08:00
Hackerpilot 05cc5bf635 Update libdparse 2015-02-01 00:26:41 -08:00
Hackerpilot e498d461df Better version number support. 2015-01-29 02:12:09 -08:00
Hackerpilot c9f59b3149 Those never needed to be public in the first place 2015-01-27 02:34:37 -08:00
Hackerpilot 73e56f13fb Update libdparse 2015-01-27 02:31:03 -08:00
Hackerpilot 13a5a3e693 Minor fixes 2015-01-26 13:13:12 -08:00
Hackerpilot 0e89df07f8 Code cleanup 2015-01-26 01:34:28 -08:00
Hackerpilot 9eb2b575af Change rule name 2015-01-16 11:14:07 -08:00
Hackerpilot 956dd204dc Rename 2015-01-16 11:12:50 -08:00
Hackerpilot 5d2aebbf0a More improvements to the unmodified variable check 2015-01-16 11:10:41 -08:00
Hackerpilot 235af118d1 Whitespace 2015-01-15 13:32:12 -08:00
Hackerpilot 8dc46e3992 Improvements to the onmodified variable checker 2015-01-15 13:24:42 -08:00
Hackerpilot f7ffced8ee More enum fixes 2015-01-14 18:11:42 -08:00
Hackerpilot 55091c8b5c Things marked 'enum' should not be changed to 'immutable 2015-01-14 18:04:20 -08:00
Hackerpilot fd51353abf Add possible immutable variable detector 2015-01-14 17:54:51 -08:00
Hackerpilot 1c7df37b46 Update libdparse 2015-01-12 14:22:37 -08:00
Hackerpilot 3d6ced141c Fix range violation 2015-01-07 15:26:12 -08:00
Hackerpilot 5180a5b857 Fix #219 2015-01-06 16:57:26 -08:00
Hackerpilot 7a80c0f643 Fix #217 2015-01-05 17:52:10 -08:00
Hackerpilot 94c479a641 Fix compile error 2015-01-05 13:39:24 -08:00
Hackerpilot d0f30eb140 Fix #215 2015-01-04 02:20:05 -08:00
Hackerpilot 90fe5f65ef Allow 'immutable' to count towards the property check 2015-01-03 20:49:40 -08:00
Hackerpilot 93b3873ae0 Implement #126 2015-01-03 20:44:31 -08:00
sinkuu eb86a0c196 Fix XML syntax error 2014-12-26 07:28:07 +09:00
Hackerpilot d1a7424a36 Update to new libdparse 2014-12-15 22:42:22 +00:00
Hackerpilot 6569468502 Do not flag abstract functions in classes inside of interfaces 2014-11-24 15:35:56 -08:00
Hackerpilot 0b28dfa652 Catch more useless uses of 'abstract' 2014-11-24 15:32:33 -08:00
Hackerpilot 03454d6b65 Warn about redundant 'abstract' attribute on functions in interfaces. Fixes #202 2014-11-24 15:13:19 -08:00