Open RubyBit opened 4 months ago
That's a very old well known bug in EMF. https://bugs.eclipse.org/bugs/show_bug.cgi?id=89325 One solution is to refactor your grammar/metamodel, so you insert placehoders elements (with e.g. "Input" Eclass type) to hold the reference to food.
Such as (approximatively)
"name" : "cook",
"inputs" : [ {
reference={
"eClass" : "....",
"$ref" : "//@cookingTypes.0"
}
}, {
reference={
"eClass" : "....",
"$ref" : "//@cookingTypes.0"
}
} ]
}]```
Take this model for example:
This serializes as expected:
When its deserialized though, this is the output:
It takes only 1 input now.
I did some debugging and found out that when the 2nd reference is added to the list of inputs of the model (Elist), nothing happens. I am assuming it considers the 2 inputs to be the same cooking type impl object and as such it doesn't work. Is this expected behaviour or a bug?