terraform/internal/command/jsonconfig
Martin Atkins 545980d664 langrefs: Separate package for expression reference analysis
Finding references in an expression is a static analysis operation, but
we previously had it grouped in with "package lang" that primarily deals
with dynamic evaluation of expressions.

We need to do static analysis in far more locations than we do full
expression evaluation, the static-analysis-only callers don't need anything
else from package lang, and the reference-analysis functions are
self-contained little wrappers around the address parsing logic in
package addrs anyway.

Splitting these into a separate package therefore minimizes which packages
depend indirectly on package lang, and thus which packages depend
indirectly on the implementations of the built-in functions. Some of the
built-in functions rely on dependencies we don't use anywhere else, so
cutting these out shrinks how many packages indirectly depend on those
external dependencies. In particular, they are no longer in the indirect
import chain for the "legacy" module.
2024-03-12 08:43:55 -07:00
..
config.go providerreqs: Provider requirement/version types in their own package 2024-03-11 12:52:24 -07:00
config_test.go Update copyright file headers to BUSL-1.1 2023-08-10 23:43:27 +01:00
doc.go Update copyright file headers to BUSL-1.1 2023-08-10 23:43:27 +01:00
expression.go langrefs: Separate package for expression reference analysis 2024-03-12 08:43:55 -07:00
expression_test.go Update copyright file headers to BUSL-1.1 2023-08-10 23:43:27 +01:00