MCPcopy
hub / github.com/davyxu/cellnet / printFile

Function printFile

protoc-gen-msg/file.go:72–127  ·  view source on GitHub ↗
(pool *pbmeta.DescriptorPool)

Source from the content-addressed store, hash-verified

70}
71
72func printFile(pool *pbmeta.DescriptorPool) (string, bool) {
73
74 tpl, err := template.New("msgid").Parse(codeTemplate)
75 if err != nil {
76 log.Errorln(err)
77 return "", false
78 }
79
80 if pool.FileCount() == 0 {
81 return "", false
82 }
83
84 var model fileModel
85 model.PackageName = pool.File(0).PackageName()
86
87 for f := 0; f < pool.FileCount(); f++ {
88
89 file := pool.File(f)
90
91 pm := &protoModel{
92 FileDescriptor: file,
93 }
94
95 for m := 0; m < file.MessageCount(); m++ {
96
97 d := file.Message(m)
98
99 pm.Messages = append(pm.Messages, &msgModel{
100 Descriptor: d,
101 parent: file,
102 })
103
104 }
105
106 model.TotalMessages += file.MessageCount()
107
108 model.Protos = append(model.Protos, pm)
109
110 }
111
112 var bf bytes.Buffer
113
114 err = tpl.Execute(&bf, &model)
115 if err != nil {
116 log.Errorln(err)
117 return "", false
118 }
119
120 err = formatCode(&bf)
121 if err != nil {
122 log.Errorln(err)
123 return "", false
124 }
125
126 return bf.String(), true
127}
128
129func formatCode(bf *bytes.Buffer) error {

Callers 1

mainFunction · 0.85

Calls 4

formatCodeFunction · 0.85
ExecuteMethod · 0.80
MessageMethod · 0.65
StringMethod · 0.45

Tested by

no test coverage detected