tom_reflection_generator 1.3.0
tom_reflection_generator: ^1.3.0 copied to clipboard
Standalone reflection generator (builder + CLI) for the Tom framework.
Changelog #
1.3.0 #
- Deterministic output. Import prefixes (
prefix0,prefix1, …) are now numbered by a stable sort of the import URIs instead of the order libraries happened to be encountered while walking the element model. The same set of imported libraries therefore always yields byte-identical generated code, regardless of analyzer/SDK traversal order — eliminating spurious cross-machine diffs in.reflection.dartoutputs. Seesrc/reflection_generator/prefix_renumber.dart. - Build-runner-style progress.
generateReflectionnow prints a start banner (Generating reflection for N target file(s)...), a per-file[i/N]progress line for multi-file runs, and a timed completion summary (Reflection generation succeeded after Xs — N generated, M skipped.) in non-verbose mode, so a run is observable when nested under buildkit (where this tool's stdout is the only signal the user sees). - Raised the
tom_analyzer_sharedfloor to>=0.6.1for the verbose per-summary cache-usage trace (using {pkg}@{ver}.sum from cache at {path}), which lets a generation run be audited for actual cache reads.
1.2.1 #
- Track our latest published components:
tom_analyzer_sharedfloor raised to>=0.6.0(ToolCacheLocator shared tool-cache root). All in-workspace dependencies now use lower-bound-only constraints (no upper cap) sopub upgraderesolves to our latest versions during active development.
1.2.0 #
- Analyzer 10 migration: widened the
analyzerconstraint from^8.0.0to^10.0.0and bumpedtom_analyzer_sharedto^0.4.0(analyzer-10 build). The generator'spackage:analyzer/src/dart/constant/*and element/type imports resolve unchanged on analyzer 10. - The 20
Element.isSyntheticcall sites (deprecated in analyzer 10 in favour of theisOriginXflag family) are now routed through a single_elementIsSynthetichelper. This preserves exact behaviour — including the localMixinApplicationshim'sisSyntheticoverride (which is relied upon at real call sites and would route throughnoSuchMethodif migrated toisOriginDeclaration) — and confines the deprecation suppression to one documented place.isOriginDeclarationis not a drop-in replacement because it is not declared on the baseElementtype. - No behavioural change; supersedes the out-of-band
1.1.2(identical source).
1.1.1 #
- Bug fix: Fixed incorrect prefix assignment for mixin-variant types
in
NonGenericClassMirrorImplgeneration. When a type is a synthetic mixin application (e.g.TomFormStringField with TomGenericFieldDecorationMixin), the generic type parameter now uses the prefix for the superclass's library rather than the syntheticMixinApplication's library. Previously this caused'SomeType' isn't a typecompile errors after regeneration.
1.1.0 #
- Standalone CLI: Added analyzer summary caching for 26x faster generation (38s vs 1269s on a Flutter project with 75 dependencies)
- Summary cache stored in
.tom/analyzer-cache/with per-package versioned.sumfiles - SDK summary self-generation with Flutter embedder support
- Topological dependency ordering for correct cross-package type resolution
- Fixed default parameter value extraction from summary-backed elements
- Fixed metadata annotation extraction from summary-backed elements
- CLI output now matches build_runner output byte-for-byte
1.0.2 #
- Bug fixes and internal improvements
1.0.1 #
- Repository reorganization: Moved to tom_module_reflection repository
- Changed tom_reflection dependency to pub.dev version
1.0.0 #
- Extracted the reflection builder/CLI from
tom_buildandtom_build_tools. - Added reusable CLI runner (
runReflectionGeneratorCli). - Published documentation and tests within the new package.