metaborg / spoofax-pie

Spoofax implementation using PIE pipelines
Apache License 2.0
12 stars 9 forks source link

ValidationException on configuration change #70

Closed Virtlink closed 3 years ago

Virtlink commented 3 years ago

Summary

I changed the .cfg of my Tiger language to use JSGLR2 instead of JSGLR1, rebuilt and restarted the LWB, and PIE fails to compile the new language, giving this error:

ValidationException: Visited task with same key was required with different input in same session.

What you did

I changed the parser configuration of my Tiger pure Spoofax 3 project from:

parser {
  default-start-symbol = sort Module
  variant = jsglr1
}

to

parser {
  default-start-symbol = sort Module
  variant = jsglr2 { }
}

I did some other things in between, which is why I rebuilt and restarted the LWB. The Tiger language was loaded again, and PIE gave the above error on build.

What you expected to happen

I expected PIE to recognize that the configuration has changed, and rerun the appropriate tasks. I suspect PIE has serialized some state that is now incorrect.

What actually happened

I got this error:

11:34:12.354 | DEBUG | → mb.spoofax.compiler.adapter.AdapterProjectCompiler(AdapterProjectInputSupplier(mb.cfg.task.CfgRootDirectoryToObject(eclipse-resource##/tiger))) (reason: directly or indirectly affected by change)
11:34:12.361 | DEBUG | ← mb.pie.runtime.layer.ValidationException: Visited task with same key was required with different input in same session.
mb.pie.runtime.layer.ValidationException: Visited task with same key was required with different input in same session. Cause:
task with key
  #mb.spoofax.compiler.adapter.ParserAdapterCompiler(eclipse-resource##/tiger)
was already visited with input
  Input{..., languageProjectInput=Input{..., variant=jsglr1(), ...}, ...}
while now required with input
  Input{..., languageProjectInput=Input{..., variant=jsglr2(Recovery), ...}, ...}
    at mb.pie.runtime.layer.ValidationLayer.error(ValidationLayer.java:466)
    at mb.pie.runtime.layer.ValidationLayer.validateVisited(ValidationLayer.java:187)
    at mb.pie.runtime.exec.BottomUpRunner.getData(BottomUpRunner.java:201)
    at mb.pie.runtime.exec.BottomUpRunner.require(BottomUpRunner.java:185)
    at mb.pie.runtime.exec.ExecContextImpl.require(ExecContextImpl.java:110)
    at mb.pie.runtime.exec.ExecContextImpl.require(ExecContextImpl.java:90)
    at mb.spoofax.compiler.adapter.AdapterProjectCompiler.lambda$compile$1(AdapterProjectCompiler.java:134)
    at java.base/java.util.Optional.ifPresent(Optional.java:183)
    at mb.spoofax.compiler.adapter.AdapterProjectCompiler.compile(AdapterProjectCompiler.java:134)
    at mb.spoofax.compiler.adapter.AdapterProjectCompiler.lambda$exec$0(AdapterProjectCompiler.java:125)
    at mb.common.result.Result.mapThrowing(Result.java:294)
    at mb.spoofax.compiler.adapter.AdapterProjectCompiler.exec(AdapterProjectCompiler.java:125)
    at mb.spoofax.compiler.adapter.AdapterProjectCompiler.exec(AdapterProjectCompiler.java:47)
    at mb.pie.api.Task.exec(Task.java:56)
    at mb.pie.runtime.exec.TaskExecutor.execInternal(TaskExecutor.java:126)
    at mb.pie.runtime.exec.TaskExecutor.exec(TaskExecutor.java:82)
    at mb.pie.runtime.exec.BottomUpRunner.exec(BottomUpRunner.java:369)
    at mb.pie.runtime.exec.BottomUpRunner.execAndSchedule(BottomUpRunner.java:133)
    at mb.pie.runtime.exec.BottomUpRunner.execScheduled(BottomUpRunner.java:120)
    at mb.pie.runtime.exec.BottomUpRunner.requireInitial(BottomUpRunner.java:83)
    at mb.pie.runtime.MixedSessionImpl.lambda$updateAffectedBy$0(MixedSessionImpl.java:70)
    at mb.pie.runtime.SessionImpl.handleException(SessionImpl.java:160)
    at mb.pie.runtime.MixedSessionImpl.updateAffectedBy(MixedSessionImpl.java:70)
    at mb.spoofax.lwb.eclipse.SpoofaxLwbBuilder.bottomUpBuild(SpoofaxLwbBuilder.java:192)
    at mb.spoofax.lwb.eclipse.SpoofaxLwbBuilder.incrBuild(SpoofaxLwbBuilder.java:135)

Full error:

11:34:12.354 | DEBUG | Worker-23: Build Project                           | mb.pie.runtime.tracer.LoggingTracer                |   → mb.spoofax.compiler.adapter.AdapterProjectCompiler(AdapterProjectInputSupplier(mb.cfg.task.CfgRootDirectoryToObject(eclipse-resource##/tiger))) (reason: directly or indirectly affected by change)
11:34:12.361 | DEBUG | Worker-23: Build Project                           | mb.pie.runtime.tracer.LoggingTracer                |   ← mb.pie.runtime.layer.ValidationException: Visited task with same key was required with different input in same session. Cause:\ntask with key\n  #mb.spoofax.compiler.adapter.ParserAdapterCompiler(eclipse-resource##/tiger)\nwas already visited with input\n  Input{classKind=Generated, baseParseTaskDef=TypeInfo{packageId=mb.tiger.task, id=TigerParse}, baseTokenizeTaskDef=TypeInfo{packageId=mb.tiger.task, id=TigerTokenize}, baseShowParsedAstTaskDef=TypeInfo{packageId=mb.tiger.task, id=TigerShowParsedAst}, showParsedAstCommand=CommandDefRepr{type=TypeInfo{packageId=mb.tiger.command, id=TigerShowParsedAstCommand}, taskDefType=TypeInfo{packageId=mb.tiger.task, id=TigerShowParsedAst}, argType=TypeInfo{packageId=mb.tiger.task, id=TigerShowParsedAst.Args}, displayName=Show parsed AST, description=Shows the parsed AST, supportedExecutionTypes=[ManualOnce, ManualContinuous, AutomaticContinuous], params=[ParamRepr{id=file, type=TypeInfo{packageId=mb.resource, id=ResourceKey}, required=true, providers=[context(ReadableRes...
mb.pie.runtime.layer.ValidationException: Visited task with same key was required with different input in same session. Cause:
task with key
  #mb.spoofax.compiler.adapter.ParserAdapterCompiler(eclipse-resource##/tiger)
was already visited with input
  Input{classKind=Generated, baseParseTaskDef=TypeInfo{packageId=mb.tiger.task, id=TigerParse}, baseTokenizeTaskDef=TypeInfo{packageId=mb.tiger.task, id=TigerTokenize}, baseShowParsedAstTaskDef=TypeInfo{packageId=mb.tiger.task, id=TigerShowParsedAst}, showParsedAstCommand=CommandDefRepr{type=TypeInfo{packageId=mb.tiger.command, id=TigerShowParsedAstCommand}, taskDefType=TypeInfo{packageId=mb.tiger.task, id=TigerShowParsedAst}, argType=TypeInfo{packageId=mb.tiger.task, id=TigerShowParsedAst.Args}, displayName=Show parsed AST, description=Shows the parsed AST, supportedExecutionTypes=[ManualOnce, ManualContinuous, AutomaticContinuous], params=[ParamRepr{id=file, type=TypeInfo{packageId=mb.resource, id=ResourceKey}, required=true, providers=[context(ReadableResource)]}]}, baseShowParsedTokensTaskDef=TypeInfo{packageId=mb.tiger.task, id=TigerShowParsedTokens}, showParsedTokensCommand=CommandDefRepr{type=TypeInfo{packageId=mb.tiger.command, id=TigerShowParsedTokensCommand}, taskDefType=TypeInfo{packageId=mb.tiger.task, id=TigerShowParsedTokens}, argType=TypeInfo{packageId=mb.tiger.task, id=TigerShowParsedTokens.Args}, displayName=Show parsed tokens, description=Shows the parsed tokens, supportedExecutionTypes=[ManualOnce, ManualContinuous, AutomaticContinuous], params=[ParamRepr{id=file, type=TypeInfo{packageId=mb.resource, id=ResourceKey}, required=true, providers=[context(ReadableResource)]}]}, mainMenu=menu(MenuRepr{displayName=Debug, items=[commandAction(CommandActionRepr{displayName=Show parsed AST, description=Shows the parsed AST, commandRequest=CommandRequestRepr{commandDefType=TypeInfo{packageId=mb.tiger.command, id=TigerShowParsedAstCommand}, executionType=ManualOnce, initialArgs={}}, requiredEditorSelectionTypes=[], requiredEditorFileTypes=[ReadableResource], requiredResourceTypes=[], requiredEnclosingResourceTypes=[]}), commandAction(CommandActionRepr{displayName=Show parsed AST (continuous), description=Shows the parsed AST, commandRequest=CommandRequestRepr{commandDefType=TypeInfo{packageId=mb.tiger.command, id=TigerShowParsedAstCommand}, executionType=ManualContinuous, initialArgs={}}, requiredEditorSelectionTypes=[], requiredEditorFileTypes=[ReadableResource], requiredResourceTypes=[], requiredEnclosingResourceTypes=[]}), commandAction(CommandActionRepr{displayName=Show parsed tokens, description=Shows the parsed tokens, commandRequest=CommandRequestRepr{commandDefType=TypeInfo{packageId=mb.tiger.command, id=TigerShowParsedTokensCommand}, executionType=ManualOnce, initialArgs={}}, requiredEditorSelectionTypes=[], requiredEditorFileTypes=[ReadableResource], requiredResourceTypes=[], requiredEnclosingResourceTypes=[]}), commandAction(CommandActionRepr{displayName=Show parsed tokens (continuous), description=Shows the parsed tokens, commandRequest=CommandRequestRepr{commandDefType=TypeInfo{packageId=mb.tiger.command, id=TigerShowParsedTokensCommand}, executionType=ManualContinuous, initialArgs={}}, requiredEditorSelectionTypes=[], requiredEditorFileTypes=[ReadableResource], requiredResourceTypes=[], requiredEnclosingResourceTypes=[]})]}), resourceContextMenu=menu(MenuRepr{displayName=Debug, items=[commandAction(CommandActionRepr{displayName=Show parsed AST, description=Shows the parsed AST, commandRequest=CommandRequestRepr{commandDefType=TypeInfo{packageId=mb.tiger.command, id=TigerShowParsedAstCommand}, executionType=ManualOnce, initialArgs={}}, requiredEditorSelectionTypes=[], requiredEditorFileTypes=[], requiredResourceTypes=[File], requiredEnclosingResourceTypes=[]}), commandAction(CommandActionRepr{displayName=Show parsed AST (continuous), description=Shows the parsed AST, commandRequest=CommandRequestRepr{commandDefType=TypeInfo{packageId=mb.tiger.command, id=TigerShowParsedAstCommand}, executionType=ManualContinuous, initialArgs={}}, requiredEditorSelectionTypes=[], requiredEditorFileTypes=[], requiredResourceTypes=[File], requiredEnclosingResourceTypes=[]}), commandAction(CommandActionRepr{displayName=Show parsed tokens, description=Shows the parsed tokens, commandRequest=CommandRequestRepr{commandDefType=TypeInfo{packageId=mb.tiger.command, id=TigerShowParsedTokensCommand}, executionType=ManualOnce, initialArgs={}}, requiredEditorSelectionTypes=[], requiredEditorFileTypes=[], requiredResourceTypes=[File], requiredEnclosingResourceTypes=[]}), commandAction(CommandActionRepr{displayName=Show parsed tokens (continuous), description=Shows the parsed tokens, commandRequest=CommandRequestRepr{commandDefType=TypeInfo{packageId=mb.tiger.command, id=TigerShowParsedTokensCommand}, executionType=ManualContinuous, initialArgs={}}, requiredEditorSelectionTypes=[], requiredEditorFileTypes=[], requiredResourceTypes=[File], requiredEnclosingResourceTypes=[]})]}), editorContextMenu=menu(MenuRepr{displayName=Debug, items=[commandAction(CommandActionRepr{displayName=Show parsed AST, description=Shows the parsed AST, commandRequest=CommandRequestRepr{commandDefType=TypeInfo{packageId=mb.tiger.command, id=TigerShowParsedAstCommand}, executionType=ManualOnce, initialArgs={}}, requiredEditorSelectionTypes=[], requiredEditorFileTypes=[ReadableResource], requiredResourceTypes=[], requiredEnclosingResourceTypes=[]}), commandAction(CommandActionRepr{displayName=Show parsed AST (continuous), description=Shows the parsed AST, commandRequest=CommandRequestRepr{commandDefType=TypeInfo{packageId=mb.tiger.command, id=TigerShowParsedAstCommand}, executionType=ManualContinuous, initialArgs={}}, requiredEditorSelectionTypes=[], requiredEditorFileTypes=[ReadableResource], requiredResourceTypes=[], requiredEnclosingResourceTypes=[]}), commandAction(CommandActionRepr{displayName=Show parsed tokens, description=Shows the parsed tokens, commandRequest=CommandRequestRepr{commandDefType=TypeInfo{packageId=mb.tiger.command, id=TigerShowParsedTokensCommand}, executionType=ManualOnce, initialArgs={}}, requiredEditorSelectionTypes=[], requiredEditorFileTypes=[ReadableResource], requiredResourceTypes=[], requiredEnclosingResourceTypes=[]}), commandAction(CommandActionRepr{displayName=Show parsed tokens (continuous), description=Shows the parsed tokens, commandRequest=CommandRequestRepr{commandDefType=TypeInfo{packageId=mb.tiger.command, id=TigerShowParsedTokensCommand}, executionType=ManualContinuous, initialArgs={}}, requiredEditorSelectionTypes=[], requiredEditorFileTypes=[ReadableResource], requiredResourceTypes=[], requiredEnclosingResourceTypes=[]})]}), adapterProject=AdapterProject{project=GradleProject{coordinate=org.metaborg:tiger:0.1.0, baseDirectory=eclipse-resource##/tiger, srcDirectory=eclipse-resource##/tiger/src, srcMainDirectory=eclipse-resource##/tiger/src/main, buildDirectory=eclipse-resource##/tiger/build, buildGeneratedSourcesDirectory=eclipse-resource##/tiger/build/generated/sources, buildGeneratedSourcesAnnotationProcessorJavaMainDirectory=eclipse-resource##/tiger/build/generated/sources/annotationProcessor/java/main, buildGeneratedResourcesDirectory=eclipse-resource##/tiger/build/generated/resources, buildClassesDirectory=eclipse-resource##/tiger/build/classes, buildClassesJavaMainDirectory=eclipse-resource##/tiger/build/classes/java/main}, packageId=mb.tiger, taskPackageId=mb.tiger.task, commandPackageId=mb.tiger.command, generatedJavaSourcesDirectory=eclipse-resource##/tiger/build/generated/sources/adapter, classKind=Generated, baseResourcesScope=TypeInfo{packageId=mb.tiger, id=TigerResourcesScope}, baseScope=TypeInfo{packageId=mb.tiger, id=TigerScope}, baseQualifier=TypeInfo{packageId=mb.tiger, id=TigerQualifier}, shared=Shared{name=tiger, fileExtensions=[tig], defaultClassPrefix=Tiger, defaultGroupId=org.metaborg, defaultArtifactId=tiger, defaultVersion=0.1.0, defaultPackageIdPrefix=mb., defaultPackageId=mb.tiger, metaborgPublicRepository=maven(https://artifacts.metaborg.org/content/groups/public/), defaultRepositories=[maven(https://artifacts.metaborg.org/content/groups/public/)], defaultPluginRepositories=[maven(https://artifacts.metaborg.org/content/groups/public/)], metaborgGradleConfigVersion=0.3.21, metaborgCoroniumVersion=0.3.0, bndPluginVersion=5.0.1, intellijGradlePluginVersion=0.4.21, spoofax3Version=null, spoofaxDependencyConstraintsDep=module(org.metaborg:spoofax.depconstraints), checkerFrameworkQualifiersDep=module(org.checkerframework:checker-qual-android), daggerDep=module(com.google.dagger:dagger), daggerCompilerDep=module(com.google.dagger:dagger-compiler), slf4jSimpleDep=module(org.slf4j:slf4j-simple), commonDep=module(org.metaborg:common), logApiDep=module(org.metaborg:log.api), logBackendSLF4JDep=module(org.metaborg:log.backend.slf4j), resourceDep=module(org.metaborg:resource), strategoXTMinJarDep=module(org.metaborg:strategoxt-min-jar), orgStrategoXTStrjDep=module(org.metaborg.devenv:org.strategoxt.strj), pieApiDep=module(org.metaborg:pie.api), pieRuntimeDep=module(org.metaborg:pie.runtime), atermCommonDep=module(org.metaborg:aterm.common), statixCodeCompletionDep=module(org.metaborg:statix.codecompletion), statixCodeCompletionPieDep=module(org.metaborg:statix.codecompletion.pie), jsglrCommonDep=module(org.metaborg:jsglr.common), jsglrPieDep=module(org.metaborg:jsglr.pie), jsglr1CommonDep=module(org.metaborg:jsglr1.common), jsglr2CommonDep=module(org.metaborg:jsglr2.common), esvCommonDep=module(org.metaborg:esv.common), strategoCommonDep=module(org.metaborg:stratego.common), strategoPieDep=module(org.metaborg:stratego.pie), constraintCommonDep=module(org.metaborg:constraint.common), constraintPieDep=module(org.metaborg:constraint.pie), nabl2CommonDep=module(org.metaborg:nabl2.common), statixCommonDep=module(org.metaborg:statix.common), statixPieDep=module(org.metaborg:statix.pie), spoofax2CommonDep=module(org.metaborg:spoofax2.common), spoofaxCompilerInterfacesDep=module(org.metaborg:spoofax.compiler.interfaces), spoofaxCoreDep=module(org.metaborg:spoofax.core), spoofaxCliDep=module(org.metaborg:spoofax.cli), spoofaxEclipseDep=module(org.metaborg:spoofax.eclipse), toolingEclipseBundleDep=module(org.metaborg:tooling.eclipsebundle), spoofaxIntellijDep=module(org.metaborg:spoofax.intellij), multilangDep=module(org.metaborg:statix.multilang), multilangEclipseDep=module(org.metaborg:statix.multilang.eclipse), sptApiDep=module(org.metaborg:spt.api), tegoDep=module(org.metaborg:tego), tegoPieDep=module(org.metaborg:tego.pie)}}, languageProjectInput=Input{startSymbol=Module, parseTableAtermFileRelativePath=sdf.tbl, parseTablePersistedFileRelativePath=sdf.bin, variant=jsglr1(), classKind=Generated, baseParseTable=TypeInfo{packageId=mb.tiger, id=TigerParseTable}, baseParser=TypeInfo{packageId=mb.tiger, id=TigerParser}, baseParserFactory=TypeInfo{packageId=mb.tiger, id=TigerParserFactory}, shared=Shared{name=tiger, fileExtensions=[tig], defaultClassPrefix=Tiger, defaultGroupId=org.metaborg, defaultArtifactId=tiger, defaultVersion=0.1.0, defaultPackageIdPrefix=mb., defaultPackageId=mb.tiger, metaborgPublicRepository=maven(https://artifacts.metaborg.org/content/groups/public/), defaultRepositories=[maven(https://artifacts.metaborg.org/content/groups/public/)], defaultPluginRepositories=[maven(https://artifacts.metaborg.org/content/groups/public/)], metaborgGradleConfigVersion=0.3.21, metaborgCoroniumVersion=0.3.0, bndPluginVersion=5.0.1, intellijGradlePluginVersion=0.4.21, spoofax3Version=null, spoofaxDependencyConstraintsDep=module(org.metaborg:spoofax.depconstraints), checkerFrameworkQualifiersDep=module(org.checkerframework:checker-qual-android), daggerDep=module(com.google.dagger:dagger), daggerCompilerDep=module(com.google.dagger:dagger-compiler), slf4jSimpleDep=module(org.slf4j:slf4j-simple), commonDep=module(org.metaborg:common), logApiDep=module(org.metaborg:log.api), logBackendSLF4JDep=module(org.metaborg:log.backend.slf4j), resourceDep=module(org.metaborg:resource), strategoXTMinJarDep=module(org.metaborg:strategoxt-min-jar), orgStrategoXTStrjDep=module(org.metaborg.devenv:org.strategoxt.strj), pieApiDep=module(org.metaborg:pie.api), pieRuntimeDep=module(org.metaborg:pie.runtime), atermCommonDep=module(org.metaborg:aterm.common), statixCodeCompletionDep=module(org.metaborg:statix.codecompletion), statixCodeCompletionPieDep=module(org.metaborg:statix.codecompletion.pie), jsglrCommonDep=module(org.metaborg:jsglr.common), jsglrPieDep=module(org.metaborg:jsglr.pie), jsglr1CommonDep=module(org.metaborg:jsglr1.common), jsglr2CommonDep=module(org.metaborg:jsglr2.common), esvCommonDep=module(org.metaborg:esv.common), strategoCommonDep=module(org.metaborg:stratego.common), strategoPieDep=module(org.metaborg:stratego.pie), constraintCommonDep=module(org.metaborg:constraint.common), constraintPieDep=module(org.metaborg:constraint.pie), nabl2CommonDep=module(org.metaborg:nabl2.common), statixCommonDep=module(org.metaborg:statix.common), statixPieDep=module(org.metaborg:statix.pie), spoofax2CommonDep=module(org.metaborg:spoofax2.common), spoofaxCompilerInterfacesDep=module(org.metaborg:spoofax.compiler.interfaces), spoofaxCoreDep=module(org.metaborg:spoofax.core), spoofaxCliDep=module(org.metaborg:spoofax.cli), spoofaxEclipseDep=module(org.metaborg:spoofax.eclipse), toolingEclipseBundleDep=module(org.metaborg:tooling.eclipsebundle), spoofaxIntellijDep=module(org.metaborg:spoofax.intellij), multilangDep=module(org.metaborg:statix.multilang), multilangEclipseDep=module(org.metaborg:statix.multilang.eclipse), sptApiDep=module(org.metaborg:spt.api), tegoDep=module(org.metaborg:tego), tegoPieDep=module(org.metaborg:tego.pie)}, languageProject=LanguageProject{project=GradleProject{coordinate=org.metaborg:tiger:0.1.0, baseDirectory=eclipse-resource##/tiger, srcDirectory=eclipse-resource##/tiger/src, srcMainDirectory=eclipse-resource##/tiger/src/main, buildDirectory=eclipse-resource##/tiger/build, buildGeneratedSourcesDirectory=eclipse-resource##/tiger/build/generated/sources, buildGeneratedSourcesAnnotationProcessorJavaMainDirectory=eclipse-resource##/tiger/build/generated/sources/annotationProcessor/java/main, buildGeneratedResourcesDirectory=eclipse-resource##/tiger/build/generated/resources, buildClassesDirectory=eclipse-resource##/tiger/build/classes, buildClassesJavaMainDirectory=eclipse-resource##/tiger/build/classes/java/main}, packageId=mb.tiger, packagePath=mb/tiger, generatedJavaSourcesDirectory=eclipse-resource##/tiger/build/generated/sources/language}}, classLoaderResourcesInput=Input{classKind=Generated, baseClassLoaderResources=TypeInfo{packageId=mb.tiger, id=TigerClassLoaderResources}, qualifier=mb-tiger-classloader-resource, shared=Shared{name=tiger, fileExtensions=[tig], defaultClassPrefix=Tiger, defaultGroupId=org.metaborg, defaultArtifactId=tiger, defaultVersion=0.1.0, defaultPackageIdPrefix=mb., defaultPackageId=mb.tiger, metaborgPublicRepository=maven(https://artifacts.metaborg.org/content/groups/public/), defaultRepositories=[maven(https://artifacts.metaborg.org/content/groups/public/)], defaultPluginRepositories=[maven(https://artifacts.metaborg.org/content/groups/public/)], metaborgGradleConfigVersion=0.3.21, metaborgCoroniumVersion=0.3.0, bndPluginVersion=5.0.1, intellijGradlePluginVersion=0.4.21, spoofax3Version=null, spoofaxDependencyConstraintsDep=module(org.metaborg:spoofax.depconstraints), checkerFrameworkQualifiersDep=module(org.checkerframework:checker-qual-android), daggerDep=module(com.google.dagger:dagger), daggerCompilerDep=module(com.google.dagger:dagger-compiler), slf4jSimpleDep=module(org.slf4j:slf4j-simple), commonDep=module(org.metaborg:common), logApiDep=module(org.metaborg:log.api), logBackendSLF4JDep=module(org.metaborg:log.backend.slf4j), resourceDep=module(org.metaborg:resource), strategoXTMinJarDep=module(org.metaborg:strategoxt-min-jar), orgStrategoXTStrjDep=module(org.metaborg.devenv:org.strategoxt.strj), pieApiDep=module(org.metaborg:pie.api), pieRuntimeDep=module(org.metaborg:pie.runtime), atermCommonDep=module(org.metaborg:aterm.common), statixCodeCompletionDep=module(org.metaborg:statix.codecompletion), statixCodeCompletionPieDep=module(org.metaborg:statix.codecompletion.pie), jsglrCommonDep=module(org.metaborg:jsglr.common), jsglrPieDep=module(org.metaborg:jsglr.pie), jsglr1CommonDep=module(org.metaborg:jsglr1.common), jsglr2CommonDep=module(org.metaborg:jsglr2.common), esvCommonDep=module(org.metaborg:esv.common), strategoCommonDep=module(org.metaborg:stratego.common), strategoPieDep=module(org.metaborg:stratego.pie), constraintCommonDep=module(org.metaborg:constraint.common), constraintPieDep=module(org.metaborg:constraint.pie), nabl2CommonDep=module(org.metaborg:nabl2.common), statixCommonDep=module(org.metaborg:statix.common), statixPieDep=module(org.metaborg:statix.pie), spoofax2CommonDep=module(org.metaborg:spoofax2.common), spoofaxCompilerInterfacesDep=module(org.metaborg:spoofax.compiler.interfaces), spoofaxCoreDep=module(org.metaborg:spoofax.core), spoofaxCliDep=module(org.metaborg:spoofax.cli), spoofaxEclipseDep=module(org.metaborg:spoofax.eclipse), toolingEclipseBundleDep=module(org.metaborg:tooling.eclipsebundle), spoofaxIntellijDep=module(org.metaborg:spoofax.intellij), multilangDep=module(org.metaborg:statix.multilang), multilangEclipseDep=module(org.metaborg:statix.multilang.eclipse), sptApiDep=module(org.metaborg:spt.api), tegoDep=module(org.metaborg:tego), tegoPieDep=module(org.metaborg:tego.pie)}, languageProject=LanguageProject{project=GradleProject{coordinate=org.metaborg:tiger:0.1.0, baseDirectory=eclipse-resource##/tiger, srcDirectory=eclipse-resource##/tiger/src, srcMainDirectory=eclipse-resource##/tiger/src/main, buildDirectory=eclipse-resource##/tiger/build, buildGeneratedSourcesDirectory=eclipse-resource##/tiger/build/generated/sources, buildGeneratedSourcesAnnotationProcessorJavaMainDirectory=eclipse-resource##/tiger/build/generated/sources/annotationProcessor/java/main, buildGeneratedResourcesDirectory=eclipse-resource##/tiger/build/generated/resources, buildClassesDirectory=eclipse-resource##/tiger/build/classes, buildClassesJavaMainDirectory=eclipse-resource##/tiger/build/classes/java/main}, packageId=mb.tiger, packagePath=mb/tiger, generatedJavaSourcesDirectory=eclipse-resource##/tiger/build/generated/sources/language}}}
while now required with input
  Input{classKind=Generated, baseParseTaskDef=TypeInfo{packageId=mb.tiger.task, id=TigerParse}, baseTokenizeTaskDef=TypeInfo{packageId=mb.tiger.task, id=TigerTokenize}, baseShowParsedAstTaskDef=TypeInfo{packageId=mb.tiger.task, id=TigerShowParsedAst}, showParsedAstCommand=CommandDefRepr{type=TypeInfo{packageId=mb.tiger.command, id=TigerShowParsedAstCommand}, taskDefType=TypeInfo{packageId=mb.tiger.task, id=TigerShowParsedAst}, argType=TypeInfo{packageId=mb.tiger.task, id=TigerShowParsedAst.Args}, displayName=Show parsed AST, description=Shows the parsed AST, supportedExecutionTypes=[ManualOnce, ManualContinuous, AutomaticContinuous], params=[ParamRepr{id=file, type=TypeInfo{packageId=mb.resource, id=ResourceKey}, required=true, providers=[context(ReadableResource)]}]}, baseShowParsedTokensTaskDef=TypeInfo{packageId=mb.tiger.task, id=TigerShowParsedTokens}, showParsedTokensCommand=CommandDefRepr{type=TypeInfo{packageId=mb.tiger.command, id=TigerShowParsedTokensCommand}, taskDefType=TypeInfo{packageId=mb.tiger.task, id=TigerShowParsedTokens}, argType=TypeInfo{packageId=mb.tiger.task, id=TigerShowParsedTokens.Args}, displayName=Show parsed tokens, description=Shows the parsed tokens, supportedExecutionTypes=[ManualOnce, ManualContinuous, AutomaticContinuous], params=[ParamRepr{id=file, type=TypeInfo{packageId=mb.resource, id=ResourceKey}, required=true, providers=[context(ReadableResource)]}]}, mainMenu=menu(MenuRepr{displayName=Debug, items=[commandAction(CommandActionRepr{displayName=Show parsed AST, description=Shows the parsed AST, commandRequest=CommandRequestRepr{commandDefType=TypeInfo{packageId=mb.tiger.command, id=TigerShowParsedAstCommand}, executionType=ManualOnce, initialArgs={}}, requiredEditorSelectionTypes=[], requiredEditorFileTypes=[ReadableResource], requiredResourceTypes=[], requiredEnclosingResourceTypes=[]}), commandAction(CommandActionRepr{displayName=Show parsed AST (continuous), description=Shows the parsed AST, commandRequest=CommandRequestRepr{commandDefType=TypeInfo{packageId=mb.tiger.command, id=TigerShowParsedAstCommand}, executionType=ManualContinuous, initialArgs={}}, requiredEditorSelectionTypes=[], requiredEditorFileTypes=[ReadableResource], requiredResourceTypes=[], requiredEnclosingResourceTypes=[]}), commandAction(CommandActionRepr{displayName=Show parsed tokens, description=Shows the parsed tokens, commandRequest=CommandRequestRepr{commandDefType=TypeInfo{packageId=mb.tiger.command, id=TigerShowParsedTokensCommand}, executionType=ManualOnce, initialArgs={}}, requiredEditorSelectionTypes=[], requiredEditorFileTypes=[ReadableResource], requiredResourceTypes=[], requiredEnclosingResourceTypes=[]}), commandAction(CommandActionRepr{displayName=Show parsed tokens (continuous), description=Shows the parsed tokens, commandRequest=CommandRequestRepr{commandDefType=TypeInfo{packageId=mb.tiger.command, id=TigerShowParsedTokensCommand}, executionType=ManualContinuous, initialArgs={}}, requiredEditorSelectionTypes=[], requiredEditorFileTypes=[ReadableResource], requiredResourceTypes=[], requiredEnclosingResourceTypes=[]})]}), resourceContextMenu=menu(MenuRepr{displayName=Debug, items=[commandAction(CommandActionRepr{displayName=Show parsed AST, description=Shows the parsed AST, commandRequest=CommandRequestRepr{commandDefType=TypeInfo{packageId=mb.tiger.command, id=TigerShowParsedAstCommand}, executionType=ManualOnce, initialArgs={}}, requiredEditorSelectionTypes=[], requiredEditorFileTypes=[], requiredResourceTypes=[File], requiredEnclosingResourceTypes=[]}), commandAction(CommandActionRepr{displayName=Show parsed AST (continuous), description=Shows the parsed AST, commandRequest=CommandRequestRepr{commandDefType=TypeInfo{packageId=mb.tiger.command, id=TigerShowParsedAstCommand}, executionType=ManualContinuous, initialArgs={}}, requiredEditorSelectionTypes=[], requiredEditorFileTypes=[], requiredResourceTypes=[File], requiredEnclosingResourceTypes=[]}), commandAction(CommandActionRepr{displayName=Show parsed tokens, description=Shows the parsed tokens, commandRequest=CommandRequestRepr{commandDefType=TypeInfo{packageId=mb.tiger.command, id=TigerShowParsedTokensCommand}, executionType=ManualOnce, initialArgs={}}, requiredEditorSelectionTypes=[], requiredEditorFileTypes=[], requiredResourceTypes=[File], requiredEnclosingResourceTypes=[]}), commandAction(CommandActionRepr{displayName=Show parsed tokens (continuous), description=Shows the parsed tokens, commandRequest=CommandRequestRepr{commandDefType=TypeInfo{packageId=mb.tiger.command, id=TigerShowParsedTokensCommand}, executionType=ManualContinuous, initialArgs={}}, requiredEditorSelectionTypes=[], requiredEditorFileTypes=[], requiredResourceTypes=[File], requiredEnclosingResourceTypes=[]})]}), editorContextMenu=menu(MenuRepr{displayName=Debug, items=[commandAction(CommandActionRepr{displayName=Show parsed AST, description=Shows the parsed AST, commandRequest=CommandRequestRepr{commandDefType=TypeInfo{packageId=mb.tiger.command, id=TigerShowParsedAstCommand}, executionType=ManualOnce, initialArgs={}}, requiredEditorSelectionTypes=[], requiredEditorFileTypes=[ReadableResource], requiredResourceTypes=[], requiredEnclosingResourceTypes=[]}), commandAction(CommandActionRepr{displayName=Show parsed AST (continuous), description=Shows the parsed AST, commandRequest=CommandRequestRepr{commandDefType=TypeInfo{packageId=mb.tiger.command, id=TigerShowParsedAstCommand}, executionType=ManualContinuous, initialArgs={}}, requiredEditorSelectionTypes=[], requiredEditorFileTypes=[ReadableResource], requiredResourceTypes=[], requiredEnclosingResourceTypes=[]}), commandAction(CommandActionRepr{displayName=Show parsed tokens, description=Shows the parsed tokens, commandRequest=CommandRequestRepr{commandDefType=TypeInfo{packageId=mb.tiger.command, id=TigerShowParsedTokensCommand}, executionType=ManualOnce, initialArgs={}}, requiredEditorSelectionTypes=[], requiredEditorFileTypes=[ReadableResource], requiredResourceTypes=[], requiredEnclosingResourceTypes=[]}), commandAction(CommandActionRepr{displayName=Show parsed tokens (continuous), description=Shows the parsed tokens, commandRequest=CommandRequestRepr{commandDefType=TypeInfo{packageId=mb.tiger.command, id=TigerShowParsedTokensCommand}, executionType=ManualContinuous, initialArgs={}}, requiredEditorSelectionTypes=[], requiredEditorFileTypes=[ReadableResource], requiredResourceTypes=[], requiredEnclosingResourceTypes=[]})]}), adapterProject=AdapterProject{project=GradleProject{coordinate=org.metaborg:tiger:0.1.0, baseDirectory=eclipse-resource##/tiger, srcDirectory=eclipse-resource##/tiger/src, srcMainDirectory=eclipse-resource##/tiger/src/main, buildDirectory=eclipse-resource##/tiger/build, buildGeneratedSourcesDirectory=eclipse-resource##/tiger/build/generated/sources, buildGeneratedSourcesAnnotationProcessorJavaMainDirectory=eclipse-resource##/tiger/build/generated/sources/annotationProcessor/java/main, buildGeneratedResourcesDirectory=eclipse-resource##/tiger/build/generated/resources, buildClassesDirectory=eclipse-resource##/tiger/build/classes, buildClassesJavaMainDirectory=eclipse-resource##/tiger/build/classes/java/main}, packageId=mb.tiger, taskPackageId=mb.tiger.task, commandPackageId=mb.tiger.command, generatedJavaSourcesDirectory=eclipse-resource##/tiger/build/generated/sources/adapter, classKind=Generated, baseResourcesScope=TypeInfo{packageId=mb.tiger, id=TigerResourcesScope}, baseScope=TypeInfo{packageId=mb.tiger, id=TigerScope}, baseQualifier=TypeInfo{packageId=mb.tiger, id=TigerQualifier}, shared=Shared{name=tiger, fileExtensions=[tig], defaultClassPrefix=Tiger, defaultGroupId=org.metaborg, defaultArtifactId=tiger, defaultVersion=0.1.0, defaultPackageIdPrefix=mb., defaultPackageId=mb.tiger, metaborgPublicRepository=maven(https://artifacts.metaborg.org/content/groups/public/), defaultRepositories=[maven(https://artifacts.metaborg.org/content/groups/public/)], defaultPluginRepositories=[maven(https://artifacts.metaborg.org/content/groups/public/)], metaborgGradleConfigVersion=0.3.21, metaborgCoroniumVersion=0.3.0, bndPluginVersion=5.0.1, intellijGradlePluginVersion=0.4.21, spoofax3Version=null, spoofaxDependencyConstraintsDep=module(org.metaborg:spoofax.depconstraints), checkerFrameworkQualifiersDep=module(org.checkerframework:checker-qual-android), daggerDep=module(com.google.dagger:dagger), daggerCompilerDep=module(com.google.dagger:dagger-compiler), slf4jSimpleDep=module(org.slf4j:slf4j-simple), commonDep=module(org.metaborg:common), logApiDep=module(org.metaborg:log.api), logBackendSLF4JDep=module(org.metaborg:log.backend.slf4j), resourceDep=module(org.metaborg:resource), strategoXTMinJarDep=module(org.metaborg:strategoxt-min-jar), orgStrategoXTStrjDep=module(org.metaborg.devenv:org.strategoxt.strj), pieApiDep=module(org.metaborg:pie.api), pieRuntimeDep=module(org.metaborg:pie.runtime), atermCommonDep=module(org.metaborg:aterm.common), statixCodeCompletionDep=module(org.metaborg:statix.codecompletion), statixCodeCompletionPieDep=module(org.metaborg:statix.codecompletion.pie), jsglrCommonDep=module(org.metaborg:jsglr.common), jsglrPieDep=module(org.metaborg:jsglr.pie), jsglr1CommonDep=module(org.metaborg:jsglr1.common), jsglr2CommonDep=module(org.metaborg:jsglr2.common), esvCommonDep=module(org.metaborg:esv.common), strategoCommonDep=module(org.metaborg:stratego.common), strategoPieDep=module(org.metaborg:stratego.pie), constraintCommonDep=module(org.metaborg:constraint.common), constraintPieDep=module(org.metaborg:constraint.pie), nabl2CommonDep=module(org.metaborg:nabl2.common), statixCommonDep=module(org.metaborg:statix.common), statixPieDep=module(org.metaborg:statix.pie), spoofax2CommonDep=module(org.metaborg:spoofax2.common), spoofaxCompilerInterfacesDep=module(org.metaborg:spoofax.compiler.interfaces), spoofaxCoreDep=module(org.metaborg:spoofax.core), spoofaxCliDep=module(org.metaborg:spoofax.cli), spoofaxEclipseDep=module(org.metaborg:spoofax.eclipse), toolingEclipseBundleDep=module(org.metaborg:tooling.eclipsebundle), spoofaxIntellijDep=module(org.metaborg:spoofax.intellij), multilangDep=module(org.metaborg:statix.multilang), multilangEclipseDep=module(org.metaborg:statix.multilang.eclipse), sptApiDep=module(org.metaborg:spt.api), tegoDep=module(org.metaborg:tego), tegoPieDep=module(org.metaborg:tego.pie)}}, languageProjectInput=Input{startSymbol=Module, parseTableAtermFileRelativePath=sdf.tbl, parseTablePersistedFileRelativePath=sdf.bin, variant=jsglr2(Recovery), classKind=Generated, baseParseTable=TypeInfo{packageId=mb.tiger, id=TigerParseTable}, baseParser=TypeInfo{packageId=mb.tiger, id=TigerParser}, baseParserFactory=TypeInfo{packageId=mb.tiger, id=TigerParserFactory}, shared=Shared{name=tiger, fileExtensions=[tig], defaultClassPrefix=Tiger, defaultGroupId=org.metaborg, defaultArtifactId=tiger, defaultVersion=0.1.0, defaultPackageIdPrefix=mb., defaultPackageId=mb.tiger, metaborgPublicRepository=maven(https://artifacts.metaborg.org/content/groups/public/), defaultRepositories=[maven(https://artifacts.metaborg.org/content/groups/public/)], defaultPluginRepositories=[maven(https://artifacts.metaborg.org/content/groups/public/)], metaborgGradleConfigVersion=0.3.21, metaborgCoroniumVersion=0.3.0, bndPluginVersion=5.0.1, intellijGradlePluginVersion=0.4.21, spoofax3Version=null, spoofaxDependencyConstraintsDep=module(org.metaborg:spoofax.depconstraints), checkerFrameworkQualifiersDep=module(org.checkerframework:checker-qual-android), daggerDep=module(com.google.dagger:dagger), daggerCompilerDep=module(com.google.dagger:dagger-compiler), slf4jSimpleDep=module(org.slf4j:slf4j-simple), commonDep=module(org.metaborg:common), logApiDep=module(org.metaborg:log.api), logBackendSLF4JDep=module(org.metaborg:log.backend.slf4j), resourceDep=module(org.metaborg:resource), strategoXTMinJarDep=module(org.metaborg:strategoxt-min-jar), orgStrategoXTStrjDep=module(org.metaborg.devenv:org.strategoxt.strj), pieApiDep=module(org.metaborg:pie.api), pieRuntimeDep=module(org.metaborg:pie.runtime), atermCommonDep=module(org.metaborg:aterm.common), statixCodeCompletionDep=module(org.metaborg:statix.codecompletion), statixCodeCompletionPieDep=module(org.metaborg:statix.codecompletion.pie), jsglrCommonDep=module(org.metaborg:jsglr.common), jsglrPieDep=module(org.metaborg:jsglr.pie), jsglr1CommonDep=module(org.metaborg:jsglr1.common), jsglr2CommonDep=module(org.metaborg:jsglr2.common), esvCommonDep=module(org.metaborg:esv.common), strategoCommonDep=module(org.metaborg:stratego.common), strategoPieDep=module(org.metaborg:stratego.pie), constraintCommonDep=module(org.metaborg:constraint.common), constraintPieDep=module(org.metaborg:constraint.pie), nabl2CommonDep=module(org.metaborg:nabl2.common), statixCommonDep=module(org.metaborg:statix.common), statixPieDep=module(org.metaborg:statix.pie), spoofax2CommonDep=module(org.metaborg:spoofax2.common), spoofaxCompilerInterfacesDep=module(org.metaborg:spoofax.compiler.interfaces), spoofaxCoreDep=module(org.metaborg:spoofax.core), spoofaxCliDep=module(org.metaborg:spoofax.cli), spoofaxEclipseDep=module(org.metaborg:spoofax.eclipse), toolingEclipseBundleDep=module(org.metaborg:tooling.eclipsebundle), spoofaxIntellijDep=module(org.metaborg:spoofax.intellij), multilangDep=module(org.metaborg:statix.multilang), multilangEclipseDep=module(org.metaborg:statix.multilang.eclipse), sptApiDep=module(org.metaborg:spt.api), tegoDep=module(org.metaborg:tego), tegoPieDep=module(org.metaborg:tego.pie)}, languageProject=LanguageProject{project=GradleProject{coordinate=org.metaborg:tiger:0.1.0, baseDirectory=eclipse-resource##/tiger, srcDirectory=eclipse-resource##/tiger/src, srcMainDirectory=eclipse-resource##/tiger/src/main, buildDirectory=eclipse-resource##/tiger/build, buildGeneratedSourcesDirectory=eclipse-resource##/tiger/build/generated/sources, buildGeneratedSourcesAnnotationProcessorJavaMainDirectory=eclipse-resource##/tiger/build/generated/sources/annotationProcessor/java/main, buildGeneratedResourcesDirectory=eclipse-resource##/tiger/build/generated/resources, buildClassesDirectory=eclipse-resource##/tiger/build/classes, buildClassesJavaMainDirectory=eclipse-resource##/tiger/build/classes/java/main}, packageId=mb.tiger, packagePath=mb/tiger, generatedJavaSourcesDirectory=eclipse-resource##/tiger/build/generated/sources/language}}, classLoaderResourcesInput=Input{classKind=Generated, baseClassLoaderResources=TypeInfo{packageId=mb.tiger, id=TigerClassLoaderResources}, qualifier=mb-tiger-classloader-resource, shared=Shared{name=tiger, fileExtensions=[tig], defaultClassPrefix=Tiger, defaultGroupId=org.metaborg, defaultArtifactId=tiger, defaultVersion=0.1.0, defaultPackageIdPrefix=mb., defaultPackageId=mb.tiger, metaborgPublicRepository=maven(https://artifacts.metaborg.org/content/groups/public/), defaultRepositories=[maven(https://artifacts.metaborg.org/content/groups/public/)], defaultPluginRepositories=[maven(https://artifacts.metaborg.org/content/groups/public/)], metaborgGradleConfigVersion=0.3.21, metaborgCoroniumVersion=0.3.0, bndPluginVersion=5.0.1, intellijGradlePluginVersion=0.4.21, spoofax3Version=null, spoofaxDependencyConstraintsDep=module(org.metaborg:spoofax.depconstraints), checkerFrameworkQualifiersDep=module(org.checkerframework:checker-qual-android), daggerDep=module(com.google.dagger:dagger), daggerCompilerDep=module(com.google.dagger:dagger-compiler), slf4jSimpleDep=module(org.slf4j:slf4j-simple), commonDep=module(org.metaborg:common), logApiDep=module(org.metaborg:log.api), logBackendSLF4JDep=module(org.metaborg:log.backend.slf4j), resourceDep=module(org.metaborg:resource), strategoXTMinJarDep=module(org.metaborg:strategoxt-min-jar), orgStrategoXTStrjDep=module(org.metaborg.devenv:org.strategoxt.strj), pieApiDep=module(org.metaborg:pie.api), pieRuntimeDep=module(org.metaborg:pie.runtime), atermCommonDep=module(org.metaborg:aterm.common), statixCodeCompletionDep=module(org.metaborg:statix.codecompletion), statixCodeCompletionPieDep=module(org.metaborg:statix.codecompletion.pie), jsglrCommonDep=module(org.metaborg:jsglr.common), jsglrPieDep=module(org.metaborg:jsglr.pie), jsglr1CommonDep=module(org.metaborg:jsglr1.common), jsglr2CommonDep=module(org.metaborg:jsglr2.common), esvCommonDep=module(org.metaborg:esv.common), strategoCommonDep=module(org.metaborg:stratego.common), strategoPieDep=module(org.metaborg:stratego.pie), constraintCommonDep=module(org.metaborg:constraint.common), constraintPieDep=module(org.metaborg:constraint.pie), nabl2CommonDep=module(org.metaborg:nabl2.common), statixCommonDep=module(org.metaborg:statix.common), statixPieDep=module(org.metaborg:statix.pie), spoofax2CommonDep=module(org.metaborg:spoofax2.common), spoofaxCompilerInterfacesDep=module(org.metaborg:spoofax.compiler.interfaces), spoofaxCoreDep=module(org.metaborg:spoofax.core), spoofaxCliDep=module(org.metaborg:spoofax.cli), spoofaxEclipseDep=module(org.metaborg:spoofax.eclipse), toolingEclipseBundleDep=module(org.metaborg:tooling.eclipsebundle), spoofaxIntellijDep=module(org.metaborg:spoofax.intellij), multilangDep=module(org.metaborg:statix.multilang), multilangEclipseDep=module(org.metaborg:statix.multilang.eclipse), sptApiDep=module(org.metaborg:spt.api), tegoDep=module(org.metaborg:tego), tegoPieDep=module(org.metaborg:tego.pie)}, languageProject=LanguageProject{project=GradleProject{coordinate=org.metaborg:tiger:0.1.0, baseDirectory=eclipse-resource##/tiger, srcDirectory=eclipse-resource##/tiger/src, srcMainDirectory=eclipse-resource##/tiger/src/main, buildDirectory=eclipse-resource##/tiger/build, buildGeneratedSourcesDirectory=eclipse-resource##/tiger/build/generated/sources, buildGeneratedSourcesAnnotationProcessorJavaMainDirectory=eclipse-resource##/tiger/build/generated/sources/annotationProcessor/java/main, buildGeneratedResourcesDirectory=eclipse-resource##/tiger/build/generated/resources, buildClassesDirectory=eclipse-resource##/tiger/build/classes, buildClassesJavaMainDirectory=eclipse-resource##/tiger/build/classes/java/main}, packageId=mb.tiger, packagePath=mb/tiger, generatedJavaSourcesDirectory=eclipse-resource##/tiger/build/generated/sources/language}}}
    at mb.pie.runtime.layer.ValidationLayer.error(ValidationLayer.java:466)
    at mb.pie.runtime.layer.ValidationLayer.validateVisited(ValidationLayer.java:187)
    at mb.pie.runtime.exec.BottomUpRunner.getData(BottomUpRunner.java:201)
    at mb.pie.runtime.exec.BottomUpRunner.require(BottomUpRunner.java:185)
    at mb.pie.runtime.exec.ExecContextImpl.require(ExecContextImpl.java:110)
    at mb.pie.runtime.exec.ExecContextImpl.require(ExecContextImpl.java:90)
    at mb.spoofax.compiler.adapter.AdapterProjectCompiler.lambda$compile$1(AdapterProjectCompiler.java:134)
    at java.base/java.util.Optional.ifPresent(Optional.java:183)
    at mb.spoofax.compiler.adapter.AdapterProjectCompiler.compile(AdapterProjectCompiler.java:134)
    at mb.spoofax.compiler.adapter.AdapterProjectCompiler.lambda$exec$0(AdapterProjectCompiler.java:125)
    at mb.common.result.Result.mapThrowing(Result.java:294)
    at mb.spoofax.compiler.adapter.AdapterProjectCompiler.exec(AdapterProjectCompiler.java:125)
    at mb.spoofax.compiler.adapter.AdapterProjectCompiler.exec(AdapterProjectCompiler.java:47)
    at mb.pie.api.Task.exec(Task.java:56)
    at mb.pie.runtime.exec.TaskExecutor.execInternal(TaskExecutor.java:126)
    at mb.pie.runtime.exec.TaskExecutor.exec(TaskExecutor.java:82)
    at mb.pie.runtime.exec.BottomUpRunner.exec(BottomUpRunner.java:369)
    at mb.pie.runtime.exec.BottomUpRunner.execAndSchedule(BottomUpRunner.java:133)
    at mb.pie.runtime.exec.BottomUpRunner.execScheduled(BottomUpRunner.java:120)
    at mb.pie.runtime.exec.BottomUpRunner.requireInitial(BottomUpRunner.java:83)
    at mb.pie.runtime.MixedSessionImpl.lambda$updateAffectedBy$0(MixedSessionImpl.java:70)
    at mb.pie.runtime.SessionImpl.handleException(SessionImpl.java:160)
    at mb.pie.runtime.MixedSessionImpl.updateAffectedBy(MixedSessionImpl.java:70)
    at mb.spoofax.lwb.eclipse.SpoofaxLwbBuilder.bottomUpBuild(SpoofaxLwbBuilder.java:192)
    at mb.spoofax.lwb.eclipse.SpoofaxLwbBuilder.incrBuild(SpoofaxLwbBuilder.java:135)
    at mb.spoofax.lwb.eclipse.SpoofaxLwbBuilder.access$100(SpoofaxLwbBuilder.java:58)
    at mb.spoofax.lwb.eclipse.SpoofaxLwbBuilder$1.run(SpoofaxLwbBuilder.java:87)
    at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2292)
    at mb.spoofax.lwb.eclipse.SpoofaxLwbBuilder.build(SpoofaxLwbBuilder.java:96)
    at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:846)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:229)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:277)
    at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:330)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:333)
    at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:385)
    at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:406)
    at org.eclipse.core.internal.resources.Workspace.buildInternal(Workspace.java:515)
    at org.eclipse.core.internal.resources.Workspace.build(Workspace.java:412)
    at org.eclipse.ui.actions.BuildAction$1.runInWorkspace(BuildAction.java:291)
    at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:42)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

Context

Gohla commented 3 years ago

Although I could not reproduce the problem, I could imagine how this can happen. Should be solved in https://github.com/metaborg/spoofax-pie/commit/a0a15bd0704738fb4b6874a0ebd9fa0bf2ab5c8e