chavacava
65beded8c4
Merge remote-tracking branch 'upstream/master' into unconditional-recursion
2020-05-13 22:13:08 +02:00
chavacava
91adb8bc8a
first working version
2020-05-09 17:10:34 +02:00
chavacava
0c49c6a991
identical-branches initial implementation
2020-05-08 22:08:16 +02:00
SalvadorC
67c83886d7
Late return rule ( #406 )
...
* fisrt working version of late-return rule
* late-update: adds doc
* renames to early-return
* fix rule failure condition
* fix alphabetical sorting of early-return
2020-05-08 11:14:21 -07:00
SalvadorC
c469747758
renames fixtures as testdata to avoid spurious dependencies ( #359 )
2020-03-02 09:12:43 -10:00
Bernhard Reisenberger
22014c3f08
Add rule 'range-val-address' ( #353 )
...
* Add rule 'range-val-address'
* range-val-address: replace pick with visitor; avoid nesting; improve failure message
* range-val-address: not all callexprs are bad. limit to 'append'
2020-02-26 10:33:00 -10:00
SalvadorC
a24e8e7b81
String of int ( #342 )
...
* string-of-int: working version
* adds doc of string-to-int
2020-02-18 09:38:01 -08:00
SalvadorC
2bec93f05f
fixes issue 290 ( #294 )
2020-01-07 14:46:21 -08:00
chavacava
611c6f7c81
firts working version
2019-12-14 08:27:06 +01:00
dshemin
98b0cb55b7
Revert benchmark code
2019-11-28 10:19:08 +07:00
dshemin
9bb943735e
Fix review comments
2019-11-28 10:14:21 +07:00
dshemin
3c93b9c1a4
Fix #245 File header rule: index out of range [0] with length 0
2019-11-28 01:38:43 +07:00
SalvadorC
c8ee35a500
adds blacklist to unhandled-error ( #128 )
...
* adds blacklist for unhandled-error
* uses ignoreList in place of blackList
2019-04-29 19:56:12 -07:00
SalvadorC
8aa0cd8bd4
unhandled-error (new rule) ( #124 )
...
* unhandled-error (new rule)
* better failure msg
* encapsulates error type detection
2019-04-27 19:23:17 -07:00
SalvadorC
e8c1baf8ac
optimizes import-blacklist ( #123 )
2019-04-22 10:58:02 -07:00
SalvadorC
2474f6cecb
simpler and more efficient implementation of unused-parameter ( #121 )
2019-04-21 10:13:03 -07:00
SalvadorC
00a86ae1fd
new rule: unused-receiver ( #119 )
...
* new rule: unused-receiver
* unused-receiver: adds more test cases
2019-04-18 10:35:51 -07:00
SalvadorC
745bcf65aa
bare-return (first working version) ( #117 )
...
New rule bare-return
2019-04-17 22:55:52 +02:00
SalvadorC
2ce440cf96
new rule: import shadowing ( #114 )
...
* Adds rule superfluous-else (an extension of indent-error-flow)
* Fix superfluous-else rule struct namming.
* Adds superfuous-else rule to the rules table
* Adds confusing-naming rule
* adds multifile test
* clean-up
* fix config.go
* clean master
* new ADS rule: newerr
* ADS-print working version
* ads-print final version
* ads-lost-err working version
* fix ads-print
* removes ads rules from master
* new rule: import-shadowing
* removes ads rules from master
* new rule: import-shadowing
* fix defaults
* adds explanations on the rule implementation
2019-03-27 11:46:20 -07:00
SalvadorC
fbefad8558
New rule: duplicated-imports ( #111 )
...
* Adds rule superfluous-else (an extension of indent-error-flow)
* Fix superfluous-else rule struct namming.
* Adds superfuous-else rule to the rules table
* Adds confusing-naming rule
* adds multifile test
* clean-up
* fix config.go
* clean master
* new ADS rule: newerr
* ADS-print working version
* ads-print final version
* ads-lost-err working version
* adds duplicated-imports rule
* adds duplicated-imports rule
2019-03-20 11:54:03 -07:00
SalvadorC
202adf0786
Fix 102 ( #103 )
...
Do not require additional newline for disabling multiple rules
2019-01-24 09:14:43 -08:00
SalvadorC
55fe366696
call-to-gc (new rule) ( #90 )
2018-10-31 07:32:23 -07:00
xuri
3c177e2824
New rule: line-length-limit ( #86 )
...
* New rule: line-length-limit
* simplify the panic message of rule line-length-limit
* Refactors `line-length-limit` rule, use private `check` method instead of `Visit`
2018-10-19 08:18:33 -04:00
Genadi Samokovarov
d2e0e5a0ed
Introduce the empty-lines rule that verifies there are no {head,trail}ing lines ( #81 )
2018-10-11 14:52:46 -07:00
xuri
7d2c43c827
Rename rule name waitgroup-by-copy to waitgroup-by-value
2018-10-03 16:01:41 +08:00
xuri
9545122d39
New rule: atomic ( #77 )
2018-10-01 12:24:17 -07:00
SalvadorC
6ebe5bbb1e
waitgroup-by-value (new rule) ( #76 )
...
* waitgroup-by-value (new rule)
* code simplification
2018-09-30 12:29:11 -07:00
xuri
924e3db3ba
Rename rule range-loop-var
to range-val-in-closure
.
2018-09-29 11:32:32 +08:00
xuri
b34a6c053e
New rule: range-loop-var
2018-09-27 23:21:10 +08:00
SalvadorC
388baa3eeb
Fix linter warnings (recommended config) in the code ( #71 )
2018-09-22 15:27:22 -07:00
Sylvain Kerkour
02575a7674
Add the imports-blacklist rule ( #68 )
...
* Add the imports-blacklist rule with tests
* Add the imports-blacklist rule to README.md
* Update the imports-blacklist rule to use map[string]bool so that we can have the algorithm in Visit below with O(n) instead of O(n*m)
* Fix the imports-blacklist rule to be case sensitive
2018-09-17 13:06:42 -07:00
SalvadorC
7240bd56d0
Merge pull request #62 from xuri/return-value-limit
...
New rule: return-result-limit
2018-09-17 21:56:59 +02:00
xuri
dd1a8bf4e6
Add test case for function-result-limit
rule, and updated README
2018-09-17 18:50:04 +08:00
mgechev
90f51530cc
Add white & black lists for var-naming
...
This PR introduces a white & black lists of initialisms for the
`var-naming` rule.
Now the rule can be configured with:
```toml
[rule.var-naming]
arguments = [["ID"], ["VM", "BAR"]]
```
This way, the linter will ignore `customId` but will throw on `customVm` or `customBar`.
Fix #41
2018-09-15 15:05:31 -07:00
SalvadorC
f004425b6e
redefines-builtin-id (new rule) ( #60 )
2018-09-13 19:19:49 -07:00
SalvadorC
81bdff4472
constant-logical-expr (new rule) ( #55 )
...
* suspicious-logical-expr (new rule)
* renames 'suspicious-logical-expression' to 'constant-logical-expression'
2018-08-23 11:45:10 -07:00
SalvadorC
771aa23069
bool-literal-in-expr (new rule) ( #54 )
...
* bool-literal-in-expr (new rule)
* bool-literal-in-expr: add test case and fix typo
2018-08-23 11:10:17 -07:00
SalvadorC
613fd24a3b
modifies-value-receiver (new rule) ( #51 )
2018-08-13 15:18:28 -07:00
SalvadorC
6fa95fb6ba
struct-tag (new rule) ( #47 )
2018-07-28 09:07:31 -07:00
SalvadorC
0404d66548
unnecessary-stmt (new rule) ( #45 )
...
* simpler (new rule)
* simpler: checks unitary switches
* unnecessary-stmt (new rule)
2018-07-27 22:38:39 -07:00
SalvadorC
3d8d46af0b
flag-parameter (new rule) ( #44 )
...
* flag-parameter (new rule)
* fix failure confidence
2018-07-21 22:58:48 -07:00
chavacava
5248ad8ed9
add-constant (new rule) ( #39 )
2018-07-17 12:21:27 -07:00
chavacava
db6c522a37
New rule: unreachable-code ( #38 )
...
* Adds rule superfluous-else (an extension of indent-error-flow)
* Fix superfluous-else rule struct namming.
* Adds superfuous-else rule to the rules table
* Adds confusing-naming rule
* adds multifile test
* [WIP] fix multiple file test
* draft solution for detecting confusing-names through multiple files
* [WIP] confusing-name multiple files
* clean-up
* draft working version
* cleaner version + more informative messages
* adds check on struct field names
* fix config.go
* clean master
* new ADS rule: newerr
* ADS-print working version
* ads-print final version
* ads-lost-err working version
* confusing-namming: fix tests
* removes ads-* rules
* rule unreachable-code
* unreachable-code refactored version
* skip corner case of mandatory return
2018-07-16 14:23:47 -07:00
chavacava
c2e2dbac85
New rule: unused-parameter ( #28 )
...
* Adds rule superfluous-else (an extension of indent-error-flow)
* Fix superfluous-else rule struct namming.
* Adds superfuous-else rule to the rules table
* Adds confusing-naming rule
* adds multifile test
* [WIP] fix multiple file test
* draft solution for detecting confusing-names through multiple files
* [WIP] confusing-name multiple files
* clean-up
* draft working version
* cleaner version + more informative messages
* adds check on struct field names
* fix config.go
* clean master
* new ADS rule: newerr
* ADS-print working version
* ads-print final version
* ads-lost-err working version
* confusing-namming: fix tests
* unused-parameter: working version
* WIP adds scopes - still imprecise ( eg a:=a is not detected as use)
* w/scopes and more precise
* adds test on structs
* adds test w/ var shadowing
* more precise handling of for/switch statements
* fix check of +=, -=, *= and the like. Adds better support for slices and switchs
2018-07-07 18:40:02 +10:00
chavacava
b8eababb0d
New rule: confusing-results ( #27 )
...
* Adds rule superfluous-else (an extension of indent-error-flow)
* Fix superfluous-else rule struct namming.
* Adds superfuous-else rule to the rules table
* Adds confusing-naming rule
* adds multifile test
* clean-up
* fix config.go
* confusing-results working version
2018-07-02 12:09:58 +10:00
chavacava
443bfc9e0b
New rule: Confusing naming ( #16 )
...
* Adds rule superfluous-else (an extension of indent-error-flow)
* Fix superfluous-else rule struct namming.
* Adds superfuous-else rule to the rules table
* Adds confusing-naming rule
* adds multifile test
* [WIP] fix multiple file test
* draft solution for detecting confusing-names through multiple files
* [WIP] confusing-name multiple files
* draft working version
* cleaner version + more informative messages
* adds check on struct field names
* confusing-namming: fix tests
2018-07-02 12:05:20 +10:00
chavacava
68deb55492
New rule deep-exit ( #26 )
...
* Adds rule superfluous-else (an extension of indent-error-flow)
* Fix superfluous-else rule struct namming.
* Adds superfuous-else rule to the rules table
* Adds confusing-naming rule
* adds multifile test
* clean-up
* fix config.go
* deep-exit: first working version
* fix pbs from @mgechev review
* deep-exit: modifies failure message
2018-06-27 06:21:03 +10:00
chavacava
b2532b3c33
New rule: modifies-parameter ( #25 )
...
* Adds rule superfluous-else (an extension of indent-error-flow)
* Fix superfluous-else rule struct namming.
* Adds superfuous-else rule to the rules table
* Adds confusing-naming rule
* adds multifile test
* clean-up
* fix config.go
* working version
2018-06-24 17:26:21 +10:00
chavacava
f8c1094ecd
New rule: get-return ( #23 )
...
* Adds rule superfluous-else (an extension of indent-error-flow)
* Fix superfluous-else rule struct namming.
* Adds superfuous-else rule to the rules table
* Adds confusing-naming rule
* adds multifile test
* clean-up
* clean master
* running version
* isGetter now checks for non lowercase characters
2018-06-22 21:21:09 +10:00
Tamir Duberstein
1b2ffe282e
Improve tests ( #18 )
...
* Use subtests
* Make unexported-return type check
2018-06-11 11:22:06 -07:00