diff --git a/src/main/jastadd/Navigation.jrag b/src/main/jastadd/Navigation.jrag index 14412b3fcf825ad21d146e1a879f530c27e7f5c3..6bb30366b2a6b16cabbfab4e1bd2b87b411f3c44 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();