| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- // 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 "github.com/golang/protobuf/v2/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 consistent with constructor fields:
- // Message.IsMapEntry and Message.Options.MapEntry
- // Field.IsPacked and Field.Options.Packed
- 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
- }
|