Deprecated: Use the "google.golang.org/protobuf" module instead.

package descriptor

import "github.com/golang/protobuf/descriptor"

Package descriptor provides functions for obtaining protocol buffer descriptors for generated Go types.

These functions cannot go in package proto because they depend on the generated protobuf descriptor messages, which themselves depend on proto.

Example (Options)

Code:play 

package main

import (
	"fmt"

	"github.com/golang/protobuf/descriptor"
	tpb "github.com/golang/protobuf/proto/test_proto"
)

func main() {
	var msg *tpb.MyMessageSet
	_, md := descriptor.ForMessage(msg)
	if md.GetOptions().GetMessageSetWireFormat() {
		fmt.Printf("%v uses option message_set_wire_format.\n", md.GetName())
	}

}

Output:

MyMessageSet uses option message_set_wire_format.

Index

Examples

Functions

func ForMessage

func ForMessage(msg Message) (fd *protobuf.FileDescriptorProto, md *protobuf.DescriptorProto)

ForMessage returns a FileDescriptorProto and a DescriptorProto from within it describing the given message.

Types

type Message

type Message interface {
	proto.Message
	Descriptor() ([]byte, []int)
}

Message is a proto.Message with a method to return its descriptor.

Message types generated by the protocol compiler always satisfy the Message interface.

Source Files

descriptor.go

Version
v1.3.0
Published
Feb 5, 2019
Platform
js/wasm
Imports
6 packages
Last checked
1 hour ago

Tools for package owners.