Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 363438

Summary: NPE using ancestors().precedingSiblings()
Product: [Modeling] Acceleo Reporter: Cedric Brun <cedric.brun>
Component: CoreAssignee: 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:

Description Cedric Brun CLA 2011-11-10 04:24:46 EST
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)
Comment 1 Stephane Begaudeau CLA 2012-02-20 06:03:22 EST
A fix has been contributed on HEAD and R3_2_maintenance. It will be available in 3.2.1 and 3.3.0
Comment 2 Laurent Goubet CLA 2015-05-27 08:58:04 EDT
Closing resolved bugs