mirror of
https://github.com/anchore/syft.git
synced 2026-08-23 10:33:35 +02:00
--------- Signed-off-by: Christopher Phillips <32073428+spiffcs@users.noreply.github.com> Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com> Co-authored-by: Alex Goodman <wagoodman@users.noreply.github.com>
29 lines
933 B
Go
29 lines
933 B
Go
package cataloging
|
|
|
|
import "strings"
|
|
|
|
// SymbolScope controls which packages get function symbols (from a binary's symbol table) attached to their metadata.
|
|
type SymbolScope string
|
|
|
|
const (
|
|
// SymbolScopeNone disables symbol capture entirely.
|
|
SymbolScopeNone SymbolScope = "none"
|
|
|
|
// SymbolScopeStdlib captures symbols only for the synthetic "stdlib" package, leaving module packages without symbols.
|
|
SymbolScopeStdlib SymbolScope = "stdlib"
|
|
|
|
// SymbolScopeAll captures symbols for all module packages as well as the synthetic "stdlib" package.
|
|
SymbolScopeAll SymbolScope = "all"
|
|
)
|
|
|
|
// Parse normalizes a SymbolScope, treating empty (unset) and unrecognized values as SymbolScopeNone.
|
|
func (s SymbolScope) Parse() SymbolScope {
|
|
switch strings.ToLower(strings.TrimSpace(string(s))) {
|
|
case string(SymbolScopeAll):
|
|
return SymbolScopeAll
|
|
case string(SymbolScopeStdlib):
|
|
return SymbolScopeStdlib
|
|
}
|
|
return SymbolScopeNone
|
|
}
|