Preparing report...

Report for github.com/tcard/sgo

A+    Excellent!    Found 70 issues across 130 files

Tweet

gofmt99%

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


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.

    • sgo/sgo/types/resolver.go
    • Line 211: warning: cyclomatic complexity 53 of function (*Checker).collectObjects() is high (> 15) (gocyclo)
    • Line 141: warning: cyclomatic complexity 21 of function (*Checker).importPackage() is high (> 15) (gocyclo)
    • sgo/sgo/types/typexpr.go
    • Line 235: warning: cyclomatic complexity 29 of function (*Checker).typExprInternal() is high (> 15) (gocyclo)
    • Line 22: warning: cyclomatic complexity 25 of function (*Checker).ident() is high (> 15) (gocyclo)
    • Line 425: warning: cyclomatic complexity 20 of function (*Checker).collectParams() is high (> 15) (gocyclo)
    • Line 508: warning: cyclomatic complexity 17 of function (*Checker).interfaceType() is high (> 15) (gocyclo)
    • Line 670: warning: cyclomatic complexity 17 of function (*Checker).structType() is high (> 15) (gocyclo)
    • Line 158: warning: cyclomatic complexity 16 of function (*Checker).funcType() is high (> 15) (gocyclo)
    • sgo/sgo/constant/value.go
    • Line 1012: warning: cyclomatic complexity 57 of function BinaryOp() is high (> 15) (gocyclo)
    • Line 1248: warning: cyclomatic complexity 27 of function Compare() is high (> 15) (gocyclo)
    • Line 941: warning: cyclomatic complexity 21 of function match() is high (> 15) (gocyclo)
    • Line 851: warning: cyclomatic complexity 20 of function UnaryOp() is high (> 15) (gocyclo)
    • Line 379: warning: cyclomatic complexity 17 of function MakeFromLiteral() is high (> 15) (gocyclo)
    • sgo/sgo/scanner/scanner.go
    • Line 603: warning: cyclomatic complexity 54 of function (*Scanner).Scan() is high (> 15) (gocyclo)
    • Line 292: warning: cyclomatic complexity 20 of function (*Scanner).scanNumber() is high (> 15) (gocyclo)
    • sgo/sgo/parser/parser.go
    • Line 1544: warning: cyclomatic complexity 19 of function (*parser).parsePrimaryExpr() is high (> 15) (gocyclo)
    • Line 2244: warning: cyclomatic complexity 17 of function (*parser).parseStmt() is high (> 15) (gocyclo)
    • Line 1438: warning: cyclomatic complexity 17 of function (*parser).checkExpr() is high (> 15) (gocyclo)
    • sgo/sgo/printer/printer.go
    • Line 335: warning: cyclomatic complexity 32 of function (*printer).writeCommentPrefix() is high (> 15) (gocyclo)
    • Line 872: warning: cyclomatic complexity 27 of function (*printer).print() is high (> 15) (gocyclo)
    • Line 490: warning: cyclomatic complexity 26 of function stripCommonPrefix() is high (> 15) (gocyclo)
    • Line 1069: warning: cyclomatic complexity 24 of function (*printer).printNode() is high (> 15) (gocyclo)
    • Line 739: warning: cyclomatic complexity 19 of function (*printer).intersperseComments() is high (> 15) (gocyclo)
    • Line 1195: warning: cyclomatic complexity 18 of function (*trimmer).Write() is high (> 15) (gocyclo)
    • sgo/sgo/types/expr.go
    • Line 1014: warning: cyclomatic complexity 133 of function (*Checker).exprInternal() is high (> 15) (gocyclo)
    • Line 192: warning: cyclomatic complexity 57 of function representableConst() is high (> 15) (gocyclo)
    • Line 480: warning: cyclomatic complexity 30 of function (*Checker).convertUntyped() is high (> 15) (gocyclo)
    • Line 775: warning: cyclomatic complexity 28 of function (*Checker).binary() is high (> 15) (gocyclo)
    • Line 639: warning: cyclomatic complexity 23 of function (*Checker).shift() is high (> 15) (gocyclo)
    • Line 361: warning: cyclomatic complexity 20 of function (*Checker).updateExprType() is high (> 15) (gocyclo)
    • sgo/sgo/codegen.go
    • Line 271: warning: cyclomatic complexity 34 of function (*converter).annotationsFromDocs() is high (> 15) (gocyclo)
    • Line 1037: warning: cyclomatic complexity 27 of function (*converter).convertExpr() is high (> 15) (gocyclo)
    • Line 585: warning: cyclomatic complexity 24 of function (*converter).convertStmt() is high (> 15) (gocyclo)
    • Line 873: warning: cyclomatic complexity 20 of function (*converter).convertTypeSwitchStmt() is high (> 15) (gocyclo)
    • Line 1475: warning: cyclomatic complexity 17 of function (*converter).putSourceMap() is high (> 15) (gocyclo)
    • Line 776: warning: cyclomatic complexity 16 of function (*converter).convertReturnStmt() is high (> 15) (gocyclo)
    • sgo/sgo/types/assignments.go
    • Line 225: warning: cyclomatic complexity 38 of function (*Checker).checkVars() is high (> 15) (gocyclo)
    • Line 139: warning: cyclomatic complexity 20 of function (*Checker).assignVar() is high (> 15) (gocyclo)
    • Line 337: warning: cyclomatic complexity 20 of function (*Checker).assignVars() is high (> 15) (gocyclo)
    • Line 423: warning: cyclomatic complexity 17 of function (*Checker).shortVarDecl() is high (> 15) (gocyclo)
    • sgo/sgo/types/decl.go
    • Line 393: warning: cyclomatic complexity 32 of function (*Checker).declStmt() is high (> 15) (gocyclo)
    • Line 148: warning: cyclomatic complexity 26 of function (*Checker).varDecl() is high (> 15) (gocyclo)
    • sgo/tools/sgo/ast/astutil/enclosing.go
    • Line 186: warning: cyclomatic complexity 67 of function childrenOf() is high (> 15) (gocyclo)
    • Line 483: warning: cyclomatic complexity 65 of function NodeDescription() is high (> 15) (gocyclo)
    • Line 62: warning: cyclomatic complexity 20 of function PathEnclosingInterval() is high (> 15) (gocyclo)
    • sgo/sgo/printer/nodes.go
    • Line 741: warning: cyclomatic complexity 59 of function (*printer).expr1() is high (> 15) (gocyclo)
    • Line 1184: warning: cyclomatic complexity 40 of function (*printer).stmt() is high (> 15) (gocyclo)
    • Line 165: warning: cyclomatic complexity 39 of function (*printer).exprs() is high (> 15) (gocyclo)
    • Line 440: warning: cyclomatic complexity 32 of function (*printer).fieldList() is high (> 15) (gocyclo)
    • Line 573: warning: cyclomatic complexity 19 of function walkBinary() is high (> 15) (gocyclo)
    • Line 312: warning: cyclomatic complexity 16 of function (*printer).parameters() is high (> 15) (gocyclo)
    • sgo/sgo/types/stmt.go
    • Line 337: warning: cyclomatic complexity 162 of function (*Checker).stmt() is high (> 15) (gocyclo)
    • Line 1035: warning: cyclomatic complexity 23 of function (*Checker).ifCondSideEffects() is high (> 15) (gocyclo)
    • sgo/sgo/types/lookup.go
    • Line 72: warning: cyclomatic complexity 34 of function lookupFieldOrMethod() is high (> 15) (gocyclo)
    • Line 410: warning: cyclomatic complexity 25 of function findOptionables2() is high (> 15) (gocyclo)
    • sgo/sgo/types/call.go
    • Line 315: warning: cyclomatic complexity 31 of function (*Checker).selector() is high (> 15) (gocyclo)
    • Line 14: warning: cyclomatic complexity 18 of function (*Checker).call() is high (> 15) (gocyclo)
    • sgo/sgo/types/return.go
    • Line 116: warning: cyclomatic complexity 30 of function hasBreak() is high (> 15) (gocyclo)
    • Line 17: warning: cyclomatic complexity 28 of function (*Checker).isTerminating() is high (> 15) (gocyclo)

golint74%

Golint is a linter for Go source code.

    • sgo/sgo/doc/comment.go
    • Line 69: warning: don't use underscores in Go names; var html_a should be htmlA (golint)
    • Line 70: warning: don't use underscores in Go names; var html_aq should be htmlAq (golint)
    • Line 71: warning: don't use underscores in Go names; var html_enda should be htmlEnda (golint)
    • Line 72: warning: don't use underscores in Go names; var html_i should be htmlI (golint)
    • Line 73: warning: don't use underscores in Go names; var html_endi should be htmlEndi (golint)
    • Line 74: warning: don't use underscores in Go names; var html_p should be htmlP (golint)
    • Line 75: warning: don't use underscores in Go names; var html_endp should be htmlEndp (golint)
    • Line 76: warning: don't use underscores in Go names; var html_pre should be htmlPre (golint)
    • Line 77: warning: don't use underscores in Go names; var html_endpre should be htmlEndpre (golint)
    • Line 78: warning: don't use underscores in Go names; var html_h should be htmlH (golint)
    • Line 79: warning: don't use underscores in Go names; var html_hq should be htmlHq (golint)
    • Line 80: warning: don't use underscores in Go names; var html_endh should be htmlEndh (golint)
    • sgo/sgo/constant/value.go
    • Line 31: warning: comment on exported const Unknown should be of the form "Unknown ..." (golint)
    • Line 34: warning: comment on exported const Bool should be of the form "Bool ..." (golint)
    • Line 36: warning: exported const String should have comment (or a comment on this block) or be unexported (golint)
    • Line 38: warning: comment on exported const Int should be of the form "Int ..." (golint)
    • sgo/sgo/types/stmt.go
    • Line 1035: warning: receiver name checker should be consistent with previous receiver name check for Checker (golint)
    • Line 1145: warning: receiver name c should be consistent with previous receiver name check for Checker (golint)
    • Line 1153: warning: receiver name c should be consistent with previous receiver name check for Checker (golint)
    • sgo/sgo/scanner/scanner.go
    • Line 89: warning: comment on exported type Mode should be of the form "Mode ..." (with optional leading article) (golint)
    • Line 95: warning: exported const ScanComments should have comment (or a comment on this block) or be unexported (golint)
    • sgo/sgo/types/type.go
    • Line 23: warning: exported const Invalid should have comment (or a comment on this block) or be unexported (golint)
    • Line 25: warning: comment on exported const Bool should be of the form "Bool ..." (golint)
    • Line 45: warning: comment on exported const UntypedBool should be of the form "UntypedBool ..." (golint)
    • Line 54: warning: comment on exported const Byte should be of the form "Byte ..." (golint)
    • Line 261: warning: comment on exported method Signature.Results should be of the form "Results ..." (golint)
    • Line 447: warning: exported method Named.SetObj should have comment or be unexported (golint)
    • Line 480: warning: exported method Basic.Underlying should have comment or be unexported (golint)
    • Line 480: warning: receiver name t should be consistent with previous receiver name b for Basic (golint)
    • Line 481: warning: exported method Array.Underlying should have comment or be unexported (golint)
    • Line 481: warning: receiver name t should be consistent with previous receiver name a for Array (golint)
    • Line 482: warning: exported method Optional.Underlying should have comment or be unexported (golint)
    • Line 482: warning: receiver name t should be consistent with previous receiver name o for Optional (golint)
    • Line 483: warning: exported method Slice.Underlying should have comment or be unexported (golint)
    • Line 483: warning: receiver name t should be consistent with previous receiver name s for Slice (golint)
    • Line 484: warning: exported method Struct.Underlying should have comment or be unexported (golint)
    • Line 484: warning: receiver name t should be consistent with previous receiver name s for Struct (golint)
    • Line 485: warning: exported method Pointer.Underlying should have comment or be unexported (golint)
    • Line 485: warning: receiver name t should be consistent with previous receiver name p for Pointer (golint)
    • Line 486: warning: exported method Tuple.Underlying should have comment or be unexported (golint)
    • Line 487: warning: exported method Signature.Underlying should have comment or be unexported (golint)
    • Line 487: warning: receiver name t should be consistent with previous receiver name s for Signature (golint)
    • Line 488: warning: exported method Interface.Underlying should have comment or be unexported (golint)
    • Line 489: warning: exported method Map.Underlying should have comment or be unexported (golint)
    • Line 489: warning: receiver name t should be consistent with previous receiver name m for Map (golint)
    • Line 490: warning: exported method Chan.Underlying should have comment or be unexported (golint)
    • Line 490: warning: receiver name t should be consistent with previous receiver name c for Chan (golint)
    • Line 491: warning: exported method Named.Underlying should have comment or be unexported (golint)
    • Line 493: warning: receiver name t should be consistent with previous receiver name b for Basic (golint)
    • Line 494: warning: receiver name t should be consistent with previous receiver name a for Array (golint)
    • Line 495: warning: receiver name t should be consistent with previous receiver name o for Optional (golint)
    • Line 496: warning: receiver name t should be consistent with previous receiver name s for Slice (golint)
    • Line 497: warning: receiver name t should be consistent with previous receiver name s for Struct (golint)
    • Line 498: warning: receiver name t should be consistent with previous receiver name p for Pointer (golint)
    • Line 500: warning: receiver name t should be consistent with previous receiver name s for Signature (golint)
    • Line 502: warning: receiver name t should be consistent with previous receiver name m for Map (golint)
    • Line 503: warning: receiver name t should be consistent with previous receiver name c for Chan (golint)
    • sgo/sgo/token/token.go
    • Line 22: warning: don't use underscores in Go names; const literal_beg should be literalBeg (golint)
    • Line 31: warning: don't use underscores in Go names; const literal_end should be literalEnd (golint)
    • Line 33: warning: don't use underscores in Go names; const operator_beg should be operatorBeg (golint)
    • Line 90: warning: don't use underscores in Go names; const operator_end should be operatorEnd (golint)
    • Line 92: warning: don't use underscores in Go names; const keyword_beg should be keywordBeg (golint)
    • Line 127: warning: don't use underscores in Go names; const keyword_end should be keywordEnd (golint)
    • Line 266: warning: receiver name op should be consistent with previous receiver name tok for Token (golint)
    • Line 294: warning: don't use underscores in Go names; var is_keyword should be isKeyword (golint)
    • sgo/sgo/ast/walk.go
    • Line 9: warning: comment on exported type Visitor should be of the form "Visitor ..." (with optional leading article) (golint)
    • sgo/sgo/codegen.go
    • Line 88: warning: comment on exported function TranslateFilePathsFrom should be of the form "TranslateFilePathsFrom ..." (golint)
    • Line 146: warning: comment on exported function TranslateFilesFrom should be of the form "TranslateFilesFrom ..." (golint)
    • sgo/sgo/types/object.go
    • Line 81: warning: don't use underscores in Go names; struct field order_ should be order (golint)
    • Line 82: warning: don't use underscores in Go names; struct field scopePos_ should be scopePos (golint)
    • Line 153: warning: exported method Const.Val should have comment or be unexported (golint)
    • Line 196: warning: comment on exported type Var should be of the form "Var ..." (with optional leading article) (golint)
    • sgo/sgo/ast/filter.go
    • Line 47: warning: exported type Filter should have comment or be unexported (golint)
    • Line 280: warning: comment on exported const FilterFuncDuplicates should be of the form "FilterFuncDuplicates ..." (golint)
    • Line 282: warning: comment on exported const FilterUnassociatedComments should be of the form "FilterUnassociatedComments ..." (golint)
    • Line 285: warning: comment on exported const FilterImportDuplicates should be of the form "FilterImportDuplicates ..." (golint)
    • sgo/sgo/types/universe.go
    • Line 17: warning: exported var Universe should have comment or be unexported (golint)
    • Line 66: warning: exported var ByteType should have comment or be unexported (golint)
    • Line 67: warning: exported var RuneType should have comment or be unexported (golint)
    • sgo/sgo/annotations/parse.go
    • Line 1: warning: package comment should be of the form "Package annotations ..." (golint)
    • Line 169: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 241: warning: comment on exported method Tokenizer.SkipWhiteUntilLine should be of the form "SkipWhiteUntilLine ..." (golint)
    • Line 347: warning: error var EOF should have name of the form ErrFoo (golint)
    • sgo/tools/imports/fix.go
    • Line 166: 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)
    • sgo/sgo/ast/ast.go
    • Line 35: warning: comment on exported type Node should be of the form "Node ..." (with optional leading article) (golint)
    • Line 41: warning: comment on exported type Expr should be of the form "Expr ..." (with optional leading article) (golint)
    • Line 61: warning: exported method ExprList.Pos should have comment or be unexported (golint)
    • Line 68: warning: exported method ExprList.End should have comment or be unexported (golint)
    • Line 75: warning: exported function NewExprList should have comment or be unexported (golint)
    • Line 93: warning: exported method IdentList.Pos should have comment or be unexported (golint)
    • Line 100: warning: exported method IdentList.End should have comment or be unexported (golint)
    • Line 107: warning: exported function NewIdentList should have comment or be unexported (golint)
    • Line 111: warning: comment on exported type Stmt should be of the form "Stmt ..." (with optional leading article) (golint)
    • Line 117: warning: comment on exported type Decl should be of the form "Decl ..." (with optional leading article) (golint)
    • Line 132: warning: exported method Comment.Pos should have comment or be unexported (golint)
    • Line 133: warning: exported method Comment.End should have comment or be unexported (golint)
    • Line 142: warning: exported method CommentGroup.Pos should have comment or be unexported (golint)
    • Line 143: warning: exported method CommentGroup.End should have comment or be unexported (golint)
    • Line 230: warning: exported method Field.Pos should have comment or be unexported (golint)
    • Line 237: warning: exported method Field.End should have comment or be unexported (golint)
    • Line 252: warning: exported method FieldList.Pos should have comment or be unexported (golint)
    • Line 264: warning: exported method FieldList.End should have comment or be unexported (golint)
    • Line 434: warning: comment on exported type ChanDir should be of the form "ChanDir ..." (with optional leading article) (golint)
    • Line 440: warning: exported const SEND should have comment (or a comment on this block) or be unexported (golint)
    • Line 503: warning: exported method BadExpr.Pos should have comment or be unexported (golint)
    • Line 504: warning: exported method Ident.Pos should have comment or be unexported (golint)
    • Line 505: warning: exported method Ellipsis.Pos should have comment or be unexported (golint)
    • Line 506: warning: exported method BasicLit.Pos should have comment or be unexported (golint)
    • Line 507: warning: exported method FuncLit.Pos should have comment or be unexported (golint)
    • Line 508: warning: exported method CompositeLit.Pos should have comment or be unexported (golint)
    • Line 514: warning: exported method ParenExpr.Pos should have comment or be unexported (golint)
    • Line 515: warning: exported method SelectorExpr.Pos should have comment or be unexported (golint)
    • Line 516: warning: exported method ForceExpr.Pos should have comment or be unexported (golint)
    • Line 517: warning: exported method IndexExpr.Pos should have comment or be unexported (golint)
    • Line 518: warning: exported method SliceExpr.Pos should have comment or be unexported (golint)
    • Line 519: warning: exported method TypeAssertExpr.Pos should have comment or be unexported (golint)
    • Line 520: warning: exported method CallExpr.Pos should have comment or be unexported (golint)
    • Line 521: warning: exported method StarExpr.Pos should have comment or be unexported (golint)
    • Line 522: warning: exported method UnaryExpr.Pos should have comment or be unexported (golint)
    • Line 523: warning: exported method BinaryExpr.Pos should have comment or be unexported (golint)
    • Line 524: warning: exported method KeyValueExpr.Pos should have comment or be unexported (golint)
    • Line 525: warning: exported method ArrayType.Pos should have comment or be unexported (golint)
    • Line 526: warning: exported method OptionalType.Pos should have comment or be unexported (golint)
    • Line 527: warning: exported method StructType.Pos should have comment or be unexported (golint)
    • Line 528: warning: exported method FuncType.Pos should have comment or be unexported (golint)
    • Line 534: warning: exported method InterfaceType.Pos should have comment or be unexported (golint)
    • Line 535: warning: exported method MapType.Pos should have comment or be unexported (golint)
    • Line 536: warning: exported method ChanType.Pos should have comment or be unexported (golint)
    • Line 538: warning: exported method BadExpr.End should have comment or be unexported (golint)
    • Line 539: warning: exported method Ident.End should have comment or be unexported (golint)
    • Line 540: warning: exported method Ellipsis.End should have comment or be unexported (golint)
    • Line 546: warning: exported method BasicLit.End should have comment or be unexported (golint)
    • Line 547: warning: exported method FuncLit.End should have comment or be unexported (golint)
    • Line 548: warning: exported method CompositeLit.End should have comment or be unexported (golint)
    • Line 549: warning: exported method ParenExpr.End should have comment or be unexported (golint)
    • Line 550: warning: exported method SelectorExpr.End should have comment or be unexported (golint)
    • Line 551: warning: exported method ForceExpr.End should have comment or be unexported (golint)
    • Line 552: warning: exported method IndexExpr.End should have comment or be unexported (golint)
    • Line 553: warning: exported method SliceExpr.End should have comment or be unexported (golint)
    • Line 554: warning: exported method TypeAssertExpr.End should have comment or be unexported (golint)
    • Line 555: warning: exported method CallExpr.End should have comment or be unexported (golint)
    • Line 556: warning: exported method StarExpr.End should have comment or be unexported (golint)
    • Line 557: warning: exported method UnaryExpr.End should have comment or be unexported (golint)
    • Line 558: warning: exported method BinaryExpr.End should have comment or be unexported (golint)
    • Line 559: warning: exported method KeyValueExpr.End should have comment or be unexported (golint)
    • Line 560: warning: exported method ArrayType.End should have comment or be unexported (golint)
    • Line 561: warning: exported method OptionalType.End should have comment or be unexported (golint)
    • Line 562: warning: exported method StructType.End should have comment or be unexported (golint)
    • Line 563: warning: exported method FuncType.End should have comment or be unexported (golint)
    • Line 569: warning: exported method InterfaceType.End should have comment or be unexported (golint)
    • Line 570: warning: exported method MapType.End should have comment or be unexported (golint)
    • Line 571: warning: exported method ChanType.End should have comment or be unexported (golint)
    • Line 621: warning: receiver name id should be consistent with previous receiver name x for Ident (golint)
    • Line 623: warning: receiver name id should be consistent with previous receiver name x for Ident (golint)
    • Line 800: warning: exported method BadStmt.Pos should have comment or be unexported (golint)
    • Line 801: warning: exported method DeclStmt.Pos should have comment or be unexported (golint)
    • Line 802: warning: exported method EmptyStmt.Pos should have comment or be unexported (golint)
    • Line 803: warning: exported method LabeledStmt.Pos should have comment or be unexported (golint)
    • Line 804: warning: exported method ExprStmt.Pos should have comment or be unexported (golint)
    • Line 805: warning: exported method SendStmt.Pos should have comment or be unexported (golint)
    • Line 806: warning: exported method IncDecStmt.Pos should have comment or be unexported (golint)
    • Line 807: warning: exported method AssignStmt.Pos should have comment or be unexported (golint)
    • Line 808: warning: exported method GoStmt.Pos should have comment or be unexported (golint)
    • Line 809: warning: exported method DeferStmt.Pos should have comment or be unexported (golint)
    • Line 810: warning: exported method ReturnStmt.Pos should have comment or be unexported (golint)
    • Line 811: warning: exported method BranchStmt.Pos should have comment or be unexported (golint)
    • Line 812: warning: exported method BlockStmt.Pos should have comment or be unexported (golint)
    • Line 813: warning: exported method IfStmt.Pos should have comment or be unexported (golint)
    • Line 814: warning: exported method CaseClause.Pos should have comment or be unexported (golint)
    • Line 815: warning: exported method SwitchStmt.Pos should have comment or be unexported (golint)
    • Line 816: warning: exported method TypeSwitchStmt.Pos should have comment or be unexported (golint)
    • Line 817: warning: exported method CommClause.Pos should have comment or be unexported (golint)
    • Line 818: warning: exported method SelectStmt.Pos should have comment or be unexported (golint)
    • Line 819: warning: exported method ForStmt.Pos should have comment or be unexported (golint)
    • Line 820: warning: exported method RangeStmt.Pos should have comment or be unexported (golint)
    • Line 822: warning: exported method BadStmt.End should have comment or be unexported (golint)
    • Line 823: warning: exported method DeclStmt.End should have comment or be unexported (golint)
    • Line 824: warning: exported method EmptyStmt.End should have comment or be unexported (golint)
    • Line 830: warning: exported method LabeledStmt.End should have comment or be unexported (golint)
    • Line 831: warning: exported method ExprStmt.End should have comment or be unexported (golint)
    • Line 832: warning: exported method SendStmt.End should have comment or be unexported (golint)
    • Line 833: warning: exported method IncDecStmt.End should have comment or be unexported (golint)
    • Line 836: warning: exported method AssignStmt.End should have comment or be unexported (golint)
    • Line 837: warning: exported method GoStmt.End should have comment or be unexported (golint)
    • Line 838: warning: exported method DeferStmt.End should have comment or be unexported (golint)
    • Line 839: warning: exported method ReturnStmt.End should have comment or be unexported (golint)
    • Line 845: warning: exported method BranchStmt.End should have comment or be unexported (golint)
    • Line 851: warning: exported method BlockStmt.End should have comment or be unexported (golint)
    • Line 852: warning: exported method IfStmt.End should have comment or be unexported (golint)
    • Line 858: warning: exported method CaseClause.End should have comment or be unexported (golint)
    • Line 864: warning: exported method SwitchStmt.End should have comment or be unexported (golint)
    • Line 865: warning: exported method TypeSwitchStmt.End should have comment or be unexported (golint)
    • Line 866: warning: exported method CommClause.End should have comment or be unexported (golint)
    • Line 872: warning: exported method SelectStmt.End should have comment or be unexported (golint)
    • Line 873: warning: exported method ForStmt.End should have comment or be unexported (golint)
    • Line 874: warning: exported method RangeStmt.End should have comment or be unexported (golint)
    • Line 946: warning: exported method ImportSpec.Pos should have comment or be unexported (golint)
    • Line 952: warning: exported method ValueSpec.Pos should have comment or be unexported (golint)
    • Line 953: warning: exported method TypeSpec.Pos should have comment or be unexported (golint)
    • Line 955: warning: exported method ImportSpec.End should have comment or be unexported (golint)
    • Line 962: warning: exported method ValueSpec.End should have comment or be unexported (golint)
    • Line 971: warning: exported method TypeSpec.End should have comment or be unexported (golint)
    • Line 1023: warning: exported method BadDecl.Pos should have comment or be unexported (golint)
    • Line 1024: warning: exported method GenDecl.Pos should have comment or be unexported (golint)
    • Line 1025: warning: exported method FuncDecl.Pos should have comment or be unexported (golint)
    • Line 1027: warning: exported method BadDecl.End should have comment or be unexported (golint)
    • Line 1028: warning: exported method GenDecl.End should have comment or be unexported (golint)
    • Line 1034: warning: exported method FuncDecl.End should have comment or be unexported (golint)
    • Line 1081: warning: exported method File.Pos should have comment or be unexported (golint)
    • Line 1082: warning: exported method File.End should have comment or be unexported (golint)
    • Line 1099: warning: exported method Package.Pos should have comment or be unexported (golint)
    • Line 1100: warning: exported method Package.End should have comment or be unexported (golint)
    • sgo/sgo/doc/doc.go
    • Line 82: warning: comment on exported const AllDecls should be of the form "AllDecls ..." (golint)
    • Line 86: warning: comment on exported const AllMethods should be of the form "AllMethods ..." (golint)
    • sgo/sgo/types/sizes.go
    • Line 48: warning: exported method StdSizes.Alignof should have comment or be unexported (golint)
    • Line 92: warning: exported method StdSizes.Offsetsof should have comment or be unexported (golint)
    • Line 120: warning: exported method StdSizes.Sizeof should have comment or be unexported (golint)

license100%

Checks whether your project has a LICENSE file.

No problems detected. Good job!


ineffassign95%

IneffAssign detects ineffectual assignments in Go code.


misspell100%

Misspell Finds commonly misspelled English words

No problems detected. Good job!