Source File
util.go
Belonging Package
go/types
// Copyright 2023 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.
// This file contains various functionality that is
// different between go/types and types2. Factoring
// out this code allows more of the rest of the code
// to be shared.
package types
import (
)
const isTypes2 = false
// cmpPos compares the positions p and q and returns a result r as follows:
//
// r < 0: p is before q
// r == 0: p and q are the same position (but may not be identical)
// r > 0: p is after q
//
// If p and q are in different files, p is before q if the filename
// of p sorts lexicographically before the filename of q.
func cmpPos(, token.Pos) int { return int( - ) }
// hasDots reports whether the last argument in the call is followed by ...
func hasDots( *ast.CallExpr) bool { return .Ellipsis.IsValid() }
// dddErrPos returns the positioner for reporting an invalid ... use in a call.
func dddErrPos( *ast.CallExpr) positioner { return atPos(.Ellipsis) }
// argErrPos returns positioner for reporting an invalid argument count.
func argErrPos( *ast.CallExpr) positioner { return inNode(, .Rparen) }
// startPos returns the start position of node n.
func startPos( ast.Node) token.Pos { return .Pos() }
// endPos returns the position of the first character immediately after node n.
func endPos( ast.Node) token.Pos { return .End() }
// makeFromLiteral returns the constant value for the given literal string and kind.
func makeFromLiteral( string, token.Token) constant.Value {
return constant.MakeFromLiteral(, , 0)
}
The pages are generated with Golds v0.7.0-preview. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds. |