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

Bug 329296

Summary: [backend] NPE during Exception creation
Product: [Modeling] M2T Reporter: Darius Jockel <darius.jockel>
Component: XpandAssignee: Project Inbox <m2t.xpand-inbox>
Status: CLOSED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: andre.arnold
Version: 1.0.1   
Target Milestone: SR2   
Hardware: PC   
OS: Mac OS X - Carbon (unsup.)   
Whiteboard:

Description Darius Jockel CLA 2010-11-02 16:16:19 EDT
OldTypeAnalyzer#analyze calling with null as expression causes a NPE at this line:
 throw new IllegalArgumentException ("unknown expression kind " + expr.getClass().getName());

Steps to Reproduce:
1. Generate the expample project
2. Add this extension:
create Set createSet(Model m):
	add(selectFirst(e|e!= null));

3. Call this extension in the template Template.xpt.

Error log:
java.lang.NullPointerException
	at org.eclipse.xtend.middleend.xtend.internal.OldTypeAnalyzer.analyze(OldTypeAnalyzer.java:146)
	at org.eclipse.xtend.middleend.xtend.internal.OldTypeAnalyzer.analyzeCollectionExpression(OldTypeAnalyzer.java:178)
	at org.eclipse.xtend.middleend.xtend.internal.OldTypeAnalyzer.analyze(OldTypeAnalyzer.java:118)
	at org.eclipse.xtend.middleend.xtend.internal.OldExpressionConverter.convertOperationCall(OldExpressionConverter.java:205)
	at org.eclipse.xtend.middleend.xtend.internal.OldExpressionConverter.convert(OldExpressionConverter.java:160)
	at org.eclipse.xtend.middleend.xtend.internal.xtend.OldExtensionConverter.convertExpression(OldExtensionConverter.java:110)
	at org.eclipse.xtend.middleend.xtend.internal.xtend.OldExtensionConverter.createCreateExtension(OldExtensionConverter.java:140)
	at org.eclipse.xtend.middleend.xtend.internal.xtend.OldExtensionConverter.createUnregistered(OldExtensionConverter.java:88)
	at org.eclipse.xtend.middleend.xtend.OldXtendRegistry.parseResource(OldXtendRegistry.java:102)
	at org.eclipse.xtend.middleend.internal.MiddleEndImpl.parseResource(MiddleEndImpl.java:107)
	at org.eclipse.xtend.middleend.internal.MiddleEndImpl.collectReexportedResources(MiddleEndImpl.java:181)
	at org.eclipse.xtend.middleend.internal.MiddleEndImpl.collectReexportedResources(MiddleEndImpl.java:193)
	at org.eclipse.xtend.middleend.internal.MiddleEndImpl.getFdc(MiddleEndImpl.java:136)
	at org.eclipse.xtend.middleend.internal.MiddleEndImpl.getFunctions(MiddleEndImpl.java:173)
	at org.eclipse.xtend.middleend.xpand.XpandBackendFacade.executeStatement(XpandBackendFacade.java:160)
	at org.eclipse.xtend.middleend.xpand.XpandComponent.invokeInternal2(XpandComponent.java:176)
	at org.eclipse.xtend.expression.AbstractExpressionsUsingWorkflowComponent.invokeInternal(AbstractExpressionsUsingWorkflowComponent.java:239)
	at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:126)
	at org.eclipse.emf.mwe.core.container.CompositeComponent.internalInvoke(CompositeComponent.java:104)
	at org.eclipse.emf.mwe.core.container.CompositeComponent.invoke(CompositeComponent.java:89)
	at org.eclipse.emf.mwe.core.WorkflowRunner.executeWorkflow(WorkflowRunner.java:408)
	at org.eclipse.emf.mwe.core.WorkflowRunner.run(WorkflowRunner.java:293)
	at org.eclipse.emf.mwe.core.WorkflowRunner.main(WorkflowRunner.java:241)
Comment 1 André Arnold CLA 2010-12-01 16:05:41 EST
Fixed all collection operations on unparameterized collections
Comment 2 Karsten Thoms CLA 2013-02-21 08:12:20 EST
Bug resolved before Xpand 1.2 release date => Closing