Preparing report...

Report for github.com/jhump/protoreflect

A+    Excellent!    Found 48 issues across 112 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!


golint63%

Golint is a linter for Go source code.

    • protoreflect/dynamic/text.go
    • Line 249: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 319: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 718: 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 746: 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 773: 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 784: 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 794: 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 804: 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 819: 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)
    • protoreflect/desc/protoparse/ast/no_source.go
    • Line 21: warning: exported method NoSourceNode.Start should have comment or be unexported (golint)
    • Line 25: warning: exported method NoSourceNode.End should have comment or be unexported (golint)
    • Line 29: warning: exported method NoSourceNode.LeadingComments should have comment or be unexported (golint)
    • Line 33: warning: exported method NoSourceNode.TrailingComments should have comment or be unexported (golint)
    • Line 37: warning: exported method NoSourceNode.GetSyntax should have comment or be unexported (golint)
    • Line 41: warning: exported method NoSourceNode.GetName should have comment or be unexported (golint)
    • Line 45: warning: exported method NoSourceNode.GetValue should have comment or be unexported (golint)
    • Line 49: warning: exported method NoSourceNode.FieldLabel should have comment or be unexported (golint)
    • Line 53: warning: exported method NoSourceNode.FieldName should have comment or be unexported (golint)
    • Line 57: warning: exported method NoSourceNode.FieldType should have comment or be unexported (golint)
    • Line 61: warning: exported method NoSourceNode.FieldTag should have comment or be unexported (golint)
    • Line 65: warning: exported method NoSourceNode.FieldExtendee should have comment or be unexported (golint)
    • Line 69: warning: exported method NoSourceNode.GetGroupKeyword should have comment or be unexported (golint)
    • Line 73: warning: exported method NoSourceNode.GetOptions should have comment or be unexported (golint)
    • Line 77: warning: exported method NoSourceNode.RangeStart should have comment or be unexported (golint)
    • Line 81: warning: exported method NoSourceNode.RangeEnd should have comment or be unexported (golint)
    • Line 85: warning: exported method NoSourceNode.GetNumber should have comment or be unexported (golint)
    • Line 89: warning: exported method NoSourceNode.MessageName should have comment or be unexported (golint)
    • Line 93: warning: exported method NoSourceNode.GetInputType should have comment or be unexported (golint)
    • Line 97: warning: exported method NoSourceNode.GetOutputType should have comment or be unexported (golint)
    • Line 101: warning: exported method NoSourceNode.Value should have comment or be unexported (golint)
    • protoreflect/desc/protoparse/ast/options.go
    • Line 103: warning: exported method OptionNode.GetName should have comment or be unexported (golint)
    • Line 103: warning: receiver name n should be consistent with previous receiver name e for OptionNode (golint)
    • Line 107: warning: exported method OptionNode.GetValue should have comment or be unexported (golint)
    • Line 107: warning: receiver name n should be consistent with previous receiver name e for OptionNode (golint)
    • Line 228: warning: exported method FieldReferenceNode.Value should have comment or be unexported (golint)
    • Line 231: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 295: warning: exported method CompactOptionsNode.GetElements should have comment or be unexported (golint)
    • protoreflect/desc/protoprint/print.go
    • Line 230: warning: comment on exported method Printer.PrintProtoToString should be of the form "PrintProtoToString ..." (golint)
    • Line 881: 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)
    • protoreflect/desc/descriptor.go
    • Line 215: 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 225: 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 235: 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 245: 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 255: 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 509: 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 519: 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 557: 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 564: 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 571: 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 635: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 665: 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 671: 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 679: 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 686: 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 694: 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 701: 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 1202: 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 1414: 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 1440: 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 1445: 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 1638: warning: exported method OneOfDescriptor.IsSynthetic should have comment or be unexported (golint)
    • Line 1720: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • protoreflect/dynamic/msgregistry/message_registry.go
    • Line 241: 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 375: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 411: 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 622: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 689: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • protoreflect/dynamic/equal.go
    • Line 81: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 99: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • protoreflect/dynamic/grpcdynamic/stub.go
    • Line 83: 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 112: 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 130: 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 192: 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 245: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 300: 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)
    • protoreflect/dynamic/dynamic_message.go
    • Line 272: warning: don't use underscores in Go names; method XXX_MessageName should be XXXMessageName (golint)
    • Line 524: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 533: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 1742: 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 1812: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 2496: 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 2525: 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 2551: 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 2669: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • protoreflect/dynamic/json.go
    • Line 395: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 486: 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 782: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 826: 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 833: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 888: 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)
    • protoreflect/desc/internal/util.go
    • Line 35: warning: don't use underscores in Go names; const File_packageTag should be FilePackageTag (golint)
    • Line 38: warning: don't use underscores in Go names; const File_dependencyTag should be FileDependencyTag (golint)
    • Line 41: warning: don't use underscores in Go names; const File_messagesTag should be FileMessagesTag (golint)
    • Line 44: warning: don't use underscores in Go names; const File_enumsTag should be FileEnumsTag (golint)
    • Line 47: warning: don't use underscores in Go names; const File_servicesTag should be FileServicesTag (golint)
    • Line 50: warning: don't use underscores in Go names; const File_extensionsTag should be FileExtensionsTag (golint)
    • Line 53: warning: don't use underscores in Go names; const File_optionsTag should be FileOptionsTag (golint)
    • Line 56: warning: don't use underscores in Go names; const File_syntaxTag should be FileSyntaxTag (golint)
    • Line 59: warning: don't use underscores in Go names; const Message_nameTag should be MessageNameTag (golint)
    • Line 62: warning: don't use underscores in Go names; const Message_fieldsTag should be MessageFieldsTag (golint)
    • Line 65: warning: don't use underscores in Go names; const Message_nestedMessagesTag should be MessageNestedMessagesTag (golint)
    • Line 68: warning: don't use underscores in Go names; const Message_enumsTag should be MessageEnumsTag (golint)
    • Line 71: warning: don't use underscores in Go names; const Message_extensionRangeTag should be MessageExtensionRangeTag (golint)
    • Line 74: warning: don't use underscores in Go names; const Message_extensionsTag should be MessageExtensionsTag (golint)
    • Line 77: warning: don't use underscores in Go names; const Message_optionsTag should be MessageOptionsTag (golint)
    • Line 80: warning: don't use underscores in Go names; const Message_oneOfsTag should be MessageOneOfsTag (golint)
    • Line 83: warning: don't use underscores in Go names; const Message_reservedRangeTag should be MessageReservedRangeTag (golint)
    • Line 86: warning: don't use underscores in Go names; const Message_reservedNameTag should be MessageReservedNameTag (golint)
    • Line 89: warning: don't use underscores in Go names; const ExtensionRange_startTag should be ExtensionRangeStartTag (golint)
    • Line 92: warning: don't use underscores in Go names; const ExtensionRange_endTag should be ExtensionRangeEndTag (golint)
    • Line 95: warning: don't use underscores in Go names; const ExtensionRange_optionsTag should be ExtensionRangeOptionsTag (golint)
    • Line 98: warning: don't use underscores in Go names; const ReservedRange_startTag should be ReservedRangeStartTag (golint)
    • Line 101: warning: don't use underscores in Go names; const ReservedRange_endTag should be ReservedRangeEndTag (golint)
    • Line 104: warning: don't use underscores in Go names; const Field_nameTag should be FieldNameTag (golint)
    • Line 107: warning: don't use underscores in Go names; const Field_extendeeTag should be FieldExtendeeTag (golint)
    • Line 110: warning: don't use underscores in Go names; const Field_numberTag should be FieldNumberTag (golint)
    • Line 113: warning: don't use underscores in Go names; const Field_labelTag should be FieldLabelTag (golint)
    • Line 116: warning: don't use underscores in Go names; const Field_typeTag should be FieldTypeTag (golint)
    • Line 119: warning: don't use underscores in Go names; const Field_typeNameTag should be FieldTypeNameTag (golint)
    • Line 122: warning: don't use underscores in Go names; const Field_defaultTag should be FieldDefaultTag (golint)
    • Line 125: warning: don't use underscores in Go names; const Field_optionsTag should be FieldOptionsTag (golint)
    • Line 128: warning: don't use underscores in Go names; const Field_jsonNameTag should be FieldJSONNameTag (golint)
    • Line 131: warning: don't use underscores in Go names; const Field_proto3OptionalTag should be FieldProto3OptionalTag (golint)
    • Line 134: warning: don't use underscores in Go names; const OneOf_nameTag should be OneOfNameTag (golint)
    • Line 137: warning: don't use underscores in Go names; const OneOf_optionsTag should be OneOfOptionsTag (golint)
    • Line 140: warning: don't use underscores in Go names; const Enum_nameTag should be EnumNameTag (golint)
    • Line 143: warning: don't use underscores in Go names; const Enum_valuesTag should be EnumValuesTag (golint)
    • Line 146: warning: don't use underscores in Go names; const Enum_optionsTag should be EnumOptionsTag (golint)
    • Line 149: warning: don't use underscores in Go names; const Enum_reservedRangeTag should be EnumReservedRangeTag (golint)
    • Line 152: warning: don't use underscores in Go names; const Enum_reservedNameTag should be EnumReservedNameTag (golint)
    • Line 155: warning: don't use underscores in Go names; const EnumVal_nameTag should be EnumValNameTag (golint)
    • Line 158: warning: don't use underscores in Go names; const EnumVal_numberTag should be EnumValNumberTag (golint)
    • Line 161: warning: don't use underscores in Go names; const EnumVal_optionsTag should be EnumValOptionsTag (golint)
    • Line 164: warning: don't use underscores in Go names; const Service_nameTag should be ServiceNameTag (golint)
    • Line 167: warning: don't use underscores in Go names; const Service_methodsTag should be ServiceMethodsTag (golint)
    • Line 170: warning: don't use underscores in Go names; const Service_optionsTag should be ServiceOptionsTag (golint)
    • Line 173: warning: don't use underscores in Go names; const Method_nameTag should be MethodNameTag (golint)
    • Line 176: warning: don't use underscores in Go names; const Method_inputTag should be MethodInputTag (golint)
    • Line 179: warning: don't use underscores in Go names; const Method_outputTag should be MethodOutputTag (golint)
    • Line 182: warning: don't use underscores in Go names; const Method_optionsTag should be MethodOptionsTag (golint)
    • Line 185: warning: don't use underscores in Go names; const Method_inputStreamTag should be MethodInputStreamTag (golint)
    • Line 188: warning: don't use underscores in Go names; const Method_outputStreamTag should be MethodOutputStreamTag (golint)
    • Line 197: warning: don't use underscores in Go names; const Uninterpreted_nameTag should be UninterpretedNameTag (golint)
    • Line 200: warning: don't use underscores in Go names; const Uninterpreted_identTag should be UninterpretedIdentTag (golint)
    • Line 203: warning: don't use underscores in Go names; const Uninterpreted_posIntTag should be UninterpretedPosIntTag (golint)
    • Line 206: warning: don't use underscores in Go names; const Uninterpreted_negIntTag should be UninterpretedNegIntTag (golint)
    • Line 209: warning: don't use underscores in Go names; const Uninterpreted_doubleTag should be UninterpretedDoubleTag (golint)
    • Line 212: warning: don't use underscores in Go names; const Uninterpreted_stringTag should be UninterpretedStringTag (golint)
    • Line 215: warning: don't use underscores in Go names; const Uninterpreted_aggregateTag should be UninterpretedAggregateTag (golint)
    • Line 218: warning: don't use underscores in Go names; const UninterpretedName_nameTag should be UninterpretedNameNameTag (golint)
    • protoreflect/desc/protoparse/ast/field.go
    • Line 111: warning: exported method FieldNode.FieldLabel should have comment or be unexported (golint)
    • Line 121: warning: exported method FieldNode.FieldName should have comment or be unexported (golint)
    • Line 125: warning: exported method FieldNode.FieldType should have comment or be unexported (golint)
    • Line 129: warning: exported method FieldNode.FieldTag should have comment or be unexported (golint)
    • Line 133: warning: exported method FieldNode.FieldExtendee should have comment or be unexported (golint)
    • Line 140: warning: exported method FieldNode.GetGroupKeyword should have comment or be unexported (golint)
    • Line 144: warning: exported method FieldNode.GetOptions should have comment or be unexported (golint)
    • Line 270: warning: exported method GroupNode.FieldLabel should have comment or be unexported (golint)
    • Line 278: warning: exported method GroupNode.FieldName should have comment or be unexported (golint)
    • Line 282: warning: exported method GroupNode.FieldType should have comment or be unexported (golint)
    • Line 286: warning: exported method GroupNode.FieldTag should have comment or be unexported (golint)
    • Line 290: warning: exported method GroupNode.FieldExtendee should have comment or be unexported (golint)
    • Line 297: warning: exported method GroupNode.GetGroupKeyword should have comment or be unexported (golint)
    • Line 301: warning: exported method GroupNode.GetOptions should have comment or be unexported (golint)
    • Line 305: warning: exported method GroupNode.MessageName should have comment or be unexported (golint)
    • Line 505: warning: exported method MapFieldNode.FieldLabel should have comment or be unexported (golint)
    • Line 509: warning: exported method MapFieldNode.FieldName should have comment or be unexported (golint)
    • Line 513: warning: exported method MapFieldNode.FieldType should have comment or be unexported (golint)
    • Line 517: warning: exported method MapFieldNode.FieldTag should have comment or be unexported (golint)
    • Line 521: warning: exported method MapFieldNode.FieldExtendee should have comment or be unexported (golint)
    • Line 525: warning: exported method MapFieldNode.GetGroupKeyword should have comment or be unexported (golint)
    • Line 529: warning: exported method MapFieldNode.GetOptions should have comment or be unexported (golint)
    • Line 533: warning: exported method MapFieldNode.MessageName should have comment or be unexported (golint)
    • Line 537: warning: exported method MapFieldNode.KeyField should have comment or be unexported (golint)
    • Line 541: warning: exported method MapFieldNode.ValueField should have comment or be unexported (golint)
    • Line 566: warning: exported method SyntheticMapField.Start should have comment or be unexported (golint)
    • Line 570: warning: exported method SyntheticMapField.End should have comment or be unexported (golint)
    • Line 574: warning: exported method SyntheticMapField.LeadingComments should have comment or be unexported (golint)
    • Line 578: warning: exported method SyntheticMapField.TrailingComments should have comment or be unexported (golint)
    • Line 582: warning: exported method SyntheticMapField.FieldLabel should have comment or be unexported (golint)
    • Line 586: warning: exported method SyntheticMapField.FieldName should have comment or be unexported (golint)
    • Line 590: warning: exported method SyntheticMapField.FieldType should have comment or be unexported (golint)
    • Line 594: warning: exported method SyntheticMapField.FieldTag should have comment or be unexported (golint)
    • Line 598: warning: exported method SyntheticMapField.FieldExtendee should have comment or be unexported (golint)
    • Line 602: warning: exported method SyntheticMapField.GetGroupKeyword should have comment or be unexported (golint)
    • Line 606: warning: exported method SyntheticMapField.GetOptions should have comment or be unexported (golint)
    • protoreflect/desc/builder/message.go
    • Line 91: 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 291: 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 362: 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 433: 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 513: 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 571: 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 716: 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 783: 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 793: 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 803: 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)
    • protoreflect/desc/protoparse/ast/file.go
    • Line 29: warning: comment on exported function NewFileNode should be of the form "NewFileNode ..." (golint)
    • Line 65: warning: exported function NewEmptyFileNode should have comment or be unexported (golint)
    • Line 73: warning: exported method FileNode.GetSyntax should have comment or be unexported (golint)
    • protoreflect/desc/protoparse/ast/values.go
    • Line 71: warning: exported method StringLiteralNode.Value should have comment or be unexported (golint)
    • Line 75: warning: exported method StringLiteralNode.AsString should have comment or be unexported (golint)
    • Line 109: warning: exported method CompoundStringLiteralNode.Value should have comment or be unexported (golint)
    • Line 113: warning: exported method CompoundStringLiteralNode.AsString should have comment or be unexported (golint)
    • Line 158: warning: exported method UintLiteralNode.Value should have comment or be unexported (golint)
    • Line 162: warning: exported method UintLiteralNode.AsInt64 should have comment or be unexported (golint)
    • Line 169: warning: exported method UintLiteralNode.AsUint64 should have comment or be unexported (golint)
    • Line 173: warning: exported method UintLiteralNode.AsFloat should have comment or be unexported (golint)
    • Line 205: warning: exported method PositiveUintLiteralNode.Value should have comment or be unexported (golint)
    • Line 209: warning: exported method PositiveUintLiteralNode.AsInt64 should have comment or be unexported (golint)
    • Line 216: warning: exported method PositiveUintLiteralNode.AsUint64 should have comment or be unexported (golint)
    • Line 248: warning: exported method NegativeIntLiteralNode.Value should have comment or be unexported (golint)
    • Line 252: warning: exported method NegativeIntLiteralNode.AsInt64 should have comment or be unexported (golint)
    • Line 256: warning: exported method NegativeIntLiteralNode.AsUint64 should have comment or be unexported (golint)
    • Line 290: warning: exported method FloatLiteralNode.Value should have comment or be unexported (golint)
    • Line 294: warning: exported method FloatLiteralNode.AsFloat should have comment or be unexported (golint)
    • Line 320: warning: exported method SpecialFloatLiteralNode.Value should have comment or be unexported (golint)
    • Line 324: warning: exported method SpecialFloatLiteralNode.AsFloat should have comment or be unexported (golint)
    • Line 360: warning: exported method SignedFloatLiteralNode.Value should have comment or be unexported (golint)
    • Line 364: warning: exported method SignedFloatLiteralNode.AsFloat should have comment or be unexported (golint)
    • Line 383: warning: exported method BoolLiteralNode.Value should have comment or be unexported (golint)
    • Line 448: warning: exported method ArrayLiteralNode.Value should have comment or be unexported (golint)
    • Line 517: warning: exported method MessageLiteralNode.Value should have comment or be unexported (golint)
    • protoreflect/desc/protoparse/options.go
    • Line 398: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 688: 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 713: 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 722: 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 737: 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 752: 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 767: 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 907: 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 917: 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 1234: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 1277: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • protoreflect/desc/protoparse/ast/enum.go
    • Line 92: warning: comment on exported type EnumValueNode should be of the form "EnumValueNode ..." (with optional leading article) (golint)
    • Line 148: warning: exported method EnumValueNode.GetName should have comment or be unexported (golint)
    • Line 152: warning: exported method EnumValueNode.GetNumber should have comment or be unexported (golint)
    • protoreflect/desc/protoparse/ast/ranges.go
    • Line 152: warning: exported method RangeNode.RangeStart should have comment or be unexported (golint)
    • Line 156: warning: exported method RangeNode.RangeEnd should have comment or be unexported (golint)
    • Line 166: warning: exported method RangeNode.StartValue should have comment or be unexported (golint)
    • Line 170: warning: exported method RangeNode.StartValueAsInt32 should have comment or be unexported (golint)
    • Line 174: warning: exported method RangeNode.EndValue should have comment or be unexported (golint)
    • Line 181: warning: exported method RangeNode.EndValueAsInt32 should have comment or be unexported (golint)
    • protoreflect/grpcreflect/client.go
    • Line 299: 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 475: 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 529: 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 547: 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 565: 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 603: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • protoreflect/desc/protoparse/lexer.go
    • Line 304: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 377: 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)
    • protoreflect/codec/decode_fields.go
    • Line 199: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 235: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 242: warning: receiver name b should be consistent with previous receiver name cb for Buffer (golint)
    • Line 297: warning: receiver name b should be consistent with previous receiver name cb for Buffer (golint)
    • protoreflect/codec/encode_fields.go
    • Line 29: warning: exported method Buffer.EncodeFieldValue should have comment or be unexported (golint)
    • Line 102: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 159: warning: receiver name b should be consistent with previous receiver name cb for Buffer (golint)
    • Line 176: warning: receiver name b should be consistent with previous receiver name cb for Buffer (golint)
    • protoreflect/dynamic/msgregistry/ptype_resolver.go
    • Line 83: 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 183: 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 485: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 534: 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 729: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • protoreflect/dynamic/indent.go
    • Line 24: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 41: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • protoreflect/desc/protoparse/ast/identifiers.go
    • Line 39: warning: exported method IdentNode.Value should have comment or be unexported (golint)
    • Line 43: warning: exported method IdentNode.AsIdentifier should have comment or be unexported (golint)
    • Line 113: warning: exported method CompoundIdentNode.Value should have comment or be unexported (golint)
    • Line 117: warning: exported method CompoundIdentNode.AsIdentifier should have comment or be unexported (golint)
    • protoreflect/desc/builder/file.go
    • Line 358: 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 411: 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 467: 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 520: 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 653: 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 663: 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 673: 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 683: 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)

gocyclo84%

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.

    • protoreflect/desc/builder/resolver.go
    • Line 87: warning: cyclomatic complexity 18 of function (*dependencyResolver).resolveFile() is high (> 15) (gocyclo)
    • Line 359: warning: cyclomatic complexity 16 of function (*dependencyResolver).resolveTypesInMessageOptions() is high (> 15) (gocyclo)
    • protoreflect/dynamic/dynamic_message.go
    • Line 2186: warning: cyclomatic complexity 37 of function (*Message).mergeInto() is high (> 15) (gocyclo)
    • Line 2443: warning: cyclomatic complexity 32 of function (*Message).mergeFrom() is high (> 15) (gocyclo)
    • Line 701: warning: cyclomatic complexity 20 of function (*Message).internalSetField() is high (> 15) (gocyclo)
    • Line 2385: warning: cyclomatic complexity 20 of function mergeVal() is high (> 15) (gocyclo)
    • Line 2604: warning: cyclomatic complexity 19 of function (*Message).validateRecursive() is high (> 15) (gocyclo)
    • Line 1879: warning: cyclomatic complexity 18 of function validElementFieldValueForRv() is high (> 15) (gocyclo)
    • Line 1803: warning: cyclomatic complexity 16 of function validFieldValueForRv() is high (> 15) (gocyclo)
    • protoreflect/dynamic/msgregistry/message_registry.go
    • Line 440: warning: cyclomatic complexity 25 of function (*MessageRegistry).fieldAsPType() is high (> 15) (gocyclo)
    • Line 267: warning: cyclomatic complexity 17 of function (*MessageRegistry).ResolveApiIntoServiceDescriptor() is high (> 15) (gocyclo)
    • Line 646: warning: cyclomatic complexity 16 of function wrap() is high (> 15) (gocyclo)
    • protoreflect/dynamic/dynamic_message_test.go
    • Line 359: warning: cyclomatic complexity 23 of function TestGetSetAtIndexAddRepeatedFields() is high (> 15) (gocyclo)
    • Line 1549: warning: cyclomatic complexity 17 of function TestGetSetExtensionFields() is high (> 15) (gocyclo)
    • Line 1188: warning: cyclomatic complexity 17 of function TestMapFields_AsIfRepeatedFieldOfEntries() is high (> 15) (gocyclo)
    • Line 1654: warning: cyclomatic complexity 17 of function TestGetSetExtensionFields_ByTagNumber() is high (> 15) (gocyclo)
    • Line 1756: warning: cyclomatic complexity 17 of function TestGetSetExtensionFields_ByName() is high (> 15) (gocyclo)
    • protoreflect/desc/protoprint/print.go
    • Line 1959: warning: cyclomatic complexity 37 of function (elementAddrs).at() is high (> 15) (gocyclo)
    • Line 724: warning: cyclomatic complexity 36 of function (*Printer).printMessageBody() is high (> 15) (gocyclo)
    • Line 1681: warning: cyclomatic complexity 35 of function (*Printer).extractOptions() is high (> 15) (gocyclo)
    • Line 429: warning: cyclomatic complexity 27 of function (*Printer).printFile() is high (> 15) (gocyclo)
    • Line 2277: warning: cyclomatic complexity 26 of function (*Printer).printComment() is high (> 15) (gocyclo)
    • Line 2056: warning: cyclomatic complexity 26 of function (elementSrcOrder).Less() is high (> 15) (gocyclo)
    • Line 1884: warning: cyclomatic complexity 22 of function (elementAddrs).Less() is high (> 15) (gocyclo)
    • Line 663: warning: cyclomatic complexity 20 of function (*Printer).typeString() is high (> 15) (gocyclo)
    • Line 1198: warning: cyclomatic complexity 18 of function (*Printer).printEnum() is high (> 15) (gocyclo)
    • Line 893: warning: cyclomatic complexity 17 of function (*Printer).printField() is high (> 15) (gocyclo)
    • Line 242: warning: cyclomatic complexity 16 of function (*Printer).printProto() is high (> 15) (gocyclo)
    • protoreflect/dynamic/text.go
    • Line 684: warning: cyclomatic complexity 55 of function (*Message).unmarshalFieldElementText() is high (> 15) (gocyclo)
    • Line 471: warning: cyclomatic complexity 43 of function (*Message).unmarshalText() is high (> 15) (gocyclo)
    • Line 210: warning: cyclomatic complexity 28 of function marshalKnownFieldText() is high (> 15) (gocyclo)
    • Line 54: warning: cyclomatic complexity 27 of function (*Message).marshalText() is high (> 15) (gocyclo)
    • Line 1078: warning: cyclomatic complexity 27 of function (*txtReader).processToken() is high (> 15) (gocyclo)
    • Line 366: warning: cyclomatic complexity 24 of function marshalUnknownGroupText() is high (> 15) (gocyclo)
    • protoreflect/codec/encode_fields.go
    • Line 29: warning: cyclomatic complexity 30 of function (*Buffer).EncodeFieldValue() is high (> 15) (gocyclo)
    • Line 176: warning: cyclomatic complexity 20 of function (*Buffer).encodeFieldValue() is high (> 15) (gocyclo)
    • protoreflect/dynamic/json.go
    • Line 788: warning: cyclomatic complexity 35 of function unmarshalJsFieldElement() is high (> 15) (gocyclo)
    • Line 681: warning: cyclomatic complexity 27 of function unmarshalJsField() is high (> 15) (gocyclo)
    • Line 382: warning: cyclomatic complexity 27 of function marshalKnownFieldValueJSON() is high (> 15) (gocyclo)
    • Line 204: warning: cyclomatic complexity 25 of function marshalKnownFieldJSON() is high (> 15) (gocyclo)
    • Line 591: warning: cyclomatic complexity 19 of function (*Message).unmarshalJson() is high (> 15) (gocyclo)

ineffassign100%

IneffAssign detects ineffectual assignments in Go code.

No problems detected. Good job!


license100%

Checks whether your project has a LICENSE file.

No problems detected. Good job!


misspell97%

Misspell Finds commonly misspelled English words