| // 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(sorthelpersFix) | |
| } | |
| var sorthelpersFix = fix{ | |
| "sorthelpers", | |
| "2011-07-08", | |
| sorthelpers, | |
| `Adapt code from sort.Sort[Ints|Float64s|Strings] to sort.[Ints|Float64s|Strings]. | |
| `, | |
| } | |
| func sorthelpers(f *ast.File) (fixed bool) { | |
| if !imports(f, "sort") { | |
| return | |
| } | |
| walk(f, func(n interface{}) { | |
| s, ok := n.(*ast.SelectorExpr) | |
| if !ok || !isTopName(s.X, "sort") { | |
| return | |
| } | |
| switch s.Sel.String() { | |
| case "SortFloat64s": | |
| s.Sel.Name = "Float64s" | |
| case "SortInts": | |
| s.Sel.Name = "Ints" | |
| case "SortStrings": | |
| s.Sel.Name = "Strings" | |
| default: | |
| return | |
| } | |
| fixed = true | |
| }) | |
| return | |
| } |