Our current implementation of uses statements relies on a rather ugly hack to ensure statements are resolved in definition order, for example in case of:
container foo { uses bar; uses baz; } grouping baz { leaf baz { type string; } } grouping bar { leaf bar { type string; } }
As the two uses statements are resolved in reverse order, we end up:
- tracking effects of those statements separately
- re-inline these effects when 'foo' is built in EffectiveStatementBase
Instead of this complicated tracking, we should be able to express a resolution dependency of 'uses baz' on 'uses bar', such that 'uses baz' is resolved only after 'uses bar' – which will naturally ensure that effectiveStatements are properly ordered.
- relates to
-
YANGTOOLS-1042 ModuleEffectiveStatement fails to index statements from submodules
- Resolved