| // 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 |
| } |