mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2024-11-23 20:26:39 +00:00
6c0d93c6cb
* [chore]: Bump github.com/prometheus/client_golang from 1.18.0 to 1.19.1 Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.18.0 to 1.19.1. - [Release notes](https://github.com/prometheus/client_golang/releases) - [Changelog](https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md) - [Commits](https://github.com/prometheus/client_golang/compare/v1.18.0...v1.19.1) --- updated-dependencies: - dependency-name: github.com/prometheus/client_golang dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * [chore]: Bump github.com/KimMachineGun/automemlimit from 0.6.0 to 0.6.1 Bumps [github.com/KimMachineGun/automemlimit](https://github.com/KimMachineGun/automemlimit) from 0.6.0 to 0.6.1. - [Release notes](https://github.com/KimMachineGun/automemlimit/releases) - [Commits](https://github.com/KimMachineGun/automemlimit/compare/v0.6.0...v0.6.1) --- updated-dependencies: - dependency-name: github.com/KimMachineGun/automemlimit dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * [chore]: Bump github.com/tdewolff/minify/v2 from 2.20.20 to 2.20.24 Bumps [github.com/tdewolff/minify/v2](https://github.com/tdewolff/minify) from 2.20.20 to 2.20.24. - [Release notes](https://github.com/tdewolff/minify/releases) - [Commits](https://github.com/tdewolff/minify/compare/v2.20.20...v2.20.24) --- updated-dependencies: - dependency-name: github.com/tdewolff/minify/v2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * [chore]: Bump github.com/go-swagger/go-swagger Bumps [github.com/go-swagger/go-swagger](https://github.com/go-swagger/go-swagger) from 0.30.6-0.20240418033037-c46c303aaa02 to 0.31.0. - [Release notes](https://github.com/go-swagger/go-swagger/releases) - [Changelog](https://github.com/go-swagger/go-swagger/blob/master/.goreleaser.yml) - [Commits](https://github.com/go-swagger/go-swagger/commits/v0.31.0) --- updated-dependencies: - dependency-name: github.com/go-swagger/go-swagger dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * [chore]: Bump github.com/gin-gonic/gin from 1.9.1 to 1.10.0 Bumps [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin) from 1.9.1 to 1.10.0. - [Release notes](https://github.com/gin-gonic/gin/releases) - [Changelog](https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md) - [Commits](https://github.com/gin-gonic/gin/compare/v1.9.1...v1.10.0) --- updated-dependencies: - dependency-name: github.com/gin-gonic/gin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
98 lines
2.4 KiB
Go
98 lines
2.4 KiB
Go
// 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
|
|
}
|