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