mirror of
https://github.com/golang/go.git
synced 2025-05-23 16:31:27 +00:00
go/types, go/constant: remove backward-compatibility files (cleanup)
Not needed anymore since go/types is always built against the current standard library. Fixes #11538. Change-Id: I2f07d73703f4e5661c4b5df5d487939dcf530b43 Reviewed-on: https://go-review.googlesource.com/13897 Reviewed-by: Alan Donovan <adonovan@google.com>
This commit is contained in:
parent
c1aee8c825
commit
6184765f86
@ -1,24 +0,0 @@
|
|||||||
// Copyright 2014 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.
|
|
||||||
|
|
||||||
// +build !go1.4
|
|
||||||
|
|
||||||
package constant
|
|
||||||
|
|
||||||
import (
|
|
||||||
"math"
|
|
||||||
"math/big"
|
|
||||||
)
|
|
||||||
|
|
||||||
func ratToFloat32(x *big.Rat) (float32, bool) {
|
|
||||||
// Before 1.4, there's no Rat.Float32.
|
|
||||||
// Emulate it, albeit at the cost of
|
|
||||||
// imprecision in corner cases.
|
|
||||||
x64, exact := x.Float64()
|
|
||||||
x32 := float32(x64)
|
|
||||||
if math.IsInf(float64(x32), 0) {
|
|
||||||
exact = false
|
|
||||||
}
|
|
||||||
return x32, exact
|
|
||||||
}
|
|
@ -1,13 +0,0 @@
|
|||||||
// Copyright 2014 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.
|
|
||||||
|
|
||||||
// +build go1.4
|
|
||||||
|
|
||||||
package constant
|
|
||||||
|
|
||||||
import "math/big"
|
|
||||||
|
|
||||||
func ratToFloat32(x *big.Rat) (float32, bool) {
|
|
||||||
return x.Float32()
|
|
||||||
}
|
|
@ -258,9 +258,9 @@ func Float32Val(x Value) (float32, bool) {
|
|||||||
f := float32(x)
|
f := float32(x)
|
||||||
return f, int64Val(f) == x
|
return f, int64Val(f) == x
|
||||||
case intVal:
|
case intVal:
|
||||||
return ratToFloat32(new(big.Rat).SetFrac(x.val, int1))
|
return new(big.Rat).SetFrac(x.val, int1).Float32()
|
||||||
case floatVal:
|
case floatVal:
|
||||||
return ratToFloat32(x.val)
|
return x.val.Float32()
|
||||||
case unknownVal:
|
case unknownVal:
|
||||||
return 0, false
|
return 0, false
|
||||||
}
|
}
|
||||||
|
@ -1256,7 +1256,7 @@ func (check *Checker) exprInternal(x *operand, e ast.Expr, hint Type) exprKind {
|
|||||||
switch typ := x.typ.Underlying().(type) {
|
switch typ := x.typ.Underlying().(type) {
|
||||||
case *Basic:
|
case *Basic:
|
||||||
if isString(typ) {
|
if isString(typ) {
|
||||||
if slice3(e) {
|
if e.Slice3 {
|
||||||
check.invalidOp(x.pos(), "3-index slice of string")
|
check.invalidOp(x.pos(), "3-index slice of string")
|
||||||
goto Error
|
goto Error
|
||||||
}
|
}
|
||||||
@ -1300,14 +1300,14 @@ func (check *Checker) exprInternal(x *operand, e ast.Expr, hint Type) exprKind {
|
|||||||
x.mode = value
|
x.mode = value
|
||||||
|
|
||||||
// spec: "Only the first index may be omitted; it defaults to 0."
|
// spec: "Only the first index may be omitted; it defaults to 0."
|
||||||
if slice3(e) && (e.High == nil || sliceMax(e) == nil) {
|
if e.Slice3 && (e.High == nil || e.Max == nil) {
|
||||||
check.error(e.Rbrack, "2nd and 3rd index required in 3-index slice")
|
check.error(e.Rbrack, "2nd and 3rd index required in 3-index slice")
|
||||||
goto Error
|
goto Error
|
||||||
}
|
}
|
||||||
|
|
||||||
// check indices
|
// check indices
|
||||||
var ind [3]int64
|
var ind [3]int64
|
||||||
for i, expr := range []ast.Expr{e.Low, e.High, sliceMax(e)} {
|
for i, expr := range []ast.Expr{e.Low, e.High, e.Max} {
|
||||||
x := int64(-1)
|
x := int64(-1)
|
||||||
switch {
|
switch {
|
||||||
case expr != nil:
|
case expr != nil:
|
||||||
|
@ -1,17 +0,0 @@
|
|||||||
// Copyright 2013 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.
|
|
||||||
|
|
||||||
// +build !go1.2
|
|
||||||
|
|
||||||
package types
|
|
||||||
|
|
||||||
import "go/ast"
|
|
||||||
|
|
||||||
func slice3(x *ast.SliceExpr) bool {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
func sliceMax(x *ast.SliceExpr) ast.Expr {
|
|
||||||
return nil
|
|
||||||
}
|
|
@ -1,17 +0,0 @@
|
|||||||
// Copyright 2013 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.
|
|
||||||
|
|
||||||
// +build go1.2
|
|
||||||
|
|
||||||
package types
|
|
||||||
|
|
||||||
import "go/ast"
|
|
||||||
|
|
||||||
func slice3(x *ast.SliceExpr) bool {
|
|
||||||
return x.Slice3
|
|
||||||
}
|
|
||||||
|
|
||||||
func sliceMax(x *ast.SliceExpr) ast.Expr {
|
|
||||||
return x.Max
|
|
||||||
}
|
|
Loading…
x
Reference in New Issue
Block a user