reachability

package
v0.4.9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 24, 2026 License: MIT Imports: 35 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Analyzer

type Analyzer interface {
	// Analyze runs reachability from all entrypoints (main packages / project source).
	Analyze(dir string) ([]ReachabilityReport, error)
	// AnalyzeFrom runs reachability starting from a specific entrypoint file.
	// If entryFile is empty it behaves identically to Analyze.
	AnalyzeFrom(dir, entryFile string) ([]ReachabilityReport, error)
}

Analyzer is the interface that language implementations satisfy.

type ClojureAnalyzer added in v0.4.2

type ClojureAnalyzer struct{}

ClojureAnalyzer implements Analyzer using Clojure namespace import analysis.

func (ClojureAnalyzer) Analyze added in v0.4.2

func (ClojureAnalyzer) Analyze(dir string) ([]ReachabilityReport, error)

func (ClojureAnalyzer) AnalyzeFrom added in v0.4.2

func (ClojureAnalyzer) AnalyzeFrom(dir, entryFile string) ([]ReachabilityReport, error)

type CppAnalyzer added in v0.4.2

type CppAnalyzer struct{}

CppAnalyzer implements Analyzer using C/C++ #include directive analysis.

func (CppAnalyzer) Analyze added in v0.4.2

func (CppAnalyzer) Analyze(dir string) ([]ReachabilityReport, error)

func (CppAnalyzer) AnalyzeFrom added in v0.4.2

func (CppAnalyzer) AnalyzeFrom(dir, entryFile string) ([]ReachabilityReport, error)

type DartAnalyzer added in v0.4.2

type DartAnalyzer struct{}

DartAnalyzer implements Analyzer using Dart package import analysis.

func (DartAnalyzer) Analyze added in v0.4.2

func (DartAnalyzer) Analyze(dir string) ([]ReachabilityReport, error)

func (DartAnalyzer) AnalyzeFrom added in v0.4.2

func (DartAnalyzer) AnalyzeFrom(dir, entryFile string) ([]ReachabilityReport, error)

type DotnetAnalyzer added in v0.4.2

type DotnetAnalyzer struct{}

DotnetAnalyzer implements Analyzer using C#/VB namespace import analysis.

func (DotnetAnalyzer) Analyze added in v0.4.2

func (DotnetAnalyzer) Analyze(dir string) ([]ReachabilityReport, error)

func (DotnetAnalyzer) AnalyzeFrom added in v0.4.2

func (DotnetAnalyzer) AnalyzeFrom(dir, entryFile string) ([]ReachabilityReport, error)

type ElixirAnalyzer added in v0.4.2

type ElixirAnalyzer struct{}

ElixirAnalyzer implements Analyzer using Elixir use/import/alias analysis.

func (ElixirAnalyzer) Analyze added in v0.4.2

func (ElixirAnalyzer) Analyze(dir string) ([]ReachabilityReport, error)

func (ElixirAnalyzer) AnalyzeFrom added in v0.4.2

func (ElixirAnalyzer) AnalyzeFrom(dir, entryFile string) ([]ReachabilityReport, error)

type ErlangAnalyzer added in v0.4.2

type ErlangAnalyzer struct{}

ErlangAnalyzer implements Analyzer using Erlang include/call analysis.

func (ErlangAnalyzer) Analyze added in v0.4.2

func (ErlangAnalyzer) Analyze(dir string) ([]ReachabilityReport, error)

func (ErlangAnalyzer) AnalyzeFrom added in v0.4.2

func (ErlangAnalyzer) AnalyzeFrom(dir, entryFile string) ([]ReachabilityReport, error)

type GoAnalyzer

type GoAnalyzer struct{}

GoAnalyzer implements Analyzer using Go SSA / callgraph analysis.

func (GoAnalyzer) Analyze

func (GoAnalyzer) Analyze(dir string) ([]ReachabilityReport, error)

func (GoAnalyzer) AnalyzeFrom

func (GoAnalyzer) AnalyzeFrom(dir, entryFile string) ([]ReachabilityReport, error)

type HaskellAnalyzer added in v0.4.2

type HaskellAnalyzer struct{}

HaskellAnalyzer implements Analyzer using Haskell import-statement analysis.

func (HaskellAnalyzer) Analyze added in v0.4.2

func (HaskellAnalyzer) Analyze(dir string) ([]ReachabilityReport, error)

func (HaskellAnalyzer) AnalyzeFrom added in v0.4.2

func (HaskellAnalyzer) AnalyzeFrom(dir, entryFile string) ([]ReachabilityReport, error)

type JavaAnalyzer added in v0.4.2

type JavaAnalyzer struct{}

JavaAnalyzer implements Analyzer using Java import analysis.

func (JavaAnalyzer) Analyze added in v0.4.2

func (JavaAnalyzer) Analyze(dir string) ([]ReachabilityReport, error)

func (JavaAnalyzer) AnalyzeFrom added in v0.4.2

func (JavaAnalyzer) AnalyzeFrom(dir, entryFile string) ([]ReachabilityReport, error)

type JuliaAnalyzer added in v0.4.2

type JuliaAnalyzer struct{}

JuliaAnalyzer implements Analyzer using Julia using/import analysis.

func (JuliaAnalyzer) Analyze added in v0.4.2

func (JuliaAnalyzer) Analyze(dir string) ([]ReachabilityReport, error)

func (JuliaAnalyzer) AnalyzeFrom added in v0.4.2

func (JuliaAnalyzer) AnalyzeFrom(dir, entryFile string) ([]ReachabilityReport, error)

type KotlinAnalyzer added in v0.4.2

type KotlinAnalyzer struct{}

KotlinAnalyzer implements Analyzer using Kotlin import-statement analysis.

func (KotlinAnalyzer) Analyze added in v0.4.2

func (KotlinAnalyzer) Analyze(dir string) ([]ReachabilityReport, error)

func (KotlinAnalyzer) AnalyzeFrom added in v0.4.2

func (KotlinAnalyzer) AnalyzeFrom(dir, entryFile string) ([]ReachabilityReport, error)

type LuaAnalyzer added in v0.4.2

type LuaAnalyzer struct{}

LuaAnalyzer implements Analyzer using Lua require import analysis.

func (LuaAnalyzer) Analyze added in v0.4.2

func (LuaAnalyzer) Analyze(dir string) ([]ReachabilityReport, error)

func (LuaAnalyzer) AnalyzeFrom added in v0.4.2

func (LuaAnalyzer) AnalyzeFrom(dir, entryFile string) ([]ReachabilityReport, error)

type NodeAnalyzer

type NodeAnalyzer struct{}

NodeAnalyzer implements Analyzer using JS/TS import-graph reachability.

func (NodeAnalyzer) Analyze

func (NodeAnalyzer) Analyze(dir string) ([]ReachabilityReport, error)

func (NodeAnalyzer) AnalyzeFrom

func (NodeAnalyzer) AnalyzeFrom(dir, entryFile string) ([]ReachabilityReport, error)

type OCamlAnalyzer added in v0.4.2

type OCamlAnalyzer struct{}

OCamlAnalyzer implements Analyzer using OCaml open/module import analysis.

func (OCamlAnalyzer) Analyze added in v0.4.2

func (OCamlAnalyzer) Analyze(dir string) ([]ReachabilityReport, error)

func (OCamlAnalyzer) AnalyzeFrom added in v0.4.2

func (OCamlAnalyzer) AnalyzeFrom(dir, entryFile string) ([]ReachabilityReport, error)

type PHPAnalyzer added in v0.3.3

type PHPAnalyzer struct{}

PHPAnalyzer implements Analyzer using PHP use-statement import analysis.

func (PHPAnalyzer) Analyze added in v0.3.3

func (PHPAnalyzer) Analyze(dir string) ([]ReachabilityReport, error)

func (PHPAnalyzer) AnalyzeFrom added in v0.3.3

func (PHPAnalyzer) AnalyzeFrom(dir, entryFile string) ([]ReachabilityReport, error)

type PerlAnalyzer added in v0.4.2

type PerlAnalyzer struct{}

PerlAnalyzer implements Analyzer using Perl use/require import analysis.

func (PerlAnalyzer) Analyze added in v0.4.2

func (PerlAnalyzer) Analyze(dir string) ([]ReachabilityReport, error)

func (PerlAnalyzer) AnalyzeFrom added in v0.4.2

func (PerlAnalyzer) AnalyzeFrom(dir, entryFile string) ([]ReachabilityReport, error)

type PythonAnalyzer added in v0.4.2

type PythonAnalyzer struct{}

PythonAnalyzer implements Analyzer using Python import analysis.

func (PythonAnalyzer) Analyze added in v0.4.2

func (PythonAnalyzer) Analyze(dir string) ([]ReachabilityReport, error)

func (PythonAnalyzer) AnalyzeFrom added in v0.4.2

func (PythonAnalyzer) AnalyzeFrom(dir, entryFile string) ([]ReachabilityReport, error)

type RAnalyzer added in v0.4.2

type RAnalyzer struct{}

RAnalyzer implements Analyzer using R library/require/namespace analysis.

func (RAnalyzer) Analyze added in v0.4.2

func (RAnalyzer) Analyze(dir string) ([]ReachabilityReport, error)

func (RAnalyzer) AnalyzeFrom added in v0.4.2

func (RAnalyzer) AnalyzeFrom(dir, entryFile string) ([]ReachabilityReport, error)

type ReachabilityReport

type ReachabilityReport struct {
	Package       string
	ReachableCaps capability.CapabilitySet
	Reachable     bool
}

ReachabilityReport describes how a dependency's capabilities are reachable from the project's source code.

type RubyAnalyzer added in v0.4.2

type RubyAnalyzer struct{}

RubyAnalyzer implements Analyzer using Ruby require analysis.

func (RubyAnalyzer) Analyze added in v0.4.2

func (RubyAnalyzer) Analyze(dir string) ([]ReachabilityReport, error)

func (RubyAnalyzer) AnalyzeFrom added in v0.4.2

func (RubyAnalyzer) AnalyzeFrom(dir, entryFile string) ([]ReachabilityReport, error)

type RustAnalyzer added in v0.4.2

type RustAnalyzer struct{}

RustAnalyzer implements Analyzer using Rust use/extern-crate analysis.

func (RustAnalyzer) Analyze added in v0.4.2

func (RustAnalyzer) Analyze(dir string) ([]ReachabilityReport, error)

func (RustAnalyzer) AnalyzeFrom added in v0.4.2

func (RustAnalyzer) AnalyzeFrom(dir, entryFile string) ([]ReachabilityReport, error)

type ScalaAnalyzer added in v0.4.2

type ScalaAnalyzer struct{}

ScalaAnalyzer implements Analyzer using Scala import-statement analysis.

func (ScalaAnalyzer) Analyze added in v0.4.2

func (ScalaAnalyzer) Analyze(dir string) ([]ReachabilityReport, error)

func (ScalaAnalyzer) AnalyzeFrom added in v0.4.2

func (ScalaAnalyzer) AnalyzeFrom(dir, entryFile string) ([]ReachabilityReport, error)

type SwiftAnalyzer added in v0.4.2

type SwiftAnalyzer struct{}

SwiftAnalyzer implements Analyzer using Swift import analysis.

func (SwiftAnalyzer) Analyze added in v0.4.2

func (SwiftAnalyzer) Analyze(dir string) ([]ReachabilityReport, error)

func (SwiftAnalyzer) AnalyzeFrom added in v0.4.2

func (SwiftAnalyzer) AnalyzeFrom(dir, entryFile string) ([]ReachabilityReport, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL