Preparing report...

Report for github.com/breml/logstash-config

A+    Excellent!    Found 15 issues across 30 files

Tweet

gofmt100%

Gofmt formats Go programs. We run gofmt -s on your code, where -s is for the "simplify" command

No problems detected. Good job!


go_vet100%

go vet examines Go source code and reports suspicious constructs, such as Printf calls whose arguments do not align with the format string.

No problems detected. Good job!


gocyclo93%

Gocyclo calculates cyclomatic complexities of functions in Go source code. The cyclomatic complexity of a function is calculated according to the following rules: 1 is the base complexity of a function +1 for each 'if', 'for', 'case', '&&' or '||' Go Report Card warns on functions with cyclomatic complexity > 15.


golint73%

Golint is a linter for Go source code.

    • logstash-config/logstash_config_options.go
    • Line 5: warning: comment on exported function IgnoreComments should be of the form "IgnoreComments ..." (golint)
    • Line 18: warning: comment on exported function ExceptionalCommentsWarning should be of the form "ExceptionalCommentsWarning ..." (golint)
    • logstash-config/ast/ast.go
    • Line 10: warning: exported type Node should have comment or be unexported (golint)
    • Line 22: warning: exported type Pos should have comment or be unexported (golint)
    • Line 32: warning: exported var InvalidPos should have comment or be unexported (golint)
    • Line 34: warning: exported method Config.Pos should have comment or be unexported (golint)
    • Line 35: warning: exported method PluginSection.Pos should have comment or be unexported (golint)
    • Line 36: warning: exported method Plugin.Pos should have comment or be unexported (golint)
    • Line 37: warning: exported method PluginAttribute.Pos should have comment or be unexported (golint)
    • Line 38: warning: exported method StringAttribute.Pos should have comment or be unexported (golint)
    • Line 39: warning: exported method NumberAttribute.Pos should have comment or be unexported (golint)
    • Line 40: warning: exported method ArrayAttribute.Pos should have comment or be unexported (golint)
    • Line 41: warning: exported method HashAttribute.Pos should have comment or be unexported (golint)
    • Line 42: warning: exported method HashEntry.Pos should have comment or be unexported (golint)
    • Line 43: warning: exported method Branch.Pos should have comment or be unexported (golint)
    • Line 44: warning: exported method IfBlock.Pos should have comment or be unexported (golint)
    • Line 45: warning: exported method ElseIfBlock.Pos should have comment or be unexported (golint)
    • Line 46: warning: exported method ElseBlock.Pos should have comment or be unexported (golint)
    • Line 47: warning: exported method Condition.Pos should have comment or be unexported (golint)
    • Line 53: warning: exported method BoolExpression.Pos should have comment or be unexported (golint)
    • Line 54: warning: exported method ConditionExpression.Pos should have comment or be unexported (golint)
    • Line 55: warning: exported method NegativeConditionExpression.Pos should have comment or be unexported (golint)
    • Line 56: warning: exported method NegativeSelectorExpression.Pos should have comment or be unexported (golint)
    • Line 57: warning: exported method InExpression.Pos should have comment or be unexported (golint)
    • Line 58: warning: exported method NotInExpression.Pos should have comment or be unexported (golint)
    • Line 59: warning: exported method RvalueExpression.Pos should have comment or be unexported (golint)
    • Line 60: warning: exported method CompareExpression.Pos should have comment or be unexported (golint)
    • Line 61: warning: exported method CompareOperator.Pos should have comment or be unexported (golint)
    • Line 62: warning: exported method RegexpExpression.Pos should have comment or be unexported (golint)
    • Line 63: warning: exported method Regexp.Pos should have comment or be unexported (golint)
    • Line 64: warning: exported method RegexpOperator.Pos should have comment or be unexported (golint)
    • Line 65: warning: exported method BooleanOperator.Pos should have comment or be unexported (golint)
    • Line 66: warning: exported method Selector.Pos should have comment or be unexported (golint)
    • Line 67: warning: exported method SelectorElement.Pos should have comment or be unexported (golint)
    • Line 101: warning: exported type Whitespace should have comment or be unexported (golint)
    • Line 103: warning: exported type CommentBlock should have comment or be unexported (golint)
    • Line 105: warning: exported function NewCommentBlock should have comment or be unexported (golint)
    • Line 117: warning: exported type Comment should have comment or be unexported (golint)
    • Line 123: warning: exported function NewComment should have comment or be unexported (golint)
    • Line 620: warning: exported type HashEntryKey should have comment or be unexported (golint)
    • Line 1282: warning: receiver name be should be consistent with previous receiver name bo for BooleanOperator (golint)

license100%

Checks whether your project has a LICENSE file.

No problems detected. Good job!


ineffassign63%

IneffAssign detects ineffectual assignments in Go code.

    • logstash-config/logstash_config_helper.go
    • Line 22: warning: undeclared name: current (ineffassign)
    • Line 30: warning: undeclared name: current (ineffassign)
    • Line 35: warning: undeclared name: current (ineffassign)
    • Line 39: warning: undeclared name: current (ineffassign)
    • Line 48: warning: undeclared name: current (ineffassign)
    • Line 71: warning: undeclared name: current (ineffassign)
    • Line 84: warning: undeclared name: current (ineffassign)
    • Line 127: warning: undeclared name: current (ineffassign)
    • Line 137: warning: undeclared name: current (ineffassign)
    • Line 141: warning: undeclared name: current (ineffassign)
    • Line 170: warning: undeclared name: current (ineffassign)
    • Line 188: warning: undeclared name: current (ineffassign)
    • Line 203: warning: undeclared name: current (ineffassign)
    • Line 221: warning: undeclared name: current (ineffassign)
    • Line 245: warning: undeclared name: current (ineffassign)
    • Line 285: warning: undeclared name: current (ineffassign)
    • Line 297: warning: undeclared name: current (ineffassign)
    • Line 304: warning: undeclared name: current (ineffassign)
    • Line 313: warning: undeclared name: current (ineffassign)
    • Line 326: warning: undeclared name: current (ineffassign)
    • Line 339: warning: undeclared name: current (ineffassign)
    • Line 361: warning: undeclared name: current (ineffassign)
    • Line 371: warning: undeclared name: current (ineffassign)
    • Line 377: warning: undeclared name: current (ineffassign)
    • Line 383: warning: undeclared name: current (ineffassign)
    • Line 406: warning: undeclared name: current (ineffassign)
    • Line 422: warning: undeclared name: current (ineffassign)
    • Line 429: warning: undeclared name: current (ineffassign)
    • Line 436: warning: undeclared name: current (ineffassign)
    • Line 443: warning: undeclared name: current (ineffassign)
    • Line 458: warning: undeclared name: current (ineffassign)
    • Line 474: warning: undeclared name: current (ineffassign)
    • Line 480: warning: undeclared name: current (ineffassign)
    • Line 486: warning: undeclared name: current (ineffassign)
    • Line 492: warning: undeclared name: current (ineffassign)
    • Line 498: warning: undeclared name: current (ineffassign)
    • Line 504: warning: undeclared name: current (ineffassign)
    • Line 510: warning: undeclared name: current (ineffassign)
    • Line 516: warning: undeclared name: current (ineffassign)
    • Line 522: warning: undeclared name: current (ineffassign)
    • Line 528: warning: undeclared name: current (ineffassign)
    • Line 567: warning: undeclared name: current (ineffassign)
    • Line 586: warning: undeclared name: current (ineffassign)
    • Line 615: warning: undeclared name: current (ineffassign)
    • Line 627: warning: undeclared name: current (ineffassign)
    • Line 634: warning: undeclared name: current (ineffassign)
    • Line 638: warning: undeclared name: current (ineffassign)
    • Line 642: warning: undeclared name: current (ineffassign)
    • /home/shawn/mygo/src/github.com/gojp/goreportcard/_repos/src/github.com/breml/logstash-config/logstash_config_helper.go
    • Line 22: warning: undeclared name: current (ineffassign)
    • Line 30: warning: undeclared name: current (ineffassign)
    • Line 35: warning: undeclared name: current (ineffassign)
    • Line 39: warning: undeclared name: current (ineffassign)
    • Line 48: warning: undeclared name: current (ineffassign)
    • Line 71: warning: undeclared name: current (ineffassign)
    • Line 84: warning: undeclared name: current (ineffassign)
    • Line 127: warning: undeclared name: current (ineffassign)
    • Line 137: warning: undeclared name: current (ineffassign)
    • Line 141: warning: undeclared name: current (ineffassign)
    • Line 170: warning: undeclared name: current (ineffassign)
    • Line 188: warning: undeclared name: current (ineffassign)
    • Line 203: warning: undeclared name: current (ineffassign)
    • Line 221: warning: undeclared name: current (ineffassign)
    • Line 245: warning: undeclared name: current (ineffassign)
    • Line 285: warning: undeclared name: current (ineffassign)
    • Line 297: warning: undeclared name: current (ineffassign)
    • Line 304: warning: undeclared name: current (ineffassign)
    • Line 313: warning: undeclared name: current (ineffassign)
    • Line 326: warning: undeclared name: current (ineffassign)
    • Line 339: warning: undeclared name: current (ineffassign)
    • Line 361: warning: undeclared name: current (ineffassign)
    • Line 371: warning: undeclared name: current (ineffassign)
    • Line 377: warning: undeclared name: current (ineffassign)
    • Line 383: warning: undeclared name: current (ineffassign)
    • Line 406: warning: undeclared name: current (ineffassign)
    • Line 422: warning: undeclared name: current (ineffassign)
    • Line 429: warning: undeclared name: current (ineffassign)
    • Line 436: warning: undeclared name: current (ineffassign)
    • Line 443: warning: undeclared name: current (ineffassign)
    • Line 458: warning: undeclared name: current (ineffassign)
    • Line 474: warning: undeclared name: current (ineffassign)
    • Line 480: warning: undeclared name: current (ineffassign)
    • Line 486: warning: undeclared name: current (ineffassign)
    • Line 492: warning: undeclared name: current (ineffassign)
    • Line 498: warning: undeclared name: current (ineffassign)
    • Line 504: warning: undeclared name: current (ineffassign)
    • Line 510: warning: undeclared name: current (ineffassign)
    • Line 516: warning: undeclared name: current (ineffassign)
    • Line 522: warning: undeclared name: current (ineffassign)
    • Line 528: warning: undeclared name: current (ineffassign)
    • Line 567: warning: undeclared name: current (ineffassign)
    • Line 586: warning: undeclared name: current (ineffassign)
    • Line 615: warning: undeclared name: current (ineffassign)
    • Line 627: warning: undeclared name: current (ineffassign)
    • Line 634: warning: undeclared name: current (ineffassign)
    • Line 638: warning: undeclared name: current (ineffassign)
    • Line 642: warning: undeclared name: current (ineffassign)
    • Line 22: warning: undeclared name: current (ineffassign)
    • Line 30: warning: undeclared name: current (ineffassign)
    • Line 35: warning: undeclared name: current (ineffassign)
    • Line 39: warning: undeclared name: current (ineffassign)
    • Line 48: warning: undeclared name: current (ineffassign)
    • Line 71: warning: undeclared name: current (ineffassign)
    • Line 84: warning: undeclared name: current (ineffassign)
    • Line 127: warning: undeclared name: current (ineffassign)
    • Line 137: warning: undeclared name: current (ineffassign)
    • Line 141: warning: undeclared name: current (ineffassign)
    • Line 170: warning: undeclared name: current (ineffassign)
    • Line 188: warning: undeclared name: current (ineffassign)
    • Line 203: warning: undeclared name: current (ineffassign)
    • Line 221: warning: undeclared name: current (ineffassign)
    • Line 245: warning: undeclared name: current (ineffassign)
    • Line 285: warning: undeclared name: current (ineffassign)
    • Line 297: warning: undeclared name: current (ineffassign)
    • Line 304: warning: undeclared name: current (ineffassign)
    • Line 313: warning: undeclared name: current (ineffassign)
    • Line 326: warning: undeclared name: current (ineffassign)
    • Line 339: warning: undeclared name: current (ineffassign)
    • Line 361: warning: undeclared name: current (ineffassign)
    • Line 371: warning: undeclared name: current (ineffassign)
    • Line 377: warning: undeclared name: current (ineffassign)
    • Line 383: warning: undeclared name: current (ineffassign)
    • Line 406: warning: undeclared name: current (ineffassign)
    • Line 422: warning: undeclared name: current (ineffassign)
    • Line 429: warning: undeclared name: current (ineffassign)
    • Line 436: warning: undeclared name: current (ineffassign)
    • Line 443: warning: undeclared name: current (ineffassign)
    • Line 458: warning: undeclared name: current (ineffassign)
    • Line 474: warning: undeclared name: current (ineffassign)
    • Line 480: warning: undeclared name: current (ineffassign)
    • Line 486: warning: undeclared name: current (ineffassign)
    • Line 492: warning: undeclared name: current (ineffassign)
    • Line 498: warning: undeclared name: current (ineffassign)
    • Line 504: warning: undeclared name: current (ineffassign)
    • Line 510: warning: undeclared name: current (ineffassign)
    • Line 516: warning: undeclared name: current (ineffassign)
    • Line 522: warning: undeclared name: current (ineffassign)
    • Line 528: warning: undeclared name: current (ineffassign)
    • Line 567: warning: undeclared name: current (ineffassign)
    • Line 586: warning: undeclared name: current (ineffassign)
    • Line 615: warning: undeclared name: current (ineffassign)
    • Line 627: warning: undeclared name: current (ineffassign)
    • Line 634: warning: undeclared name: current (ineffassign)
    • Line 638: warning: undeclared name: current (ineffassign)
    • Line 642: warning: undeclared name: current (ineffassign)
    • Line 22: warning: undeclared name: current (ineffassign)
    • Line 30: warning: undeclared name: current (ineffassign)
    • Line 35: warning: undeclared name: current (ineffassign)
    • Line 39: warning: undeclared name: current (ineffassign)
    • Line 48: warning: undeclared name: current (ineffassign)
    • Line 71: warning: undeclared name: current (ineffassign)
    • Line 84: warning: undeclared name: current (ineffassign)
    • Line 127: warning: undeclared name: current (ineffassign)
    • Line 137: warning: undeclared name: current (ineffassign)
    • Line 141: warning: undeclared name: current (ineffassign)
    • Line 170: warning: undeclared name: current (ineffassign)
    • Line 188: warning: undeclared name: current (ineffassign)
    • Line 203: warning: undeclared name: current (ineffassign)
    • Line 221: warning: undeclared name: current (ineffassign)
    • Line 245: warning: undeclared name: current (ineffassign)
    • Line 285: warning: undeclared name: current (ineffassign)
    • Line 297: warning: undeclared name: current (ineffassign)
    • Line 304: warning: undeclared name: current (ineffassign)
    • Line 313: warning: undeclared name: current (ineffassign)
    • Line 326: warning: undeclared name: current (ineffassign)
    • Line 339: warning: undeclared name: current (ineffassign)
    • Line 361: warning: undeclared name: current (ineffassign)
    • Line 371: warning: undeclared name: current (ineffassign)
    • Line 377: warning: undeclared name: current (ineffassign)
    • Line 383: warning: undeclared name: current (ineffassign)
    • Line 406: warning: undeclared name: current (ineffassign)
    • Line 422: warning: undeclared name: current (ineffassign)
    • Line 429: warning: undeclared name: current (ineffassign)
    • Line 436: warning: undeclared name: current (ineffassign)
    • Line 443: warning: undeclared name: current (ineffassign)
    • Line 458: warning: undeclared name: current (ineffassign)
    • Line 474: warning: undeclared name: current (ineffassign)
    • Line 480: warning: undeclared name: current (ineffassign)
    • Line 486: warning: undeclared name: current (ineffassign)
    • Line 492: warning: undeclared name: current (ineffassign)
    • Line 498: warning: undeclared name: current (ineffassign)
    • Line 504: warning: undeclared name: current (ineffassign)
    • Line 510: warning: undeclared name: current (ineffassign)
    • Line 516: warning: undeclared name: current (ineffassign)
    • Line 522: warning: undeclared name: current (ineffassign)
    • Line 528: warning: undeclared name: current (ineffassign)
    • Line 567: warning: undeclared name: current (ineffassign)
    • Line 586: warning: undeclared name: current (ineffassign)
    • Line 615: warning: undeclared name: current (ineffassign)
    • Line 627: warning: undeclared name: current (ineffassign)
    • Line 634: warning: undeclared name: current (ineffassign)
    • Line 638: warning: undeclared name: current (ineffassign)
    • Line 642: warning: undeclared name: current (ineffassign)
    • Line 22: warning: undeclared name: current (ineffassign)
    • Line 30: warning: undeclared name: current (ineffassign)
    • Line 35: warning: undeclared name: current (ineffassign)
    • Line 39: warning: undeclared name: current (ineffassign)
    • Line 48: warning: undeclared name: current (ineffassign)
    • Line 71: warning: undeclared name: current (ineffassign)
    • Line 84: warning: undeclared name: current (ineffassign)
    • Line 127: warning: undeclared name: current (ineffassign)
    • Line 137: warning: undeclared name: current (ineffassign)
    • Line 141: warning: undeclared name: current (ineffassign)
    • Line 170: warning: undeclared name: current (ineffassign)
    • Line 188: warning: undeclared name: current (ineffassign)
    • Line 203: warning: undeclared name: current (ineffassign)
    • Line 221: warning: undeclared name: current (ineffassign)
    • Line 245: warning: undeclared name: current (ineffassign)
    • Line 285: warning: undeclared name: current (ineffassign)
    • Line 297: warning: undeclared name: current (ineffassign)
    • Line 304: warning: undeclared name: current (ineffassign)
    • Line 313: warning: undeclared name: current (ineffassign)
    • Line 326: warning: undeclared name: current (ineffassign)
    • Line 339: warning: undeclared name: current (ineffassign)
    • Line 361: warning: undeclared name: current (ineffassign)
    • Line 371: warning: undeclared name: current (ineffassign)
    • Line 377: warning: undeclared name: current (ineffassign)
    • Line 383: warning: undeclared name: current (ineffassign)
    • Line 406: warning: undeclared name: current (ineffassign)
    • Line 422: warning: undeclared name: current (ineffassign)
    • Line 429: warning: undeclared name: current (ineffassign)
    • Line 436: warning: undeclared name: current (ineffassign)
    • Line 443: warning: undeclared name: current (ineffassign)
    • Line 458: warning: undeclared name: current (ineffassign)
    • Line 474: warning: undeclared name: current (ineffassign)
    • Line 480: warning: undeclared name: current (ineffassign)
    • Line 486: warning: undeclared name: current (ineffassign)
    • Line 492: warning: undeclared name: current (ineffassign)
    • Line 498: warning: undeclared name: current (ineffassign)
    • Line 504: warning: undeclared name: current (ineffassign)
    • Line 510: warning: undeclared name: current (ineffassign)
    • Line 516: warning: undeclared name: current (ineffassign)
    • Line 522: warning: undeclared name: current (ineffassign)
    • Line 528: warning: undeclared name: current (ineffassign)
    • Line 567: warning: undeclared name: current (ineffassign)
    • Line 586: warning: undeclared name: current (ineffassign)
    • Line 615: warning: undeclared name: current (ineffassign)
    • Line 627: warning: undeclared name: current (ineffassign)
    • Line 634: warning: undeclared name: current (ineffassign)
    • Line 638: warning: undeclared name: current (ineffassign)
    • Line 642: warning: undeclared name: current (ineffassign)
    • Line 22: warning: undeclared name: current (ineffassign)
    • Line 30: warning: undeclared name: current (ineffassign)
    • Line 35: warning: undeclared name: current (ineffassign)
    • Line 39: warning: undeclared name: current (ineffassign)
    • Line 48: warning: undeclared name: current (ineffassign)
    • Line 71: warning: undeclared name: current (ineffassign)
    • Line 84: warning: undeclared name: current (ineffassign)
    • Line 127: warning: undeclared name: current (ineffassign)
    • Line 137: warning: undeclared name: current (ineffassign)
    • Line 141: warning: undeclared name: current (ineffassign)
    • Line 170: warning: undeclared name: current (ineffassign)
    • Line 188: warning: undeclared name: current (ineffassign)
    • Line 203: warning: undeclared name: current (ineffassign)
    • Line 221: warning: undeclared name: current (ineffassign)
    • Line 245: warning: undeclared name: current (ineffassign)
    • Line 285: warning: undeclared name: current (ineffassign)
    • Line 297: warning: undeclared name: current (ineffassign)
    • Line 304: warning: undeclared name: current (ineffassign)
    • Line 313: warning: undeclared name: current (ineffassign)
    • Line 326: warning: undeclared name: current (ineffassign)
    • Line 339: warning: undeclared name: current (ineffassign)
    • Line 361: warning: undeclared name: current (ineffassign)
    • Line 371: warning: undeclared name: current (ineffassign)
    • Line 377: warning: undeclared name: current (ineffassign)
    • Line 383: warning: undeclared name: current (ineffassign)
    • Line 406: warning: undeclared name: current (ineffassign)
    • Line 422: warning: undeclared name: current (ineffassign)
    • Line 429: warning: undeclared name: current (ineffassign)
    • Line 436: warning: undeclared name: current (ineffassign)
    • Line 443: warning: undeclared name: current (ineffassign)
    • Line 458: warning: undeclared name: current (ineffassign)
    • Line 474: warning: undeclared name: current (ineffassign)
    • Line 480: warning: undeclared name: current (ineffassign)
    • Line 486: warning: undeclared name: current (ineffassign)
    • Line 492: warning: undeclared name: current (ineffassign)
    • Line 498: warning: undeclared name: current (ineffassign)
    • Line 504: warning: undeclared name: current (ineffassign)
    • Line 510: warning: undeclared name: current (ineffassign)
    • Line 516: warning: undeclared name: current (ineffassign)
    • Line 522: warning: undeclared name: current (ineffassign)
    • Line 528: warning: undeclared name: current (ineffassign)
    • Line 567: warning: undeclared name: current (ineffassign)
    • Line 586: warning: undeclared name: current (ineffassign)
    • Line 615: warning: undeclared name: current (ineffassign)
    • Line 627: warning: undeclared name: current (ineffassign)
    • Line 634: warning: undeclared name: current (ineffassign)
    • Line 638: warning: undeclared name: current (ineffassign)
    • Line 642: warning: undeclared name: current (ineffassign)
    • logstash-config/logstash_config_test.go
    • Line 22: warning: undeclared name: ParseReader (ineffassign)
    • Line 390: warning: undeclared name: ParseReader (ineffassign)
    • Line 412: warning: undeclared name: ParseFile (ineffassign)
    • Line 664: warning: undeclared name: ParseReader (ineffassign)
    • Line 685: warning: undeclared name: ParseFile (ineffassign)
    • Line 921: warning: undeclared name: ParseReader (ineffassign)
    • Line 944: warning: undeclared name: ParseFile (ineffassign)
    • Line 980: warning: undeclared name: ParseFile (ineffassign)
    • Line 11: warning: "github.com/breml/logstash-config/ast" imported but not used (ineffassign)

misspell90%

Misspell Finds commonly misspelled English words