MCPcopy Index your code
hub / github.com/google/go-github / dump

Method dump

github/gen-accessors.go:222–279  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

220}
221
222func (t *templateData) dump() error {
223 if len(t.Getters) == 0 {
224 logf("No getters for %v; skipping.", t.filename)
225 return nil
226 }
227
228 // Sort getters by ReceiverType.FieldName.
229 slices.SortStableFunc(t.Getters, func(a, b *getter) int {
230 return strings.Compare(a.sortVal, b.sortVal)
231 })
232
233 processTemplate := func(tmpl *template.Template, filename string) error {
234 var buf bytes.Buffer
235 if err := tmpl.Execute(&buf, t); err != nil {
236 return err
237 }
238 clean, err := format.Source(buf.Bytes())
239 if err != nil {
240 return fmt.Errorf("format.Source:\n%v\n%v", buf.String(), err)
241 }
242
243 if isCheck() {
244 logf("Checking %v...", filename)
245 old, err := os.ReadFile(filename)
246 if err != nil {
247 if errors.Is(err, fs.ErrNotExist) {
248 return fmt.Errorf("Missing file: %v\n", filename)
249 }
250 return err
251 }
252
253 if !bytes.Equal(old, clean) {
254 return fmt.Errorf("Generated files are out of date. Please run go generate ./... and commit the results")
255 }
256 return nil
257 }
258
259 logf("Writing %v...", filename)
260 if err := os.Chmod(filename, 0o644); err != nil {
261 return fmt.Errorf("os.Chmod(%q, 0644): %v", filename, err)
262 }
263
264 if err := os.WriteFile(filename, clean, 0o444); err != nil {
265 return err
266 }
267
268 if err := os.Chmod(filename, 0o444); err != nil {
269 return fmt.Errorf("os.Chmod(%q, 0444): %v", filename, err)
270 }
271
272 return nil
273 }
274
275 if err := processTemplate(sourceTmpl, t.filename); err != nil {
276 return err
277 }
278 return processTemplate(testTmpl, strings.ReplaceAll(t.filename, ".go", "_test.go"))
279}

Callers 1

mainFunction · 0.95

Calls 5

EqualMethod · 0.80
logfFunction · 0.70
isCheckFunction · 0.70
StringMethod · 0.45
IsMethod · 0.45

Tested by

no test coverage detected