summaryrefslogtreecommitdiff
path: root/src/cmd/fix/hashsum.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/fix/hashsum.go')
-rw-r--r--src/cmd/fix/hashsum.go94
1 files changed, 0 insertions, 94 deletions
diff --git a/src/cmd/fix/hashsum.go b/src/cmd/fix/hashsum.go
deleted file mode 100644
index 0df6ad749..000000000
--- a/src/cmd/fix/hashsum.go
+++ /dev/null
@@ -1,94 +0,0 @@
-// Copyright 2011 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package main
-
-import (
- "go/ast"
-)
-
-func init() {
- register(hashSumFix)
-}
-
-var hashSumFix = fix{
- "hashsum",
- "2011-11-30",
- hashSumFn,
- `Pass a nil argument to calls to hash.Sum
-
-This fix rewrites code so that it passes a nil argument to hash.Sum.
-The additional argument will allow callers to avoid an
-allocation in the future.
-
-http://codereview.appspot.com/5448065
-`,
-}
-
-// Type-checking configuration: tell the type-checker this basic
-// information about types, functions, and variables in external packages.
-var hashSumTypeConfig = &TypeConfig{
- Var: map[string]string{
- "crypto.MD4": "crypto.Hash",
- "crypto.MD5": "crypto.Hash",
- "crypto.SHA1": "crypto.Hash",
- "crypto.SHA224": "crypto.Hash",
- "crypto.SHA256": "crypto.Hash",
- "crypto.SHA384": "crypto.Hash",
- "crypto.SHA512": "crypto.Hash",
- "crypto.MD5SHA1": "crypto.Hash",
- "crypto.RIPEMD160": "crypto.Hash",
- },
-
- Func: map[string]string{
- "adler32.New": "hash.Hash",
- "crc32.New": "hash.Hash",
- "crc32.NewIEEE": "hash.Hash",
- "crc64.New": "hash.Hash",
- "fnv.New32a": "hash.Hash",
- "fnv.New32": "hash.Hash",
- "fnv.New64a": "hash.Hash",
- "fnv.New64": "hash.Hash",
- "hmac.New": "hash.Hash",
- "hmac.NewMD5": "hash.Hash",
- "hmac.NewSHA1": "hash.Hash",
- "hmac.NewSHA256": "hash.Hash",
- "md4.New": "hash.Hash",
- "md5.New": "hash.Hash",
- "ripemd160.New": "hash.Hash",
- "sha1.New224": "hash.Hash",
- "sha1.New": "hash.Hash",
- "sha256.New224": "hash.Hash",
- "sha256.New": "hash.Hash",
- "sha512.New384": "hash.Hash",
- "sha512.New": "hash.Hash",
- },
-
- Type: map[string]*Type{
- "crypto.Hash": {
- Method: map[string]string{
- "New": "func() hash.Hash",
- },
- },
- },
-}
-
-func hashSumFn(f *ast.File) bool {
- typeof, _ := typecheck(hashSumTypeConfig, f)
-
- fixed := false
-
- walk(f, func(n interface{}) {
- call, ok := n.(*ast.CallExpr)
- if ok && len(call.Args) == 0 {
- sel, ok := call.Fun.(*ast.SelectorExpr)
- if ok && sel.Sel.Name == "Sum" && typeof[sel.X] == "hash.Hash" {
- call.Args = append(call.Args, ast.NewIdent("nil"))
- fixed = true
- }
- }
- })
-
- return fixed
-}