Community
Participate
Working Groups
Build Identifier: Build id: 20100617-1415 (Helios) Run the attached QVTo transformation on any .ecore file, using debugging execution, and get this: Diagnostic ERROR source=org.eclipse.m2m.qvt.oml.execution code=120 Unexpected runtime exception caught during execution data=[java.lang.IllegalArgumentException: OCL collection kind (Collection) is not implemented in the java collection factory.] [QVTO Stack trace:] at test::EPackage::transEPackage(test.qvto:21) at test::main(test.qvto:14) [Java cause:] java.lang.IllegalArgumentException: OCL collection kind (Collection) is not implemented in the java collection factory. at org.eclipse.ocl.util.CollectionUtil.createNewCollection(CollectionUtil.java:1079) at org.eclipse.m2m.internal.qvt.oml.ast.env.QvtOperationalEvaluationEnv.callSetter(QvtOperationalEvaluationEnv.java:504) at org.eclipse.m2m.internal.qvt.oml.evaluator.QvtOperationalEvaluationVisitorImpl.visitAssignExp(QvtOperationalEvaluationVisitorImpl.java:411) at org.eclipse.m2m.internal.qvt.oml.evaluator.QvtGenericEvaluationVisitor.visitAssignExp(QvtGenericEvaluationVisitor.java:341) at org.eclipse.m2m.qvt.oml.ecore.ImperativeOCL.impl.AssignExpImpl.accept(AssignExpImpl.java:404) at org.eclipse.m2m.internal.qvt.oml.evaluator.QvtOperationalEvaluationVisitorImpl.visitObjectExp(QvtOperationalEvaluationVisitorImpl.java:948) at org.eclipse.m2m.internal.qvt.oml.evaluator.QvtGenericEvaluationVisitor.visitObjectExp(QvtGenericEvaluationVisitor.java:406) at org.eclipse.m2m.internal.qvt.oml.expressions.impl.ObjectExpImpl.accept(ObjectExpImpl.java:176) at org.eclipse.m2m.internal.qvt.oml.evaluator.QvtOperationalEvaluationVisitorImpl.visitAssignExp(QvtOperationalEvaluationVisitorImpl.java:353) at org.eclipse.m2m.internal.qvt.oml.evaluator.QvtGenericEvaluationVisitor.visitAssignExp(QvtGenericEvaluationVisitor.java:341) at org.eclipse.m2m.qvt.oml.ecore.ImperativeOCL.impl.AssignExpImpl.accept(AssignExpImpl.java:404) at org.eclipse.m2m.internal.qvt.oml.evaluator.QvtOperationalEvaluationVisitorImpl.visitBlockExp(QvtOperationalEvaluationVisitorImpl.java:1049) at org.eclipse.m2m.internal.qvt.oml.evaluator.QvtGenericEvaluationVisitor.visitBlockExp(QvtGenericEvaluationVisitor.java:346) at org.eclipse.m2m.qvt.oml.ecore.ImperativeOCL.impl.BlockExpImpl.accept(BlockExpImpl.java:168) at org.eclipse.m2m.internal.qvt.oml.evaluator.QvtOperationalEvaluationVisitorImpl.visitIfExp(QvtOperationalEvaluationVisitorImpl.java:314) at org.eclipse.ocl.EvaluationVisitorDecorator.visitIfExp(EvaluationVisitorDecorator.java:213) at org.eclipse.m2m.internal.qvt.oml.evaluator.QvtGenericEvaluationVisitor.visitIfExp(QvtGenericEvaluationVisitor.java:217) at org.eclipse.ocl.ecore.impl.IfExpImpl.accept(IfExpImpl.java:448) at org.eclipse.m2m.internal.qvt.oml.evaluator.QvtOperationalEvaluationVisitorImpl.visitObjectExp(QvtOperationalEvaluationVisitorImpl.java:948) at org.eclipse.m2m.internal.qvt.oml.evaluator.QvtGenericEvaluationVisitor.visitObjectExp(QvtGenericEvaluationVisitor.java:406) at org.eclipse.m2m.internal.qvt.oml.expressions.impl.ObjectExpImpl.accept(ObjectExpImpl.java:176) at org.eclipse.m2m.internal.qvt.oml.evaluator.QvtOperationalEvaluationVisitorImpl.visitOperationBody(QvtOperationalEvaluationVisitorImpl.java:983) at org.eclipse.m2m.internal.qvt.oml.evaluator.QvtOperationalEvaluationVisitorImpl.visitMappingBody(QvtOperationalEvaluationVisitorImpl.java:569) at org.eclipse.m2m.internal.qvt.oml.evaluator.QvtGenericEvaluationVisitor.visitMappingBody(QvtGenericEvaluationVisitor.java:376) at org.eclipse.m2m.internal.qvt.oml.expressions.impl.MappingBodyImpl.accept(MappingBodyImpl.java:122) at org.eclipse.m2m.internal.qvt.oml.evaluator.QvtOperationalEvaluationVisitorImpl.visitMappingOperation(QvtOperationalEvaluationVisitorImpl.java:732) at org.eclipse.m2m.internal.qvt.oml.evaluator.QvtGenericEvaluationVisitor.visitMappingOperation(QvtGenericEvaluationVisitor.java:386) at org.eclipse.m2m.internal.qvt.oml.expressions.impl.MappingOperationImpl.accept(MappingOperationImpl.java:220) at org.eclipse.m2m.internal.qvt.oml.evaluator.QvtOperationalEvaluationVisitorImpl.executeImperativeOperation(QvtOperationalEvaluationVisitorImpl.java:1613) at org.eclipse.m2m.internal.qvt.oml.evaluator.QvtOperationalEvaluationVisitorImpl.doVisitOperationCallExp(QvtOperationalEvaluationVisitorImpl.java:638) at org.eclipse.m2m.internal.qvt.oml.evaluator.QvtOperationalEvaluationVisitorImpl.visitOperationCallExp(QvtOperationalEvaluationVisitorImpl.java:597) at org.eclipse.m2m.internal.qvt.oml.evaluator.QvtOperationalEvaluationVisitorImpl.visitMappingCallExp(QvtOperationalEvaluationVisitorImpl.java:587) at org.eclipse.m2m.internal.qvt.oml.evaluator.QvtGenericEvaluationVisitor.visitMappingCallExp(QvtGenericEvaluationVisitor.java:381) at org.eclipse.m2m.internal.qvt.oml.expressions.impl.MappingCallExpImpl.accept(MappingCallExpImpl.java:112) at org.eclipse.m2m.internal.qvt.oml.evaluator.QvtOperationalEvaluationVisitorImpl.visitExpression(QvtOperationalEvaluationVisitorImpl.java:328) at org.eclipse.ocl.EvaluationVisitorDecorator.visitExpression(EvaluationVisitorDecorator.java:156) at org.eclipse.m2m.internal.qvt.oml.evaluator.QvtGenericEvaluationVisitor.visitExpression(QvtGenericEvaluationVisitor.java:205) at org.eclipse.m2m.internal.qvt.oml.evaluator.iterators.QvtImperativeIteratorTemplate.evaluateResultTemplate(QvtImperativeIteratorTemplate.java:50) at org.eclipse.m2m.internal.qvt.oml.evaluator.iterators.QvtIterationTemplate.evaluate(QvtIterationTemplate.java:84) at org.eclipse.m2m.internal.qvt.oml.evaluator.QvtOperationalEvaluationVisitorImpl.visitImperativeIterateExp(QvtOperationalEvaluationVisitorImpl.java:1338) at org.eclipse.m2m.internal.qvt.oml.evaluator.QvtGenericEvaluationVisitor.visitImperativeIterateExp(QvtGenericEvaluationVisitor.java:475) at org.eclipse.m2m.qvt.oml.ecore.ImperativeOCL.impl.ImperativeIterateExpImpl.accept(ImperativeIterateExpImpl.java:210) at org.eclipse.m2m.internal.qvt.oml.evaluator.QvtOperationalEvaluationVisitorImpl.visitOperationBody(QvtOperationalEvaluationVisitorImpl.java:983) at org.eclipse.m2m.internal.qvt.oml.evaluator.QvtOperationalEvaluationVisitorImpl.visitEntryOperation(QvtOperationalEvaluationVisitorImpl.java:458) at org.eclipse.m2m.internal.qvt.oml.evaluator.QvtGenericEvaluationVisitor.visitEntryOperation(QvtGenericEvaluationVisitor.java:485) at org.eclipse.m2m.internal.qvt.oml.expressions.impl.EntryOperationImpl.accept(EntryOperationImpl.java:67) at org.eclipse.m2m.internal.qvt.oml.evaluator.QvtOperationalEvaluationVisitorImpl.executeImperativeOperation(QvtOperationalEvaluationVisitorImpl.java:1613) at org.eclipse.m2m.internal.qvt.oml.evaluator.QvtOperationalEvaluationVisitorImpl.runMainEntry(QvtOperationalEvaluationVisitorImpl.java:2126) at org.eclipse.m2m.internal.qvt.oml.evaluator.QvtOperationalEvaluationVisitorImpl$1.invoke(QvtOperationalEvaluationVisitorImpl.java:922) at org.eclipse.m2m.internal.qvt.oml.evaluator.QvtOperationalEvaluationVisitorImpl.doVisitTransformation(QvtOperationalEvaluationVisitorImpl.java:896) at org.eclipse.m2m.internal.qvt.oml.evaluator.QvtOperationalEvaluationVisitorImpl.execute(QvtOperationalEvaluationVisitorImpl.java:738) at org.eclipse.m2m.qvt.oml.debug.core.vm.QVTODebugEvaluator$DebugInterceptor.execute(QVTODebugEvaluator.java:491) at org.eclipse.m2m.internal.qvt.oml.InternalTransformationExecutor.doExecute(InternalTransformationExecutor.java:196) at org.eclipse.m2m.internal.qvt.oml.InternalTransformationExecutor.execute(InternalTransformationExecutor.java:171) at org.eclipse.m2m.internal.qvt.oml.TransformationRunner.execute(TransformationRunner.java:176) at org.eclipse.m2m.qvt.oml.debug.core.app.DebugTransformationRunner$2.execute(DebugTransformationRunner.java:109) at org.eclipse.m2m.qvt.oml.debug.core.vm.QVTOVirtualMachine.execute(QVTOVirtualMachine.java:225) at org.eclipse.m2m.qvt.oml.debug.core.vm.QVTOVirtualMachine.access$10(QVTOVirtualMachine.java:222) at org.eclipse.m2m.qvt.oml.debug.core.vm.QVTOVirtualMachine$1.run(QVTOVirtualMachine.java:212) at java.lang.Thread.run(Unknown Source) Diagnostic ERROR source=org.eclipse.m2m.qvt.oml.execution code=120 Unexpected runtime exception caught during execution data=[java.lang.IllegalArgumentException: OCL collection kind (Collection) is not implemented in the java collection factory.] Reproducible: Always Steps to Reproduce: 1. Run the attached QVTo transformation on any .ecore file, using debugging execution: 2. Observer the error...
Created attachment 176656 [details] The QVTo file that crashes upon execution
The problem is assigning the intermediate property of type Dict{...}. Changing it to a Sequence or something makes it work. The problem is also not the empty dictionary, as assigning it a non-empty one gives the same problem...
Fixed in conjunction with Bug 322756