aboutsummaryrefslogtreecommitdiffstats
path: root/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/EReferenceMapper.xtend
diff options
context:
space:
mode:
authorLibravatar 20001LastOrder <boqi.chen@mail.mcgill.ca>2019-06-05 14:34:33 -0400
committerLibravatar 20001LastOrder <boqi.chen@mail.mcgill.ca>2019-06-05 14:34:33 -0400
commitf165786a9f57e62d220bee779a682c38f36c2bc5 (patch)
tree176a39055e7b25cc71e732ac7a2dc0b681512099 /Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/EReferenceMapper.xtend
parentadd hill climbing to best first strategy (diff)
parentDefault state coder range set to Width, as it should be (diff)
downloadVIATRA-Generator-f165786a9f57e62d220bee779a682c38f36c2bc5.tar.gz
VIATRA-Generator-f165786a9f57e62d220bee779a682c38f36c2bc5.tar.zst
VIATRA-Generator-f165786a9f57e62d220bee779a682c38f36c2bc5.zip
Merge branch 'master' into Realistic-Generation-SURE
Diffstat (limited to 'Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/EReferenceMapper.xtend')
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/EReferenceMapper.xtend4
1 files changed, 2 insertions, 2 deletions
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/EReferenceMapper.xtend b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/EReferenceMapper.xtend
index 179690dd..50f088d4 100644
--- a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/EReferenceMapper.xtend
+++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/EReferenceMapper.xtend
@@ -32,7 +32,7 @@ class EReferenceMapper_RelationsOverTypes implements EReferenceMapper{
32 val extension Ecore2logicannotationsFactory builder2 = Ecore2logicannotationsFactory.eINSTANCE 32 val extension Ecore2logicannotationsFactory builder2 = Ecore2logicannotationsFactory.eINSTANCE
33 val extension EClassMapper classMapper; 33 val extension EClassMapper classMapper;
34 34
35 public new(EClassMapper classMapper) { 35 new(EClassMapper classMapper) {
36 this.classMapper = classMapper 36 this.classMapper = classMapper
37 } 37 }
38 38
@@ -117,7 +117,7 @@ class EReferenceMapper_RelationsOverTypes implements EReferenceMapper{
117 def createInverseReferenceConstraints(Ecore2Logic_Trace trace, LogicProblem problem, Iterable<EReference> references) { 117 def createInverseReferenceConstraints(Ecore2Logic_Trace trace, LogicProblem problem, Iterable<EReference> references) {
118 trace.referenceMapperTrace.asTrace.inverseEdges = new HashMap 118 trace.referenceMapperTrace.asTrace.inverseEdges = new HashMap
119 for(reference : references) { 119 for(reference : references) {
120 if(reference.EOpposite!=null) { 120 if(reference.EOpposite!==null && references.exists[it === reference.EOpposite]) {
121 val opposite = reference.EOpposite 121 val opposite = reference.EOpposite
122 if(trace.referenceMapperTrace.asTrace.inverseEdges.containsKey(opposite)) { 122 if(trace.referenceMapperTrace.asTrace.inverseEdges.containsKey(opposite)) {
123 trace.referenceMapperTrace.asTrace.inverseEdges.put(reference,trace.referenceMapperTrace.asTrace.inverseEdges.get(opposite)) 123 trace.referenceMapperTrace.asTrace.inverseEdges.put(reference,trace.referenceMapperTrace.asTrace.inverseEdges.get(opposite))