mirror of https://github.com/golang/go.git
54 lines
1.3 KiB
Go
54 lines
1.3 KiB
Go
// Copyright 2022 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package cache
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"sort"
|
|
)
|
|
|
|
// This file contains helpers that can be used to instrument code while
|
|
// debugging.
|
|
|
|
// debugEnabled toggles the helpers below.
|
|
const debugEnabled = false
|
|
|
|
// If debugEnabled is true, debugf formats its arguments and prints to stderr.
|
|
// If debugEnabled is false, it is a no-op.
|
|
func debugf(format string, args ...interface{}) {
|
|
if !debugEnabled {
|
|
return
|
|
}
|
|
if false {
|
|
fmt.Sprintf(format, args...) // encourage vet to validate format strings
|
|
}
|
|
fmt.Fprintf(os.Stderr, ">>> "+format+"\n", args...)
|
|
}
|
|
|
|
// If debugEnabled is true, dumpWorkspace prints a summary of workspace
|
|
// packages to stderr. If debugEnabled is false, it is a no-op.
|
|
func (s *snapshot) dumpWorkspace(context string) {
|
|
if !debugEnabled {
|
|
return
|
|
}
|
|
|
|
debugf("workspace (after %s):", context)
|
|
var ids []PackageID
|
|
for id := range s.workspacePackages {
|
|
ids = append(ids, id)
|
|
}
|
|
|
|
sort.Slice(ids, func(i, j int) bool {
|
|
return ids[i] < ids[j]
|
|
})
|
|
|
|
for _, id := range ids {
|
|
pkgPath := s.workspacePackages[id]
|
|
m, ok := s.meta.metadata[id]
|
|
debugf(" %s:%s (metadata: %t; valid: %t)", id, pkgPath, ok, m.Valid)
|
|
}
|
|
}
|