Community
Participate
Working Groups
Hi, If I define a template with a precondition like this : (UML2 metamodel) [template public gen (e : DataType) ? (visibility = VisibilityKind::public)] and my model contains a DataType with visibility = VisibilityKind::private, the Acceleo engine is crashing with a good ol' NPE: Exception in thread "main" java.lang.NullPointerException at org.eclipse.acceleo.engine.internal.environment.AcceleoEvaluationEnvironment.getMostSpecificTemplate(AcceleoEvaluationEnvironment.java:256) at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.prepareInvocation(AcceleoEvaluationVisitor.java:1339) at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitAcceleoTemplateInvocation(AcceleoEvaluationVisitor.java:804) at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.switchExpression(AcceleoEvaluationVisitor.java:1483) at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitExpression(AcceleoEvaluationVisitor.java:902) I have to add a template with the complementary precondition or a template without precondition. [template public gen (e : DataType) ? (visibility <> VisibilityKind::public)] or [template public gen (e : DataType)] Acceleo should crash gentler than NPE, don't you think ? Or maybe it should mute itself. I let you define the best behavior ;) Regards, Mikael
*** This bug has been marked as a duplicate of bug 290532 ***