| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- // 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 (
- pref "google.golang.org/protobuf/reflect/protoreflect"
- )
- // TODO: This is important to prevent users from creating invalid types,
- // but is not functionality needed now.
- //
- // Things to verify:
- // * Weak fields are only used if flags.Proto1Legacy is set
- // * Weak fields can only reference singular messages
- // (check if this the case for oneof fields)
- // * FieldDescriptor.MessageType cannot reference a remote type when the
- // remote name is a type within the local file.
- // * Default enum identifiers resolve to a declared number.
- // * Default values are only allowed in proto2.
- // * Default strings are valid UTF-8? Note that protoc does not check this.
- // * Field extensions are only valid in proto2, except when extending the
- // descriptor options.
- // * Remote enum and message types are actually found in imported files.
- // * Placeholder messages and types may only be for weak fields.
- // * Placeholder full names must be valid.
- // * The name of each descriptor must be valid.
- // * Options are of the correct Go type (e.g. *descriptorpb.MessageOptions).
- // * len(ExtensionRangeOptions) <= len(ExtensionRanges)
- func validateFile(t pref.FileDescriptor) error {
- return nil
- }
- func validateMessage(t pref.MessageDescriptor) error {
- return nil
- }
- func validateExtension(t pref.ExtensionDescriptor) error {
- return nil
- }
- func validateEnum(t pref.EnumDescriptor) error {
- return nil
- }
|