-
Improvement
-
Resolution: Done
-
Medium
-
None
binding-dom-codec requires information about grouping instantiation within an instance of BindingRuntimeTypes to make leafref mapping predictable.
If can have the equivalent of
BindingRuntimeTypes { private final ListMultimap<JavaTypeName, JavaTypeName> groupingToInstantiation; }
populated for each encountered grouping, we can find the corresponding leafref resolution information available via the footprint left by AbstractTypeObjectGenerator.addAsGetterMethodOverride() in GeneratedType. Backreferences stored here should point to instantiation roots, i.e. where a uses statement causes a grouping (and all its referenced grouping) to be referenced when the corresponding SchemaInferenceStack.isGrouping() == false. The footprint can be examined by inquiring GeneratedType.getImplements() type hierarchy.