xref: /aosp_15_r20/external/golang-protobuf/internal/filedesc/placeholder.go (revision 1c12ee1efe575feb122dbf939ff15148a3b3e8f2)
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