8dc2499aa6
gotools/ * Makefile.am (go_cmd_cgo_files): Add ast_go118.go (check-go-tool): Copy golang.org/x/tools directories. * Makefile.in: Regenerate. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/384695
24 lines
478 B
Go
24 lines
478 B
Go
// Copyright 2017 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.
|
|
|
|
//go:build !go1.8
|
|
// +build !go1.8
|
|
|
|
package sort
|
|
|
|
import "reflect"
|
|
|
|
var reflectValueOf = reflect.ValueOf
|
|
|
|
func reflectSwapper(x any) func(int, int) {
|
|
v := reflectValueOf(x)
|
|
tmp := reflect.New(v.Type().Elem()).Elem()
|
|
return func(i, j int) {
|
|
a, b := v.Index(i), v.Index(j)
|
|
tmp.Set(a)
|
|
a.Set(b)
|
|
b.Set(tmp)
|
|
}
|
|
}
|