podman

Форк
0
45 строк · 1.0 Кб
1
// Copyright 2019 The Go Authors. All rights reserved.
2
// Use of this source code is governed by a BSD-style
3
// license that can be found in the LICENSE file.
4

5
package goobj
6

7
// Builtin (compiler-generated) function references appear
8
// frequently. We assign special indices for them, so they
9
// don't need to be referenced by name.
10

11
// NBuiltin returns the number of listed builtin
12
// symbols.
13
func NBuiltin() int {
14
	return len(builtins)
15
}
16

17
// BuiltinName returns the name and ABI of the i-th
18
// builtin symbol.
19
func BuiltinName(i int) (string, int) {
20
	return builtins[i].name, builtins[i].abi
21
}
22

23
// BuiltinIdx returns the index of the builtin with the
24
// given name and abi, or -1 if it is not a builtin.
25
func BuiltinIdx(name string, abi int) int {
26
	i, ok := builtinMap[name]
27
	if !ok {
28
		return -1
29
	}
30
	if builtins[i].abi != abi {
31
		return -1
32
	}
33
	return i
34
}
35

36
//go:generate go run mkbuiltin.go
37

38
var builtinMap map[string]int
39

40
func init() {
41
	builtinMap = make(map[string]int, len(builtins))
42
	for i, b := range builtins {
43
		builtinMap[b.name] = i
44
	}
45
}
46

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.