当前位置: 首页>>代码示例>>Golang>>正文


Golang DescriptorProto.GetEnumType方法代码示例

本文整理汇总了Golang中github.com/golang/protobuf/protoc-gen-go/descriptor.DescriptorProto.GetEnumType方法的典型用法代码示例。如果您正苦于以下问题:Golang DescriptorProto.GetEnumType方法的具体用法?Golang DescriptorProto.GetEnumType怎么用?Golang DescriptorProto.GetEnumType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在github.com/golang/protobuf/protoc-gen-go/descriptor.DescriptorProto的用法示例。


在下文中一共展示了DescriptorProto.GetEnumType方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1: lintProtoMessage

func (p *protoBufErrors) lintProtoMessage(
	pathIndex int32,
	pathType int32,
	parentPath []int32,
	protoMessage *descriptor.DescriptorProto,
) {

	path := append(
		parentPath,
		pathType,
		pathIndex,
	)

	if !isCamelCase(protoMessage.GetName()) {
		p.addError(&protoBufError{
			path:        path,
			errorCode:   errorMessageCase,
			errorString: protoMessage.GetName(),
		})
	}

	for i, v := range protoMessage.GetField() {
		p.lintProtoField(int32(i), path, v)
	}

	for i, v := range protoMessage.GetEnumType() {
		p.lintProtoEnumType(int32(i), pathMessageEnum, path, v)
	}

	for i, v := range protoMessage.GetNestedType() {
		p.lintProtoMessage(int32(i), pathMessageMessage, path, v)
	}
}
开发者ID:ckaznocha,项目名称:protoc-gen-lint,代码行数:33,代码来源:protoBuffErrors.go

示例2: fillTreeWithMessage

func fillTreeWithMessage(tree *tree, key string, proto *descriptor.DescriptorProto, loc string, locs map[string]*descriptor.SourceCodeInfo_Location) *message {
	key = fmt.Sprintf("%s.%s", key, proto.GetName())
	tree.messages[key] = &message{key: key, comment: getComment(loc, locs), DescriptorProto: proto}

	// Oneofs
	for idx, proto := range proto.GetOneofDecl() {
		tree.messages[key].oneofs = append(tree.messages[key].oneofs, &oneof{
			index:                int32(idx),
			OneofDescriptorProto: proto,
		})
	}

	// Fields
	for idx, proto := range proto.GetField() {
		field := fillTreeWithField(tree, key, proto, fmt.Sprintf("%s,2,%d", loc, idx), locs)
		tree.messages[key].fields = append(tree.messages[key].fields, field)
	}

	// Nested
	for idx, proto := range proto.GetNestedType() {
		message := fillTreeWithMessage(tree, key, proto, fmt.Sprintf("%s,3,%d", loc, idx), locs)
		tree.messages[key].nested = append(tree.messages[key].nested, message)
	}

	// Enums
	for idx, proto := range proto.GetEnumType() {
		fillTreeWithEnum(tree, key, proto, fmt.Sprintf("%s,4,%d", loc, idx), locs)
	}

	return tree.messages[key]
}
开发者ID:TheThingsNetwork,项目名称:ttn,代码行数:31,代码来源:build_tree.go

示例3: GenerateEverything

func (fg *FileGenerator) GenerateEverything(prefix string, inMessage *descriptor.DescriptorProto) error {
	newPrefix := prefix + inMessage.GetName() + "_"
	var err error

	err = fg.GenerateMessageDefinition(prefix, inMessage)
	if err != nil {
		return err
	}

	for _, inEnum := range inMessage.GetEnumType() {
		err = fg.GenerateEnumDefinition(newPrefix, inEnum)
		if err != nil {
			return err
		}
	}

	err = fg.GenerateMessageDecoder(prefix, inMessage)
	if err != nil {
		return err
	}

	for _, inEnum := range inMessage.GetEnumType() {
		err = fg.GenerateEnumDecoder(newPrefix, inEnum)
		if err != nil {
			return err
		}
	}

	err = fg.GenerateMessageEncoder(prefix, inMessage)
	if err != nil {
		return err
	}

	for _, inEnum := range inMessage.GetEnumType() {
		err = fg.GenerateEnumEncoder(newPrefix, inEnum)
		if err != nil {
			return err
		}
	}

	// Nested messages.
	for _, nested := range inMessage.GetNestedType() {
		fg.GenerateEverything(newPrefix, nested)
	}

	return nil
}
开发者ID:tiziano88,项目名称:elm-protobuf,代码行数:47,代码来源:main.go


注:本文中的github.com/golang/protobuf/protoc-gen-go/descriptor.DescriptorProto.GetEnumType方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。