Skip to content

Introduce generic Model::resolve<Target>#135

Merged
josephbirkner merged 2 commits intov0.6.3from
improvement/generic-resolve
Feb 12, 2026
Merged

Introduce generic Model::resolve<Target>#135
josephbirkner merged 2 commits intov0.6.3from
improvement/generic-resolve

Conversation

@josephbirkner
Copy link
Collaborator

@josephbirkner josephbirkner commented Feb 6, 2026

This PR fixes #99 by introducing and ADL-based Model::resolve(ModelNode|model_ptr|ModelNodeAddress) interface.


Note

Medium Risk
Touches core node-resolution and casting pathways and introduces template/ADL-based dispatch, which could cause subtle compile/link or runtime type-mismatch issues if downstream models don’t provide the expected resolveInternal hooks.

Overview
Introduces a generic Model::resolve<Target> overload set that can resolve from ModelNodeAddress, ModelNode, or model_ptr, delegating typed casts to an ADL customization point resolveInternal(tag, model, node); debug builds assert model/type compatibility while release builds avoid RTTI.

Reworks core typed resolution by deleting ModelPool::resolveObject/resolveArray and providing built-in resolveInternal specializations for Object and Array, plus small supporting refactors (ModelPool re-exposes base overloads via using Model::resolve, BaseObject uses a shared detail::ObjectField storage type, and ProceduralObject defines ModelType for compatibility).

Written by Cursor Bugbot for commit 6b01ea8. This will update automatically on new commits. Configure here.

@github-actions
Copy link

github-actions bot commented Feb 6, 2026

Test Results

 1 files  ±0   1 suites  ±0   6m 49s ⏱️ -2s
86 tests ±0  86 ✅ ±0  0 💤 ±0  0 ❌ ±0 
91 runs  ±0  91 ✅ ±0  0 💤 ±0  0 ❌ ±0 

Results for commit 6b01ea8. ± Comparison against base commit c50a0f3.

♻️ This comment has been updated with latest results.

@sonarqubecloud
Copy link

@github-actions
Copy link

Package Line Rate Branch Rate Health
include.simfil 27% 11%
include.simfil.model 89% 57%
src 74% 46%
src.model 74% 42%
Summary 46% (5909 / 12981) 27% (3829 / 14211)

@johannes-wolf johannes-wolf self-requested a review February 10, 2026 13:12
@josephbirkner josephbirkner merged commit 2f93401 into v0.6.3 Feb 12, 2026
7 checks passed
@josephbirkner josephbirkner deleted the improvement/generic-resolve branch February 12, 2026 10:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants