summaryrefslogtreecommitdiffhomepage
path: root/vendor/golang.org/x/tools/internal/stdlib/stdlib.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/golang.org/x/tools/internal/stdlib/stdlib.go')
-rw-r--r--vendor/golang.org/x/tools/internal/stdlib/stdlib.go97
1 files changed, 0 insertions, 97 deletions
diff --git a/vendor/golang.org/x/tools/internal/stdlib/stdlib.go b/vendor/golang.org/x/tools/internal/stdlib/stdlib.go
deleted file mode 100644
index 9890401..0000000
--- a/vendor/golang.org/x/tools/internal/stdlib/stdlib.go
+++ /dev/null
@@ -1,97 +0,0 @@
-// Copyright 2022 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:generate go run generate.go
-
-// Package stdlib provides a table of all exported symbols in the
-// standard library, along with the version at which they first
-// appeared.
-package stdlib
-
-import (
- "fmt"
- "strings"
-)
-
-type Symbol struct {
- Name string
- Kind Kind
- Version Version // Go version that first included the symbol
-}
-
-// A Kind indicates the kind of a symbol:
-// function, variable, constant, type, and so on.
-type Kind int8
-
-const (
- Invalid Kind = iota // Example name:
- Type // "Buffer"
- Func // "Println"
- Var // "EOF"
- Const // "Pi"
- Field // "Point.X"
- Method // "(*Buffer).Grow"
-)
-
-func (kind Kind) String() string {
- return [...]string{
- Invalid: "invalid",
- Type: "type",
- Func: "func",
- Var: "var",
- Const: "const",
- Field: "field",
- Method: "method",
- }[kind]
-}
-
-// A Version represents a version of Go of the form "go1.%d".
-type Version int8
-
-// String returns a version string of the form "go1.23", without allocating.
-func (v Version) String() string { return versions[v] }
-
-var versions [30]string // (increase constant as needed)
-
-func init() {
- for i := range versions {
- versions[i] = fmt.Sprintf("go1.%d", i)
- }
-}
-
-// HasPackage reports whether the specified package path is part of
-// the standard library's public API.
-func HasPackage(path string) bool {
- _, ok := PackageSymbols[path]
- return ok
-}
-
-// SplitField splits the field symbol name into type and field
-// components. It must be called only on Field symbols.
-//
-// Example: "File.Package" -> ("File", "Package")
-func (sym *Symbol) SplitField() (typename, name string) {
- if sym.Kind != Field {
- panic("not a field")
- }
- typename, name, _ = strings.Cut(sym.Name, ".")
- return
-}
-
-// SplitMethod splits the method symbol name into pointer, receiver,
-// and method components. It must be called only on Method symbols.
-//
-// Example: "(*Buffer).Grow" -> (true, "Buffer", "Grow")
-func (sym *Symbol) SplitMethod() (ptr bool, recv, name string) {
- if sym.Kind != Method {
- panic("not a method")
- }
- recv, name, _ = strings.Cut(sym.Name, ".")
- recv = recv[len("(") : len(recv)-len(")")]
- ptr = recv[0] == '*'
- if ptr {
- recv = recv[len("*"):]
- }
- return
-}