1*1c12ee1eSDan Willemsen// Copyright 2019 The Go Authors. All rights reserved. 2*1c12ee1eSDan Willemsen// Use of this source code is governed by a BSD-style 3*1c12ee1eSDan Willemsen// license that can be found in the LICENSE file. 4*1c12ee1eSDan Willemsen 5*1c12ee1eSDan Willemsenpackage filedesc 6*1c12ee1eSDan Willemsen 7*1c12ee1eSDan Willemsenimport ( 8*1c12ee1eSDan Willemsen "google.golang.org/protobuf/internal/descopts" 9*1c12ee1eSDan Willemsen "google.golang.org/protobuf/internal/pragma" 10*1c12ee1eSDan Willemsen "google.golang.org/protobuf/reflect/protoreflect" 11*1c12ee1eSDan Willemsen) 12*1c12ee1eSDan Willemsen 13*1c12ee1eSDan Willemsenvar ( 14*1c12ee1eSDan Willemsen emptyNames = new(Names) 15*1c12ee1eSDan Willemsen emptyEnumRanges = new(EnumRanges) 16*1c12ee1eSDan Willemsen emptyFieldRanges = new(FieldRanges) 17*1c12ee1eSDan Willemsen emptyFieldNumbers = new(FieldNumbers) 18*1c12ee1eSDan Willemsen emptySourceLocations = new(SourceLocations) 19*1c12ee1eSDan Willemsen 20*1c12ee1eSDan Willemsen emptyFiles = new(FileImports) 21*1c12ee1eSDan Willemsen emptyMessages = new(Messages) 22*1c12ee1eSDan Willemsen emptyFields = new(Fields) 23*1c12ee1eSDan Willemsen emptyOneofs = new(Oneofs) 24*1c12ee1eSDan Willemsen emptyEnums = new(Enums) 25*1c12ee1eSDan Willemsen emptyEnumValues = new(EnumValues) 26*1c12ee1eSDan Willemsen emptyExtensions = new(Extensions) 27*1c12ee1eSDan Willemsen emptyServices = new(Services) 28*1c12ee1eSDan Willemsen) 29*1c12ee1eSDan Willemsen 30*1c12ee1eSDan Willemsen// PlaceholderFile is a placeholder, representing only the file path. 31*1c12ee1eSDan Willemsentype PlaceholderFile string 32*1c12ee1eSDan Willemsen 33*1c12ee1eSDan Willemsenfunc (f PlaceholderFile) ParentFile() protoreflect.FileDescriptor { return f } 34*1c12ee1eSDan Willemsenfunc (f PlaceholderFile) Parent() protoreflect.Descriptor { return nil } 35*1c12ee1eSDan Willemsenfunc (f PlaceholderFile) Index() int { return 0 } 36*1c12ee1eSDan Willemsenfunc (f PlaceholderFile) Syntax() protoreflect.Syntax { return 0 } 37*1c12ee1eSDan Willemsenfunc (f PlaceholderFile) Name() protoreflect.Name { return "" } 38*1c12ee1eSDan Willemsenfunc (f PlaceholderFile) FullName() protoreflect.FullName { return "" } 39*1c12ee1eSDan Willemsenfunc (f PlaceholderFile) IsPlaceholder() bool { return true } 40*1c12ee1eSDan Willemsenfunc (f PlaceholderFile) Options() protoreflect.ProtoMessage { return descopts.File } 41*1c12ee1eSDan Willemsenfunc (f PlaceholderFile) Path() string { return string(f) } 42*1c12ee1eSDan Willemsenfunc (f PlaceholderFile) Package() protoreflect.FullName { return "" } 43*1c12ee1eSDan Willemsenfunc (f PlaceholderFile) Imports() protoreflect.FileImports { return emptyFiles } 44*1c12ee1eSDan Willemsenfunc (f PlaceholderFile) Messages() protoreflect.MessageDescriptors { return emptyMessages } 45*1c12ee1eSDan Willemsenfunc (f PlaceholderFile) Enums() protoreflect.EnumDescriptors { return emptyEnums } 46*1c12ee1eSDan Willemsenfunc (f PlaceholderFile) Extensions() protoreflect.ExtensionDescriptors { return emptyExtensions } 47*1c12ee1eSDan Willemsenfunc (f PlaceholderFile) Services() protoreflect.ServiceDescriptors { return emptyServices } 48*1c12ee1eSDan Willemsenfunc (f PlaceholderFile) SourceLocations() protoreflect.SourceLocations { return emptySourceLocations } 49*1c12ee1eSDan Willemsenfunc (f PlaceholderFile) ProtoType(protoreflect.FileDescriptor) { return } 50*1c12ee1eSDan Willemsenfunc (f PlaceholderFile) ProtoInternal(pragma.DoNotImplement) { return } 51*1c12ee1eSDan Willemsen 52*1c12ee1eSDan Willemsen// PlaceholderEnum is a placeholder, representing only the full name. 53*1c12ee1eSDan Willemsentype PlaceholderEnum protoreflect.FullName 54*1c12ee1eSDan Willemsen 55*1c12ee1eSDan Willemsenfunc (e PlaceholderEnum) ParentFile() protoreflect.FileDescriptor { return nil } 56*1c12ee1eSDan Willemsenfunc (e PlaceholderEnum) Parent() protoreflect.Descriptor { return nil } 57*1c12ee1eSDan Willemsenfunc (e PlaceholderEnum) Index() int { return 0 } 58*1c12ee1eSDan Willemsenfunc (e PlaceholderEnum) Syntax() protoreflect.Syntax { return 0 } 59*1c12ee1eSDan Willemsenfunc (e PlaceholderEnum) Name() protoreflect.Name { return protoreflect.FullName(e).Name() } 60*1c12ee1eSDan Willemsenfunc (e PlaceholderEnum) FullName() protoreflect.FullName { return protoreflect.FullName(e) } 61*1c12ee1eSDan Willemsenfunc (e PlaceholderEnum) IsPlaceholder() bool { return true } 62*1c12ee1eSDan Willemsenfunc (e PlaceholderEnum) Options() protoreflect.ProtoMessage { return descopts.Enum } 63*1c12ee1eSDan Willemsenfunc (e PlaceholderEnum) Values() protoreflect.EnumValueDescriptors { return emptyEnumValues } 64*1c12ee1eSDan Willemsenfunc (e PlaceholderEnum) ReservedNames() protoreflect.Names { return emptyNames } 65*1c12ee1eSDan Willemsenfunc (e PlaceholderEnum) ReservedRanges() protoreflect.EnumRanges { return emptyEnumRanges } 66*1c12ee1eSDan Willemsenfunc (e PlaceholderEnum) ProtoType(protoreflect.EnumDescriptor) { return } 67*1c12ee1eSDan Willemsenfunc (e PlaceholderEnum) ProtoInternal(pragma.DoNotImplement) { return } 68*1c12ee1eSDan Willemsen 69*1c12ee1eSDan Willemsen// PlaceholderEnumValue is a placeholder, representing only the full name. 70*1c12ee1eSDan Willemsentype PlaceholderEnumValue protoreflect.FullName 71*1c12ee1eSDan Willemsen 72*1c12ee1eSDan Willemsenfunc (e PlaceholderEnumValue) ParentFile() protoreflect.FileDescriptor { return nil } 73*1c12ee1eSDan Willemsenfunc (e PlaceholderEnumValue) Parent() protoreflect.Descriptor { return nil } 74*1c12ee1eSDan Willemsenfunc (e PlaceholderEnumValue) Index() int { return 0 } 75*1c12ee1eSDan Willemsenfunc (e PlaceholderEnumValue) Syntax() protoreflect.Syntax { return 0 } 76*1c12ee1eSDan Willemsenfunc (e PlaceholderEnumValue) Name() protoreflect.Name { return protoreflect.FullName(e).Name() } 77*1c12ee1eSDan Willemsenfunc (e PlaceholderEnumValue) FullName() protoreflect.FullName { return protoreflect.FullName(e) } 78*1c12ee1eSDan Willemsenfunc (e PlaceholderEnumValue) IsPlaceholder() bool { return true } 79*1c12ee1eSDan Willemsenfunc (e PlaceholderEnumValue) Options() protoreflect.ProtoMessage { return descopts.EnumValue } 80*1c12ee1eSDan Willemsenfunc (e PlaceholderEnumValue) Number() protoreflect.EnumNumber { return 0 } 81*1c12ee1eSDan Willemsenfunc (e PlaceholderEnumValue) ProtoType(protoreflect.EnumValueDescriptor) { return } 82*1c12ee1eSDan Willemsenfunc (e PlaceholderEnumValue) ProtoInternal(pragma.DoNotImplement) { return } 83*1c12ee1eSDan Willemsen 84*1c12ee1eSDan Willemsen// PlaceholderMessage is a placeholder, representing only the full name. 85*1c12ee1eSDan Willemsentype PlaceholderMessage protoreflect.FullName 86*1c12ee1eSDan Willemsen 87*1c12ee1eSDan Willemsenfunc (m PlaceholderMessage) ParentFile() protoreflect.FileDescriptor { return nil } 88*1c12ee1eSDan Willemsenfunc (m PlaceholderMessage) Parent() protoreflect.Descriptor { return nil } 89*1c12ee1eSDan Willemsenfunc (m PlaceholderMessage) Index() int { return 0 } 90*1c12ee1eSDan Willemsenfunc (m PlaceholderMessage) Syntax() protoreflect.Syntax { return 0 } 91*1c12ee1eSDan Willemsenfunc (m PlaceholderMessage) Name() protoreflect.Name { return protoreflect.FullName(m).Name() } 92*1c12ee1eSDan Willemsenfunc (m PlaceholderMessage) FullName() protoreflect.FullName { return protoreflect.FullName(m) } 93*1c12ee1eSDan Willemsenfunc (m PlaceholderMessage) IsPlaceholder() bool { return true } 94*1c12ee1eSDan Willemsenfunc (m PlaceholderMessage) Options() protoreflect.ProtoMessage { return descopts.Message } 95*1c12ee1eSDan Willemsenfunc (m PlaceholderMessage) IsMapEntry() bool { return false } 96*1c12ee1eSDan Willemsenfunc (m PlaceholderMessage) Fields() protoreflect.FieldDescriptors { return emptyFields } 97*1c12ee1eSDan Willemsenfunc (m PlaceholderMessage) Oneofs() protoreflect.OneofDescriptors { return emptyOneofs } 98*1c12ee1eSDan Willemsenfunc (m PlaceholderMessage) ReservedNames() protoreflect.Names { return emptyNames } 99*1c12ee1eSDan Willemsenfunc (m PlaceholderMessage) ReservedRanges() protoreflect.FieldRanges { return emptyFieldRanges } 100*1c12ee1eSDan Willemsenfunc (m PlaceholderMessage) RequiredNumbers() protoreflect.FieldNumbers { return emptyFieldNumbers } 101*1c12ee1eSDan Willemsenfunc (m PlaceholderMessage) ExtensionRanges() protoreflect.FieldRanges { return emptyFieldRanges } 102*1c12ee1eSDan Willemsenfunc (m PlaceholderMessage) ExtensionRangeOptions(int) protoreflect.ProtoMessage { 103*1c12ee1eSDan Willemsen panic("index out of range") 104*1c12ee1eSDan Willemsen} 105*1c12ee1eSDan Willemsenfunc (m PlaceholderMessage) Messages() protoreflect.MessageDescriptors { return emptyMessages } 106*1c12ee1eSDan Willemsenfunc (m PlaceholderMessage) Enums() protoreflect.EnumDescriptors { return emptyEnums } 107*1c12ee1eSDan Willemsenfunc (m PlaceholderMessage) Extensions() protoreflect.ExtensionDescriptors { return emptyExtensions } 108*1c12ee1eSDan Willemsenfunc (m PlaceholderMessage) ProtoType(protoreflect.MessageDescriptor) { return } 109*1c12ee1eSDan Willemsenfunc (m PlaceholderMessage) ProtoInternal(pragma.DoNotImplement) { return } 110