go-bot

Форк
0
78 строк · 1.9 Кб
1
// Copyright 2020 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 protoreflect
6

7
import (
8
	"google.golang.org/protobuf/internal/pragma"
9
)
10

11
// The following types are used by the fast-path Message.ProtoMethods method.
12
//
13
// To avoid polluting the public protoreflect API with types used only by
14
// low-level implementations, the canonical definitions of these types are
15
// in the runtime/protoiface package. The definitions here and in protoiface
16
// must be kept in sync.
17
type (
18
	methods = struct {
19
		pragma.NoUnkeyedLiterals
20
		Flags            supportFlags
21
		Size             func(sizeInput) sizeOutput
22
		Marshal          func(marshalInput) (marshalOutput, error)
23
		Unmarshal        func(unmarshalInput) (unmarshalOutput, error)
24
		Merge            func(mergeInput) mergeOutput
25
		CheckInitialized func(checkInitializedInput) (checkInitializedOutput, error)
26
	}
27
	supportFlags = uint64
28
	sizeInput    = struct {
29
		pragma.NoUnkeyedLiterals
30
		Message Message
31
		Flags   uint8
32
	}
33
	sizeOutput = struct {
34
		pragma.NoUnkeyedLiterals
35
		Size int
36
	}
37
	marshalInput = struct {
38
		pragma.NoUnkeyedLiterals
39
		Message Message
40
		Buf     []byte
41
		Flags   uint8
42
	}
43
	marshalOutput = struct {
44
		pragma.NoUnkeyedLiterals
45
		Buf []byte
46
	}
47
	unmarshalInput = struct {
48
		pragma.NoUnkeyedLiterals
49
		Message  Message
50
		Buf      []byte
51
		Flags    uint8
52
		Resolver interface {
53
			FindExtensionByName(field FullName) (ExtensionType, error)
54
			FindExtensionByNumber(message FullName, field FieldNumber) (ExtensionType, error)
55
		}
56
		Depth int
57
	}
58
	unmarshalOutput = struct {
59
		pragma.NoUnkeyedLiterals
60
		Flags uint8
61
	}
62
	mergeInput = struct {
63
		pragma.NoUnkeyedLiterals
64
		Source      Message
65
		Destination Message
66
	}
67
	mergeOutput = struct {
68
		pragma.NoUnkeyedLiterals
69
		Flags uint8
70
	}
71
	checkInitializedInput = struct {
72
		pragma.NoUnkeyedLiterals
73
		Message Message
74
	}
75
	checkInitializedOutput = struct {
76
		pragma.NoUnkeyedLiterals
77
	}
78
)
79

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

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

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

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