| Summary: | [backend] NPE during Exception creation | ||
|---|---|---|---|
| Product: | [Modeling] M2T | Reporter: | Darius Jockel <darius.jockel> |
| Component: | Xpand | Assignee: | 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: | |||
Fixed all collection operations on unparameterized collections Bug resolved before Xpand 1.2 release date => Closing |
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)