[YANGTOOLS-1112] Separate out ModelProcessingPhase.SOURCE_PRE_LINKAGE phase handling Created: 12/Jun/20 Updated: 28/Oct/20 |
|
| Status: | Confirmed |
| Project: | yangtools |
| Component/s: | parser |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Medium |
| Reporter: | Robert Varga | Assignee: | Unassigned |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Epic Link: | Parser Performance | ||||||||
| Description |
|
BuildGlobalContext.completePhaseActions() contains special handling of ModelProcessingPhase.PRE_LINKAGE, which interacts with library sources. Since this is the first phase to execute and it is special in that it modifies required sources, we should have separated out handling for it – i.e. refactor executePhases() to explicitly handle it before going through the normal phases. This specialization is needed to eliminate loadPhaseStatements() loading statements into all libSources – even those which end up being unreferenced. |