If an inference action attempts to create another inference on the same statement (and the same stage), we end up throwing:
Thread [main] (Suspended (exception ConcurrentModificationException)) HashMap$KeyIterator(HashMap$HashIterator).remove() line: 1525 AbstractMapBasedMultimap$WrappedCollection$WrappedIterator.remove() line: 468 SourceSpecificContext.tryToProgress(Collection<ModifierImpl>) line: 329 SourceSpecificContext.tryToCompletePhase(byte) line: 301 BuildGlobalContext.completePhaseActions() line: 364 BuildGlobalContext.executePhases() line: 199 BuildGlobalContext.buildEffective() line: 210 CrossSourceStatementReactor$BuildAction.buildEffective() line: 219 YT1338Test.testAddedLeaves() line: 18
This is because we are iterating over the values and the inference action adds a new one – a classic CME.
- blocks
-
YANGTOOLS-1338 Generate ietf-restconf operations leaf statements
- Resolved