calor effects
Inspect and maintain effect manifests used for external .NET calls.
| Command | Purpose |
|---|---|
calor effects resolve <signature> | Show the resolved effects for a method signature |
calor effects validate | Validate every manifest in the search path |
calor effects list | List types with effect declarations |
calor effects suggest --input <files> | Generate a template for unresolved calls |
resolve, validate, list, and suggest accept --project and
--solution to add project- or solution-level manifests to the search path.
resolve and list support --json; list also supports --type.
calor effects resolve System.Console.WriteLine --json
calor effects validate --project ./src/MyApp
calor effects suggest --input src/App.calr --output .calor-effects.suggested.json
With --merge, suggest updates .calor-effects.json; review that generated
file before committing it. For package-wide inference and provenance, use
calor import. See the effect-manifest guide
for resolution order and manifest format.
Suggesting Manifest Entries Safely
calor effects suggest uses the compiler's bound type information to identify
the receiver of an unresolved call. It does not turn a variable name into a
type name or guess when the compiler cannot establish the type.
calor effects suggest \
--input src/App.calr \
--output .calor-effects.suggested.json \
--json
When a receiver type is known, the suggested entry uses that type even if it was inferred from .NET metadata rather than written in the Calor source.
When the receiver cannot be typed reliably — for example an unresolved
inferred binding, a chained access such as a.b.Method, or a function value —
the command:
- reports
Calor1360, - omits the unsafe suggestion,
- increments
data.untypedReceiversin JSON output.
This is deliberate: a missing manifest entry remains visible as an unresolved call, while a guessed entry could silently assign the wrong effects.
--merge is additive, but generated entries still require review. Confirm the
fully qualified member, parameter types, effect row, and provenance before
committing .calor-effects.json.