-
Notifications
You must be signed in to change notification settings - Fork 1
Roadmap
The source-of-truth hardening checklist is stored in the repository as docs/AspectGeneratorHardeningPlan.md.
This page mirrors the high-level roadmap for wiki readers.
Status: partially implemented.
The previous full syntax-tree scan has been removed. Invocation candidates now come from SyntaxProvider; the remaining work is a performance regression test or benchmark.
Planned work:
- add a synthetic performance regression test or benchmark project with many invocations.
Status: not implemented.
Generated code still emits a fixed static partial class Interceptors in the configured namespace. This can collide with user code or other generated code.
Planned work:
- evaluate
file static class AspectGeneratorInterceptors_<stable hash>; - preserve configurable interceptor namespace;
- update generated source baselines after choosing the final shape.
Status: not implemented.
AG0004 is currently a warning when the generated interceptor namespace is not listed in InterceptorsNamespaces.
Planned work:
- decide whether this should become an error;
- document the severity policy;
- add a focused diagnostics test for the chosen behavior.
Status: deferred.
PublicApi=true remains experimental. Generated InterceptInfo, InterceptInfo<T>, and InterceptData<T> still expose mutable fields.
Planned work:
- keep the existing fields for compatibility in the generated/internal path;
- decide whether public API should use properties, a separate runtime package, or an explicit versioned contract;
- document migration guidance before any breaking change.
Status: deferred.
Generated interceptors still initialize MemberInfo through expression-tree helper methods.
Planned work:
- keep the current expression-tree approach as the baseline;
- generate lazy
MemberInfoinitialization only when a hook requiresMemberInfo; - measure whether the optimization is worth the added codegen complexity.
Status: not supported.
ValueTask and ValueTask<T> are documented as unsupported.
Planned work:
- either keep explicit non-support with diagnostics/documentation;
- or add
ValueTask/ValueTask<T>support with async hook tests.