blob: 0838fc2eb243711411c9c8dc61a3314efe047bdd [file] [log] [blame]
// Copyright 2018 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.
package prototype
import (
"fmt"
pragma "github.com/golang/protobuf/v2/internal/pragma"
pfmt "github.com/golang/protobuf/v2/internal/typefmt"
pref "github.com/golang/protobuf/v2/reflect/protoreflect"
)
var (
emptyFiles fileImports
emptyMessages messages
emptyFields fields
emptyOneofs oneofs
emptyNumbers numbers
emptyRanges ranges
emptyEnums enums
emptyEnumValues enumValues
emptyExtensions extensions
emptyServices services
)
type placeholderName pref.FullName
func (t placeholderName) Parent() (pref.Descriptor, bool) { return nil, false }
func (t placeholderName) Index() int { return 0 }
func (t placeholderName) Syntax() pref.Syntax { return 0 }
func (t placeholderName) Name() pref.Name { return pref.FullName(t).Name() }
func (t placeholderName) FullName() pref.FullName { return pref.FullName(t) }
func (t placeholderName) IsPlaceholder() bool { return true }
func (t placeholderName) DescriptorProto() (pref.Message, bool) { return nil, false }
func (t placeholderName) ProtoInternal(pragma.DoNotImplement) {}
type placeholderFile struct {
path string
placeholderName
}
func (t placeholderFile) Options() pref.ProtoMessage { return nil }
func (t placeholderFile) Path() string { return t.path }
func (t placeholderFile) Package() pref.FullName { return t.FullName() }
func (t placeholderFile) Imports() pref.FileImports { return &emptyFiles }
func (t placeholderFile) Messages() pref.MessageDescriptors { return &emptyMessages }
func (t placeholderFile) Enums() pref.EnumDescriptors { return &emptyEnums }
func (t placeholderFile) Extensions() pref.ExtensionDescriptors { return &emptyExtensions }
func (t placeholderFile) Services() pref.ServiceDescriptors { return &emptyServices }
func (t placeholderFile) DescriptorByName(pref.FullName) pref.Descriptor { return nil }
func (t placeholderFile) Format(s fmt.State, r rune) { pfmt.FormatDesc(s, r, t) }
func (t placeholderFile) ProtoType(pref.FileDescriptor) {}
type placeholderMessage struct {
placeholderName
}
func (t placeholderMessage) Options() pref.ProtoMessage { return nil }
func (t placeholderMessage) IsMapEntry() bool { return false }
func (t placeholderMessage) Fields() pref.FieldDescriptors { return &emptyFields }
func (t placeholderMessage) Oneofs() pref.OneofDescriptors { return &emptyOneofs }
func (t placeholderMessage) RequiredNumbers() pref.FieldNumbers { return &emptyNumbers }
func (t placeholderMessage) ExtensionRanges() pref.FieldRanges { return &emptyRanges }
func (t placeholderMessage) Messages() pref.MessageDescriptors { return &emptyMessages }
func (t placeholderMessage) Enums() pref.EnumDescriptors { return &emptyEnums }
func (t placeholderMessage) Extensions() pref.ExtensionDescriptors { return &emptyExtensions }
func (t placeholderMessage) Format(s fmt.State, r rune) { pfmt.FormatDesc(s, r, t) }
func (t placeholderMessage) ProtoType(pref.MessageDescriptor) {}
type placeholderEnum struct {
placeholderName
}
func (t placeholderEnum) Options() pref.ProtoMessage { return nil }
func (t placeholderEnum) Values() pref.EnumValueDescriptors { return &emptyEnumValues }
func (t placeholderEnum) Format(s fmt.State, r rune) { pfmt.FormatDesc(s, r, t) }
func (t placeholderEnum) ProtoType(pref.EnumDescriptor) {}