A reconcile step is one of several steps of a {@linkplain org.eclipse.jface.text.reconciler.IReconcilingStrategy reconcile strategy}that consists of several steps. This relationship is not coded into an interface but should be used by clients who's reconcile strategy consists of several steps.
If a reconcile step has an {@linkplain org.eclipse.jface.text.reconciler.IReconcilableModel input model}it will compute the correct model for the next step in the chain and set the next steps input model before reconcile
gets called on that next step. After the last step has reconciled the {@linkplain org.eclipse.jface.text.reconciler.IReconcileResult reconcile result}array gets returned to the previous step. Each step in the chain adapts the result to its input model and returns it to its previous step.
Example: Assume a strategy consists of steps A, B and C. And the main model is M. The strategy will set M to be A's input model. What will happen is:
- A.setInputModel(M)
- A.reconcile: A reconciles M
- A computes the model for B => MB
- B.setInputModel(MB)
- B.reconcile: B reconciles MB
- B computes the model for C => MC
- C.setInputModel(MC)
- C.reconcile: C reconciles MC
- C returns result RC to step B
- B adapts the RC to MB and merges with its own results
- B returns result RB to step A
- A adapts the result to M and merges with its own results
- A returns the result to the reconcile strategy
This interface must be implemented by clients.
@since 3.0