[Xtend] Assign value to Array of EInt [message #530035] |
Wed, 28 April 2010 05:09  |
Eclipse User |
|
|
|
Hello,
I came across the following situation:
Let's say I have a metamodel class with two attributes:
ei: EInt [0..1]
eia: EInt [0..N]
The following works in Xtend when filling an instance of that class:
The following does not work in Xtend but results in an java.lang.ArrayStoreException:
Stacktrace:
3156 ERROR AbstractExpressionsUsingWorkflowComponent - java.lang.ArrayStoreException
java.lang.ArrayStoreException
at org.eclipse.emf.common.util.BasicEList.assign(BasicEList.java:124)
at org.eclipse.emf.common.util.BasicEList.addUnique(BasicEList.java:424)
at org.eclipse.emf.common.notify.impl.NotifyingListImpl.doAddUnique(NotifyingListImpl.java:331)
at org.eclipse.emf.common.notify.impl.NotifyingListImpl.addUnique(NotifyingListImpl.java:315)
at org.eclipse.emf.common.util.AbstractEList.add(AbstractEList.java:307)
at org.eclipse.internal.xtend.type.baseimpl.types.CollectionTypeImpl$6.evaluateInternal(CollectionTypeImpl.java:184)
at org.eclipse.internal.xtend.type.baseimpl.OperationImpl.evaluate(OperationImpl.java:36)
at org.eclipse.internal.xtend.expression.ast.OperationCall.evaluate(OperationCall.java:342)
at org.eclipse.internal.xtend.expression.ast.OperationCall.evaluateInternal(OperationCall.java:95)
at org.eclipse.internal.xtend.expression.ast.Expression.evaluate(Expression.java:50)
at org.eclipse.internal.xtend.expression.ast.ChainExpression.evaluateInternal(ChainExpression.java:38)
at org.eclipse.internal.xtend.expression.ast.Expression.evaluate(Expression.java:50)
at org.eclipse.internal.xtend.expression.ast.ChainExpression.evaluateInternal(ChainExpression.java:38)
at org.eclipse.internal.xtend.expression.ast.Expression.evaluate(Expression.java:50)
at org.eclipse.internal.xtend.expression.ast.LetExpression.evaluateInternal(LetExpression.java:57)
at org.eclipse.internal.xtend.expression.ast.Expression.evaluate(Expression.java:50)
at org.eclipse.internal.xtend.xtend.ast.ExpressionExtensionStatement.evaluateInternal2(ExpressionExtensionStatement.java:58)
at org.eclipse.internal.xtend.xtend.ast.ExpressionExtensionStatement.evaluateInternal(ExpressionExtensionStatement.java:47)
at org.eclipse.internal.xtend.xtend.ast.AbstractExtension.evaluate(AbstractExtension.java:166)
at org.eclipse.internal.xtend.expression.ast.OperationCall.evaluate(OperationCall.java:335)
at org.eclipse.internal.xtend.expression.ast.OperationCall.evaluateInternal(OperationCall.java:76)
at org.eclipse.internal.xtend.expression.ast.Expression.evaluate(Expression.java:50)
at org.eclipse.xtend.expression.ExpressionFacade.evaluate(ExpressionFacade.java:56)
at org.eclipse.xtend.expression.ExpressionFacade.evaluate(ExpressionFacade.java:45)
at org.eclipse.xtend.XtendComponent.invokeInternal2(XtendComponent.java:190)
at org.eclipse.xtend.expression.AbstractExpressionsUsingWorkflowComponent.invokeInternal(AbstractExpressionsUsingWorkflowComponent.java:238)
at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:129)
at org.eclipse.emf.mwe.core.container.CompositeComponent.internalInvoke(CompositeComponent.java:101)
at org.eclipse.emf.mwe.core.container.CompositeComponent.invoke(CompositeComponent.java:86)
at org.eclipse.emf.mwe.core.container.CompositeComponent.internalInvoke(CompositeComponent.java:101)
at org.eclipse.emf.mwe.core.container.CompositeComponent.invoke(CompositeComponent.java:86)
at org.eclipse.emf.mwe.core.container.ConditionalComponent.internalInvoke(ConditionalComponent.java:57)
at org.eclipse.emf.mwe.core.container.ConditionalComponent.invoke(ConditionalComponent.java:39)
at org.eclipse.emf.mwe.core.container.CompositeComponent.internalInvoke(CompositeComponent.java:101)
at org.eclipse.emf.mwe.core.container.CompositeComponent.invoke(CompositeComponent.java:86)
at org.eclipse.emf.mwe.core.container.CompositeComponent.internalInvoke(CompositeComponent.java:101)
at org.eclipse.emf.mwe.core.container.CompositeComponent.invoke(CompositeComponent.java:86)
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)
My question:
Why does it crash?
Kind regards
Ludwig
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.04399 seconds