Preparing report...

Report for github.com/google/skylark

A    Great!    Found 21 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!


gocyclo60%

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.

    • skylark/resolve/resolve.go
    • Line 519: warning: cyclomatic complexity 50 of function (*resolver).expr() is high (> 15) (gocyclo)
    • Line 387: warning: cyclomatic complexity 25 of function (*resolver).stmt() is high (> 15) (gocyclo)
    • Line 677: warning: cyclomatic complexity 19 of function (*resolver).function() is high (> 15) (gocyclo)
    • skylark/eval.go
    • Line 467: warning: cyclomatic complexity 135 of function Binary() is high (> 15) (gocyclo)
    • Line 1142: warning: cyclomatic complexity 43 of function interpolate() is high (> 15) (gocyclo)
    • Line 984: warning: cyclomatic complexity 24 of function setArgs() is high (> 15) (gocyclo)
    • skylark/internal/compile/compile.go
    • Line 1136: warning: cyclomatic complexity 32 of function (*fcomp).expr() is high (> 15) (gocyclo)
    • Line 431: warning: cyclomatic complexity 28 of function (*pcomp).function() is high (> 15) (gocyclo)
    • Line 914: warning: cyclomatic complexity 24 of function (*fcomp).stmt() is high (> 15) (gocyclo)
    • Line 628: warning: cyclomatic complexity 19 of function (*fcomp).generate() is high (> 15) (gocyclo)
    • Line 1435: warning: cyclomatic complexity 16 of function (*fcomp).binop() is high (> 15) (gocyclo)
    • skylark/syntax/scan.go
    • Line 409: warning: cyclomatic complexity 92 of function (*scanner).nextToken() is high (> 15) (gocyclo)
    • Line 800: warning: cyclomatic complexity 53 of function (*scanner).scanNumber() is high (> 15) (gocyclo)
    • skylark/syntax/quote.go
    • Line 54: warning: cyclomatic complexity 31 of function unquote() is high (> 15) (gocyclo)
    • Line 201: warning: cyclomatic complexity 20 of function quote() is high (> 15) (gocyclo)
    • skylark/library.go
    • Line 1604: warning: cyclomatic complexity 32 of function string_format() is high (> 15) (gocyclo)
    • Line 577: warning: cyclomatic complexity 29 of function int_() is high (> 15) (gocyclo)
    • Line 285: warning: cyclomatic complexity 19 of function unpackOneArg() is high (> 15) (gocyclo)
    • skylark/value.go
    • Line 943: warning: cyclomatic complexity 25 of function writeValue() is high (> 15) (gocyclo)
    • Line 1078: warning: cyclomatic complexity 18 of function CompareDepth() is high (> 15) (gocyclo)

golint56%

Golint is a linter for Go source code.

    • skylark/skylarkstruct/struct.go
    • Line 158: warning: exported method Struct.Type should have comment or be unexported (golint)
    • Line 159: warning: exported method Struct.Truth should have comment or be unexported (golint)
    • Line 160: warning: exported method Struct.Hash should have comment or be unexported (golint)
    • Line 175: warning: exported method Struct.Freeze should have comment or be unexported (golint)
    • Line 181: warning: exported method Struct.Binary should have comment or be unexported (golint)
    • Line 181: warning: receiver name x should be consistent with previous receiver name s for Struct (golint)
    • Line 403: warning: exported method Struct.CompareSameType should have comment or be unexported (golint)
    • Line 403: warning: receiver name x should be consistent with previous receiver name s for Struct (golint)
    • skylark/internal/compile/compile.go
    • Line 1: warning: package comment should be of the form "Package compile ..." (golint)
    • Line 39: warning: comment on exported const Version should be of the form "Version ..." (golint)
    • Line 42: warning: exported type Opcode should have comment or be unexported (golint)
    • Line 335: warning: don't use underscores in Go names; struct field break_ should be break (golint)
    • Line 335: warning: don't use underscores in Go names; struct field continue_ should be continue (golint)
    • Line 360: warning: exported method Funcode.Position should have comment or be unexported (golint)
    • skylark/int.go
    • Line 116: warning: exported method Int.Type should have comment or be unexported (golint)
    • Line 117: warning: exported method Int.Freeze should have comment or be unexported (golint)
    • Line 118: warning: exported method Int.Truth should have comment or be unexported (golint)
    • Line 119: warning: exported method Int.Hash should have comment or be unexported (golint)
    • Line 126: warning: exported method Int.CompareSameType should have comment or be unexported (golint)
    • Line 126: warning: receiver name x should be consistent with previous receiver name i for Int (golint)
    • Line 137: warning: exported method Int.Sign should have comment or be unexported (golint)
    • Line 137: warning: receiver name x should be consistent with previous receiver name i for Int (golint)
    • Line 138: warning: exported method Int.Add should have comment or be unexported (golint)
    • Line 138: warning: receiver name x should be consistent with previous receiver name i for Int (golint)
    • Line 139: warning: exported method Int.Sub should have comment or be unexported (golint)
    • Line 139: warning: receiver name x should be consistent with previous receiver name i for Int (golint)
    • Line 140: warning: exported method Int.Mul should have comment or be unexported (golint)
    • Line 140: warning: receiver name x should be consistent with previous receiver name i for Int (golint)
    • Line 141: warning: exported method Int.Or should have comment or be unexported (golint)
    • Line 141: warning: receiver name x should be consistent with previous receiver name i for Int (golint)
    • Line 142: warning: exported method Int.And should have comment or be unexported (golint)
    • Line 142: warning: receiver name x should be consistent with previous receiver name i for Int (golint)
    • Line 143: warning: exported method Int.Xor should have comment or be unexported (golint)
    • Line 143: warning: receiver name x should be consistent with previous receiver name i for Int (golint)
    • Line 144: warning: exported method Int.Not should have comment or be unexported (golint)
    • Line 144: warning: receiver name x should be consistent with previous receiver name i for Int (golint)
    • Line 145: warning: exported method Int.Lsh should have comment or be unexported (golint)
    • Line 145: warning: receiver name x should be consistent with previous receiver name i for Int (golint)
    • Line 146: warning: exported method Int.Rsh should have comment or be unexported (golint)
    • Line 146: warning: receiver name x should be consistent with previous receiver name i for Int (golint)
    • Line 148: warning: comment on exported method Int.Div should be of the form "Div ..." (golint)
    • Line 149: warning: receiver name x should be consistent with previous receiver name i for Int (golint)
    • Line 159: warning: comment on exported method Int.Mod should be of the form "Mod ..." (golint)
    • Line 160: warning: receiver name x should be consistent with previous receiver name i for Int (golint)
    • skylark/value.go
    • Line 273: warning: exported type Side should have comment or be unexported (golint)
    • Line 276: warning: exported const Left should have comment (or a comment on this block) or be unexported (golint)
    • Line 309: warning: exported const None should have comment or be unexported (golint)
    • Line 312: warning: exported method NoneType.Type should have comment or be unexported (golint)
    • Line 313: warning: exported method NoneType.Freeze should have comment or be unexported (golint)
    • Line 314: warning: exported method NoneType.Truth should have comment or be unexported (golint)
    • Line 315: warning: exported method NoneType.Hash should have comment or be unexported (golint)
    • Line 316: warning: exported method NoneType.CompareSameType should have comment or be unexported (golint)
    • Line 324: warning: exported const False should have comment (or a comment on this block) or be unexported (golint)
    • Line 331: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 335: warning: exported method Bool.Type should have comment or be unexported (golint)
    • Line 336: warning: exported method Bool.Freeze should have comment or be unexported (golint)
    • Line 337: warning: exported method Bool.Truth should have comment or be unexported (golint)
    • Line 338: warning: exported method Bool.Hash should have comment or be unexported (golint)
    • Line 339: warning: exported method Bool.CompareSameType should have comment or be unexported (golint)
    • Line 339: warning: receiver name x should be consistent with previous receiver name b for Bool (golint)
    • Line 348: warning: exported method Float.Type should have comment or be unexported (golint)
    • Line 349: warning: exported method Float.Freeze should have comment or be unexported (golint)
    • Line 350: warning: exported method Float.Truth should have comment or be unexported (golint)
    • Line 351: warning: exported method Float.Hash should have comment or be unexported (golint)
    • Line 369: warning: exported method Float.CompareSameType should have comment or be unexported (golint)
    • Line 369: warning: receiver name x should be consistent with previous receiver name f for Float (golint)
    • Line 402: warning: exported method Float.Mod should have comment or be unexported (golint)
    • Line 402: warning: receiver name x should be consistent with previous receiver name f for Float (golint)
    • Line 419: warning: exported method String.GoString should have comment or be unexported (golint)
    • Line 420: warning: exported method String.Type should have comment or be unexported (golint)
    • Line 421: warning: exported method String.Freeze should have comment or be unexported (golint)
    • Line 422: warning: exported method String.Truth should have comment or be unexported (golint)
    • Line 423: warning: exported method String.Hash should have comment or be unexported (golint)
    • Line 424: warning: exported method String.Len should have comment or be unexported (golint)
    • Line 425: warning: exported method String.Index should have comment or be unexported (golint)
    • Line 427: warning: exported method String.Slice should have comment or be unexported (golint)
    • Line 440: warning: exported method String.Attr should have comment or be unexported (golint)
    • Line 441: warning: exported method String.AttrNames should have comment or be unexported (golint)
    • Line 443: warning: exported method String.CompareSameType should have comment or be unexported (golint)
    • Line 443: warning: receiver name x should be consistent with previous receiver name s for String (golint)
    • Line 448: warning: exported function AsString should have comment or be unexported (golint)
    • Line 470: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 477: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 531: warning: exported method Function.Name should have comment or be unexported (golint)
    • Line 532: warning: exported method Function.Hash should have comment or be unexported (golint)
    • Line 533: warning: exported method Function.Freeze should have comment or be unexported (golint)
    • Line 535: warning: exported method Function.Type should have comment or be unexported (golint)
    • Line 536: warning: exported method Function.Truth should have comment or be unexported (golint)
    • Line 550: warning: exported method Function.Position should have comment or be unexported (golint)
    • Line 551: warning: exported method Function.NumParams should have comment or be unexported (golint)
    • Line 552: warning: exported method Function.Param should have comment or be unexported (golint)
    • Line 556: warning: exported method Function.HasVarargs should have comment or be unexported (golint)
    • Line 557: warning: exported method Function.HasKwargs should have comment or be unexported (golint)
    • Line 566: warning: exported method Builtin.Name should have comment or be unexported (golint)
    • Line 567: warning: exported method Builtin.Freeze should have comment or be unexported (golint)
    • Line 572: warning: exported method Builtin.Hash should have comment or be unexported (golint)
    • Line 579: warning: exported method Builtin.Receiver should have comment or be unexported (golint)
    • Line 581: warning: exported method Builtin.Type should have comment or be unexported (golint)
    • Line 582: warning: exported method Builtin.CallInternal should have comment or be unexported (golint)
    • Line 585: warning: exported method Builtin.Truth should have comment or be unexported (golint)
    • Line 610: warning: comment on exported type Dict should be of the form "Dict ..." (with optional leading article) (golint)
    • Line 615: warning: exported method Dict.Clear should have comment or be unexported (golint)
    • Line 616: warning: exported method Dict.Delete should have comment or be unexported (golint)
    • Line 617: warning: exported method Dict.Get should have comment or be unexported (golint)
    • Line 618: warning: exported method Dict.Items should have comment or be unexported (golint)
    • Line 619: warning: exported method Dict.Keys should have comment or be unexported (golint)
    • Line 620: warning: exported method Dict.Len should have comment or be unexported (golint)
    • Line 621: warning: exported method Dict.Iterate should have comment or be unexported (golint)
    • Line 622: warning: exported method Dict.SetKey should have comment or be unexported (golint)
    • Line 624: warning: exported method Dict.Type should have comment or be unexported (golint)
    • Line 625: warning: exported method Dict.Freeze should have comment or be unexported (golint)
    • Line 626: warning: exported method Dict.Truth should have comment or be unexported (golint)
    • Line 627: warning: exported method Dict.Hash should have comment or be unexported (golint)
    • Line 629: warning: exported method Dict.Attr should have comment or be unexported (golint)
    • Line 630: warning: exported method Dict.AttrNames should have comment or be unexported (golint)
    • Line 635: warning: exported method Dict.CompareSameType should have comment or be unexported (golint)
    • Line 635: warning: receiver name x should be consistent with previous receiver name d for Dict (golint)
    • Line 667: warning: comment on exported type List should be of the form "List ..." (with optional leading article) (golint)
    • Line 678: warning: exported method List.Freeze should have comment or be unexported (golint)
    • Line 701: warning: exported method List.Type should have comment or be unexported (golint)
    • Line 702: warning: exported method List.Hash should have comment or be unexported (golint)
    • Line 703: warning: exported method List.Truth should have comment or be unexported (golint)
    • Line 704: warning: exported method List.Len should have comment or be unexported (golint)
    • Line 705: warning: exported method List.Index should have comment or be unexported (golint)
    • Line 707: warning: exported method List.Slice should have comment or be unexported (golint)
    • Line 721: warning: exported method List.Attr should have comment or be unexported (golint)
    • Line 722: warning: exported method List.AttrNames should have comment or be unexported (golint)
    • Line 724: warning: exported method List.Iterate should have comment or be unexported (golint)
    • Line 731: warning: exported method List.CompareSameType should have comment or be unexported (golint)
    • Line 731: warning: receiver name x should be consistent with previous receiver name l for List (golint)
    • Line 783: warning: exported method List.SetIndex should have comment or be unexported (golint)
    • Line 791: warning: exported method List.Append should have comment or be unexported (golint)
    • Line 799: warning: exported method List.Clear should have comment or be unexported (golint)
    • Line 813: warning: exported method Tuple.Len should have comment or be unexported (golint)
    • Line 814: warning: exported method Tuple.Index should have comment or be unexported (golint)
    • Line 816: warning: exported method Tuple.Slice should have comment or be unexported (golint)
    • Line 829: warning: exported method Tuple.Iterate should have comment or be unexported (golint)
    • Line 830: warning: exported method Tuple.Freeze should have comment or be unexported (golint)
    • Line 836: warning: exported method Tuple.Type should have comment or be unexported (golint)
    • Line 837: warning: exported method Tuple.Truth should have comment or be unexported (golint)
    • Line 839: warning: exported method Tuple.CompareSameType should have comment or be unexported (golint)
    • Line 839: warning: receiver name x should be consistent with previous receiver name t for Tuple (golint)
    • Line 844: warning: exported method Tuple.Hash should have comment or be unexported (golint)
    • Line 876: warning: exported method Set.Delete should have comment or be unexported (golint)
    • Line 877: warning: exported method Set.Clear should have comment or be unexported (golint)
    • Line 878: warning: exported method Set.Has should have comment or be unexported (golint)
    • Line 879: warning: exported method Set.Insert should have comment or be unexported (golint)
    • Line 880: warning: exported method Set.Len should have comment or be unexported (golint)
    • Line 881: warning: exported method Set.Iterate should have comment or be unexported (golint)
    • Line 883: warning: exported method Set.Type should have comment or be unexported (golint)
    • Line 885: warning: exported method Set.Freeze should have comment or be unexported (golint)
    • Line 886: warning: exported method Set.Hash should have comment or be unexported (golint)
    • Line 887: warning: exported method Set.Truth should have comment or be unexported (golint)
    • Line 889: warning: exported method Set.Attr should have comment or be unexported (golint)
    • Line 890: warning: exported method Set.AttrNames should have comment or be unexported (golint)
    • Line 892: warning: exported method Set.CompareSameType should have comment or be unexported (golint)
    • Line 892: warning: receiver name x should be consistent with previous receiver name s for Set (golint)
    • Line 918: warning: exported method Set.Union should have comment or be unexported (golint)
    • Line 1170: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • skylark/eval.go
    • Line 99: warning: exported method StringDict.Freeze should have comment or be unexported (golint)
    • Line 140: warning: comment on exported method Frame.Callable should be of the form "Callable ..." (golint)
    • Line 203: warning: comment on exported method Program.Load should be of the form "Load ..." (golint)
    • Line 810: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 868: warning: don't use underscores in Go names; func parameter step_ should be step (golint)
    • Line 940: warning: don't use underscores in Go names; func parameter start_ should be start (golint)
    • Line 940: warning: don't use underscores in Go names; func parameter end_ should be end (golint)
    • skylark/interp.go
    • Line 21: warning: exported method Function.CallInternal should have comment or be unexported (golint)
    • skylark/syntax/parse.go
    • Line 23: warning: exported const RetainComments should have comment (or a comment on this block) or be unexported (golint)
    • Line 490: warning: don't use underscores in Go names; var else_ should be else (golint)
    • skylark/syntax/scan.go
    • Line 25: warning: exported const ILLEGAL should have comment (or a comment on this block) or be unexported (golint)
    • Line 32: warning: comment on exported const IDENT should be of the form "IDENT ..." (golint)
    • Line 38: warning: comment on exported const PLUS should be of the form "PLUS ..." (golint)
    • Line 81: warning: comment on exported const AND should be of the form "AND ..." (golint)
    • Line 484: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 684: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 695: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 712: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 939: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • skylark/syntax/syntax.go
    • Line 78: warning: exported method File.Span should have comment or be unexported (golint)
    • Line 114: warning: exported method AssignStmt.Span should have comment or be unexported (golint)
    • Line 134: warning: exported method Function.Span should have comment or be unexported (golint)
    • Line 147: warning: exported method DefStmt.Span should have comment or be unexported (golint)
    • Line 158: warning: exported method ExprStmt.Span should have comment or be unexported (golint)
    • Line 173: warning: exported method IfStmt.Span should have comment or be unexported (golint)
    • Line 199: warning: exported method LoadStmt.Span should have comment or be unexported (golint)
    • Line 213: warning: exported method BranchStmt.Span should have comment or be unexported (golint)
    • Line 224: warning: exported method ReturnStmt.Span should have comment or be unexported (golint)
    • Line 267: warning: exported method Ident.Span should have comment or be unexported (golint)
    • Line 280: warning: exported method Literal.Span should have comment or be unexported (golint)
    • Line 292: warning: exported method ParenExpr.Span should have comment or be unexported (golint)
    • Line 305: warning: exported method CallExpr.Span should have comment or be unexported (golint)
    • Line 319: warning: exported method DotExpr.Span should have comment or be unexported (golint)
    • Line 336: warning: exported method Comprehension.Span should have comment or be unexported (golint)
    • Line 349: warning: exported method ForStmt.Span should have comment or be unexported (golint)
    • Line 363: warning: exported method ForClause.Span should have comment or be unexported (golint)
    • Line 375: warning: exported method IfClause.Span should have comment or be unexported (golint)
    • Line 388: warning: exported method DictExpr.Span should have comment or be unexported (golint)
    • Line 401: warning: exported method DictEntry.Span should have comment or be unexported (golint)
    • Line 418: warning: exported method LambdaExpr.Span should have comment or be unexported (golint)
    • Line 431: warning: exported method ListExpr.Span should have comment or be unexported (golint)
    • Line 445: warning: exported method CondExpr.Span should have comment or be unexported (golint)
    • Line 459: warning: exported method TupleExpr.Span should have comment or be unexported (golint)
    • Line 462: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 475: warning: exported method UnaryExpr.Span should have comment or be unexported (golint)
    • Line 489: warning: exported method BinaryExpr.Span should have comment or be unexported (golint)
    • Line 504: warning: exported method SliceExpr.Span should have comment or be unexported (golint)
    • Line 518: warning: exported method IndexExpr.Span should have comment or be unexported (golint)
    • skylark/library.go
    • Line 380: warning: don't use underscores in Go names; func bool_ should be bool (golint)
    • Line 494: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 577: warning: don't use underscores in Go names; func int_ should be int (golint)
    • Line 664: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 677: warning: don't use underscores in Go names; func len_ should be len (golint)
    • Line 833: warning: don't use underscores in Go names; func range_ should be range (golint)
    • Line 920: warning: receiver name x should be consistent with previous receiver name r for rangeValue (golint)
    • Line 1124: warning: don't use underscores in Go names; func type_ should be type (golint)
    • Line 1191: warning: don't use underscores in Go names; func dict_get should be dictGet (golint)
    • Line 1207: warning: don't use underscores in Go names; func dict_clear should be dictClear (golint)
    • Line 1215: warning: don't use underscores in Go names; func dict_items should be dictItems (golint)
    • Line 1228: warning: don't use underscores in Go names; func dict_keys should be dictKeys (golint)
    • Line 1236: warning: don't use underscores in Go names; func dict_pop should be dictPop (golint)
    • Line 1236: warning: don't use underscores in Go names; func parameter recv_ should be recv (golint)
    • Line 1253: warning: don't use underscores in Go names; func dict_popitem should be dictPopitem (golint)
    • Line 1253: warning: don't use underscores in Go names; func parameter recv_ should be recv (golint)
    • Line 1270: warning: don't use underscores in Go names; func dict_setdefault should be dictSetdefault (golint)
    • Line 1286: warning: don't use underscores in Go names; func dict_update should be dictUpdate (golint)
    • Line 1297: warning: don't use underscores in Go names; func dict_values should be dictValues (golint)
    • Line 1310: warning: don't use underscores in Go names; func list_append should be listAppend (golint)
    • Line 1310: warning: don't use underscores in Go names; func parameter recv_ should be recv (golint)
    • Line 1324: warning: don't use underscores in Go names; func list_clear should be listClear (golint)
    • Line 1324: warning: don't use underscores in Go names; func parameter recv_ should be recv (golint)
    • Line 1332: warning: don't use underscores in Go names; func list_extend should be listExtend (golint)
    • Line 1332: warning: don't use underscores in Go names; func parameter recv_ should be recv (golint)
    • Line 1346: warning: don't use underscores in Go names; func list_index should be listIndex (golint)
    • Line 1346: warning: don't use underscores in Go names; func parameter recv_ should be recv (golint)
    • Line 1348: warning: don't use underscores in Go names; var start_ should be start (golint)
    • Line 1348: warning: don't use underscores in Go names; var end_ should be end (golint)
    • Line 1369: warning: don't use underscores in Go names; func list_insert should be listInsert (golint)
    • Line 1369: warning: don't use underscores in Go names; func parameter recv_ should be recv (golint)
    • Line 1399: warning: don't use underscores in Go names; func list_remove should be listRemove (golint)
    • Line 1399: warning: don't use underscores in Go names; func parameter recv_ should be recv (golint)
    • Line 1420: warning: don't use underscores in Go names; func list_pop should be listPop (golint)
    • Line 1438: warning: don't use underscores in Go names; func string_capitalize should be stringCapitalize (golint)
    • Line 1450: warning: don't use underscores in Go names; func string_iterable should be stringIterable (golint)
    • Line 1462: warning: don't use underscores in Go names; func string_count should be stringCount (golint)
    • Line 1462: warning: don't use underscores in Go names; func parameter recv_ should be recv (golint)
    • Line 1466: warning: don't use underscores in Go names; var start_ should be start (golint)
    • Line 1466: warning: don't use underscores in Go names; var end_ should be end (golint)
    • Line 1484: warning: don't use underscores in Go names; func string_isalnum should be stringIsalnum (golint)
    • Line 1484: warning: don't use underscores in Go names; func parameter recv_ should be recv (golint)
    • Line 1498: warning: don't use underscores in Go names; func string_isalpha should be stringIsalpha (golint)
    • Line 1498: warning: don't use underscores in Go names; func parameter recv_ should be recv (golint)
    • Line 1512: warning: don't use underscores in Go names; func string_isdigit should be stringIsdigit (golint)
    • Line 1512: warning: don't use underscores in Go names; func parameter recv_ should be recv (golint)
    • Line 1526: warning: don't use underscores in Go names; func string_islower should be stringIslower (golint)
    • Line 1526: warning: don't use underscores in Go names; func parameter recv_ should be recv (golint)
    • Line 1545: warning: don't use underscores in Go names; func string_isspace should be stringIsspace (golint)
    • Line 1545: warning: don't use underscores in Go names; func parameter recv_ should be recv (golint)
    • Line 1559: warning: don't use underscores in Go names; func string_istitle should be stringIstitle (golint)
    • Line 1559: warning: don't use underscores in Go names; func parameter recv_ should be recv (golint)
    • Line 1590: warning: don't use underscores in Go names; func string_isupper should be stringIsupper (golint)
    • Line 1590: warning: don't use underscores in Go names; func parameter recv_ should be recv (golint)
    • Line 1599: warning: don't use underscores in Go names; func string_find should be stringFind (golint)
    • Line 1604: warning: don't use underscores in Go names; func string_format should be stringFormat (golint)
    • Line 1604: warning: don't use underscores in Go names; func parameter recv_ should be recv (golint)
    • Line 1696: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 1745: warning: don't use underscores in Go names; func string_index should be stringIndex (golint)
    • Line 1750: warning: don't use underscores in Go names; func string_join should be stringJoin (golint)
    • Line 1750: warning: don't use underscores in Go names; func parameter recv_ should be recv (golint)
    • Line 1774: warning: don't use underscores in Go names; func string_lower should be stringLower (golint)
    • Line 1782: warning: don't use underscores in Go names; func string_lstrip should be stringLstrip (golint)
    • Line 1790: warning: don't use underscores in Go names; func string_partition should be stringPartition (golint)
    • Line 1790: warning: don't use underscores in Go names; func parameter recv_ should be recv (golint)
    • Line 1819: warning: don't use underscores in Go names; func string_replace should be stringReplace (golint)
    • Line 1819: warning: don't use underscores in Go names; func parameter recv_ should be recv (golint)
    • Line 1830: warning: don't use underscores in Go names; func string_rfind should be stringRfind (golint)
    • Line 1835: warning: don't use underscores in Go names; func string_rindex should be stringRindex (golint)
    • Line 1840: warning: don't use underscores in Go names; func string_rstrip should be stringRstrip (golint)
    • Line 1849: warning: don't use underscores in Go names; func string_startswith should be stringStartswith (golint)
    • Line 1849: warning: don't use underscores in Go names; func parameter recv_ should be recv (golint)
    • Line 1860: warning: if block ends with a return statement, so drop this else and outdent its block (move short variable declaration to its own line if necessary) (golint)
    • Line 1894: warning: don't use underscores in Go names; func string_strip should be stringStrip (golint)
    • Line 1894: warning: don't use underscores in Go names; func parameter recv_ should be recv (golint)
    • Line 1925: warning: don't use underscores in Go names; func string_title should be stringTitle (golint)
    • Line 1933: warning: don't use underscores in Go names; func string_upper should be stringUpper (golint)
    • Line 1942: warning: don't use underscores in Go names; func string_split should be stringSplit (golint)
    • Line 1942: warning: don't use underscores in Go names; func parameter recv_ should be recv (golint)
    • Line 1944: warning: don't use underscores in Go names; var sep_ should be sep (golint)
    • Line 2045: warning: don't use underscores in Go names; func string_splitlines should be stringSplitlines (golint)
    • Line 2069: warning: don't use underscores in Go names; func set_union should be setUnion (golint)
    • Line 2084: warning: don't use underscores in Go names; func string_find_impl should be stringFindImpl (golint)
    • Line 2086: warning: don't use underscores in Go names; var start_ should be start (golint)
    • Line 2086: warning: don't use underscores in Go names; var end_ should be end (golint)

license100%

Checks whether your project has a LICENSE file.

No problems detected. Good job!


ineffassign56%

IneffAssign detects ineffectual assignments in Go code.

    • skylark/repl/repl.go
    • Line 33: warning: cannot find package "." in: (ineffassign)
    • Line 34: warning: cannot find package "." in: (ineffassign)
    • Line 35: warning: cannot find package "." in: (ineffassign)
    • Line 33: warning: could not import github.com/chzyer/readline (invalid package name: "") (ineffassign)
    • Line 34: warning: could not import github.com/google/skylark (invalid package name: "") (ineffassign)
    • Line 35: warning: could not import github.com/google/skylark/syntax (invalid package name: "") (ineffassign)
    • skylark/resolve/resolve_test.go
    • Line 11: warning: cannot find package "." in: (ineffassign)
    • Line 12: warning: cannot find package "." in: (ineffassign)
    • Line 13: warning: cannot find package "." in: (ineffassign)
    • Line 11: warning: could not import github.com/google/skylark/internal/chunkedfile (invalid package name: "") (ineffassign)
    • Line 12: warning: could not import github.com/google/skylark/resolve (invalid package name: "") (ineffassign)
    • Line 13: warning: could not import github.com/google/skylark/skylarktest (invalid package name: "") (ineffassign)
    • Line 14: warning: could not import github.com/google/skylark/syntax (invalid package name: "") (ineffassign)
    • skylark/skylarkstruct/struct.go
    • Line 30: warning: cannot find package "." in: (ineffassign)
    • Line 31: warning: cannot find package "." in: (ineffassign)
    • Line 30: warning: could not import github.com/google/skylark (invalid package name: "") (ineffassign)
    • Line 31: warning: could not import github.com/google/skylark/syntax (invalid package name: "") (ineffassign)
    • Line 26: warning: "encoding/json" imported but not used (ineffassign)
    • skylark/internal/compile/compile.go
    • Line 33: warning: cannot find package "." in: (ineffassign)
    • Line 34: warning: cannot find package "." in: (ineffassign)
    • Line 33: warning: could not import github.com/google/skylark/resolve (invalid package name: "") (ineffassign)
    • Line 34: warning: could not import github.com/google/skylark/syntax (invalid package name: "") (ineffassign)
    • Line 33: warning: could not import github.com/google/skylark/resolve (invalid package name: "") (ineffassign)
    • Line 34: warning: could not import github.com/google/skylark/syntax (invalid package name: "") (ineffassign)
    • skylark/eval.go
    • Line 19: warning: cannot find package "." in: (ineffassign)
    • Line 20: warning: cannot find package "." in: (ineffassign)
    • Line 21: warning: cannot find package "." in: (ineffassign)
    • Line 19: warning: could not import github.com/google/skylark/internal/compile (invalid package name: "") (ineffassign)
    • Line 20: warning: could not import github.com/google/skylark/resolve (invalid package name: "") (ineffassign)
    • Line 21: warning: could not import github.com/google/skylark/syntax (invalid package name: "") (ineffassign)
    • Line 13: warning: "math/big" imported but not used (ineffassign)
    • Line 11: warning: "log" imported but not used (ineffassign)
    • Line 19: warning: could not import github.com/google/skylark/internal/compile (invalid package name: "") (ineffassign)
    • Line 20: warning: could not import github.com/google/skylark/resolve (invalid package name: "") (ineffassign)
    • Line 21: warning: could not import github.com/google/skylark/syntax (invalid package name: "") (ineffassign)
    • Line 11: warning: "log" imported but not used (ineffassign)
    • Line 13: warning: "math/big" imported but not used (ineffassign)
    • skylark/eval_test.go
    • Line 15: warning: cannot find package "." in: (ineffassign)
    • Line 16: warning: cannot find package "." in: (ineffassign)
    • Line 18: warning: cannot find package "." in: (ineffassign)
    • Line 15: warning: could not import github.com/google/skylark (invalid package name: "") (ineffassign)
    • Line 16: warning: could not import github.com/google/skylark/internal/chunkedfile (invalid package name: "") (ineffassign)
    • Line 17: warning: could not import github.com/google/skylark/resolve (invalid package name: "") (ineffassign)
    • Line 18: warning: could not import github.com/google/skylark/skylarktest (invalid package name: "") (ineffassign)
    • Line 19: warning: could not import github.com/google/skylark/syntax (invalid package name: "") (ineffassign)
    • skylark/resolve/resolve.go
    • Line 82: warning: cannot find package "." in: (ineffassign)
    • Line 82: warning: could not import github.com/google/skylark/syntax (invalid package name: "") (ineffassign)
    • Line 690: warning: seenOptional declared but not used (ineffassign)
    • Line 80: warning: "strings" imported but not used (ineffassign)
    • skylark/skylarkstruct/struct_test.go
    • Line 13: warning: cannot find package "." in: (ineffassign)
    • Line 14: warning: cannot find package "." in: (ineffassign)
    • Line 15: warning: cannot find package "." in: (ineffassign)
    • Line 12: warning: could not import github.com/google/skylark (invalid package name: "") (ineffassign)
    • Line 13: warning: could not import github.com/google/skylark/resolve (invalid package name: "") (ineffassign)
    • Line 14: warning: could not import github.com/google/skylark/skylarkstruct (invalid package name: "") (ineffassign)
    • Line 15: warning: could not import github.com/google/skylark/skylarktest (invalid package name: "") (ineffassign)
    • skylark/skylarktest/skylarktest.go
    • Line 23: warning: cannot find package "." in: (ineffassign)
    • Line 24: warning: cannot find package "." in: (ineffassign)
    • Line 23: warning: could not import github.com/google/skylark (invalid package name: "") (ineffassign)
    • Line 24: warning: could not import github.com/google/skylark/skylarkstruct (invalid package name: "") (ineffassign)
    • skylark/cmd/skylark/skylark.go
    • Line 18: warning: cannot find package "." in: (ineffassign)
    • Line 19: warning: cannot find package "." in: (ineffassign)
    • Line 20: warning: cannot find package "." in: (ineffassign)
    • Line 18: warning: could not import github.com/google/skylark (invalid package name: "") (ineffassign)
    • Line 19: warning: could not import github.com/google/skylark/repl (invalid package name: "") (ineffassign)
    • Line 20: warning: could not import github.com/google/skylark/resolve (invalid package name: "") (ineffassign)
    • skylark/syntax/parse_test.go
    • Line 14: warning: cannot find package "." in: (ineffassign)
    • Line 15: warning: cannot find package "." in: (ineffassign)
    • Line 16: warning: cannot find package "." in: (ineffassign)
    • Line 14: warning: could not import github.com/google/skylark/internal/chunkedfile (invalid package name: "") (ineffassign)
    • Line 15: warning: could not import github.com/google/skylark/skylarktest (invalid package name: "") (ineffassign)
    • Line 16: warning: could not import github.com/google/skylark/syntax (invalid package name: "") (ineffassign)

misspell100%

Misspell Finds commonly misspelled English words

No problems detected. Good job!