From 91b18c4bf398d2df17e3722329bc14e7a84aafe9 Mon Sep 17 00:00:00 2001 From: Bastien Sultan <bastien.sultan@telecom-paris.fr> Date: Wed, 24 Aug 2022 12:07:37 +0200 Subject: [PATCH] AMULET: patching state deletion method --- .idea/runConfigurations.xml | 10 ---------- .../avatartranslator/mutation/RmStateMutation.java | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 10 deletions(-) delete mode 100644 .idea/runConfigurations.xml diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml deleted file mode 100644 index 797acea53e..0000000000 --- a/.idea/runConfigurations.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project version="4"> - <component name="RunConfigurationProducerService"> - <option name="ignoredProducers"> - <set> - <option value="com.android.tools.idea.compose.preview.runconfiguration.ComposePreviewRunConfigurationProducer" /> - </set> - </option> - </component> -</project> \ No newline at end of file diff --git a/src/main/java/avatartranslator/mutation/RmStateMutation.java b/src/main/java/avatartranslator/mutation/RmStateMutation.java index a451f03a4d..bd4c9b82d8 100644 --- a/src/main/java/avatartranslator/mutation/RmStateMutation.java +++ b/src/main/java/avatartranslator/mutation/RmStateMutation.java @@ -41,6 +41,8 @@ package avatartranslator.mutation; import avatartranslator.*; import myutil.TraceManager; +import java.util.List; + /** * Class RmStateMutation * Creation: 27/06/2022 @@ -58,6 +60,18 @@ public class RmStateMutation extends StateMutation implements RmMutation { public void apply(AvatarSpecification _avspec) throws ApplyMutationException { AvatarState state = getElement(_avspec); AvatarStateMachine asm = getAvatarStateMachine(_avspec); + List<AvatarStateMachineElement> elements = asm.getListOfElements(); + for (AvatarStateMachineElement element : elements) { + if (element.getNexts().contains(state)){ + for (AvatarStateMachineElement element2 : elements) { + if (element2.getNexts().contains(element)){ + element2.removeNext(element); + } + } + asm.removeElement(element); + } + } + state.removeAllNexts(); asm.removeElement(state); } -- GitLab