vsimko / xmf

Xtend-centric meta-model specification
MIT License
0 stars 0 forks source link

ERROR org.eclipse.xtext.builder.BuilderParticipant - Error during compilation #12

Open vsimko opened 9 years ago

vsimko commented 9 years ago
java.lang.NullPointerException
    at org.eclipse.xtext.xbase.compiler.LiteralsCompiler.toJavaExpression(LiteralsCompiler.java:79)
    at org.eclipse.xtend.core.compiler.XtendCompiler._toJavaExpression(XtendCompiler.java:502)
    at org.eclipse.xtext.xbase.compiler.LiteralsCompiler.internalToConvertedExpression(LiteralsCompiler.java:39)
    at org.eclipse.xtext.xbase.compiler.FeatureCallCompiler.internalToConvertedExpression(FeatureCallCompiler.java:98)
    at org.eclipse.xtext.xbase.compiler.XbaseCompiler.internalToConvertedExpression(XbaseCompiler.java:326)
    at org.eclipse.xtend.core.compiler.XtendCompiler.internalToConvertedExpression(XtendCompiler.java:407)
    at org.eclipse.xtext.xbase.compiler.TypeConvertingCompiler.internalToConvertedExpression(TypeConvertingCompiler.java:101)
    at org.eclipse.xtext.xbase.compiler.TypeConvertingCompiler.internalToJavaExpression(TypeConvertingCompiler.java:48)
    at org.eclipse.xtext.xbase.compiler.AbstractXbaseCompiler.toJavaExpression(AbstractXbaseCompiler.java:481)
    at org.eclipse.xtext.xbase.compiler.JvmModelGenerator$43.apply(JvmModelGenerator.java:1859)
    at org.eclipse.xtext.xbase.compiler.JvmModelGenerator$43.apply(JvmModelGenerator.java:1)
    at org.eclipse.xtext.xbase.lib.ObjectExtensions.operator_doubleArrow(ObjectExtensions.java:139)
    at org.eclipse.xtext.xbase.compiler.LoopExtensions.forEachWithShortcut(LoopExtensions.java:54)
    at org.eclipse.xtext.xbase.compiler.JvmModelGenerator._toJavaLiteral(JvmModelGenerator.java:1862)
    at org.eclipse.xtext.xbase.compiler.JvmModelGenerator.toJavaLiteral(JvmModelGenerator.java:2048)
    at org.eclipse.xtext.xbase.compiler.JvmModelGenerator.toJava(JvmModelGenerator.java:1657)
    at org.eclipse.xtext.xbase.compiler.JvmModelGenerator$30.apply(JvmModelGenerator.java:1628)
    at org.eclipse.xtext.xbase.compiler.JvmModelGenerator$30.apply(JvmModelGenerator.java:1)
    at org.eclipse.xtext.xbase.lib.ObjectExtensions.operator_doubleArrow(ObjectExtensions.java:139)
    at org.eclipse.xtext.xbase.compiler.LoopExtensions.forEach(LoopExtensions.java:34)
    at org.eclipse.xtext.xbase.compiler.JvmModelGenerator.generateAnnotation(JvmModelGenerator.java:1631)
    at org.eclipse.xtext.xbase.compiler.JvmModelGenerator$28.apply(JvmModelGenerator.java:1608)
    at org.eclipse.xtext.xbase.compiler.JvmModelGenerator$28.apply(JvmModelGenerator.java:1)
    at org.eclipse.xtext.xbase.compiler.ErrorSafeExtensions.forEachSafely(ErrorSafeExtensions.java:119)
    at org.eclipse.xtext.xbase.compiler.JvmModelGenerator.generateAnnotations(JvmModelGenerator.java:1611)
    at org.eclipse.xtext.xbase.compiler.JvmModelGenerator.generateAnnotationsWithSyntheticSuppressWarnings(JvmModelGenerator.java:345)
    at org.eclipse.xtext.xbase.compiler.JvmModelGenerator._generateBody(JvmModelGenerator.java:256)
    at org.eclipse.xtext.xbase.compiler.JvmModelGenerator.generateBody(JvmModelGenerator.java:1993)
    at org.eclipse.xtext.xbase.compiler.JvmModelGenerator.generateType(JvmModelGenerator.java:218)
    at org.eclipse.xtext.xbase.compiler.JvmModelGenerator._internalDoGenerate(JvmModelGenerator.java:208)
    at org.eclipse.xtext.xbase.compiler.JvmModelGenerator.internalDoGenerate(JvmModelGenerator.java:1976)
    at org.eclipse.xtext.xbase.compiler.JvmModelGenerator.doGenerate(JvmModelGenerator.java:189)
    at org.eclipse.xtend.core.compiler.XtendGenerator.doGenerate(XtendGenerator.java:84)
    at org.eclipse.xtend.ide.builder.XtendParallelBuilderParticipant.handleChangedContents(XtendParallelBuilderParticipant.java:69)
    at org.eclipse.xtext.builder.BuilderParticipant.doGenerate(BuilderParticipant.java:490)
    at org.eclipse.xtend.ide.builder.XtendParallelBuilderParticipant.access$3(XtendParallelBuilderParticipant.java:1)
    at org.eclipse.xtend.ide.builder.XtendParallelBuilderParticipant$1.run(XtendParallelBuilderParticipant.java:112)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
vsimko commented 9 years ago

The error occurred during project cleanup. The error disappears when the Xtend file is manually edited.

vsimko commented 9 years ago

The problem seems to be in a method with inferred type that is used outside of the model. This causes the error:

@DerivedAttribute def allScenarios() {
    #[mainScenario] + #[/* extensions + branches */]
}

This works fine:

@DerivedAttribute def Iterable<Scenario> allScenarios() {
    #[mainScenario] + #[/* extensions + branches */]
}