From 23c97d997e83dd5bb92439a50d2088e9807d1d5c Mon Sep 17 00:00:00 2001 From: nick_battle Date: Fri, 20 Oct 2023 17:38:55 +0100 Subject: [PATCH] Add DBGPLifecycle --- .../com/fujitsu/vdmj/dbgp/DBGPLifecycle.java | 66 +++++++++++++++++++ .../com/fujitsu/vdmj/dbgp/DBGPReader.java | 11 ++-- 2 files changed, 70 insertions(+), 7 deletions(-) create mode 100644 dbgp/src/main/java/com/fujitsu/vdmj/dbgp/DBGPLifecycle.java diff --git a/dbgp/src/main/java/com/fujitsu/vdmj/dbgp/DBGPLifecycle.java b/dbgp/src/main/java/com/fujitsu/vdmj/dbgp/DBGPLifecycle.java new file mode 100644 index 000000000..2c8569ee9 --- /dev/null +++ b/dbgp/src/main/java/com/fujitsu/vdmj/dbgp/DBGPLifecycle.java @@ -0,0 +1,66 @@ +/******************************************************************************* + * + * Copyright (c) 2023 Nick Battle. + * + * Author: Nick Battle + * + * This file is part of VDMJ. + * + * VDMJ is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * VDMJ is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with VDMJ. If not, see . + * SPDX-License-Identifier: GPL-3.0-or-later + * + ******************************************************************************/ + +package com.fujitsu.vdmj.dbgp; + +import java.io.File; +import java.util.List; + +import com.fujitsu.vdmj.plugins.Lifecycle; + +public class DBGPLifecycle extends Lifecycle +{ + private final boolean quiet; + private final boolean warnings; + + public DBGPLifecycle(List files, boolean quiet, boolean warnings) + { + super(new String[]{}); + + this.files = files; + this.quiet = quiet; + this.warnings = warnings; + } + + @Override + protected void processArgs() + { + if (quiet) argv.add("-q"); + if (!warnings) argv.add("-w"); + + super.processArgs(); + } + + @Override + public void loadPlugins() + { + super.loadPlugins(); + } + + @Override + public boolean checkAndInitFiles() + { + return super.checkAndInitFiles(); + } +} diff --git a/dbgp/src/main/java/com/fujitsu/vdmj/dbgp/DBGPReader.java b/dbgp/src/main/java/com/fujitsu/vdmj/dbgp/DBGPReader.java index 39792af7f..63e22fa42 100644 --- a/dbgp/src/main/java/com/fujitsu/vdmj/dbgp/DBGPReader.java +++ b/dbgp/src/main/java/com/fujitsu/vdmj/dbgp/DBGPReader.java @@ -78,7 +78,6 @@ import com.fujitsu.vdmj.messages.InternalException; import com.fujitsu.vdmj.messages.RTLogger; import com.fujitsu.vdmj.plugins.PluginRegistry; -import com.fujitsu.vdmj.plugins.VDMJ; import com.fujitsu.vdmj.plugins.analyses.INPlugin; import com.fujitsu.vdmj.pog.ProofObligation; import com.fujitsu.vdmj.pog.ProofObligationList; @@ -511,12 +510,10 @@ else if (arg.startsWith("-")) } } - VDMJ.loadPlugins(); - if (quiet) VDMJ.setArgs("-q"); - if (!warnings) VDMJ.setArgs("-w"); - VDMJ.setFiles(files); - - if (VDMJ.checkAndInitFiles()) // Only parse/checks, no init. + DBGPLifecycle lifecycle = new DBGPLifecycle(files, quiet, warnings); + lifecycle.loadPlugins(); + + if (lifecycle.checkAndInitFiles()) // Only parse/checks, no init. { try {