According to the documentation on language processing, the following code should be used to invoke a builder:

ISpoofaxBuilder builder = ... // Get through dependency injection
CancellationToken cancellationToken = new CancellationToken()
ISpoofaxBuildOutput output = builder.build(input, new NullProgressReporter(),
  cancellationToken)

When adding the missing semicolons, this still gives a Java type error:

Type mismatch: cannot convert from IBuildOutput<ISpoofaxParseUnit,ISpoofaxAnalyzeUnit,ISpoofaxAnalyzeUnitUpdate,ISpoofaxTransformUnit<?>> to ISpoofaxBuildOutput

Of course, using the right type fixes the issue, but I would assume the heavily parametrised type should be hidden from the language user.

Submitted by Guido Wachsmuth on 14 February 2017 at 12:48

On 14 February 2017 at 13:07 Gabriël Konat tagged documentation

On 16 February 2017 at 11:33 Gabriël Konat tagged api

On 16 February 2017 at 11:33 Gabriël Konat commented:

I added the missing overrides to make this work in: https://github.com/metaborg/spoofax/commit/f30937aa7b6f3910aa286594ee84262f909e46a9


On 16 February 2017 at 11:33 Gabriël Konat closed this issue.

Log in to post comments