| Summary: | NPE using ancestors().precedingSiblings() | ||
|---|---|---|---|
| Product: | [Modeling] Acceleo | Reporter: | Cedric Brun <cedric.brun> |
| Component: | Core | Assignee: | Project Inbox <acceleo-inbox> |
| Status: | CLOSED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | stephane.begaudeau |
| Version: | 3.2 | ||
| Target Milestone: | --- | ||
| Hardware: | All | ||
| OS: | All | ||
| Whiteboard: | |||
A fix has been contributed on HEAD and R3_2_maintenance. It will be available in 3.2.1 and 3.3.0 Closing resolved bugs |
From this : [template public id(t: Task)] [t.ancestors()->filter(Task).position()->sep('-')/]-[t.position()/] [/template] [template public position(obj : OclAny)] [precedingSiblings()->size()/] [/template] I get a NPE : java.lang.NullPointerException at org.eclipse.acceleo.engine.internal.environment.AcceleoLibraryOperationVisitor.getContents(AcceleoLibraryOperationVisitor.java:1193) at org.eclipse.acceleo.engine.internal.environment.AcceleoLibraryOperationVisitor.siblings(AcceleoLibraryOperationVisitor.java:1041) at org.eclipse.acceleo.engine.internal.environment.AcceleoLibraryOperationVisitor.callNonStandardEObjectOperation(AcceleoLibraryOperationVisitor.java:373) at org.eclipse.acceleo.engine.internal.environment.AcceleoLibraryOperationVisitor.callNonStandardOperation(AcceleoLibraryOperationVisitor.java:147) at org.eclipse.acceleo.engine.internal.environment.AcceleoEvaluationEnvironment.callOperation(AcceleoEvaluationEnvironment.java:184) at org.eclipse.ocl.ecore.EcoreEvaluationEnvironment.callOperation(EcoreEvaluationEnvironment.java:1) at org.eclipse.ocl.EvaluationVisitorImpl.visitOperationCallExp(EvaluationVisitorImpl.java:208) at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitOperationCallExp(AcceleoEvaluationVisitor.java:1110) at org.eclipse.ocl.ecore.impl.OperationCallExpImpl.accept(OperationCallExpImpl.java:390) at org.eclipse.ocl.AbstractEvaluationVisitor.safeVisitExpression(AbstractEvaluationVisitor.java:575) at org.eclipse.ocl.EvaluationVisitorImpl.visitOperationCallExp(EvaluationVisitorImpl.java:177) at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitOperationCallExp(AcceleoEvaluationVisitor.java:1110) at org.eclipse.ocl.ecore.impl.OperationCallExpImpl.accept(OperationCallExpImpl.java:390) at org.eclipse.ocl.AbstractEvaluationVisitor.visitExpression(AbstractEvaluationVisitor.java:248) at org.eclipse.ocl.EvaluationVisitorDecorator.visitExpression(EvaluationVisitorDecorator.java:156) at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.switchExpression(AcceleoEvaluationVisitor.java:1744) at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitExpression(AcceleoEvaluationVisitor.java:1009) at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitAcceleoTemplate(AcceleoEvaluationVisitor.java:877) at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.switchExpression(AcceleoEvaluationVisitor.java:1679) at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitExpression(AcceleoEvaluationVisitor.java:1009) at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitAcceleoTemplateInvocation(AcceleoEvaluationVisitor.java:928) at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.switchExpression(AcceleoEvaluationVisitor.java:1715) at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitExpression(AcceleoEvaluationVisitor.java:1009) at org.eclipse.ocl.internal.evaluation.IterationTemplate.evaluate(IterationTemplate.java:87) at org.eclipse.ocl.EvaluationVisitorImpl.evaluateCollectIterator(EvaluationVisitorImpl.java:1733) at org.eclipse.ocl.EvaluationVisitorImpl.visitIteratorExp(EvaluationVisitorImpl.java:1583) at org.eclipse.ocl.EvaluationVisitorDecorator.visitIteratorExp(EvaluationVisitorDecorator.java:241) at org.eclipse.ocl.ecore.impl.IteratorExpImpl.accept(IteratorExpImpl.java:114)