IProcessorRunner

public interface IProcessorRunner<P extends IParseUnit, A extends IAnalyzeUnit, AU extends IAnalyzeUnitUpdate, T extends ITransformUnit<?>>

Interface for language processing. Handles building and cleaning on-demand, and language change events automatically.

Parameters:
  • <P> – Type of parse units.
  • <A> – Type of analyze units.
  • <AU> – Type of analyze unit updates.
  • <T> – Type of transform units.

Methods

build

ITask<? extends IBuildOutput<P, A, AU, T>> build(BuildInput input, IProgress progress, ICancel cancel)

Creates a task that builds with given build input.

Parameters:
  • input – Build input to use.
  • progress – Progress reporter, or null to use a processor-specific implementation for progress reporting.
  • cancel – Cancellation token, or null to a use a processor-specific implementation for cancellation.
Returns:

Task that builds with given input, and has the build output as result. Schedule the task and wait for it to complete to get the build output.

clean

ITask<?> clean(CleanInput input, IProgress progress, ICancel cancel)

Creates a task that cleans with given clean input.

Parameters:
  • input – Clean input to use.
  • progress – Progress reporter, or null to use a processor-specific implementation for progress reporting.
  • cancel – Cancellation token, or null to a use a processor-specific implementation for cancellation.
Returns:

Task that cleans with given input.

updateDialects

ITask<?> updateDialects(FileObject location, Iterable<ResourceChange> changes)

Creates a task that updates dialects using given changes.

Parameters:
  • location – Location to process changes at.
  • changes – Resource changes to process.
Returns:

Task that processes dialect updates.