[YANGTOOLS-1072] Refactor BitsTypeDefinition.Bit and its implementations Created: 16/Jan/20 Updated: 28/Oct/20 Resolved: 16/Apr/20 |
|
| Status: | Resolved |
| Project: | yangtools |
| Component/s: | parser |
| Affects Version/s: | None |
| Fix Version/s: | 5.0.0 |
| Type: | Improvement | Priority: | Medium |
| Reporter: | Robert Varga | Assignee: | Robert Varga |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||
| Epic Link: | Get rid of SchemaNode.getPath() | ||||||||||||||||
| Description |
|
Bit as such is not a SchemaNode, hence it should derive only from DocumentedNode.WithStatus. Furthermore BitStatement/BitEffectiveStatement should not be using QName as their argument, only the string (which should be validated to conform to QName localName rules, but it's still a string). Finally the actual implementation is wrong, as we are translating BitEffectiveStatements into BitImpl, which is a bit wrong - as the statement world does not match the type world. This should be fixed by BitEffectiveStatement implementing Bit - and its buildEffective() method needs to create implicit Position statements as appropriate. |
| Comments |
| Comment by Robert Varga [ 12/Feb/20 ] |
|
Let's skip the BitEffectiveStatement part for now, as there are some non-trivial interactions there. |