MetaBorgGeneric

public class MetaBorgGeneric<I extends IInputUnit, P extends IParseUnit, A extends IAnalyzeUnit, AU extends IAnalyzeUnitUpdate, T extends ITransformUnit<?>, TP extends ITransformUnit<P>, TA extends ITransformUnit<A>, F> extends MetaBorg

Generic version of the MetaBorg facade. Call the public methods to perform common operations, or use the public final fields to access services directly. This facade should only be used with a module that implements these services, like the Spoofax module, or through a subclassed facade like to the Spoofax facade. Using this facade with the MetaborgModule will cause an exception on construction.

Parameters:
  • <I> – Type of input units.
  • <P> – Type of parse units.
  • <A> – Type of analyze units.
  • <AU> – Type of analyze unit updates.
  • <T> – Type of transform units with any input.
  • <TP> – Type of transform units with parse units as input.
  • <TA> – Type of transform units with analyze units as input.
  • <F> – Type of fragments.

Fields

actionService

public final IActionService actionService

analysisResultProcessor

public final IAnalysisResultProcessor<I, P, A> analysisResultProcessor

analysisResultRequester

public final IAnalysisResultRequester<I, A> analysisResultRequester

analysisService

public final IAnalysisService<P, A, AU> analysisService

builder

public final IBuilder<P, A, AU, T> builder

categorizerService

public final ICategorizerService<P, A, F> categorizerService

completionService

public final ICompletionService<P> completionService

dialectIdentifier

public final IDialectIdentifier dialectIdentifier

dialectService

public final IDialectService dialectService

hoverService

public final IHoverService<P, A> hoverService

outlineService

public final IOutlineService<P, A> outlineService

parseResultProcessor

public final IParseResultProcessor<I, P> parseResultProcessor

processorRunner

public final IProcessorRunner<P, A, AU, T> processorRunner

resolverService

public final IResolverService<P, A> resolverService

stylerService

public final IStylerService<F> stylerService

syntaxService

public final ISyntaxService<I, P> syntaxService

tracingService

public final ITracingService<P, A, T, F> tracingService

transformService

public final ITransformService<P, A, TP, TA> transformService

unitService

public final IUnitService<I, P, A, AU, TP, TA> unitService

Constructors

MetaBorgGeneric

public MetaBorgGeneric(Class<I> iClass, Class<P> pClass, Class<A> aClass, Class<AU> auClass, Type tClass, Type tpClass, Type taClass, Class<F> fClass, IModulePluginLoader loader, MetaborgModule module, Module... additionalModules)

Instantiate the generic MetaBorg API.

Parameters:
  • loader – Module plugin loader to use.
  • module – MetaBorg module to use, which should implement all services in this facade. Do not use MetaborgModule.
  • additionalModules – Additional modules to use.
Throws:
  • MetaborgException – When loading plugins or dependency injection fails.

MetaBorgGeneric

public MetaBorgGeneric(Class<I> iClass, Class<P> pClass, Class<A> aClass, Class<AU> auClass, Class<T> tClass, Class<TP> tpClass, Class<TA> taClass, Class<F> fClass, MetaborgModule module, Module... additionalModules)

Instantiate the generic MetaBorg API.

Parameters:
  • module – MetaBorg module to use, which should implement all services in this facade. Do not use MetaborgModule.
  • additionalModules – Additional modules to use.
Throws:
  • MetaborgException – When loading plugins or dependency injection fails.