Bug in OCL or in my code? [message #658222] |
Mon, 07 March 2011 13:26 |
Wilbert Alberts Messages: 209 Registered: June 2010 |
Senior Member |
|
|
Hi,
I'm trying to generate some code for a c like language. It contains pieces like:
typedef struct
{
BAR b;
} FOO;
typdef struct
{
int i;
} BAR;
However, in this case the order of the typedefs matters. So the typedef of BAR should precede the one of FOO.
So I need to order a collection of types in my model. I decided to first generate a set of all types present in my model. Then, I'll put them in the right order based on a recursive function which looks like:
[query public sortTypes(done: Sequence(PG_Type), tobedone: Set(PG_Type)) : Sequence(PG_Type) =
if tobedone->isEmpty() then done
else
let bottom : Set(PG_Type) = tobedone->select(t| done->includesAll(subTypes(t))),
newdone : Sequence(PG_Type) = done->union(bottom->asSequence()),
newtobe : Set(PG_Type) = tobedone-bottom
in
sortTypes(newdone, newtobe)
endif
/]
When I run this code, I get an error in the log stating:
Evaluation failed with an exception: org.eclipse.ocl.util.BagImpl cannot be cast to java.util.Set
As far as I can see, the typecast is done in the calculation of newtobe. However, I'm not an expert in OCL and I'm curious about the return types of the various expressions.
Any clues?
Greetings,
Wilbert.
|
|
|
|
Re: Bug in OCL or in my code? [message #658238 is a reply to message #658225] |
Mon, 07 March 2011 14:41 |
Wilbert Alberts Messages: 209 Registered: June 2010 |
Senior Member |
|
|
Hi Axel,
I'm editing the code inside the Acceleo-3 editor. The editor itself does also not complain, so parsing the expression does not seem to be the problem.
In the meanwhile, I changed
newtobe : Set(PG_Type) = tobedone - bottom
into
newtobe : Set(PG_Type) = (tobedone->asSet()) - (bottom->asSet())
That solved(?) the issue. Sounds like I'm really forcing the evaluator to cast now (if something like that can happen).
In case it might be anyhelp, stack trace is attached below.
Greetings,
Wilbert.
!ENTRY org.eclipse.ocl 4 10 2011-03-07 15:38:59.345
!MESSAGE Evaluation failed with an exception: org.eclipse.ocl.util.BagImpl cannot be cast to java.util.Set
!STACK 0
java.lang.ClassCastException: org.eclipse.ocl.util.BagImpl cannot be cast to java.util.Set
at org.eclipse.ocl.EvaluationVisitorImpl.visitOperationCallExp(EvaluationVisitorImpl.java:1072)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitOperationCallExp(AcceleoEvaluationVisitor.java:1058)
at org.eclipse.ocl.ecore.impl.OperationCallExpImpl.accept(OperationCallExpImpl.java:390)
at org.eclipse.ocl.EvaluationVisitorImpl.visitVariable(EvaluationVisitorImpl.java:1976)
at org.eclipse.ocl.EvaluationVisitorDecorator.visitVariable(EvaluationVisitorDecorator.java:340)
at org.eclipse.ocl.ecore.impl.VariableImpl.accept(VariableImpl.java:654)
at org.eclipse.ocl.EvaluationVisitorImpl.visitLetExp(EvaluationVisitorImpl.java:2099)
at org.eclipse.ocl.EvaluationVisitorDecorator.visitLetExp(EvaluationVisitorDecorator.java:248)
at org.eclipse.ocl.ecore.impl.LetExpImpl.accept(LetExpImpl.java:356)
at org.eclipse.ocl.EvaluationVisitorImpl.visitLetExp(EvaluationVisitorImpl.java:2105)
at org.eclipse.ocl.EvaluationVisitorDecorator.visitLetExp(EvaluationVisitorDecorator.java:248)
at org.eclipse.ocl.ecore.impl.LetExpImpl.accept(LetExpImpl.java:356)
at org.eclipse.ocl.EvaluationVisitorImpl.visitLetExp(EvaluationVisitorImpl.java:2105)
at org.eclipse.ocl.EvaluationVisitorDecorator.visitLetExp(EvaluationVisitorDecorator.java:248)
at org.eclipse.ocl.ecore.impl.LetExpImpl.accept(LetExpImpl.java:356)
at org.eclipse.ocl.EvaluationVisitorImpl.visitIfExp(EvaluationVisitorImpl.java:1999)
at org.eclipse.ocl.EvaluationVisitorDecorator.visitIfExp(EvaluationVisitorDecorator.java:213)
at org.eclipse.ocl.ecore.impl.IfExpImpl.accept(IfExpImpl.java:448)
at org.eclipse.ocl.AbstractEvaluationVisitor.visitExpression(AbstractEvaluationVisitor.java:247)
at org.eclipse.ocl.EvaluationVisitorDecorator.visitExpression(EvaluationVisitorDecorator.java:156)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.switchExpression(AcceleoEvaluationVisitor.java:1646)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitExpression(AcceleoEvaluationVisitor.java:962)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitAcceleoQueryInvocation(AcceleoEvaluationVisitor.java:790)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.switchExpression(AcceleoEvaluationVisitor.java:1629)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitExpression(AcceleoEvaluationVisitor.java:962)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitAcceleoQueryInvocation(AcceleoEvaluationVisitor.java:790)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.switchExpression(AcceleoEvaluationVisitor.java:1629)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitExpression(AcceleoEvaluationVisitor.java:962)
at org.eclipse.acceleo.model.mtl.impl.spec.QueryInvocationSpec.accept(QueryInvocationSpec.java:49)
at org.eclipse.ocl.EvaluationVisitorImpl.visitLetExp(EvaluationVisitorImpl.java:2105)
at org.eclipse.ocl.EvaluationVisitorDecorator.visitLetExp(EvaluationVisitorDecorator.java:248)
at org.eclipse.ocl.ecore.impl.LetExpImpl.accept(LetExpImpl.java:356)
at org.eclipse.ocl.EvaluationVisitorImpl.visitLetExp(EvaluationVisitorImpl.java:2105)
at org.eclipse.ocl.EvaluationVisitorDecorator.visitLetExp(EvaluationVisitorDecorator.java:248)
at org.eclipse.ocl.ecore.impl.LetExpImpl.accept(LetExpImpl.java:356)
at org.eclipse.ocl.EvaluationVisitorImpl.visitLetExp(EvaluationVisitorImpl.java:2105)
at org.eclipse.ocl.EvaluationVisitorDecorator.visitLetExp(EvaluationVisitorDecorator.java:248)
at org.eclipse.ocl.ecore.impl.LetExpImpl.accept(LetExpImpl.java:356)
at org.eclipse.ocl.EvaluationVisitorImpl.visitLetExp(EvaluationVisitorImpl.java:2105)
at org.eclipse.ocl.EvaluationVisitorDecorator.visitLetExp(EvaluationVisitorDecorator.java:248)
at org.eclipse.ocl.ecore.impl.LetExpImpl.accept(LetExpImpl.java:356)
at org.eclipse.ocl.EvaluationVisitorImpl.visitLetExp(EvaluationVisitorImpl.java:2105)
at org.eclipse.ocl.EvaluationVisitorDecorator.visitLetExp(EvaluationVisitorDecorator.java:248)
at org.eclipse.ocl.ecore.impl.LetExpImpl.accept(LetExpImpl.java:356)
at org.eclipse.ocl.AbstractEvaluationVisitor.visitExpression(AbstractEvaluationVisitor.java:247)
at org.eclipse.ocl.EvaluationVisitorDecorator.visitExpression(EvaluationVisitorDecorator.java:156)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.switchExpression(AcceleoEvaluationVisitor.java:1646)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitExpression(AcceleoEvaluationVisitor.java:962)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitAcceleoQueryInvocation(AcceleoEvaluationVisitor.java:790)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.switchExpression(AcceleoEvaluationVisitor.java:1629)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitExpression(AcceleoEvaluationVisitor.java:962)
at org.eclipse.acceleo.model.mtl.impl.spec.QueryInvocationSpec.accept(QueryInvocationSpec.java:49)
at org.eclipse.ocl.EvaluationVisitorImpl.visitVariable(EvaluationVisitorImpl.java:1976)
at org.eclipse.ocl.EvaluationVisitorDecorator.visitVariable(EvaluationVisitorDecorator.java:340)
at org.eclipse.ocl.ecore.impl.VariableImpl.accept(VariableImpl.java:654)
at org.eclipse.ocl.EvaluationVisitorImpl.visitLetExp(EvaluationVisitorImpl.java:2099)
at org.eclipse.ocl.EvaluationVisitorDecorator.visitLetExp(EvaluationVisitorDecorator.java:248)
at org.eclipse.ocl.ecore.impl.LetExpImpl.accept(LetExpImpl.java:356)
at org.eclipse.ocl.AbstractEvaluationVisitor.visitExpression(AbstractEvaluationVisitor.java:247)
at org.eclipse.ocl.EvaluationVisitorDecorator.visitExpression(EvaluationVisitorDecorator.java:156)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.switchExpression(AcceleoEvaluationVisitor.java:1646)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitExpression(AcceleoEvaluationVisitor.java:962)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitAcceleoQueryInvocation(AcceleoEvaluationVisitor.java:790)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.switchExpression(AcceleoEvaluationVisitor.java:1629)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitExpression(AcceleoEvaluationVisitor.java:962)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitAcceleoForBlock(AcceleoEvaluationVisitor.java:401)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.switchExpression(AcceleoEvaluationVisitor.java:1609)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitExpression(AcceleoEvaluationVisitor.java:962)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitAcceleoTemplate(AcceleoEvaluationVisitor.java:831)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.switchExpression(AcceleoEvaluationVisitor.java:1596)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitExpression(AcceleoEvaluationVisitor.java:962)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitAcceleoTemplateInvocation(AcceleoEvaluationVisitor.java:882)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.switchExpression(AcceleoEvaluationVisitor.java:1623)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitExpression(AcceleoEvaluationVisitor.java:962)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitAcceleoTemplate(AcceleoEvaluationVisitor.java:831)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.switchExpression(AcceleoEvaluationVisitor.java:1596)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitExpression(AcceleoEvaluationVisitor.java:962)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitAcceleoTemplateInvocation(AcceleoEvaluationVisitor.java:882)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.switchExpression(AcceleoEvaluationVisitor.java:1623)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitExpression(AcceleoEvaluationVisitor.java:962)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitAcceleoFileBlock(AcceleoEvaluationVisitor.java:385)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.switchExpression(AcceleoEvaluationVisitor.java:1616)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitExpression(AcceleoEvaluationVisitor.java:962)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitAcceleoTemplate(AcceleoEvaluationVisitor.java:831)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.switchExpression(AcceleoEvaluationVisitor.java:1596)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitExpression(AcceleoEvaluationVisitor.java:962)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitAcceleoTemplateInvocation(AcceleoEvaluationVisitor.java:882)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.switchExpression(AcceleoEvaluationVisitor.java:1623)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitExpression(AcceleoEvaluationVisitor.java:962)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitAcceleoForBlock(AcceleoEvaluationVisitor.java:497)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.switchExpression(AcceleoEvaluationVisitor.java:1609)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitExpression(AcceleoEvaluationVisitor.java:962)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitAcceleoTemplate(AcceleoEvaluationVisitor.java:831)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.switchExpression(AcceleoEvaluationVisitor.java:1596)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitExpression(AcceleoEvaluationVisitor.java:962)
at org.eclipse.ocl.internal.evaluation.QueryImpl.evaluate(QueryImpl.java:152)
at org.eclipse.ocl.ecore.QueryImpl.evaluate(QueryImpl.java:62)
at org.eclipse.acceleo.engine.generation.AcceleoEngine.doEvaluate(AcceleoEngine.java:265)
at org.eclipse.acceleo.engine.generation.AcceleoEngine.evaluate(AcceleoEngine.java:130)
at org.eclipse.acceleo.engine.service.AcceleoService.doGenerateTemplate(AcceleoService.java:544)
at org.eclipse.acceleo.engine.service.AcceleoService.doGenerate(AcceleoService.java:380)
at org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator.generate(AbstractAcceleoGenerator.java:141)
at org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator.doGenerate(AbstractAcceleoGenerator.java:120)
at PGWB_PSM2C.files.Generate.doGenerate(Generate.java:148)
at org.eclipse.acceleo.ide.ui.launching.strategy.AcceleoLaunchOperation.run(AcceleoLaunchOperation.java:119)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1975)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1957)
at org.eclipse.acceleo.ide.ui.launching.strategy.AcceleoPluginLaunchingStrategy.launch(AcceleoPluginLaunchingStrategy.java:225)
at org.eclipse.acceleo.ide.ui.launching.strategy.AcceleoPluginLaunchingStrategy.launch(AcceleoPluginLaunchingStrategy.java:128)
at org.eclipse.acceleo.internal.ide.ui.launching.AcceleoLaunchDelegate.launch(AcceleoLaunchDelegate.java:53)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:853)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:702)
at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:924)
at org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1128)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
!ENTRY org.eclipse.acceleo.engine 2 2 2011-03-07 15:38:59.392
!MESSAGE Invalid result for expression if tobedone->isEmpty() then done else let bottom : Set(PG_Type) = tobedone->select(t : PG_Type | done->includesAll(subTypes(t))) in let newdone : Sequence(PG_Type) = done->union(bottom->asSequence()) in let newtobe : Set(PG_Type) = tobedone->-(bottom) in sortTypes(newdone,newtobe) endif at line 34 in Module helperPrimBlock for query sortTypes(Sequence(PG_Type),Set(PG_Type)). Last recorded value of self was [org.eclipse.emf.ecore.impl.DynamicEObjectImpl@197014f (eClass: org.eclipse.emf.ecore.impl.EClassImpl@14cf993 (name: PG_UserDefinedType) (instanceClassName: null) (abstract: false, interface: false))].
!STACK 0
org.eclipse.acceleo.engine.AcceleoEvaluationException: Invalid result for expression if tobedone->isEmpty() then done else let bottom : Set(PG_Type) = tobedone->select(t : PG_Type | done->includesAll(subTypes(t))) in let newdone : Sequence(PG_Type) = done->union(bottom->asSequence()) in let newtobe : Set(PG_Type) = tobedone->-(bottom) in sortTypes(newdone,newtobe) endif at line 34 in Module helperPrimBlock for query sortTypes(Sequence(PG_Type),Set(PG_Type)). Last recorded value of self was [org.eclipse.emf.ecore.impl.DynamicEObjectImpl@197014f (eClass: org.eclipse.emf.ecore.impl.EClassImpl@14cf993 (name: PG_UserDefinedType) (instanceClassName: null) (abstract: false, interface: false))].
at helperPrimBlock.orderTypes(Set(PG_Type))(helperPrimBlock.mtl:0)
at helperPrimBlock.exportedTypes(PG_PrimBlock)(helperPrimBlock.mtl:0)
at helperPrimBlock.exportedTypes(PG_PrimBlock)(helperPrimBlock.mtl:0)
at helperPrimBlock.exportedTypeDefs(PG_PrimBlock)(helperPrimBlock.mtl:0)
at helperPrimBlock.exportedTypeDefs(PG_PrimBlock)(helperPrimBlock.mtl:0)
at generatePBDDF.genExportedStructs(PG_PrimBlock)(generatePBDDF.mtl:0)
at generatePBDDF.genExportedStructs(PG_PrimBlock)(generatePBDDF.mtl:91)
at generatePBDDF.genExportedStructs(PG_PrimBlock)(generatePBDDF.mtl:90)
at generatePBDDF.generatePBDDF(PG_PrimBlock)(generatePBDDF.mtl:0)
at generatePBDDF.generatePBDDF(PG_PrimBlock)(generatePBDDF.mtl:9)
at generatePrimBlock.generateDDF(PG_PrimBlock)(generatePrimBlock.mtl:0)
at generatePrimBlock.generateDDF(PG_PrimBlock)(generatePrimBlock.mtl:10)
at generatePrimBlock.generateDDF(PG_PrimBlock)(generatePrimBlock.mtl:9)
at generate.generate(PG_Model)(generate.mtl:0)
at generate.generate(PG_Model)(generate.mtl:8)
at generate.generate(PG_Model)(generate.mtl:5)
!ENTRY org.eclipse.acceleo.engine 2 2 2011-03-07 15:38:59.423
!MESSAGE Invalid result for expression let exportedtypes : Sequence(PG_Type) = exportedTypes(b) in exportedtypes->select(temp14 : PG_Type | temp14.oclIsKindOf(pgwb_psm::pg_type::PG_UserDefinedType))->collect(temp15 : PG_Type | temp15.oclAsType(pgwb_psm::pg_type::PG_UserDefinedType)) at line 101 in Module helperPrimBlock for query exportedTypeDefs(PG_PrimBlock). Last recorded value of self was org.eclipse.emf.ecore.impl.DynamicEObjectImpl@801d5b (eClass: org.eclipse.emf.ecore.impl.EClassImpl@793129 (name: PG_PrimBlock) (instanceClassName: null) (abstract: false, interface: false)).
!STACK 0
org.eclipse.acceleo.engine.AcceleoEvaluationException: Invalid result for expression let exportedtypes : Sequence(PG_Type) = exportedTypes(b) in exportedtypes->select(temp14 : PG_Type | temp14.oclIsKindOf(pgwb_psm::pg_type::PG_UserDefinedType))->collect(temp15 : PG_Type | temp15.oclAsType(pgwb_psm::pg_type::PG_UserDefinedType)) at line 101 in Module helperPrimBlock for query exportedTypeDefs(PG_PrimBlock). Last recorded value of self was org.eclipse.emf.ecore.impl.DynamicEObjectImpl@801d5b (eClass: org.eclipse.emf.ecore.impl.EClassImpl@793129 (name: PG_PrimBlock) (instanceClassName: null) (abstract: false, interface: false)).
at generatePBDDF.genExportedStructs(PG_PrimBlock)(generatePBDDF.mtl:0)
at generatePBDDF.genExportedStructs(PG_PrimBlock)(generatePBDDF.mtl:91)
at generatePBDDF.genExportedStructs(PG_PrimBlock)(generatePBDDF.mtl:90)
at generatePBDDF.generatePBDDF(PG_PrimBlock)(generatePBDDF.mtl:0)
at generatePBDDF.generatePBDDF(PG_PrimBlock)(generatePBDDF.mtl:9)
at generatePrimBlock.generateDDF(PG_PrimBlock)(generatePrimBlock.mtl:0)
at generatePrimBlock.generateDDF(PG_PrimBlock)(generatePrimBlock.mtl:10)
at generatePrimBlock.generateDDF(PG_PrimBlock)(generatePrimBlock.mtl:9)
at generate.generate(PG_Model)(generate.mtl:0)
at generate.generate(PG_Model)(generate.mtl:8)
at generate.generate(PG_Model)(generate.mtl:5)
!ENTRY org.eclipse.acceleo.engine 2 2 2011-03-07 15:38:59.423
!MESSAGE Invalid loop iteration at line 91 in Module generatePBDDF for block for (exportedTypeDefs(block)). Last recorded value of self was org.eclipse.emf.ecore.impl.DynamicEObjectImpl@801d5b (eClass: org.eclipse.emf.ecore.impl.EClassImpl@793129 (name: PG_PrimBlock) (instanceClassName: null) (abstract: false, interface: false)).
!STACK 0
org.eclipse.acceleo.engine.AcceleoEvaluationException: Invalid loop iteration at line 91 in Module generatePBDDF for block for (exportedTypeDefs(block)). Last recorded value of self was org.eclipse.emf.ecore.impl.DynamicEObjectImpl@801d5b (eClass: org.eclipse.emf.ecore.impl.EClassImpl@793129 (name: PG_PrimBlock) (instanceClassName: null) (abstract: false, interface: false)).
at generatePBDDF.genExportedStructs(PG_PrimBlock)(generatePBDDF.mtl:91)
at generatePBDDF.genExportedStructs(PG_PrimBlock)(generatePBDDF.mtl:90)
at generatePBDDF.generatePBDDF(PG_PrimBlock)(generatePBDDF.mtl:0)
at generatePBDDF.generatePBDDF(PG_PrimBlock)(generatePBDDF.mtl:9)
at generatePrimBlock.generateDDF(PG_PrimBlock)(generatePrimBlock.mtl:0)
at generatePrimBlock.generateDDF(PG_PrimBlock)(generatePrimBlock.mtl:10)
at generatePrimBlock.generateDDF(PG_PrimBlock)(generatePrimBlock.mtl:9)
at generate.generate(PG_Model)(generate.mtl:0)
at generate.generate(PG_Model)(generate.mtl:8)
at generate.generate(PG_Model)(generate.mtl:5)
!ENTRY org.eclipse.acceleo.engine 2 2 2011-03-07 15:39:00.017
!MESSAGE Invalid result for expression let internaltypes : Sequence(PG_Type) = internalTypes(b) in let exportedtypes : Sequence(PG_Type) = exportedTypes(b) in let filteredInternalTypes : Sequence(PG_Type) = internaltypes->reject(t : PG_Type | exportedtypes->includes(t)) in filteredInternalTypes->select(temp12 : PG_Type | temp12.oclIsKindOf(pgwb_psm::pg_type::PG_UserDefinedType))->collect(temp13 : PG_Type | temp13.oclAsType(pgwb_psm::pg_type::PG_UserDefinedType)) at line 93 in Module helperPrimBlock for query internalTypeDefs(PG_PrimBlock). Last recorded value of self was org.eclipse.emf.ecore.impl.DynamicEObjectImpl@801d5b (eClass: org.eclipse.emf.ecore.impl.EClassImpl@793129 (name: PG_PrimBlock) (instanceClassName: null) (abstract: false, interface: false)).
!STACK 0
org.eclipse.acceleo.engine.AcceleoEvaluationException: Invalid result for expression let internaltypes : Sequence(PG_Type) = internalTypes(b) in let exportedtypes : Sequence(PG_Type) = exportedTypes(b) in let filteredInternalTypes : Sequence(PG_Type) = internaltypes->reject(t : PG_Type | exportedtypes->includes(t)) in filteredInternalTypes->select(temp12 : PG_Type | temp12.oclIsKindOf(pgwb_psm::pg_type::PG_UserDefinedType))->collect(temp13 : PG_Type | temp13.oclAsType(pgwb_psm::pg_type::PG_UserDefinedType)) at line 93 in Module helperPrimBlock for query internalTypeDefs(PG_PrimBlock). Last recorded value of self was org.eclipse.emf.ecore.impl.DynamicEObjectImpl@801d5b (eClass: org.eclipse.emf.ecore.impl.EClassImpl@793129 (name: PG_PrimBlock) (instanceClassName: null) (abstract: false, interface: false)).
at generatePBIntH.generatePBIntH(PG_PrimBlock)(generatePBIntH.mtl:0)
at generatePBIntH.generatePBIntH(PG_PrimBlock)(generatePBIntH.mtl:87)
at generatePBIntH.generatePBIntH(PG_PrimBlock)(generatePBIntH.mtl:8)
at generatePrimBlock.generateIntH(PG_PrimBlock)(generatePrimBlock.mtl:0)
at generatePrimBlock.generateIntH(PG_PrimBlock)(generatePrimBlock.mtl:16)
at generatePrimBlock.generateIntH(PG_PrimBlock)(generatePrimBlock.mtl:15)
at generate.generate(PG_Model)(generate.mtl:0)
at generate.generate(PG_Model)(generate.mtl:8)
at generate.generate(PG_Model)(generate.mtl:5)
!ENTRY org.eclipse.acceleo.engine 2 2 2011-03-07 15:39:00.017
!MESSAGE Invalid loop iteration at line 87 in Module generatePBIntH for block for (internalTypeDefs(b)). Last recorded value of self was org.eclipse.emf.ecore.impl.DynamicEObjectImpl@801d5b (eClass: org.eclipse.emf.ecore.impl.EClassImpl@793129 (name: PG_PrimBlock) (instanceClassName: null) (abstract: false, interface: false)).
!STACK 0
org.eclipse.acceleo.engine.AcceleoEvaluationException: Invalid loop iteration at line 87 in Module generatePBIntH for block for (internalTypeDefs(b)). Last recorded value of self was org.eclipse.emf.ecore.impl.DynamicEObjectImpl@801d5b (eClass: org.eclipse.emf.ecore.impl.EClassImpl@793129 (name: PG_PrimBlock) (instanceClassName: null) (abstract: false, interface: false)).
at generatePBIntH.generatePBIntH(PG_PrimBlock)(generatePBIntH.mtl:87)
at generatePBIntH.generatePBIntH(PG_PrimBlock)(generatePBIntH.mtl:8)
at generatePrimBlock.generateIntH(PG_PrimBlock)(generatePrimBlock.mtl:0)
at generatePrimBlock.generateIntH(PG_PrimBlock)(generatePrimBlock.mtl:16)
at generatePrimBlock.generateIntH(PG_PrimBlock)(generatePrimBlock.mtl:15)
at generate.generate(PG_Model)(generate.mtl:0)
at generate.generate(PG_Model)(generate.mtl:8)
at generate.generate(PG_Model)(generate.mtl:5)
|
|
|
Powered by
FUDForum. Page generated in 0.03213 seconds