From e7d9e50b0f57dd5f35941deb3184bfd373295065 Mon Sep 17 00:00:00 2001 From: SebastianEbert <sebastian.ebert@tu-dresden.de> Date: Mon, 19 Feb 2024 15:54:02 +0100 Subject: [PATCH] extended nav --- .../inf/st/pnml/base/util/NavUtils.java | 16 ++++++++++++++++ src/main/jastadd/base/Navigation.jrag | 4 ++++ 2 files changed, 20 insertions(+) create mode 100644 src/data/java/de/tudresden/inf/st/pnml/base/util/NavUtils.java diff --git a/src/data/java/de/tudresden/inf/st/pnml/base/util/NavUtils.java b/src/data/java/de/tudresden/inf/st/pnml/base/util/NavUtils.java new file mode 100644 index 0000000..b1334c5 --- /dev/null +++ b/src/data/java/de/tudresden/inf/st/pnml/base/util/NavUtils.java @@ -0,0 +1,16 @@ +package de.tudresden.inf.st.pnml.base.util; + +import de.tudresden.inf.st.pnml.jastadd.model.Node; +import de.tudresden.inf.st.pnml.jastadd.model.Place; + +public class NavUtils { + + public static Place getOriginPlace(Node p){ + + if(p.asRefPlace() != null){ + return p.asPlaceNode().place(); + } else { + return getOriginPlace(p); + } + } +} diff --git a/src/main/jastadd/base/Navigation.jrag b/src/main/jastadd/base/Navigation.jrag index 0af771b..8aeef66 100644 --- a/src/main/jastadd/base/Navigation.jrag +++ b/src/main/jastadd/base/Navigation.jrag @@ -2,6 +2,10 @@ aspect Navigation { inh PetriNet PnObject.petriNet(); eq PetriNet.getChild().petriNet() = this; + syn Place RefPlace.originPlace(){ + return de.tudresden.inf.st.pnml.base.util.NavUtils.getOriginPlace(this); + } + syn java.util.Collection<Place> TransitionNode.incomingPlaces() { java.util.Set<Place> s = new java.util.HashSet<>(); -- GitLab