From 66b26339c63c61611175c4b58d0a765b53c56885 Mon Sep 17 00:00:00 2001
From: SebastianEbert <sebastian.ebert@tu-dresden.de>
Date: Fri, 29 Oct 2021 09:35:56 +0200
Subject: [PATCH] ref resolution now also checks referenced **and** referencing
 elements

---
 src/main/jastadd/Navigation.jrag | 32 +++++++++++++++++++++++++-------
 1 file changed, 25 insertions(+), 7 deletions(-)

diff --git a/src/main/jastadd/Navigation.jrag b/src/main/jastadd/Navigation.jrag
index 14412b3..6bb3036 100644
--- a/src/main/jastadd/Navigation.jrag
+++ b/src/main/jastadd/Navigation.jrag
@@ -3,15 +3,33 @@ aspect Navigation {
   eq PetriNet.getChild().petriNet() = this;
 
   syn java.util.Collection<Place> TransitionNode.incomingPlaces() {
-      java.util.Set<Place> incomingPlaces = new java.util.HashSet<>();
-      de.tudresden.inf.st.pnml.PnmlRefTransitionResolver.resolveIncomingPlaces(this, incomingPlaces);
-      return incomingPlaces;
-  }
 
+      java.util.Set<Place> s = new java.util.HashSet<>();
+
+      for (Arc incomingArc : getInArcList()) {
+          s.add(incomingArc.getSource().asPlaceNode().place());
+      }
+
+      for (TransitionNode ref : getReferencingTransitions()) {
+          s.addAll(ref.incomingPlaces());
+      }
+
+      return s;
+  }
+  
   syn java.util.Collection<Place> TransitionNode.outgoingPlaces() {
-      java.util.Set<Place> outgoingPlaces = new java.util.HashSet<>();
-      de.tudresden.inf.st.pnml.PnmlRefTransitionResolver.resolveOutgoingPlaces(this, outgoingPlaces);
-      return outgoingPlaces;
+
+    java.util.Set<Place> s = new java.util.HashSet<>();
+
+    for (Arc outgoing : getOutArcList()) {
+         s.add(outgoing.getTarget().asPlaceNode().place());
+    }
+
+    for (TransitionNode ref : getReferencingTransitions()) {
+         s.addAll(ref.outgoingPlaces());
+    }
+
+    return s;
   }
 
   inh Page PnObject.ContainingPage();
-- 
GitLab