Compare commits
3 Commits
renovate/m
...
v1.11.0
Author | SHA1 | Date | |
---|---|---|---|
|
c60433e6c9 | ||
|
b6eb434519 | ||
|
5c194ed5b8 |
@@ -8,7 +8,7 @@
|
||||
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.4.3/angular.js"></script>
|
||||
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.4.3/angular-animate.js"></script>
|
||||
<script src="//angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.13.3.js"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/2.5.6/ui-bootstrap.min.js"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/0.13.3/ui-bootstrap.min.js"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/ace/1.2.0/ace.min.js"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/ace/1.2.0/mode-protobuf.js"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/ace/1.2.0/mode-golang.js"></script>
|
||||
|
2
go.mod
generated
2
go.mod
generated
@@ -3,7 +3,7 @@ module moul.io/protoc-gen-gotemplate
|
||||
require (
|
||||
github.com/Masterminds/goutils v1.1.0 // indirect
|
||||
github.com/Masterminds/semver v1.5.0 // indirect
|
||||
github.com/Masterminds/sprig/v3 v3.1.0
|
||||
github.com/Masterminds/sprig v2.22.0+incompatible
|
||||
github.com/gobuffalo/packr/v2 v2.8.0
|
||||
github.com/golang/protobuf v1.3.2
|
||||
github.com/google/uuid v1.1.1 // indirect
|
||||
|
@@ -163,6 +163,8 @@ var ProtoHelpersFuncMap = template.FuncMap{
|
||||
"getStore": getStore,
|
||||
"goPkg": goPkg,
|
||||
"goPkgLastElement": goPkgLastElement,
|
||||
"cppType": cppType,
|
||||
"cppTypeWithPackage": cppTypeWithPackage,
|
||||
}
|
||||
|
||||
var pathMap map[interface{}]*descriptor.SourceCodeInfo_Location
|
||||
@@ -909,6 +911,57 @@ func haskellType(pkg string, f *descriptor.FieldDescriptorProto) string {
|
||||
}
|
||||
}
|
||||
|
||||
// Warning does not handle message embedded like goTypeWithGoPackage does.
|
||||
func cppTypeWithPackage(f *descriptor.FieldDescriptorProto) string {
|
||||
pkg := ""
|
||||
if *f.Type == descriptor.FieldDescriptorProto_TYPE_MESSAGE || *f.Type == descriptor.FieldDescriptorProto_TYPE_ENUM {
|
||||
if isTimestampPackage(*f.TypeName) {
|
||||
pkg = "timestamp"
|
||||
} else {
|
||||
pkg = getPackageTypeName(*f.TypeName)
|
||||
}
|
||||
}
|
||||
return cppType(pkg, f)
|
||||
}
|
||||
|
||||
func cppType(pkg string, f *descriptor.FieldDescriptorProto) string {
|
||||
isRepeat := *f.Label == descriptor.FieldDescriptorProto_LABEL_REPEATED
|
||||
typeName := "???"
|
||||
switch *f.Type {
|
||||
case descriptor.FieldDescriptorProto_TYPE_DOUBLE:
|
||||
typeName = "double"
|
||||
case descriptor.FieldDescriptorProto_TYPE_FLOAT:
|
||||
typeName = "float"
|
||||
case descriptor.FieldDescriptorProto_TYPE_INT64:
|
||||
typeName = "int64_t"
|
||||
case descriptor.FieldDescriptorProto_TYPE_UINT64:
|
||||
typeName = "uint64_t"
|
||||
case descriptor.FieldDescriptorProto_TYPE_INT32:
|
||||
typeName = "int32_t"
|
||||
case descriptor.FieldDescriptorProto_TYPE_UINT32:
|
||||
typeName = "uint32_t"
|
||||
case descriptor.FieldDescriptorProto_TYPE_BOOL:
|
||||
typeName = "bool"
|
||||
case descriptor.FieldDescriptorProto_TYPE_STRING:
|
||||
typeName = "std::string"
|
||||
case descriptor.FieldDescriptorProto_TYPE_MESSAGE:
|
||||
if pkg != "" {
|
||||
pkg = pkg + "."
|
||||
}
|
||||
typeName = fmt.Sprintf("%s%s", pkg, shortType(*f.TypeName))
|
||||
case descriptor.FieldDescriptorProto_TYPE_BYTES:
|
||||
typeName = "std::vector<uint8_t>"
|
||||
case descriptor.FieldDescriptorProto_TYPE_ENUM:
|
||||
typeName = fmt.Sprintf("%s%s", pkg, shortType(*f.TypeName))
|
||||
default:
|
||||
break
|
||||
}
|
||||
if isRepeat {
|
||||
return "std::vector<" + typeName + ">"
|
||||
}
|
||||
return typeName
|
||||
}
|
||||
|
||||
func goTypeWithEmbedded(pkg string, f *descriptor.FieldDescriptorProto, p *descriptor.FileDescriptorProto) string {
|
||||
if pkg != "" {
|
||||
pkg = pkg + "."
|
||||
|
Reference in New Issue
Block a user