ConstThe strings the node may hold, dropping every value that is not one (in contrast to NodeValue.stringsOf, which gives up on them).
Optionaloverrides: Partial<ResolveInfo>Readonlyname: "NodeValue"The value(s) the node may hold.
Optionaloverrides: Partial<ResolveInfo>The single string the node resolves to, undefined if it is not exactly one.
Optionaloverrides: Partial<ResolveInfo>Readonlysole: {The one value a set holds, undefined unless it holds exactly one, optionally of the given kind.
The one value the node resolves to, undefined unless it is exactly one, optionally of the given kind.
Optionaltype: TOptionaloverrides: Partial<ResolveInfo>The strings the node may hold, undefined if it does not resolve to strings.
Optionaloverrides: Partial<ResolveInfo>
The value(s) a node may hold. Every entry point resolves against either the state the current processor sees or a ResolveInfo, so a finished analysis asks the same questions in the same words, and takes overrides for the cases that deviate (e.g. another environment).
This is constant propagation over the dataflow graph, not abstract interpretation: it follows definitions to constants and gives up wherever a value is not statically pinned down, with no fixpoint and no widening. Anything needing an abstract state lives in
src/abstract-interpretation/.