-
Improvement
-
Resolution: Done
-
High
-
None
DerivableSchemaNode.getOriginal() is used by mdsal-binding-runtime-api and mdsal-binding-generator to resolve original statement backwards along the instantiation axis.
Since BindingRuntimeContext is driven by state from GeneratorReactor and that has the capacity to resolve statement -> generator relationships without DerivableSchemaNode (as demonstrated by MDSAL-694), we should be able to do our job there without relying on YANG parser giving us these hints.
Analyze the code and its intent and remodel it so that callers of BindingRuntimeContext.originalNodeOf() have everything they need to operate reasonably efficiently (based, again, on their callsites which should be mostly in mdsal-binding-dom-codec).
Exactly how GeneratorReactor achieves is not quite clear yet, but it probably be similar to what MDSAL-695 ends up doing.
- blocks
-
YANGTOOLS-1377 Remove DerivableSchemaNode
- Resolved
- is duplicated by
-
MDSAL-686 Do not reference SchemaNode.getPath() in BindingRuntimeTypes
- Resolved
-
MDSAL-687 Do not reference SchemaNode.getPath() in mdsal-binding-generator
- Resolved
-
MDSAL-695 Do not use AugmentationSchemaNode.getOriginalDefinition()
- Resolved
- relates to
-
MDSAL-697 Do not use AddedByUsesAware
- Confirmed
-
YANGTOOLS-1403 Integrate EffectiveAugmentationSchema into AugmentationSchemaNode/AugmentEffectiveStatement}
- Resolved
-
MDSAL-694 VerifyException thrown when resolving leafrefs with TAPI models
- Resolved
-
MDSAL-695 Do not use AugmentationSchemaNode.getOriginalDefinition()
- Resolved
-
MDSAL-724 Reject invalid InstanceIdentifiers
- Resolved