aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/github.com/mgechev/revive/rule/function-length.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/mgechev/revive/rule/function-length.go')
-rw-r--r--vendor/github.com/mgechev/revive/rule/function-length.go9
1 files changed, 8 insertions, 1 deletions
diff --git a/vendor/github.com/mgechev/revive/rule/function-length.go b/vendor/github.com/mgechev/revive/rule/function-length.go
index d600d7a2a..f7ab8b98e 100644
--- a/vendor/github.com/mgechev/revive/rule/function-length.go
+++ b/vendor/github.com/mgechev/revive/rule/function-length.go
@@ -19,13 +19,13 @@ type FunctionLength struct {
func (r *FunctionLength) configure(arguments lint.Arguments) {
r.Lock()
+ defer r.Unlock()
if !r.configured {
maxStmt, maxLines := r.parseArguments(arguments)
r.maxStmt = int(maxStmt)
r.maxLines = int(maxLines)
r.configured = true
}
- r.Unlock()
}
// Apply applies the rule to given file.
@@ -53,7 +53,14 @@ func (*FunctionLength) Name() string {
return "function-length"
}
+const defaultFuncStmtsLimit = 50
+const defaultFuncLinesLimit = 75
+
func (*FunctionLength) parseArguments(arguments lint.Arguments) (maxStmt, maxLines int64) {
+ if len(arguments) == 0 {
+ return defaultFuncStmtsLimit, defaultFuncLinesLimit
+ }
+
if len(arguments) != 2 {
panic(fmt.Sprintf(`invalid configuration for "function-length" rule, expected 2 arguments but got %d`, len(arguments)))
}