prysm-pulse/nogo_config.json
Radosław Kapka aaa3abf630
Shadowed Predeclared Indentifier analyzer (#7215)
* wip

* working for some ast nodes

* works for all but assignment

* works for all but mixed assignments

* change test name

* plug in the analyzer

* remove `copy` from predeclared list

* rename few shadowing names

* rename `len` to `length`

* add one more test case

* rename `panic` to `panicResult`

* replace `panic` with `panicResult` in error message

* remove test case not covered by the tool

* add `byte` to predeclared list

* additional test cases

* rename `copy` to `copyHandler`

* exclude functions with receivers

* revert to good names

Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2020-09-14 12:49:15 +02:00

128 lines
3.6 KiB
JSON

{
"unsafeptr": {
"exclude_files": {
"external/.*": "Unsafe third party code",
"rules_go_work-.*": "Third party code"
}
},
"unreachable": {
"exclude_files": {
"shared/messagehandler/messagehandler_test.go": "Necessary panic before return for test",
"external/.*": "Unreachable third party code"
}
},
"lostcancel": {
"exclude_files": {
"validator/client/runner.go": "No need to cancel right when goroutines begin",
"external/.*": "Third party code"
}
},
"nilness": {
"exclude_files": {
"external/.*": "Third party code",
"rules_go_work-.*": "Third party code"
}
},
"pkgfact": {
"exclude_files": {
"external/.*": "Third party code",
"rules_go_work-.*": "Third party code"
}
},
"stdmethods": {
"exclude_files": {
"external/.*": "Third party code"
}
},
"copylocks": {
"exclude_files": {
"external/.*": "Third party code"
}
},
"composites": {
"exclude_files": {
"external/.*": "Third party code"
}
},
"cgocall": {
"exclude_files": {
"external/.*": "Third party code"
}
},
"assign": {
"exclude_files": {
"external/.*": "Third party code"
}
},
"structtag": {
"exclude_files": {
"external/.*": "Third party code"
}
},
"maligned": {
"exclude_files": {
"external/.*": "Third party code",
"rules_go_work-.*": "Third party code",
"shared/params/config.go": "This config struct needs to be organized for now",
"proto/.*": "Excluding protobuf objects for now"
}
},
"roughtime": {
"only_files": {
"beacon-chain/.*": "",
"shared/.*": "",
"validator/.*": ""
},
"exclude_files": {
".*/.*_test\\.go": "Tests are OK to use time.Now()",
"shared/version/version\\.go": "Used for printing build time",
"shared/roughtime/roughtime\\.go": "Required to bootstrap roughtime",
"beacon-chain/blockchain/testing/*": "Test-only package",
"beacon-chain/p2p/sender\\.go": "Libp2p uses time.Now and this file sets a time based deadline in such a way that roughtime cannot be used",
"beacon-chain/sync/deadlines\\.go": "Libp2p uses time.Now and this file sets a time based deadline in such a way that roughtime cannot be used",
"shared/grpcutils/grpcutils\\.go": "Uses time.Now() for gRPC duration logging"
}
},
"errcheck": {
"exclude_files": {
"external/.*": "Third party code",
"rules_go_work-.*": "Third party code",
"shared/mock/.*\\.go": "Mocks are OK",
".*/.*mock\\.go": "Mocks are OK",
".*/testmain\\.go": "Test runner generated code",
"proto/.*": "Generated protobuf related code"
}
},
"featureconfig": {
"only_files": {
".*_test\\.go": "Only tests"
}
},
"cryptorand": {
"only_files": {
"beacon-chain/.*": "",
"shared/.*": "",
"validator/.*": ""
},
"exclude_files": {
".*/.*_test\\.go": "Tests are OK to use weak crypto",
"shared/rand/rand\\.go": "Abstracts CSPRNGs for common use",
"shared/aggregation/testing/bitlistutils.go": "Test-only package"
}
},
"comparesame": {
"exclude_files": {
"external/.*": "Third party code",
"rules_go_work-.*": "Third party code",
"tools/analyzers/comparesame/testdata/compare_len.go": "Analyzer testdata has to break rules"
}
},
"shadowpredecl": {
"exclude_files": {
"external/.*": "Third party code",
"rules_go_work-.*": "Third party code",
"tools/analyzers/shadowpredecl/testdata/shadow.go": "Analyzer testdata has to break rules"
}
}
}