Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -10,20 +10,22 @@
import de.uka.ilkd.key.proof.Goal;
import de.uka.ilkd.key.proof.Node;
import de.uka.ilkd.key.proof.Proof;
import de.uka.ilkd.key.strategy.AbstractFeatureStrategy;
import de.uka.ilkd.key.strategy.Strategy;
import de.uka.ilkd.key.strategy.JavaAbstractFeatureStrategy;

import org.key_project.logic.Name;
import org.key_project.prover.proof.ProofGoal;
import org.key_project.prover.rules.RuleApp;
import org.key_project.prover.sequent.PosInOccurrence;
import org.key_project.prover.strategy.Strategy;
import org.key_project.prover.strategy.costbased.MutableState;
import org.key_project.prover.strategy.costbased.NumberRuleAppCost;
import org.key_project.prover.strategy.costbased.RuleAppCost;
import org.key_project.prover.strategy.costbased.TopRuleAppCost;

import org.jspecify.annotations.NonNull;

import static de.uka.ilkd.key.strategy.StaticFeatureCollection.hasLabel;


/**
* The macro UseInformationFlowContractMacro applies all applicable information flow contracts.
Expand Down Expand Up @@ -68,7 +70,7 @@ public String getDescription() {
* This strategy accepts all rule apps for which the rule name starts with a string in the
* admitted set and rejects everything else.
*/
protected static class RemovePostStrategy extends AbstractFeatureStrategy {
protected static class RemovePostStrategy extends JavaAbstractFeatureStrategy {

private final Name NAME = new Name("RemovePostStrategy");

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ protected Set<String> getAdmittedRuleNames() {
}

@Override
protected Strategy<@NonNull Goal> createStrategy(Proof proof,
protected org.key_project.prover.strategy.Strategy<@NonNull Goal> createStrategy(Proof proof,
PosInOccurrence posInOcc) {
return new SelfCompExpansionStrategy(getAdmittedRuleNames());
}
Expand Down Expand Up @@ -111,7 +111,7 @@ protected boolean allowOSS() {
* This strategy accepts all rule apps for which the rule name is in the admitted set or has
* INF_FLOW_UNFOLD_PREFIX as a prefix and rejects everything else.
*/
private class SelfCompExpansionStrategy implements Strategy<Goal> {
private class SelfCompExpansionStrategy implements JavaStrategy {

private final Name NAME = new Name(
SelfcompositionStateExpansionMacro.SelfCompExpansionStrategy.class.getSimpleName());
Expand All @@ -135,7 +135,7 @@ public Name name() {
if ((admittedRuleNames.contains(name) || name.startsWith(INF_FLOW_UNFOLD_PREFIX))
&& ruleApplicationInContextAllowed(ruleApp, pio, goal)) {
ModularJavaDLStrategyFactory strategyFactory = new ModularJavaDLStrategyFactory();
Strategy<@NonNull Goal> dlStrategy =
org.key_project.prover.strategy.Strategy<@NonNull Goal> dlStrategy =
strategyFactory.create(goal.proof(), new StrategyProperties());
RuleAppCost costs = dlStrategy.computeCost(ruleApp, pio, goal, mState);
if ("orLeft".equals(name)) {
Expand All @@ -155,7 +155,7 @@ public boolean isApprovedApp(RuleApp app, PosInOccurrence pio,

@Override
public void instantiateApp(RuleApp app, PosInOccurrence pio, Goal goal,
RuleAppCostCollector collector) {
org.key_project.prover.strategy.RuleAppCostCollector collector) {
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,13 @@
import de.uka.ilkd.key.proof.Goal;
import de.uka.ilkd.key.proof.Node;
import de.uka.ilkd.key.proof.Proof;
import de.uka.ilkd.key.strategy.RuleAppCostCollector;
import de.uka.ilkd.key.strategy.Strategy;
import de.uka.ilkd.key.strategy.JavaStrategy;

import org.key_project.logic.Name;
import org.key_project.prover.proof.ProofGoal;
import org.key_project.prover.rules.RuleApp;
import org.key_project.prover.sequent.PosInOccurrence;
import org.key_project.prover.strategy.RuleAppCostCollector;
import org.key_project.prover.strategy.costbased.MutableState;
import org.key_project.prover.strategy.costbased.NumberRuleAppCost;
import org.key_project.prover.strategy.costbased.RuleAppCost;
Expand Down Expand Up @@ -167,7 +167,7 @@ private String getAppRuleName(Node parent) {
* This strategy accepts all rule apps for which the rule name starts with a string in the
* admitted set and rejects everything else.
*/
protected class PropExpansionStrategy implements Strategy<Goal> {
protected class PropExpansionStrategy implements JavaStrategy {

private final Name NAME =
new Name(UseInformationFlowContractMacro.PropExpansionStrategy.class.getSimpleName());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,9 @@
import de.uka.ilkd.key.proof.Goal;
import de.uka.ilkd.key.proof.StrategyInfoUndoMethod;
import de.uka.ilkd.key.strategy.StrategyProperties;
import de.uka.ilkd.key.util.properties.Properties;
import de.uka.ilkd.key.util.properties.Properties.Property;

import org.key_project.util.Properties;
import org.key_project.util.Properties.Property;


/// Helper class to access Information Flow information in the [StrategySettings]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@
import de.uka.ilkd.key.logic.JTerm;
import de.uka.ilkd.key.logic.ProgramElementName;
import de.uka.ilkd.key.logic.TermBuilder;
import de.uka.ilkd.key.logic.TermServices;
import de.uka.ilkd.key.logic.label.ParameterlessTermLabel;
import de.uka.ilkd.key.logic.op.JFunction;
import de.uka.ilkd.key.logic.op.LocationVariable;
Expand All @@ -44,6 +43,7 @@
import de.uka.ilkd.key.speclang.BlockContract;
import de.uka.ilkd.key.util.MiscTools;

import org.key_project.logic.LogicServices;
import org.key_project.logic.Name;
import org.key_project.logic.op.Function;
import org.key_project.prover.sequent.PosInOccurrence;
Expand Down Expand Up @@ -93,7 +93,7 @@ private InfFlowBlockContractInternalRule() {

@Override
public BlockContractInternalBuiltInRuleApp<? extends BlockContractInternalRule> createApp(
PosInOccurrence occurrence, TermServices services) {
PosInOccurrence occurrence, LogicServices services) {
return new InfFlowBlockContractInternalBuiltInRuleApp(this, occurrence);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
import de.uka.ilkd.key.speclang.LoopSpecification;
import de.uka.ilkd.key.util.MiscTools;

import org.key_project.logic.LogicServices;
import org.key_project.logic.Name;
import org.key_project.logic.Namespace;
import org.key_project.logic.op.Function;
Expand Down Expand Up @@ -60,8 +61,8 @@ public Name name() {

@Override
public InfFlowLoopInvariantBuiltInRuleApp createApp(PosInOccurrence pos,
TermServices services) {
return new InfFlowLoopInvariantBuiltInRuleApp(this, pos, services);
LogicServices services) {
return new InfFlowLoopInvariantBuiltInRuleApp(this, pos, (TermServices) services);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,14 @@
import de.uka.ilkd.key.proof.StrategyInfoUndoMethod;
import de.uka.ilkd.key.rule.TacletApp;
import de.uka.ilkd.key.rule.executor.javadl.RewriteTacletExecutor;
import de.uka.ilkd.key.util.properties.Properties;

import org.key_project.logic.LogicServices;
import org.key_project.prover.rules.instantiation.MatchResultInfo;
import org.key_project.prover.sequent.PosInOccurrence;
import org.key_project.prover.sequent.Semisequent;
import org.key_project.prover.sequent.SequentChangeInfo;
import org.key_project.prover.sequent.SequentFormula;
import org.key_project.util.Properties;
import org.key_project.util.collection.ImmutableList;

import org.jspecify.annotations.NonNull;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,14 @@
import de.uka.ilkd.key.proof.Goal;
import de.uka.ilkd.key.proof.Node;
import de.uka.ilkd.key.proof.Proof;
import de.uka.ilkd.key.strategy.Strategy;
import de.uka.ilkd.key.testgen.TestGenerationSettings;

import org.key_project.logic.Name;
import org.key_project.prover.proof.ProofGoal;
import org.key_project.prover.rules.Rule;
import org.key_project.prover.rules.RuleApp;
import org.key_project.prover.sequent.PosInOccurrence;
import org.key_project.prover.strategy.Strategy;
import org.key_project.prover.strategy.costbased.MutableState;
import org.key_project.prover.strategy.costbased.NumberRuleAppCost;
import org.key_project.prover.strategy.costbased.RuleAppCost;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,16 @@
import de.uka.ilkd.key.proof.Proof;
import de.uka.ilkd.key.proof.init.ContractPO;
import de.uka.ilkd.key.proof.init.FunctionalOperationContractPO;
import de.uka.ilkd.key.strategy.RuleAppCostCollector;
import de.uka.ilkd.key.strategy.Strategy;
import de.uka.ilkd.key.strategy.JavaStrategy;
import de.uka.ilkd.key.wd.*;
import de.uka.ilkd.key.wd.po.*;

import org.key_project.logic.Name;
import org.key_project.prover.proof.ProofGoal;
import org.key_project.prover.rules.RuleApp;
import org.key_project.prover.sequent.PosInOccurrence;
import org.key_project.prover.strategy.RuleAppCostCollector;
import org.key_project.prover.strategy.Strategy;
import org.key_project.prover.strategy.costbased.MutableState;
import org.key_project.prover.strategy.costbased.NumberRuleAppCost;
import org.key_project.prover.strategy.costbased.RuleAppCost;
Expand Down Expand Up @@ -96,7 +97,7 @@ public boolean canApplyTo(Proof proof, ImmutableList<Goal> goals,
* This strategy accepts all rule apps for which the rule name is a Well-Definedness rule and
* rejects everything else.
*/
private static class WellDefinednessStrategy implements Strategy<Goal> {
private static class WellDefinednessStrategy implements JavaStrategy {

private static final Name NAME = new Name(WellDefinednessStrategy.class.getSimpleName());

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ public class TacletFindModel extends AbstractTableModel {
/**
* Create new data model for tree.
*
* @param app the TacletApp where to get the necessary entries
* @param app the ITacletApp where to get the necessary entries
* @param services services.
* @param nss universal namespace of variables, minimum for input in a row.
* @param scm the abbreviation map.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,7 @@ public void setManualInput(int i, String s) {
}

/**
* replaces the TacletApp of this ApplyTacletDialogModel by an TacletApp where all name
* replaces the ITacletApp of this ApplyTacletDialogModel by an ITacletApp where all name
* conflicts are resolved and thus the parser is enabled to accept variables from the context or
* the prefix of the Taclet.
*
Expand Down
3 changes: 2 additions & 1 deletion key.core/src/main/java/de/uka/ilkd/key/ldt/IntegerLDT.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
import de.uka.ilkd.key.logic.TermServices;
import de.uka.ilkd.key.util.Debug;

import org.key_project.ldt.IIntLdt;
import org.key_project.logic.Name;
import org.key_project.logic.op.Function;
import org.key_project.util.ExtList;
Expand All @@ -34,7 +35,7 @@
* convert java number types to their logic counterpart.
*/
@SuppressWarnings("unused")
public final class IntegerLDT extends LDT {
public final class IntegerLDT extends LDT implements IIntLdt {
private static final Logger LOGGER = LoggerFactory.getLogger(IntegerLDT.class);

public static final Name NAME = new Name("int");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -445,7 +445,7 @@ public ProgramElementName getTemporaryNameProposal(String basename) {
@Override
public String getProposal(TacletApp app, SchemaVariable var, Services services, Node undoAnchor,
ImmutableList<String> previousProposals) {
// determine posOfDeclaration from TacletApp
// determine posOfDeclaration from ITacletApp
ContextStatementBlockInstantiation cie = app.instantiations().getContextInstantiation();
PosInProgram posOfDeclaration = (cie == null ? null : cie.prefix());

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,7 @@
import de.uka.ilkd.key.rule.OneStepSimplifier;
import de.uka.ilkd.key.speclang.ClassAxiom;
import de.uka.ilkd.key.speclang.RepresentsAxiom;
import de.uka.ilkd.key.strategy.RuleAppCostCollector;
import de.uka.ilkd.key.strategy.Strategy;
import de.uka.ilkd.key.strategy.JavaStrategy;

import org.key_project.logic.Name;
import org.key_project.logic.op.Function;
Expand All @@ -41,6 +40,8 @@
import org.key_project.prover.sequent.Semisequent;
import org.key_project.prover.sequent.Sequent;
import org.key_project.prover.sequent.SequentFormula;
import org.key_project.prover.strategy.RuleAppCostCollector;
import org.key_project.prover.strategy.Strategy;
import org.key_project.prover.strategy.costbased.MutableState;
import org.key_project.prover.strategy.costbased.NumberRuleAppCost;
import org.key_project.prover.strategy.costbased.RuleAppCost;
Expand Down Expand Up @@ -204,7 +205,7 @@ private static void addFormulas(List<SequentFormula> result,
}
}

private class SemanticsBlastingStrategy implements Strategy<Goal> {
private class SemanticsBlastingStrategy implements JavaStrategy {

@Override
public @NonNull Name name() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ public String getCategory() {
protected abstract boolean allowOSS();

@Override
protected Strategy<@NonNull Goal> createStrategy(Proof proof,
protected org.key_project.prover.strategy.Strategy<@NonNull Goal> createStrategy(Proof proof,
PosInOccurrence posInOcc) {
return new PropExpansionStrategy(proof.getActiveStrategy(), getAdmittedRuleNames(),
allowOSS());
Expand All @@ -86,14 +86,15 @@ protected boolean ruleApplicationInContextAllowed(RuleApp ruleApp,
* This strategy accepts all rule apps for which the rule name is in the admitted set and
* rejects everything else.
*/
private static class PropExpansionStrategy implements Strategy<Goal> {
private static class PropExpansionStrategy implements JavaStrategy {
private final Name NAME = new Name(PropExpansionStrategy.class.getSimpleName());

private final Set<String> admittedRuleNames;
private final Strategy<@NonNull Goal> delegate;
private final org.key_project.prover.strategy.Strategy<@NonNull Goal> delegate;
private final boolean allowOSS;

public PropExpansionStrategy(Strategy<@NonNull Goal> delegate,
public PropExpansionStrategy(
org.key_project.prover.strategy.Strategy<@NonNull Goal> delegate,
Set<String> admittedRuleNames,
boolean allowOSS) {
this.delegate = delegate;
Expand Down Expand Up @@ -135,7 +136,7 @@ public boolean isApprovedApp(RuleApp app, PosInOccurrence pio,

@Override
public void instantiateApp(RuleApp app, PosInOccurrence pio, Goal goal,
RuleAppCostCollector collector) {
org.key_project.prover.strategy.RuleAppCostCollector collector) {
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@
import de.uka.ilkd.key.proof.Goal;
import de.uka.ilkd.key.proof.Proof;
import de.uka.ilkd.key.rule.Taclet;
import de.uka.ilkd.key.strategy.Strategy;

import org.key_project.logic.Name;
import org.key_project.prover.rules.Rule;
import org.key_project.prover.rules.RuleApp;
import org.key_project.prover.sequent.PosInOccurrence;
import org.key_project.prover.strategy.Strategy;

import org.jspecify.annotations.NonNull;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,10 +77,10 @@ public static boolean isAdmittedRule(Rule rule) {
return false;
}

private static class AutoPilotStrategy implements Strategy<Goal> {
private static class AutoPilotStrategy implements JavaStrategy {

private static final Name NAME = new Name("Autopilot filter strategy");
private final Strategy<@NonNull Goal> delegate;
private final org.key_project.prover.strategy.Strategy<@NonNull Goal> delegate;
/** the modality cache used by this strategy */
private final ModalityCache modalityCache = new ModalityCache();

Expand Down Expand Up @@ -145,7 +145,7 @@ public boolean isApprovedApp(RuleApp app, PosInOccurrence pio, Goal goal) {
@Override
public void instantiateApp(RuleApp app, PosInOccurrence pio,
Goal goal,
RuleAppCostCollector collector) {
org.key_project.prover.strategy.RuleAppCostCollector collector) {
delegate.instantiateApp(app, pio, goal, collector);
}

Expand All @@ -157,7 +157,7 @@ public boolean isStopAtFirstNonCloseableGoal() {
}

@Override
protected Strategy<@NonNull Goal> createStrategy(Proof proof,
protected org.key_project.prover.strategy.Strategy<@NonNull Goal> createStrategy(Proof proof,
PosInOccurrence posInOcc) {
return new AutoPilotStrategy(proof);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,20 @@

import de.uka.ilkd.key.proof.Goal;
import de.uka.ilkd.key.rule.TacletApp;
import de.uka.ilkd.key.strategy.RuleAppCostCollector;
import de.uka.ilkd.key.strategy.Strategy;
import de.uka.ilkd.key.strategy.JavaStrategy;

import org.key_project.prover.proof.ProofGoal;
import org.key_project.prover.rules.RuleApp;
import org.key_project.prover.sequent.PosInOccurrence;
import org.key_project.prover.strategy.RuleAppCostCollector;
import org.key_project.prover.strategy.Strategy;
import org.key_project.prover.strategy.costbased.MutableState;
import org.key_project.prover.strategy.costbased.RuleAppCost;
import org.key_project.prover.strategy.costbased.TopRuleAppCost;

import org.jspecify.annotations.NonNull;

public abstract class FilterStrategy implements Strategy<@NonNull Goal> {
public abstract class FilterStrategy implements JavaStrategy {

private final Strategy<@NonNull Goal> delegate;

Expand Down
Loading
Loading