Uploaded image for project: 'yangtools'
  1. yangtools
  2. YANGTOOLS-784 Defer statement initialization in InferredStatementContext
  3. YANGTOOLS-1184

Release InferredStatementContext's effective statements after build

XMLWordPrintable

    • Icon: Sub-task Sub-task
    • Resolution: Done
    • Icon: Medium Medium
    • 7.0.0
    • None
    • parser
    • None

      Performing lazy copy operations means we can end up copying a statement after it has been built and hence should no longer need its effective statements.

      Add an explicit ModelProcessingPhase.EFFECTIVE_VIEW, which will run after EFFECTIVE_MODEL has been completed and the effective statement has been built.

      It's execution is a straightforward children-first walk from root, just as any other processing phase.

      All copy operations need to hook a prerequisite for EFFECTIVE_VIEW on their source context – which prevents it from completing – for each copied statement. That hook needs to resolve when the copy acquires the substatements.

            rovarga Robert Varga
            rovarga Robert Varga
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: